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: (2394 - 3196) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(2394 - 3196) mod 8 ≡ (2394 mod 8 - 3196 mod 8) mod 8.
2394 mod 8 ≡ 2 mod 8 kann man relativ leicht bestimmen, weil ja 2394
= 2400
3196 mod 8 ≡ 4 mod 8 kann man relativ leicht bestimmen, weil ja 3196
= 3200
Somit gilt:
(2394 - 3196) mod 8 ≡ (2 - 4) mod 8 ≡ -2 mod 8 ≡ 6 mod 8.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (50 ⋅ 29) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(50 ⋅ 29) mod 3 ≡ (50 mod 3 ⋅ 29 mod 3) mod 3.
50 mod 3 ≡ 2 mod 3 kann man relativ leicht bestimmen, weil ja 50 = 48 + 2 = 16 ⋅ 3 + 2 ist.
29 mod 3 ≡ 2 mod 3 kann man relativ leicht bestimmen, weil ja 29 = 27 + 2 = 9 ⋅ 3 + 2 ist.
Somit gilt:
(50 ⋅ 29) mod 3 ≡ (2 ⋅ 2) mod 3 ≡ 4 mod 3 ≡ 1 mod 3.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 1648 mod 229.
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. 164 -> x
2. mod(x²,229) -> 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: 1641=164
2: 1642=1641+1=1641⋅1641 ≡ 164⋅164=26896 ≡ 103 mod 229
4: 1644=1642+2=1642⋅1642 ≡ 103⋅103=10609 ≡ 75 mod 229
8: 1648=1644+4=1644⋅1644 ≡ 75⋅75=5625 ≡ 129 mod 229
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 473142 mod 523.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 142 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 142 an und zerlegen 142 in eine Summer von 2er-Potenzen:
142 = 128+8+4+2
1: 4731=473
2: 4732=4731+1=4731⋅4731 ≡ 473⋅473=223729 ≡ 408 mod 523
4: 4734=4732+2=4732⋅4732 ≡ 408⋅408=166464 ≡ 150 mod 523
8: 4738=4734+4=4734⋅4734 ≡ 150⋅150=22500 ≡ 11 mod 523
16: 47316=4738+8=4738⋅4738 ≡ 11⋅11=121 ≡ 121 mod 523
32: 47332=47316+16=47316⋅47316 ≡ 121⋅121=14641 ≡ 520 mod 523
64: 47364=47332+32=47332⋅47332 ≡ 520⋅520=270400 ≡ 9 mod 523
128: 473128=47364+64=47364⋅47364 ≡ 9⋅9=81 ≡ 81 mod 523
473142
= 473128+8+4+2
= 473128⋅4738⋅4734⋅4732
≡ 81 ⋅ 11 ⋅ 150 ⋅ 408 mod 523
≡ 891 ⋅ 150 ⋅ 408 mod 523 ≡ 368 ⋅ 150 ⋅ 408 mod 523
≡ 55200 ⋅ 408 mod 523 ≡ 285 ⋅ 408 mod 523
≡ 116280 mod 523 ≡ 174 mod 523
Es gilt also: 473142 ≡ 174 mod 523
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-67-Inverse zur Zahl 59.
Also bestimme x, so dass 59 ⋅ x ≡ 1 mod 67 gilt:
Berechnung des größten gemeinsamen Teilers von 67 und 59
| =>67 | = 1⋅59 + 8 |
| =>59 | = 7⋅8 + 3 |
| =>8 | = 2⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(67,59)=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= 8-2⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(8 -2⋅ 3)
= 1⋅3 -1⋅8 +2⋅ 3) = -1⋅8 +3⋅ 3 (=1) |
| 3= 59-7⋅8 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅8 +3⋅(59 -7⋅ 8)
= -1⋅8 +3⋅59 -21⋅ 8) = 3⋅59 -22⋅ 8 (=1) |
| 8= 67-1⋅59 | eingesetzt in die Zeile drüber: | 1 |
= 3⋅59 -22⋅(67 -1⋅ 59)
= 3⋅59 -22⋅67 +22⋅ 59) = -22⋅67 +25⋅ 59 (=1) |
Es gilt also: ggt(67,59)=1 = -22⋅67 +25⋅59
oder wenn man -22⋅67 auf die linke Seite bringt:
1 +22⋅67 = +25⋅59
Es gilt also: 25⋅59 = 22⋅67 +1
Somit 25⋅59 = 1 mod 67
25 ist also das Inverse von 59 mod 67
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 43 und q = 67. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
