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: (16000 + 4007) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(16000 + 4007) mod 8 ≡ (16000 mod 8 + 4007 mod 8) mod 8.
16000 mod 8 ≡ 0 mod 8 kann man relativ leicht bestimmen, weil ja 16000
= 16000
4007 mod 8 ≡ 7 mod 8 kann man relativ leicht bestimmen, weil ja 4007
= 4000
Somit gilt:
(16000 + 4007) mod 8 ≡ (0 + 7) mod 8 ≡ 7 mod 8.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (24 ⋅ 77) mod 11.
Um längere Rechnungen zu vermeiden, rechnen wir:
(24 ⋅ 77) mod 11 ≡ (24 mod 11 ⋅ 77 mod 11) mod 11.
24 mod 11 ≡ 2 mod 11 kann man relativ leicht bestimmen, weil ja 24 = 22 + 2 = 2 ⋅ 11 + 2 ist.
77 mod 11 ≡ 0 mod 11 kann man relativ leicht bestimmen, weil ja 77 = 77 + 0 = 7 ⋅ 11 + 0 ist.
Somit gilt:
(24 ⋅ 77) mod 11 ≡ (2 ⋅ 0) mod 11 ≡ 0 mod 11.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 3948 mod 941.
Die 8 im Exponent ist ja ein reine 2er-Potenz (23).
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. 394 -> x
2. mod(x²,941) -> 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: 3941=394
2: 3942=3941+1=3941⋅3941 ≡ 394⋅394=155236 ≡ 912 mod 941
4: 3944=3942+2=3942⋅3942 ≡ 912⋅912=831744 ≡ 841 mod 941
8: 3948=3944+4=3944⋅3944 ≡ 841⋅841=707281 ≡ 590 mod 941
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 519225 mod 727.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 225 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 225 an und zerlegen 225 in eine Summer von 2er-Potenzen:
225 = 128+64+32+1
1: 5191=519
2: 5192=5191+1=5191⋅5191 ≡ 519⋅519=269361 ≡ 371 mod 727
4: 5194=5192+2=5192⋅5192 ≡ 371⋅371=137641 ≡ 238 mod 727
8: 5198=5194+4=5194⋅5194 ≡ 238⋅238=56644 ≡ 665 mod 727
16: 51916=5198+8=5198⋅5198 ≡ 665⋅665=442225 ≡ 209 mod 727
32: 51932=51916+16=51916⋅51916 ≡ 209⋅209=43681 ≡ 61 mod 727
64: 51964=51932+32=51932⋅51932 ≡ 61⋅61=3721 ≡ 86 mod 727
128: 519128=51964+64=51964⋅51964 ≡ 86⋅86=7396 ≡ 126 mod 727
519225
= 519128+64+32+1
= 519128⋅51964⋅51932⋅5191
≡ 126 ⋅ 86 ⋅ 61 ⋅ 519 mod 727
≡ 10836 ⋅ 61 ⋅ 519 mod 727 ≡ 658 ⋅ 61 ⋅ 519 mod 727
≡ 40138 ⋅ 519 mod 727 ≡ 153 ⋅ 519 mod 727
≡ 79407 mod 727 ≡ 164 mod 727
Es gilt also: 519225 ≡ 164 mod 727
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-71-Inverse zur Zahl 32.
Also bestimme x, so dass 32 ⋅ x ≡ 1 mod 71 gilt:
Berechnung des größten gemeinsamen Teilers von 71 und 32
| =>71 | = 2⋅32 + 7 |
| =>32 | = 4⋅7 + 4 |
| =>7 | = 1⋅4 + 3 |
| =>4 | = 1⋅3 + 1 |
| =>3 | = 3⋅1 + 0 |
also gilt: ggt(71,32)=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= 4-1⋅3 | |||
| 3= 7-1⋅4 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅4 -1⋅(7 -1⋅ 4)
= 1⋅4 -1⋅7 +1⋅ 4) = -1⋅7 +2⋅ 4 (=1) |
| 4= 32-4⋅7 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅7 +2⋅(32 -4⋅ 7)
= -1⋅7 +2⋅32 -8⋅ 7) = 2⋅32 -9⋅ 7 (=1) |
| 7= 71-2⋅32 | eingesetzt in die Zeile drüber: | 1 |
= 2⋅32 -9⋅(71 -2⋅ 32)
= 2⋅32 -9⋅71 +18⋅ 32) = -9⋅71 +20⋅ 32 (=1) |
Es gilt also: ggt(71,32)=1 = -9⋅71 +20⋅32
oder wenn man -9⋅71 auf die linke Seite bringt:
1 +9⋅71 = +20⋅32
Es gilt also: 20⋅32 = 9⋅71 +1
Somit 20⋅32 = 1 mod 71
20 ist also das Inverse von 32 mod 71
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 97 und q = 53. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
