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: (274 - 1402) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(274 - 1402) mod 7 ≡ (274 mod 7 - 1402 mod 7) mod 7.
274 mod 7 ≡ 1 mod 7 kann man relativ leicht bestimmen, weil ja 274
= 280
1402 mod 7 ≡ 2 mod 7 kann man relativ leicht bestimmen, weil ja 1402
= 1400
Somit gilt:
(274 - 1402) mod 7 ≡ (1 - 2) mod 7 ≡ -1 mod 7 ≡ 6 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (82 ⋅ 43) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(82 ⋅ 43) mod 7 ≡ (82 mod 7 ⋅ 43 mod 7) mod 7.
82 mod 7 ≡ 5 mod 7 kann man relativ leicht bestimmen, weil ja 82 = 77 + 5 = 11 ⋅ 7 + 5 ist.
43 mod 7 ≡ 1 mod 7 kann man relativ leicht bestimmen, weil ja 43 = 42 + 1 = 6 ⋅ 7 + 1 ist.
Somit gilt:
(82 ⋅ 43) mod 7 ≡ (5 ⋅ 1) mod 7 ≡ 5 mod 7.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 56932 mod 907.
Die 32 im Exponent ist ja ein reine 2er-Potenz (25).
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. 569 -> x
2. mod(x²,907) -> 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: 5691=569
2: 5692=5691+1=5691⋅5691 ≡ 569⋅569=323761 ≡ 869 mod 907
4: 5694=5692+2=5692⋅5692 ≡ 869⋅869=755161 ≡ 537 mod 907
8: 5698=5694+4=5694⋅5694 ≡ 537⋅537=288369 ≡ 850 mod 907
16: 56916=5698+8=5698⋅5698 ≡ 850⋅850=722500 ≡ 528 mod 907
32: 56932=56916+16=56916⋅56916 ≡ 528⋅528=278784 ≡ 335 mod 907
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 165228 mod 227.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 228 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 228 an und zerlegen 228 in eine Summer von 2er-Potenzen:
228 = 128+64+32+4
1: 1651=165
2: 1652=1651+1=1651⋅1651 ≡ 165⋅165=27225 ≡ 212 mod 227
4: 1654=1652+2=1652⋅1652 ≡ 212⋅212=44944 ≡ 225 mod 227
8: 1658=1654+4=1654⋅1654 ≡ 225⋅225=50625 ≡ 4 mod 227
16: 16516=1658+8=1658⋅1658 ≡ 4⋅4=16 ≡ 16 mod 227
32: 16532=16516+16=16516⋅16516 ≡ 16⋅16=256 ≡ 29 mod 227
64: 16564=16532+32=16532⋅16532 ≡ 29⋅29=841 ≡ 160 mod 227
128: 165128=16564+64=16564⋅16564 ≡ 160⋅160=25600 ≡ 176 mod 227
165228
= 165128+64+32+4
= 165128⋅16564⋅16532⋅1654
≡ 176 ⋅ 160 ⋅ 29 ⋅ 225 mod 227
≡ 28160 ⋅ 29 ⋅ 225 mod 227 ≡ 12 ⋅ 29 ⋅ 225 mod 227
≡ 348 ⋅ 225 mod 227 ≡ 121 ⋅ 225 mod 227
≡ 27225 mod 227 ≡ 212 mod 227
Es gilt also: 165228 ≡ 212 mod 227
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-71-Inverse zur Zahl 33.
Also bestimme x, so dass 33 ⋅ x ≡ 1 mod 71 gilt:
Berechnung des größten gemeinsamen Teilers von 71 und 33
| =>71 | = 2⋅33 + 5 |
| =>33 | = 6⋅5 + 3 |
| =>5 | = 1⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(71,33)=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= 3-1⋅2 | |||
| 2= 5-1⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(5 -1⋅ 3)
= 1⋅3 -1⋅5 +1⋅ 3) = -1⋅5 +2⋅ 3 (=1) |
| 3= 33-6⋅5 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅5 +2⋅(33 -6⋅ 5)
= -1⋅5 +2⋅33 -12⋅ 5) = 2⋅33 -13⋅ 5 (=1) |
| 5= 71-2⋅33 | eingesetzt in die Zeile drüber: | 1 |
= 2⋅33 -13⋅(71 -2⋅ 33)
= 2⋅33 -13⋅71 +26⋅ 33) = -13⋅71 +28⋅ 33 (=1) |
Es gilt also: ggt(71,33)=1 = -13⋅71 +28⋅33
oder wenn man -13⋅71 auf die linke Seite bringt:
1 +13⋅71 = +28⋅33
Es gilt also: 28⋅33 = 13⋅71 +1
Somit 28⋅33 = 1 mod 71
28 ist also das Inverse von 33 mod 71
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 71 und q = 47. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
