Aufgabenbeispiele von MGK Klasse 10
Durch Aktualisieren des Browsers (z.B. mit Taste F5) kann man neue Beispielaufgaben sehen
Modulo addieren
Beispiel:
Berechne ohne WTR: (21005 - 14006) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(21005 - 14006) mod 7 ≡ (21005 mod 7 - 14006 mod 7) mod 7.
21005 mod 7 ≡ 5 mod 7 kann man relativ leicht bestimmen, weil ja 21005
= 21000
14006 mod 7 ≡ 6 mod 7 kann man relativ leicht bestimmen, weil ja 14006
= 14000
Somit gilt:
(21005 - 14006) mod 7 ≡ (5 - 6) mod 7 ≡ -1 mod 7 ≡ 6 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (30 ⋅ 53) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(30 ⋅ 53) mod 8 ≡ (30 mod 8 ⋅ 53 mod 8) mod 8.
30 mod 8 ≡ 6 mod 8 kann man relativ leicht bestimmen, weil ja 30 = 24 + 6 = 3 ⋅ 8 + 6 ist.
53 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 53 = 48 + 5 = 6 ⋅ 8 + 5 ist.
Somit gilt:
(30 ⋅ 53) mod 8 ≡ (6 ⋅ 5) mod 8 ≡ 30 mod 8 ≡ 6 mod 8.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 16616 mod 401.
Die 16 im Exponent ist ja ein reine 2er-Potenz (24).
Deswegen quadrieren wir einfach mit jedem Schritt das Ergebnis und kommen so immer eine 2er-Potenz im Exponenten höher:
Zur technischen Durchführung mit einem TI-WTR bietet sich folgende Vorgehensweise an:
1. 166 -> x
2. mod(x²,401) -> x
- den Pfeil "->" erhält man durch Drücken der [sto->]-Taste
- die x-Taste ist direkt darüber
- "mod" erhält man durch [math]->NUM->8:mod
- das Komma "," erhält man durch Drücken von [2nd][.]
1: 1661=166
2: 1662=1661+1=1661⋅1661 ≡ 166⋅166=27556 ≡ 288 mod 401
4: 1664=1662+2=1662⋅1662 ≡ 288⋅288=82944 ≡ 338 mod 401
8: 1668=1664+4=1664⋅1664 ≡ 338⋅338=114244 ≡ 360 mod 401
16: 16616=1668+8=1668⋅1668 ≡ 360⋅360=129600 ≡ 77 mod 401
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 172170 mod 389.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 170 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 170 an und zerlegen 170 in eine Summer von 2er-Potenzen:
170 = 128+32+8+2
1: 1721=172
2: 1722=1721+1=1721⋅1721 ≡ 172⋅172=29584 ≡ 20 mod 389
4: 1724=1722+2=1722⋅1722 ≡ 20⋅20=400 ≡ 11 mod 389
8: 1728=1724+4=1724⋅1724 ≡ 11⋅11=121 ≡ 121 mod 389
16: 17216=1728+8=1728⋅1728 ≡ 121⋅121=14641 ≡ 248 mod 389
32: 17232=17216+16=17216⋅17216 ≡ 248⋅248=61504 ≡ 42 mod 389
64: 17264=17232+32=17232⋅17232 ≡ 42⋅42=1764 ≡ 208 mod 389
128: 172128=17264+64=17264⋅17264 ≡ 208⋅208=43264 ≡ 85 mod 389
172170
= 172128+32+8+2
= 172128⋅17232⋅1728⋅1722
≡ 85 ⋅ 42 ⋅ 121 ⋅ 20 mod 389
≡ 3570 ⋅ 121 ⋅ 20 mod 389 ≡ 69 ⋅ 121 ⋅ 20 mod 389
≡ 8349 ⋅ 20 mod 389 ≡ 180 ⋅ 20 mod 389
≡ 3600 mod 389 ≡ 99 mod 389
Es gilt also: 172170 ≡ 99 mod 389
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-83-Inverse zur Zahl 29.
Also bestimme x, so dass 29 ⋅ x ≡ 1 mod 83 gilt:
Berechnung des größten gemeinsamen Teilers von 83 und 29
| =>83 | = 2⋅29 + 25 |
| =>29 | = 1⋅25 + 4 |
| =>25 | = 6⋅4 + 1 |
| =>4 | = 4⋅1 + 0 |
also gilt: ggt(83,29)=1
Jetzt formen wir jede Zeile von unten nach oben um indem wir das Prokukt auf die andere Seite bringen.
Wir starten mit der zweitletzten Zeile:
| 1= 25-6⋅4 | |||
| 4= 29-1⋅25 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅25 -6⋅(29 -1⋅ 25)
= 1⋅25 -6⋅29 +6⋅ 25) = -6⋅29 +7⋅ 25 (=1) |
| 25= 83-2⋅29 | eingesetzt in die Zeile drüber: | 1 |
= -6⋅29 +7⋅(83 -2⋅ 29)
= -6⋅29 +7⋅83 -14⋅ 29) = 7⋅83 -20⋅ 29 (=1) |
Es gilt also: ggt(83,29)=1 = 7⋅83 -20⋅29
oder wenn man 7⋅83 auf die linke Seite bringt:
1 -7⋅83 = -20⋅29
-20⋅29 = -7⋅83 + 1 |+83⋅29
-20⋅29 + 83⋅29 = -7⋅83 + 83⋅29 + 1
(-20 + 83) ⋅ 29 = (-7 + 29) ⋅ 83 + 1
63⋅29 = 22⋅83 + 1
Es gilt also: 63⋅29 = 22⋅83 +1
Somit 63⋅29 = 1 mod 83
63 ist also das Inverse von 29 mod 83
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 79 und q = 101. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
