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: (40004 + 157) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(40004 + 157) mod 8 ≡ (40004 mod 8 + 157 mod 8) mod 8.
40004 mod 8 ≡ 4 mod 8 kann man relativ leicht bestimmen, weil ja 40004
= 40000
157 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 157
= 160
Somit gilt:
(40004 + 157) mod 8 ≡ (4 + 5) mod 8 ≡ 9 mod 8 ≡ 1 mod 8.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (96 ⋅ 90) mod 11.
Um längere Rechnungen zu vermeiden, rechnen wir:
(96 ⋅ 90) mod 11 ≡ (96 mod 11 ⋅ 90 mod 11) mod 11.
96 mod 11 ≡ 8 mod 11 kann man relativ leicht bestimmen, weil ja 96 = 88 + 8 = 8 ⋅ 11 + 8 ist.
90 mod 11 ≡ 2 mod 11 kann man relativ leicht bestimmen, weil ja 90 = 88 + 2 = 8 ⋅ 11 + 2 ist.
Somit gilt:
(96 ⋅ 90) mod 11 ≡ (8 ⋅ 2) mod 11 ≡ 16 mod 11 ≡ 5 mod 11.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 22064 mod 281.
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. 220 -> x
2. mod(x²,281) -> 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: 2201=220
2: 2202=2201+1=2201⋅2201 ≡ 220⋅220=48400 ≡ 68 mod 281
4: 2204=2202+2=2202⋅2202 ≡ 68⋅68=4624 ≡ 128 mod 281
8: 2208=2204+4=2204⋅2204 ≡ 128⋅128=16384 ≡ 86 mod 281
16: 22016=2208+8=2208⋅2208 ≡ 86⋅86=7396 ≡ 90 mod 281
32: 22032=22016+16=22016⋅22016 ≡ 90⋅90=8100 ≡ 232 mod 281
64: 22064=22032+32=22032⋅22032 ≡ 232⋅232=53824 ≡ 153 mod 281
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 243115 mod 757.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 115 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 115 an und zerlegen 115 in eine Summer von 2er-Potenzen:
115 = 64+32+16+2+1
1: 2431=243
2: 2432=2431+1=2431⋅2431 ≡ 243⋅243=59049 ≡ 3 mod 757
4: 2434=2432+2=2432⋅2432 ≡ 3⋅3=9 ≡ 9 mod 757
8: 2438=2434+4=2434⋅2434 ≡ 9⋅9=81 ≡ 81 mod 757
16: 24316=2438+8=2438⋅2438 ≡ 81⋅81=6561 ≡ 505 mod 757
32: 24332=24316+16=24316⋅24316 ≡ 505⋅505=255025 ≡ 673 mod 757
64: 24364=24332+32=24332⋅24332 ≡ 673⋅673=452929 ≡ 243 mod 757
243115
= 24364+32+16+2+1
= 24364⋅24332⋅24316⋅2432⋅2431
≡ 243 ⋅ 673 ⋅ 505 ⋅ 3 ⋅ 243 mod 757
≡ 163539 ⋅ 505 ⋅ 3 ⋅ 243 mod 757 ≡ 27 ⋅ 505 ⋅ 3 ⋅ 243 mod 757
≡ 13635 ⋅ 3 ⋅ 243 mod 757 ≡ 9 ⋅ 3 ⋅ 243 mod 757
≡ 27 ⋅ 243 mod 757
≡ 6561 mod 757 ≡ 505 mod 757
Es gilt also: 243115 ≡ 505 mod 757
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-79-Inverse zur Zahl 75.
Also bestimme x, so dass 75 ⋅ x ≡ 1 mod 79 gilt:
Berechnung des größten gemeinsamen Teilers von 79 und 75
| =>79 | = 1⋅75 + 4 |
| =>75 | = 18⋅4 + 3 |
| =>4 | = 1⋅3 + 1 |
| =>3 | = 3⋅1 + 0 |
also gilt: ggt(79,75)=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= 75-18⋅4 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅4 -1⋅(75 -18⋅ 4)
= 1⋅4 -1⋅75 +18⋅ 4) = -1⋅75 +19⋅ 4 (=1) |
| 4= 79-1⋅75 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅75 +19⋅(79 -1⋅ 75)
= -1⋅75 +19⋅79 -19⋅ 75) = 19⋅79 -20⋅ 75 (=1) |
Es gilt also: ggt(79,75)=1 = 19⋅79 -20⋅75
oder wenn man 19⋅79 auf die linke Seite bringt:
1 -19⋅79 = -20⋅75
-20⋅75 = -19⋅79 + 1 |+79⋅75
-20⋅75 + 79⋅75 = -19⋅79 + 79⋅75 + 1
(-20 + 79) ⋅ 75 = (-19 + 75) ⋅ 79 + 1
59⋅75 = 56⋅79 + 1
Es gilt also: 59⋅75 = 56⋅79 +1
Somit 59⋅75 = 1 mod 79
59 ist also das Inverse von 75 mod 79
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 47 und q = 89. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
