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: (47 - 502) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(47 - 502) mod 5 ≡ (47 mod 5 - 502 mod 5) mod 5.
47 mod 5 ≡ 2 mod 5 kann man relativ leicht bestimmen, weil ja 47
= 40
502 mod 5 ≡ 2 mod 5 kann man relativ leicht bestimmen, weil ja 502
= 500
Somit gilt:
(47 - 502) mod 5 ≡ (2 - 2) mod 5 ≡ 0 mod 5.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (68 ⋅ 24) mod 6.
Um längere Rechnungen zu vermeiden, rechnen wir:
(68 ⋅ 24) mod 6 ≡ (68 mod 6 ⋅ 24 mod 6) mod 6.
68 mod 6 ≡ 2 mod 6 kann man relativ leicht bestimmen, weil ja 68 = 66 + 2 = 11 ⋅ 6 + 2 ist.
24 mod 6 ≡ 0 mod 6 kann man relativ leicht bestimmen, weil ja 24 = 24 + 0 = 4 ⋅ 6 + 0 ist.
Somit gilt:
(68 ⋅ 24) mod 6 ≡ (2 ⋅ 0) mod 6 ≡ 0 mod 6.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 797128 mod 977.
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. 797 -> x
2. mod(x²,977) -> 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: 7971=797
2: 7972=7971+1=7971⋅7971 ≡ 797⋅797=635209 ≡ 159 mod 977
4: 7974=7972+2=7972⋅7972 ≡ 159⋅159=25281 ≡ 856 mod 977
8: 7978=7974+4=7974⋅7974 ≡ 856⋅856=732736 ≡ 963 mod 977
16: 79716=7978+8=7978⋅7978 ≡ 963⋅963=927369 ≡ 196 mod 977
32: 79732=79716+16=79716⋅79716 ≡ 196⋅196=38416 ≡ 313 mod 977
64: 79764=79732+32=79732⋅79732 ≡ 313⋅313=97969 ≡ 269 mod 977
128: 797128=79764+64=79764⋅79764 ≡ 269⋅269=72361 ≡ 63 mod 977
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 323113 mod 641.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 113 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 113 an und zerlegen 113 in eine Summer von 2er-Potenzen:
113 = 64+32+16+1
1: 3231=323
2: 3232=3231+1=3231⋅3231 ≡ 323⋅323=104329 ≡ 487 mod 641
4: 3234=3232+2=3232⋅3232 ≡ 487⋅487=237169 ≡ 640 mod 641
8: 3238=3234+4=3234⋅3234 ≡ 640⋅640=409600 ≡ 1 mod 641
16: 32316=3238+8=3238⋅3238 ≡ 1⋅1=1 ≡ 1 mod 641
32: 32332=32316+16=32316⋅32316 ≡ 1⋅1=1 ≡ 1 mod 641
64: 32364=32332+32=32332⋅32332 ≡ 1⋅1=1 ≡ 1 mod 641
323113
= 32364+32+16+1
= 32364⋅32332⋅32316⋅3231
≡ 1 ⋅ 1 ⋅ 1 ⋅ 323 mod 641
≡ 1 ⋅ 1 ⋅ 323 mod 641
≡ 1 ⋅ 323 mod 641
≡ 323 mod 641
Es gilt also: 323113 ≡ 323 mod 641
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-89-Inverse zur Zahl 70.
Also bestimme x, so dass 70 ⋅ x ≡ 1 mod 89 gilt:
Berechnung des größten gemeinsamen Teilers von 89 und 70
| =>89 | = 1⋅70 + 19 |
| =>70 | = 3⋅19 + 13 |
| =>19 | = 1⋅13 + 6 |
| =>13 | = 2⋅6 + 1 |
| =>6 | = 6⋅1 + 0 |
also gilt: ggt(89,70)=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= 13-2⋅6 | |||
| 6= 19-1⋅13 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅13 -2⋅(19 -1⋅ 13)
= 1⋅13 -2⋅19 +2⋅ 13) = -2⋅19 +3⋅ 13 (=1) |
| 13= 70-3⋅19 | eingesetzt in die Zeile drüber: | 1 |
= -2⋅19 +3⋅(70 -3⋅ 19)
= -2⋅19 +3⋅70 -9⋅ 19) = 3⋅70 -11⋅ 19 (=1) |
| 19= 89-1⋅70 | eingesetzt in die Zeile drüber: | 1 |
= 3⋅70 -11⋅(89 -1⋅ 70)
= 3⋅70 -11⋅89 +11⋅ 70) = -11⋅89 +14⋅ 70 (=1) |
Es gilt also: ggt(89,70)=1 = -11⋅89 +14⋅70
oder wenn man -11⋅89 auf die linke Seite bringt:
1 +11⋅89 = +14⋅70
Es gilt also: 14⋅70 = 11⋅89 +1
Somit 14⋅70 = 1 mod 89
14 ist also das Inverse von 70 mod 89
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 101 und q = 79. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
