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: (81 + 2405) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(81 + 2405) mod 8 ≡ (81 mod 8 + 2405 mod 8) mod 8.
81 mod 8 ≡ 1 mod 8 kann man relativ leicht bestimmen, weil ja 81
= 80
2405 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 2405
= 2400
Somit gilt:
(81 + 2405) mod 8 ≡ (1 + 5) mod 8 ≡ 6 mod 8.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (23 ⋅ 76) mod 6.
Um längere Rechnungen zu vermeiden, rechnen wir:
(23 ⋅ 76) mod 6 ≡ (23 mod 6 ⋅ 76 mod 6) mod 6.
23 mod 6 ≡ 5 mod 6 kann man relativ leicht bestimmen, weil ja 23 = 18 + 5 = 3 ⋅ 6 + 5 ist.
76 mod 6 ≡ 4 mod 6 kann man relativ leicht bestimmen, weil ja 76 = 72 + 4 = 12 ⋅ 6 + 4 ist.
Somit gilt:
(23 ⋅ 76) mod 6 ≡ (5 ⋅ 4) mod 6 ≡ 20 mod 6 ≡ 2 mod 6.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 350128 mod 479.
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. 350 -> x
2. mod(x²,479) -> 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: 3501=350
2: 3502=3501+1=3501⋅3501 ≡ 350⋅350=122500 ≡ 355 mod 479
4: 3504=3502+2=3502⋅3502 ≡ 355⋅355=126025 ≡ 48 mod 479
8: 3508=3504+4=3504⋅3504 ≡ 48⋅48=2304 ≡ 388 mod 479
16: 35016=3508+8=3508⋅3508 ≡ 388⋅388=150544 ≡ 138 mod 479
32: 35032=35016+16=35016⋅35016 ≡ 138⋅138=19044 ≡ 363 mod 479
64: 35064=35032+32=35032⋅35032 ≡ 363⋅363=131769 ≡ 44 mod 479
128: 350128=35064+64=35064⋅35064 ≡ 44⋅44=1936 ≡ 20 mod 479
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 32980 mod 359.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 80 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 80 an und zerlegen 80 in eine Summer von 2er-Potenzen:
80 = 64+16
1: 3291=329
2: 3292=3291+1=3291⋅3291 ≡ 329⋅329=108241 ≡ 182 mod 359
4: 3294=3292+2=3292⋅3292 ≡ 182⋅182=33124 ≡ 96 mod 359
8: 3298=3294+4=3294⋅3294 ≡ 96⋅96=9216 ≡ 241 mod 359
16: 32916=3298+8=3298⋅3298 ≡ 241⋅241=58081 ≡ 282 mod 359
32: 32932=32916+16=32916⋅32916 ≡ 282⋅282=79524 ≡ 185 mod 359
64: 32964=32932+32=32932⋅32932 ≡ 185⋅185=34225 ≡ 120 mod 359
32980
= 32964+16
= 32964⋅32916
≡ 120 ⋅ 282 mod 359
≡ 33840 mod 359 ≡ 94 mod 359
Es gilt also: 32980 ≡ 94 mod 359
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-53-Inverse zur Zahl 50.
Also bestimme x, so dass 50 ⋅ x ≡ 1 mod 53 gilt:
Berechnung des größten gemeinsamen Teilers von 53 und 50
| =>53 | = 1⋅50 + 3 |
| =>50 | = 16⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(53,50)=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= 50-16⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(50 -16⋅ 3)
= 1⋅3 -1⋅50 +16⋅ 3) = -1⋅50 +17⋅ 3 (=1) |
| 3= 53-1⋅50 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅50 +17⋅(53 -1⋅ 50)
= -1⋅50 +17⋅53 -17⋅ 50) = 17⋅53 -18⋅ 50 (=1) |
Es gilt also: ggt(53,50)=1 = 17⋅53 -18⋅50
oder wenn man 17⋅53 auf die linke Seite bringt:
1 -17⋅53 = -18⋅50
-18⋅50 = -17⋅53 + 1 |+53⋅50
-18⋅50 + 53⋅50 = -17⋅53 + 53⋅50 + 1
(-18 + 53) ⋅ 50 = (-17 + 50) ⋅ 53 + 1
35⋅50 = 33⋅53 + 1
Es gilt also: 35⋅50 = 33⋅53 +1
Somit 35⋅50 = 1 mod 53
35 ist also das Inverse von 50 mod 53
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 53 und q = 71. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
