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: (2104 + 697) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(2104 + 697) mod 7 ≡ (2104 mod 7 + 697 mod 7) mod 7.
2104 mod 7 ≡ 4 mod 7 kann man relativ leicht bestimmen, weil ja 2104
= 2100
697 mod 7 ≡ 4 mod 7 kann man relativ leicht bestimmen, weil ja 697
= 700
Somit gilt:
(2104 + 697) mod 7 ≡ (4 + 4) mod 7 ≡ 8 mod 7 ≡ 1 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (27 ⋅ 49) mod 10.
Um längere Rechnungen zu vermeiden, rechnen wir:
(27 ⋅ 49) mod 10 ≡ (27 mod 10 ⋅ 49 mod 10) mod 10.
27 mod 10 ≡ 7 mod 10 kann man relativ leicht bestimmen, weil ja 27 = 20 + 7 = 2 ⋅ 10 + 7 ist.
49 mod 10 ≡ 9 mod 10 kann man relativ leicht bestimmen, weil ja 49 = 40 + 9 = 4 ⋅ 10 + 9 ist.
Somit gilt:
(27 ⋅ 49) mod 10 ≡ (7 ⋅ 9) mod 10 ≡ 63 mod 10 ≡ 3 mod 10.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 15132 mod 263.
Die 32 im Exponent ist ja ein reine 2er-Potenz (25).
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. 151 -> x
2. mod(x²,263) -> 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: 1511=151
2: 1512=1511+1=1511⋅1511 ≡ 151⋅151=22801 ≡ 183 mod 263
4: 1514=1512+2=1512⋅1512 ≡ 183⋅183=33489 ≡ 88 mod 263
8: 1518=1514+4=1514⋅1514 ≡ 88⋅88=7744 ≡ 117 mod 263
16: 15116=1518+8=1518⋅1518 ≡ 117⋅117=13689 ≡ 13 mod 263
32: 15132=15116+16=15116⋅15116 ≡ 13⋅13=169 ≡ 169 mod 263
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 95180 mod 211.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 180 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 180 an und zerlegen 180 in eine Summer von 2er-Potenzen:
180 = 128+32+16+4
1: 951=95
2: 952=951+1=951⋅951 ≡ 95⋅95=9025 ≡ 163 mod 211
4: 954=952+2=952⋅952 ≡ 163⋅163=26569 ≡ 194 mod 211
8: 958=954+4=954⋅954 ≡ 194⋅194=37636 ≡ 78 mod 211
16: 9516=958+8=958⋅958 ≡ 78⋅78=6084 ≡ 176 mod 211
32: 9532=9516+16=9516⋅9516 ≡ 176⋅176=30976 ≡ 170 mod 211
64: 9564=9532+32=9532⋅9532 ≡ 170⋅170=28900 ≡ 204 mod 211
128: 95128=9564+64=9564⋅9564 ≡ 204⋅204=41616 ≡ 49 mod 211
95180
= 95128+32+16+4
= 95128⋅9532⋅9516⋅954
≡ 49 ⋅ 170 ⋅ 176 ⋅ 194 mod 211
≡ 8330 ⋅ 176 ⋅ 194 mod 211 ≡ 101 ⋅ 176 ⋅ 194 mod 211
≡ 17776 ⋅ 194 mod 211 ≡ 52 ⋅ 194 mod 211
≡ 10088 mod 211 ≡ 171 mod 211
Es gilt also: 95180 ≡ 171 mod 211
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-73-Inverse zur Zahl 58.
Also bestimme x, so dass 58 ⋅ x ≡ 1 mod 73 gilt:
Berechnung des größten gemeinsamen Teilers von 73 und 58
| =>73 | = 1⋅58 + 15 |
| =>58 | = 3⋅15 + 13 |
| =>15 | = 1⋅13 + 2 |
| =>13 | = 6⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(73,58)=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-6⋅2 | |||
| 2= 15-1⋅13 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅13 -6⋅(15 -1⋅ 13)
= 1⋅13 -6⋅15 +6⋅ 13) = -6⋅15 +7⋅ 13 (=1) |
| 13= 58-3⋅15 | eingesetzt in die Zeile drüber: | 1 |
= -6⋅15 +7⋅(58 -3⋅ 15)
= -6⋅15 +7⋅58 -21⋅ 15) = 7⋅58 -27⋅ 15 (=1) |
| 15= 73-1⋅58 | eingesetzt in die Zeile drüber: | 1 |
= 7⋅58 -27⋅(73 -1⋅ 58)
= 7⋅58 -27⋅73 +27⋅ 58) = -27⋅73 +34⋅ 58 (=1) |
Es gilt also: ggt(73,58)=1 = -27⋅73 +34⋅58
oder wenn man -27⋅73 auf die linke Seite bringt:
1 +27⋅73 = +34⋅58
Es gilt also: 34⋅58 = 27⋅73 +1
Somit 34⋅58 = 1 mod 73
34 ist also das Inverse von 58 mod 73
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 37 und q = 31. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
