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: (8995 - 2700) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(8995 - 2700) mod 9 ≡ (8995 mod 9 - 2700 mod 9) mod 9.
8995 mod 9 ≡ 4 mod 9 kann man relativ leicht bestimmen, weil ja 8995
= 9000
2700 mod 9 ≡ 0 mod 9 kann man relativ leicht bestimmen, weil ja 2700
= 2700
Somit gilt:
(8995 - 2700) mod 9 ≡ (4 - 0) mod 9 ≡ 4 mod 9.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (80 ⋅ 66) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(80 ⋅ 66) mod 3 ≡ (80 mod 3 ⋅ 66 mod 3) mod 3.
80 mod 3 ≡ 2 mod 3 kann man relativ leicht bestimmen, weil ja 80 = 78 + 2 = 26 ⋅ 3 + 2 ist.
66 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 66 = 66 + 0 = 22 ⋅ 3 + 0 ist.
Somit gilt:
(80 ⋅ 66) mod 3 ≡ (2 ⋅ 0) mod 3 ≡ 0 mod 3.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 169128 mod 389.
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. 169 -> x
2. mod(x²,389) -> 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: 1691=169
2: 1692=1691+1=1691⋅1691 ≡ 169⋅169=28561 ≡ 164 mod 389
4: 1694=1692+2=1692⋅1692 ≡ 164⋅164=26896 ≡ 55 mod 389
8: 1698=1694+4=1694⋅1694 ≡ 55⋅55=3025 ≡ 302 mod 389
16: 16916=1698+8=1698⋅1698 ≡ 302⋅302=91204 ≡ 178 mod 389
32: 16932=16916+16=16916⋅16916 ≡ 178⋅178=31684 ≡ 175 mod 389
64: 16964=16932+32=16932⋅16932 ≡ 175⋅175=30625 ≡ 283 mod 389
128: 169128=16964+64=16964⋅16964 ≡ 283⋅283=80089 ≡ 344 mod 389
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 304161 mod 953.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 161 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 161 an und zerlegen 161 in eine Summer von 2er-Potenzen:
161 = 128+32+1
1: 3041=304
2: 3042=3041+1=3041⋅3041 ≡ 304⋅304=92416 ≡ 928 mod 953
4: 3044=3042+2=3042⋅3042 ≡ 928⋅928=861184 ≡ 625 mod 953
8: 3048=3044+4=3044⋅3044 ≡ 625⋅625=390625 ≡ 848 mod 953
16: 30416=3048+8=3048⋅3048 ≡ 848⋅848=719104 ≡ 542 mod 953
32: 30432=30416+16=30416⋅30416 ≡ 542⋅542=293764 ≡ 240 mod 953
64: 30464=30432+32=30432⋅30432 ≡ 240⋅240=57600 ≡ 420 mod 953
128: 304128=30464+64=30464⋅30464 ≡ 420⋅420=176400 ≡ 95 mod 953
304161
= 304128+32+1
= 304128⋅30432⋅3041
≡ 95 ⋅ 240 ⋅ 304 mod 953
≡ 22800 ⋅ 304 mod 953 ≡ 881 ⋅ 304 mod 953
≡ 267824 mod 953 ≡ 31 mod 953
Es gilt also: 304161 ≡ 31 mod 953
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-83-Inverse zur Zahl 76.
Also bestimme x, so dass 76 ⋅ x ≡ 1 mod 83 gilt:
Berechnung des größten gemeinsamen Teilers von 83 und 76
| =>83 | = 1⋅76 + 7 |
| =>76 | = 10⋅7 + 6 |
| =>7 | = 1⋅6 + 1 |
| =>6 | = 6⋅1 + 0 |
also gilt: ggt(83,76)=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= 7-1⋅6 | |||
| 6= 76-10⋅7 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅7 -1⋅(76 -10⋅ 7)
= 1⋅7 -1⋅76 +10⋅ 7) = -1⋅76 +11⋅ 7 (=1) |
| 7= 83-1⋅76 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅76 +11⋅(83 -1⋅ 76)
= -1⋅76 +11⋅83 -11⋅ 76) = 11⋅83 -12⋅ 76 (=1) |
Es gilt also: ggt(83,76)=1 = 11⋅83 -12⋅76
oder wenn man 11⋅83 auf die linke Seite bringt:
1 -11⋅83 = -12⋅76
-12⋅76 = -11⋅83 + 1 |+83⋅76
-12⋅76 + 83⋅76 = -11⋅83 + 83⋅76 + 1
(-12 + 83) ⋅ 76 = (-11 + 76) ⋅ 83 + 1
71⋅76 = 65⋅83 + 1
Es gilt also: 71⋅76 = 65⋅83 +1
Somit 71⋅76 = 1 mod 83
71 ist also das Inverse von 76 mod 83
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 43 und q = 31. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
