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: (1502 - 14997) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(1502 - 14997) mod 5 ≡ (1502 mod 5 - 14997 mod 5) mod 5.
1502 mod 5 ≡ 2 mod 5 kann man relativ leicht bestimmen, weil ja 1502
= 1500
14997 mod 5 ≡ 2 mod 5 kann man relativ leicht bestimmen, weil ja 14997
= 14000
Somit gilt:
(1502 - 14997) mod 5 ≡ (2 - 2) mod 5 ≡ 0 mod 5.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (82 ⋅ 48) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(82 ⋅ 48) mod 8 ≡ (82 mod 8 ⋅ 48 mod 8) mod 8.
82 mod 8 ≡ 2 mod 8 kann man relativ leicht bestimmen, weil ja 82 = 80 + 2 = 10 ⋅ 8 + 2 ist.
48 mod 8 ≡ 0 mod 8 kann man relativ leicht bestimmen, weil ja 48 = 48 + 0 = 6 ⋅ 8 + 0 ist.
Somit gilt:
(82 ⋅ 48) mod 8 ≡ (2 ⋅ 0) mod 8 ≡ 0 mod 8.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 171128 mod 521.
Die 128 im Exponent ist ja ein reine 2er-Potenz (27).
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. 171 -> x
2. mod(x²,521) -> 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: 1711=171
2: 1712=1711+1=1711⋅1711 ≡ 171⋅171=29241 ≡ 65 mod 521
4: 1714=1712+2=1712⋅1712 ≡ 65⋅65=4225 ≡ 57 mod 521
8: 1718=1714+4=1714⋅1714 ≡ 57⋅57=3249 ≡ 123 mod 521
16: 17116=1718+8=1718⋅1718 ≡ 123⋅123=15129 ≡ 20 mod 521
32: 17132=17116+16=17116⋅17116 ≡ 20⋅20=400 ≡ 400 mod 521
64: 17164=17132+32=17132⋅17132 ≡ 400⋅400=160000 ≡ 53 mod 521
128: 171128=17164+64=17164⋅17164 ≡ 53⋅53=2809 ≡ 204 mod 521
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 39960 mod 467.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 60 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 60 an und zerlegen 60 in eine Summer von 2er-Potenzen:
60 = 32+16+8+4
1: 3991=399
2: 3992=3991+1=3991⋅3991 ≡ 399⋅399=159201 ≡ 421 mod 467
4: 3994=3992+2=3992⋅3992 ≡ 421⋅421=177241 ≡ 248 mod 467
8: 3998=3994+4=3994⋅3994 ≡ 248⋅248=61504 ≡ 327 mod 467
16: 39916=3998+8=3998⋅3998 ≡ 327⋅327=106929 ≡ 453 mod 467
32: 39932=39916+16=39916⋅39916 ≡ 453⋅453=205209 ≡ 196 mod 467
39960
= 39932+16+8+4
= 39932⋅39916⋅3998⋅3994
≡ 196 ⋅ 453 ⋅ 327 ⋅ 248 mod 467
≡ 88788 ⋅ 327 ⋅ 248 mod 467 ≡ 58 ⋅ 327 ⋅ 248 mod 467
≡ 18966 ⋅ 248 mod 467 ≡ 286 ⋅ 248 mod 467
≡ 70928 mod 467 ≡ 411 mod 467
Es gilt also: 39960 ≡ 411 mod 467
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 = 61. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
