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: (71 - 28001) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(71 - 28001) mod 7 ≡ (71 mod 7 - 28001 mod 7) mod 7.
71 mod 7 ≡ 1 mod 7 kann man relativ leicht bestimmen, weil ja 71
= 70
28001 mod 7 ≡ 1 mod 7 kann man relativ leicht bestimmen, weil ja 28001
= 28000
Somit gilt:
(71 - 28001) mod 7 ≡ (1 - 1) mod 7 ≡ 0 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (51 ⋅ 85) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(51 ⋅ 85) mod 3 ≡ (51 mod 3 ⋅ 85 mod 3) mod 3.
51 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 51 = 51 + 0 = 17 ⋅ 3 + 0 ist.
85 mod 3 ≡ 1 mod 3 kann man relativ leicht bestimmen, weil ja 85 = 84 + 1 = 28 ⋅ 3 + 1 ist.
Somit gilt:
(51 ⋅ 85) mod 3 ≡ (0 ⋅ 1) mod 3 ≡ 0 mod 3.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 17616 mod 541.
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. 176 -> x
2. mod(x²,541) -> 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: 1761=176
2: 1762=1761+1=1761⋅1761 ≡ 176⋅176=30976 ≡ 139 mod 541
4: 1764=1762+2=1762⋅1762 ≡ 139⋅139=19321 ≡ 386 mod 541
8: 1768=1764+4=1764⋅1764 ≡ 386⋅386=148996 ≡ 221 mod 541
16: 17616=1768+8=1768⋅1768 ≡ 221⋅221=48841 ≡ 151 mod 541
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 153243 mod 263.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 243 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 243 an und zerlegen 243 in eine Summer von 2er-Potenzen:
243 = 128+64+32+16+2+1
1: 1531=153
2: 1532=1531+1=1531⋅1531 ≡ 153⋅153=23409 ≡ 2 mod 263
4: 1534=1532+2=1532⋅1532 ≡ 2⋅2=4 ≡ 4 mod 263
8: 1538=1534+4=1534⋅1534 ≡ 4⋅4=16 ≡ 16 mod 263
16: 15316=1538+8=1538⋅1538 ≡ 16⋅16=256 ≡ 256 mod 263
32: 15332=15316+16=15316⋅15316 ≡ 256⋅256=65536 ≡ 49 mod 263
64: 15364=15332+32=15332⋅15332 ≡ 49⋅49=2401 ≡ 34 mod 263
128: 153128=15364+64=15364⋅15364 ≡ 34⋅34=1156 ≡ 104 mod 263
153243
= 153128+64+32+16+2+1
= 153128⋅15364⋅15332⋅15316⋅1532⋅1531
≡ 104 ⋅ 34 ⋅ 49 ⋅ 256 ⋅ 2 ⋅ 153 mod 263
≡ 3536 ⋅ 49 ⋅ 256 ⋅ 2 ⋅ 153 mod 263 ≡ 117 ⋅ 49 ⋅ 256 ⋅ 2 ⋅ 153 mod 263
≡ 5733 ⋅ 256 ⋅ 2 ⋅ 153 mod 263 ≡ 210 ⋅ 256 ⋅ 2 ⋅ 153 mod 263
≡ 53760 ⋅ 2 ⋅ 153 mod 263 ≡ 108 ⋅ 2 ⋅ 153 mod 263
≡ 216 ⋅ 153 mod 263
≡ 33048 mod 263 ≡ 173 mod 263
Es gilt also: 153243 ≡ 173 mod 263
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-89-Inverse zur Zahl 79.
Also bestimme x, so dass 79 ⋅ x ≡ 1 mod 89 gilt:
Berechnung des größten gemeinsamen Teilers von 89 und 79
| =>89 | = 1⋅79 + 10 |
| =>79 | = 7⋅10 + 9 |
| =>10 | = 1⋅9 + 1 |
| =>9 | = 9⋅1 + 0 |
also gilt: ggt(89,79)=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= 10-1⋅9 | |||
| 9= 79-7⋅10 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅10 -1⋅(79 -7⋅ 10)
= 1⋅10 -1⋅79 +7⋅ 10) = -1⋅79 +8⋅ 10 (=1) |
| 10= 89-1⋅79 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅79 +8⋅(89 -1⋅ 79)
= -1⋅79 +8⋅89 -8⋅ 79) = 8⋅89 -9⋅ 79 (=1) |
Es gilt also: ggt(89,79)=1 = 8⋅89 -9⋅79
oder wenn man 8⋅89 auf die linke Seite bringt:
1 -8⋅89 = -9⋅79
-9⋅79 = -8⋅89 + 1 |+89⋅79
-9⋅79 + 89⋅79 = -8⋅89 + 89⋅79 + 1
(-9 + 89) ⋅ 79 = (-8 + 79) ⋅ 89 + 1
80⋅79 = 71⋅89 + 1
Es gilt also: 80⋅79 = 71⋅89 +1
Somit 80⋅79 = 1 mod 89
80 ist also das Inverse von 79 mod 89
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 79 und q = 73. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
