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: (14999 + 1998) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(14999 + 1998) mod 5 ≡ (14999 mod 5 + 1998 mod 5) mod 5.
14999 mod 5 ≡ 4 mod 5 kann man relativ leicht bestimmen, weil ja 14999
= 14000
1998 mod 5 ≡ 3 mod 5 kann man relativ leicht bestimmen, weil ja 1998
= 1900
Somit gilt:
(14999 + 1998) mod 5 ≡ (4 + 3) mod 5 ≡ 7 mod 5 ≡ 2 mod 5.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (21 ⋅ 22) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(21 ⋅ 22) mod 8 ≡ (21 mod 8 ⋅ 22 mod 8) mod 8.
21 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 21 = 16 + 5 = 2 ⋅ 8 + 5 ist.
22 mod 8 ≡ 6 mod 8 kann man relativ leicht bestimmen, weil ja 22 = 16 + 6 = 2 ⋅ 8 + 6 ist.
Somit gilt:
(21 ⋅ 22) mod 8 ≡ (5 ⋅ 6) mod 8 ≡ 30 mod 8 ≡ 6 mod 8.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 267128 mod 349.
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. 267 -> x
2. mod(x²,349) -> 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: 2671=267
2: 2672=2671+1=2671⋅2671 ≡ 267⋅267=71289 ≡ 93 mod 349
4: 2674=2672+2=2672⋅2672 ≡ 93⋅93=8649 ≡ 273 mod 349
8: 2678=2674+4=2674⋅2674 ≡ 273⋅273=74529 ≡ 192 mod 349
16: 26716=2678+8=2678⋅2678 ≡ 192⋅192=36864 ≡ 219 mod 349
32: 26732=26716+16=26716⋅26716 ≡ 219⋅219=47961 ≡ 148 mod 349
64: 26764=26732+32=26732⋅26732 ≡ 148⋅148=21904 ≡ 266 mod 349
128: 267128=26764+64=26764⋅26764 ≡ 266⋅266=70756 ≡ 258 mod 349
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 584235 mod 997.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 235 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 235 an und zerlegen 235 in eine Summer von 2er-Potenzen:
235 = 128+64+32+8+2+1
1: 5841=584
2: 5842=5841+1=5841⋅5841 ≡ 584⋅584=341056 ≡ 82 mod 997
4: 5844=5842+2=5842⋅5842 ≡ 82⋅82=6724 ≡ 742 mod 997
8: 5848=5844+4=5844⋅5844 ≡ 742⋅742=550564 ≡ 220 mod 997
16: 58416=5848+8=5848⋅5848 ≡ 220⋅220=48400 ≡ 544 mod 997
32: 58432=58416+16=58416⋅58416 ≡ 544⋅544=295936 ≡ 824 mod 997
64: 58464=58432+32=58432⋅58432 ≡ 824⋅824=678976 ≡ 19 mod 997
128: 584128=58464+64=58464⋅58464 ≡ 19⋅19=361 ≡ 361 mod 997
584235
= 584128+64+32+8+2+1
= 584128⋅58464⋅58432⋅5848⋅5842⋅5841
≡ 361 ⋅ 19 ⋅ 824 ⋅ 220 ⋅ 82 ⋅ 584 mod 997
≡ 6859 ⋅ 824 ⋅ 220 ⋅ 82 ⋅ 584 mod 997 ≡ 877 ⋅ 824 ⋅ 220 ⋅ 82 ⋅ 584 mod 997
≡ 722648 ⋅ 220 ⋅ 82 ⋅ 584 mod 997 ≡ 820 ⋅ 220 ⋅ 82 ⋅ 584 mod 997
≡ 180400 ⋅ 82 ⋅ 584 mod 997 ≡ 940 ⋅ 82 ⋅ 584 mod 997
≡ 77080 ⋅ 584 mod 997 ≡ 311 ⋅ 584 mod 997
≡ 181624 mod 997 ≡ 170 mod 997
Es gilt also: 584235 ≡ 170 mod 997
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-83-Inverse zur Zahl 55.
Also bestimme x, so dass 55 ⋅ x ≡ 1 mod 83 gilt:
Berechnung des größten gemeinsamen Teilers von 83 und 55
| =>83 | = 1⋅55 + 28 |
| =>55 | = 1⋅28 + 27 |
| =>28 | = 1⋅27 + 1 |
| =>27 | = 27⋅1 + 0 |
also gilt: ggt(83,55)=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= 28-1⋅27 | |||
| 27= 55-1⋅28 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅28 -1⋅(55 -1⋅ 28)
= 1⋅28 -1⋅55 +1⋅ 28) = -1⋅55 +2⋅ 28 (=1) |
| 28= 83-1⋅55 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅55 +2⋅(83 -1⋅ 55)
= -1⋅55 +2⋅83 -2⋅ 55) = 2⋅83 -3⋅ 55 (=1) |
Es gilt also: ggt(83,55)=1 = 2⋅83 -3⋅55
oder wenn man 2⋅83 auf die linke Seite bringt:
1 -2⋅83 = -3⋅55
-3⋅55 = -2⋅83 + 1 |+83⋅55
-3⋅55 + 83⋅55 = -2⋅83 + 83⋅55 + 1
(-3 + 83) ⋅ 55 = (-2 + 55) ⋅ 83 + 1
80⋅55 = 53⋅83 + 1
Es gilt also: 80⋅55 = 53⋅83 +1
Somit 80⋅55 = 1 mod 83
80 ist also das Inverse von 55 mod 83
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 89 und q = 79. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
