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: (4003 + 320) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(4003 + 320) mod 8 ≡ (4003 mod 8 + 320 mod 8) mod 8.
4003 mod 8 ≡ 3 mod 8 kann man relativ leicht bestimmen, weil ja 4003
= 4000
320 mod 8 ≡ 0 mod 8 kann man relativ leicht bestimmen, weil ja 320
= 320
Somit gilt:
(4003 + 320) mod 8 ≡ (3 + 0) mod 8 ≡ 3 mod 8.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (82 ⋅ 81) mod 10.
Um längere Rechnungen zu vermeiden, rechnen wir:
(82 ⋅ 81) mod 10 ≡ (82 mod 10 ⋅ 81 mod 10) mod 10.
82 mod 10 ≡ 2 mod 10 kann man relativ leicht bestimmen, weil ja 82 = 80 + 2 = 8 ⋅ 10 + 2 ist.
81 mod 10 ≡ 1 mod 10 kann man relativ leicht bestimmen, weil ja 81 = 80 + 1 = 8 ⋅ 10 + 1 ist.
Somit gilt:
(82 ⋅ 81) mod 10 ≡ (2 ⋅ 1) mod 10 ≡ 2 mod 10.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 1648 mod 227.
Die 8 im Exponent ist ja ein reine 2er-Potenz (23).
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. 164 -> x
2. mod(x²,227) -> 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: 1641=164
2: 1642=1641+1=1641⋅1641 ≡ 164⋅164=26896 ≡ 110 mod 227
4: 1644=1642+2=1642⋅1642 ≡ 110⋅110=12100 ≡ 69 mod 227
8: 1648=1644+4=1644⋅1644 ≡ 69⋅69=4761 ≡ 221 mod 227
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 506193 mod 997.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 193 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 193 an und zerlegen 193 in eine Summer von 2er-Potenzen:
193 = 128+64+1
1: 5061=506
2: 5062=5061+1=5061⋅5061 ≡ 506⋅506=256036 ≡ 804 mod 997
4: 5064=5062+2=5062⋅5062 ≡ 804⋅804=646416 ≡ 360 mod 997
8: 5068=5064+4=5064⋅5064 ≡ 360⋅360=129600 ≡ 987 mod 997
16: 50616=5068+8=5068⋅5068 ≡ 987⋅987=974169 ≡ 100 mod 997
32: 50632=50616+16=50616⋅50616 ≡ 100⋅100=10000 ≡ 30 mod 997
64: 50664=50632+32=50632⋅50632 ≡ 30⋅30=900 ≡ 900 mod 997
128: 506128=50664+64=50664⋅50664 ≡ 900⋅900=810000 ≡ 436 mod 997
506193
= 506128+64+1
= 506128⋅50664⋅5061
≡ 436 ⋅ 900 ⋅ 506 mod 997
≡ 392400 ⋅ 506 mod 997 ≡ 579 ⋅ 506 mod 997
≡ 292974 mod 997 ≡ 853 mod 997
Es gilt also: 506193 ≡ 853 mod 997
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-59-Inverse zur Zahl 39.
Also bestimme x, so dass 39 ⋅ x ≡ 1 mod 59 gilt:
Berechnung des größten gemeinsamen Teilers von 59 und 39
| =>59 | = 1⋅39 + 20 |
| =>39 | = 1⋅20 + 19 |
| =>20 | = 1⋅19 + 1 |
| =>19 | = 19⋅1 + 0 |
also gilt: ggt(59,39)=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= 20-1⋅19 | |||
| 19= 39-1⋅20 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅20 -1⋅(39 -1⋅ 20)
= 1⋅20 -1⋅39 +1⋅ 20) = -1⋅39 +2⋅ 20 (=1) |
| 20= 59-1⋅39 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅39 +2⋅(59 -1⋅ 39)
= -1⋅39 +2⋅59 -2⋅ 39) = 2⋅59 -3⋅ 39 (=1) |
Es gilt also: ggt(59,39)=1 = 2⋅59 -3⋅39
oder wenn man 2⋅59 auf die linke Seite bringt:
1 -2⋅59 = -3⋅39
-3⋅39 = -2⋅59 + 1 |+59⋅39
-3⋅39 + 59⋅39 = -2⋅59 + 59⋅39 + 1
(-3 + 59) ⋅ 39 = (-2 + 39) ⋅ 59 + 1
56⋅39 = 37⋅59 + 1
Es gilt also: 56⋅39 = 37⋅59 +1
Somit 56⋅39 = 1 mod 59
56 ist also das Inverse von 39 mod 59
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 47 und q = 97. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
