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: (1791 - 3602) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(1791 - 3602) mod 9 ≡ (1791 mod 9 - 3602 mod 9) mod 9.
1791 mod 9 ≡ 0 mod 9 kann man relativ leicht bestimmen, weil ja 1791
= 1800
3602 mod 9 ≡ 2 mod 9 kann man relativ leicht bestimmen, weil ja 3602
= 3600
Somit gilt:
(1791 - 3602) mod 9 ≡ (0 - 2) mod 9 ≡ -2 mod 9 ≡ 7 mod 9.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (78 ⋅ 89) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(78 ⋅ 89) mod 8 ≡ (78 mod 8 ⋅ 89 mod 8) mod 8.
78 mod 8 ≡ 6 mod 8 kann man relativ leicht bestimmen, weil ja 78 = 72 + 6 = 9 ⋅ 8 + 6 ist.
89 mod 8 ≡ 1 mod 8 kann man relativ leicht bestimmen, weil ja 89 = 88 + 1 = 11 ⋅ 8 + 1 ist.
Somit gilt:
(78 ⋅ 89) mod 8 ≡ (6 ⋅ 1) mod 8 ≡ 6 mod 8.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 9364 mod 223.
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. 93 -> x
2. mod(x²,223) -> 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: 931=93
2: 932=931+1=931⋅931 ≡ 93⋅93=8649 ≡ 175 mod 223
4: 934=932+2=932⋅932 ≡ 175⋅175=30625 ≡ 74 mod 223
8: 938=934+4=934⋅934 ≡ 74⋅74=5476 ≡ 124 mod 223
16: 9316=938+8=938⋅938 ≡ 124⋅124=15376 ≡ 212 mod 223
32: 9332=9316+16=9316⋅9316 ≡ 212⋅212=44944 ≡ 121 mod 223
64: 9364=9332+32=9332⋅9332 ≡ 121⋅121=14641 ≡ 146 mod 223
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 24062 mod 523.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 62 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 62 an und zerlegen 62 in eine Summer von 2er-Potenzen:
62 = 32+16+8+4+2
1: 2401=240
2: 2402=2401+1=2401⋅2401 ≡ 240⋅240=57600 ≡ 70 mod 523
4: 2404=2402+2=2402⋅2402 ≡ 70⋅70=4900 ≡ 193 mod 523
8: 2408=2404+4=2404⋅2404 ≡ 193⋅193=37249 ≡ 116 mod 523
16: 24016=2408+8=2408⋅2408 ≡ 116⋅116=13456 ≡ 381 mod 523
32: 24032=24016+16=24016⋅24016 ≡ 381⋅381=145161 ≡ 290 mod 523
24062
= 24032+16+8+4+2
= 24032⋅24016⋅2408⋅2404⋅2402
≡ 290 ⋅ 381 ⋅ 116 ⋅ 193 ⋅ 70 mod 523
≡ 110490 ⋅ 116 ⋅ 193 ⋅ 70 mod 523 ≡ 137 ⋅ 116 ⋅ 193 ⋅ 70 mod 523
≡ 15892 ⋅ 193 ⋅ 70 mod 523 ≡ 202 ⋅ 193 ⋅ 70 mod 523
≡ 38986 ⋅ 70 mod 523 ≡ 284 ⋅ 70 mod 523
≡ 19880 mod 523 ≡ 6 mod 523
Es gilt also: 24062 ≡ 6 mod 523
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-89-Inverse zur Zahl 31.
Also bestimme x, so dass 31 ⋅ x ≡ 1 mod 89 gilt:
Berechnung des größten gemeinsamen Teilers von 89 und 31
| =>89 | = 2⋅31 + 27 |
| =>31 | = 1⋅27 + 4 |
| =>27 | = 6⋅4 + 3 |
| =>4 | = 1⋅3 + 1 |
| =>3 | = 3⋅1 + 0 |
also gilt: ggt(89,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= 4-1⋅3 | |||
| 3= 27-6⋅4 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅4 -1⋅(27 -6⋅ 4)
= 1⋅4 -1⋅27 +6⋅ 4) = -1⋅27 +7⋅ 4 (=1) |
| 4= 31-1⋅27 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅27 +7⋅(31 -1⋅ 27)
= -1⋅27 +7⋅31 -7⋅ 27) = 7⋅31 -8⋅ 27 (=1) |
| 27= 89-2⋅31 | eingesetzt in die Zeile drüber: | 1 |
= 7⋅31 -8⋅(89 -2⋅ 31)
= 7⋅31 -8⋅89 +16⋅ 31) = -8⋅89 +23⋅ 31 (=1) |
Es gilt also: ggt(89,31)=1 = -8⋅89 +23⋅31
oder wenn man -8⋅89 auf die linke Seite bringt:
1 +8⋅89 = +23⋅31
Es gilt also: 23⋅31 = 8⋅89 +1
Somit 23⋅31 = 1 mod 89
23 ist also das Inverse von 31 mod 89
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 67 und q = 43. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
