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: (2405 + 30004) mod 6.
Um längere Rechnungen zu vermeiden, rechnen wir:
(2405 + 30004) mod 6 ≡ (2405 mod 6 + 30004 mod 6) mod 6.
2405 mod 6 ≡ 5 mod 6 kann man relativ leicht bestimmen, weil ja 2405
= 2400
30004 mod 6 ≡ 4 mod 6 kann man relativ leicht bestimmen, weil ja 30004
= 30000
Somit gilt:
(2405 + 30004) mod 6 ≡ (5 + 4) mod 6 ≡ 9 mod 6 ≡ 3 mod 6.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (80 ⋅ 28) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(80 ⋅ 28) mod 9 ≡ (80 mod 9 ⋅ 28 mod 9) mod 9.
80 mod 9 ≡ 8 mod 9 kann man relativ leicht bestimmen, weil ja 80 = 72 + 8 = 8 ⋅ 9 + 8 ist.
28 mod 9 ≡ 1 mod 9 kann man relativ leicht bestimmen, weil ja 28 = 27 + 1 = 3 ⋅ 9 + 1 ist.
Somit gilt:
(80 ⋅ 28) mod 9 ≡ (8 ⋅ 1) mod 9 ≡ 8 mod 9.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 3968 mod 601.
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. 396 -> x
2. mod(x²,601) -> 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: 3961=396
2: 3962=3961+1=3961⋅3961 ≡ 396⋅396=156816 ≡ 556 mod 601
4: 3964=3962+2=3962⋅3962 ≡ 556⋅556=309136 ≡ 222 mod 601
8: 3968=3964+4=3964⋅3964 ≡ 222⋅222=49284 ≡ 2 mod 601
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 48078 mod 487.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 78 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 78 an und zerlegen 78 in eine Summer von 2er-Potenzen:
78 = 64+8+4+2
1: 4801=480
2: 4802=4801+1=4801⋅4801 ≡ 480⋅480=230400 ≡ 49 mod 487
4: 4804=4802+2=4802⋅4802 ≡ 49⋅49=2401 ≡ 453 mod 487
8: 4808=4804+4=4804⋅4804 ≡ 453⋅453=205209 ≡ 182 mod 487
16: 48016=4808+8=4808⋅4808 ≡ 182⋅182=33124 ≡ 8 mod 487
32: 48032=48016+16=48016⋅48016 ≡ 8⋅8=64 ≡ 64 mod 487
64: 48064=48032+32=48032⋅48032 ≡ 64⋅64=4096 ≡ 200 mod 487
48078
= 48064+8+4+2
= 48064⋅4808⋅4804⋅4802
≡ 200 ⋅ 182 ⋅ 453 ⋅ 49 mod 487
≡ 36400 ⋅ 453 ⋅ 49 mod 487 ≡ 362 ⋅ 453 ⋅ 49 mod 487
≡ 163986 ⋅ 49 mod 487 ≡ 354 ⋅ 49 mod 487
≡ 17346 mod 487 ≡ 301 mod 487
Es gilt also: 48078 ≡ 301 mod 487
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-59-Inverse zur Zahl 56.
Also bestimme x, so dass 56 ⋅ x ≡ 1 mod 59 gilt:
Berechnung des größten gemeinsamen Teilers von 59 und 56
| =>59 | = 1⋅56 + 3 |
| =>56 | = 18⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(59,56)=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= 56-18⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(56 -18⋅ 3)
= 1⋅3 -1⋅56 +18⋅ 3) = -1⋅56 +19⋅ 3 (=1) |
| 3= 59-1⋅56 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅56 +19⋅(59 -1⋅ 56)
= -1⋅56 +19⋅59 -19⋅ 56) = 19⋅59 -20⋅ 56 (=1) |
Es gilt also: ggt(59,56)=1 = 19⋅59 -20⋅56
oder wenn man 19⋅59 auf die linke Seite bringt:
1 -19⋅59 = -20⋅56
-20⋅56 = -19⋅59 + 1 |+59⋅56
-20⋅56 + 59⋅56 = -19⋅59 + 59⋅56 + 1
(-20 + 59) ⋅ 56 = (-19 + 56) ⋅ 59 + 1
39⋅56 = 37⋅59 + 1
Es gilt also: 39⋅56 = 37⋅59 +1
Somit 39⋅56 = 1 mod 59
39 ist also das Inverse von 56 mod 59
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 43 und q = 37. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
