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: (400 + 1197) mod 4.
Um längere Rechnungen zu vermeiden, rechnen wir:
(400 + 1197) mod 4 ≡ (400 mod 4 + 1197 mod 4) mod 4.
400 mod 4 ≡ 0 mod 4 kann man relativ leicht bestimmen, weil ja 400
= 400
1197 mod 4 ≡ 1 mod 4 kann man relativ leicht bestimmen, weil ja 1197
= 1100
Somit gilt:
(400 + 1197) mod 4 ≡ (0 + 1) mod 4 ≡ 1 mod 4.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (21 ⋅ 51) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(21 ⋅ 51) mod 8 ≡ (21 mod 8 ⋅ 51 mod 8) mod 8.
21 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 21 = 16 + 5 = 2 ⋅ 8 + 5 ist.
51 mod 8 ≡ 3 mod 8 kann man relativ leicht bestimmen, weil ja 51 = 48 + 3 = 6 ⋅ 8 + 3 ist.
Somit gilt:
(21 ⋅ 51) mod 8 ≡ (5 ⋅ 3) mod 8 ≡ 15 mod 8 ≡ 7 mod 8.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 69464 mod 991.
Die 64 im Exponent ist ja ein reine 2er-Potenz (26).
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. 694 -> x
2. mod(x²,991) -> 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: 6941=694
2: 6942=6941+1=6941⋅6941 ≡ 694⋅694=481636 ≡ 10 mod 991
4: 6944=6942+2=6942⋅6942 ≡ 10⋅10=100 ≡ 100 mod 991
8: 6948=6944+4=6944⋅6944 ≡ 100⋅100=10000 ≡ 90 mod 991
16: 69416=6948+8=6948⋅6948 ≡ 90⋅90=8100 ≡ 172 mod 991
32: 69432=69416+16=69416⋅69416 ≡ 172⋅172=29584 ≡ 845 mod 991
64: 69464=69432+32=69432⋅69432 ≡ 845⋅845=714025 ≡ 505 mod 991
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 570110 mod 877.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 110 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 110 an und zerlegen 110 in eine Summer von 2er-Potenzen:
110 = 64+32+8+4+2
1: 5701=570
2: 5702=5701+1=5701⋅5701 ≡ 570⋅570=324900 ≡ 410 mod 877
4: 5704=5702+2=5702⋅5702 ≡ 410⋅410=168100 ≡ 593 mod 877
8: 5708=5704+4=5704⋅5704 ≡ 593⋅593=351649 ≡ 849 mod 877
16: 57016=5708+8=5708⋅5708 ≡ 849⋅849=720801 ≡ 784 mod 877
32: 57032=57016+16=57016⋅57016 ≡ 784⋅784=614656 ≡ 756 mod 877
64: 57064=57032+32=57032⋅57032 ≡ 756⋅756=571536 ≡ 609 mod 877
570110
= 57064+32+8+4+2
= 57064⋅57032⋅5708⋅5704⋅5702
≡ 609 ⋅ 756 ⋅ 849 ⋅ 593 ⋅ 410 mod 877
≡ 460404 ⋅ 849 ⋅ 593 ⋅ 410 mod 877 ≡ 856 ⋅ 849 ⋅ 593 ⋅ 410 mod 877
≡ 726744 ⋅ 593 ⋅ 410 mod 877 ≡ 588 ⋅ 593 ⋅ 410 mod 877
≡ 348684 ⋅ 410 mod 877 ≡ 515 ⋅ 410 mod 877
≡ 211150 mod 877 ≡ 670 mod 877
Es gilt also: 570110 ≡ 670 mod 877
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-73-Inverse zur Zahl 34.
Also bestimme x, so dass 34 ⋅ x ≡ 1 mod 73 gilt:
Berechnung des größten gemeinsamen Teilers von 73 und 34
| =>73 | = 2⋅34 + 5 |
| =>34 | = 6⋅5 + 4 |
| =>5 | = 1⋅4 + 1 |
| =>4 | = 4⋅1 + 0 |
also gilt: ggt(73,34)=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= 5-1⋅4 | |||
| 4= 34-6⋅5 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅5 -1⋅(34 -6⋅ 5)
= 1⋅5 -1⋅34 +6⋅ 5) = -1⋅34 +7⋅ 5 (=1) |
| 5= 73-2⋅34 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅34 +7⋅(73 -2⋅ 34)
= -1⋅34 +7⋅73 -14⋅ 34) = 7⋅73 -15⋅ 34 (=1) |
Es gilt also: ggt(73,34)=1 = 7⋅73 -15⋅34
oder wenn man 7⋅73 auf die linke Seite bringt:
1 -7⋅73 = -15⋅34
-15⋅34 = -7⋅73 + 1 |+73⋅34
-15⋅34 + 73⋅34 = -7⋅73 + 73⋅34 + 1
(-15 + 73) ⋅ 34 = (-7 + 34) ⋅ 73 + 1
58⋅34 = 27⋅73 + 1
Es gilt also: 58⋅34 = 27⋅73 +1
Somit 58⋅34 = 1 mod 73
58 ist also das Inverse von 34 mod 73
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 53 und q = 47. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
