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: (8998 + 6003) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(8998 + 6003) mod 3 ≡ (8998 mod 3 + 6003 mod 3) mod 3.
8998 mod 3 ≡ 1 mod 3 kann man relativ leicht bestimmen, weil ja 8998
= 9000
6003 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 6003
= 6000
Somit gilt:
(8998 + 6003) mod 3 ≡ (1 + 0) mod 3 ≡ 1 mod 3.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (48 ⋅ 26) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(48 ⋅ 26) mod 5 ≡ (48 mod 5 ⋅ 26 mod 5) mod 5.
48 mod 5 ≡ 3 mod 5 kann man relativ leicht bestimmen, weil ja 48 = 45 + 3 = 9 ⋅ 5 + 3 ist.
26 mod 5 ≡ 1 mod 5 kann man relativ leicht bestimmen, weil ja 26 = 25 + 1 = 5 ⋅ 5 + 1 ist.
Somit gilt:
(48 ⋅ 26) mod 5 ≡ (3 ⋅ 1) mod 5 ≡ 3 mod 5.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 71732 mod 883.
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. 717 -> x
2. mod(x²,883) -> 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: 7171=717
2: 7172=7171+1=7171⋅7171 ≡ 717⋅717=514089 ≡ 183 mod 883
4: 7174=7172+2=7172⋅7172 ≡ 183⋅183=33489 ≡ 818 mod 883
8: 7178=7174+4=7174⋅7174 ≡ 818⋅818=669124 ≡ 693 mod 883
16: 71716=7178+8=7178⋅7178 ≡ 693⋅693=480249 ≡ 780 mod 883
32: 71732=71716+16=71716⋅71716 ≡ 780⋅780=608400 ≡ 13 mod 883
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 12571 mod 359.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 71 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 71 an und zerlegen 71 in eine Summer von 2er-Potenzen:
71 = 64+4+2+1
1: 1251=125
2: 1252=1251+1=1251⋅1251 ≡ 125⋅125=15625 ≡ 188 mod 359
4: 1254=1252+2=1252⋅1252 ≡ 188⋅188=35344 ≡ 162 mod 359
8: 1258=1254+4=1254⋅1254 ≡ 162⋅162=26244 ≡ 37 mod 359
16: 12516=1258+8=1258⋅1258 ≡ 37⋅37=1369 ≡ 292 mod 359
32: 12532=12516+16=12516⋅12516 ≡ 292⋅292=85264 ≡ 181 mod 359
64: 12564=12532+32=12532⋅12532 ≡ 181⋅181=32761 ≡ 92 mod 359
12571
= 12564+4+2+1
= 12564⋅1254⋅1252⋅1251
≡ 92 ⋅ 162 ⋅ 188 ⋅ 125 mod 359
≡ 14904 ⋅ 188 ⋅ 125 mod 359 ≡ 185 ⋅ 188 ⋅ 125 mod 359
≡ 34780 ⋅ 125 mod 359 ≡ 316 ⋅ 125 mod 359
≡ 39500 mod 359 ≡ 10 mod 359
Es gilt also: 12571 ≡ 10 mod 359
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-71-Inverse zur Zahl 31.
Also bestimme x, so dass 31 ⋅ x ≡ 1 mod 71 gilt:
Berechnung des größten gemeinsamen Teilers von 71 und 31
| =>71 | = 2⋅31 + 9 |
| =>31 | = 3⋅9 + 4 |
| =>9 | = 2⋅4 + 1 |
| =>4 | = 4⋅1 + 0 |
also gilt: ggt(71,31)=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= 9-2⋅4 | |||
| 4= 31-3⋅9 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅9 -2⋅(31 -3⋅ 9)
= 1⋅9 -2⋅31 +6⋅ 9) = -2⋅31 +7⋅ 9 (=1) |
| 9= 71-2⋅31 | eingesetzt in die Zeile drüber: | 1 |
= -2⋅31 +7⋅(71 -2⋅ 31)
= -2⋅31 +7⋅71 -14⋅ 31) = 7⋅71 -16⋅ 31 (=1) |
Es gilt also: ggt(71,31)=1 = 7⋅71 -16⋅31
oder wenn man 7⋅71 auf die linke Seite bringt:
1 -7⋅71 = -16⋅31
-16⋅31 = -7⋅71 + 1 |+71⋅31
-16⋅31 + 71⋅31 = -7⋅71 + 71⋅31 + 1
(-16 + 71) ⋅ 31 = (-7 + 31) ⋅ 71 + 1
55⋅31 = 24⋅71 + 1
Es gilt also: 55⋅31 = 24⋅71 +1
Somit 55⋅31 = 1 mod 71
55 ist also das Inverse von 31 mod 71
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 71 und q = 31. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
