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: (180 - 64) mod 6.
Um längere Rechnungen zu vermeiden, rechnen wir:
(180 - 64) mod 6 ≡ (180 mod 6 - 64 mod 6) mod 6.
180 mod 6 ≡ 0 mod 6 kann man relativ leicht bestimmen, weil ja 180
= 180
64 mod 6 ≡ 4 mod 6 kann man relativ leicht bestimmen, weil ja 64
= 60
Somit gilt:
(180 - 64) mod 6 ≡ (0 - 4) mod 6 ≡ -4 mod 6 ≡ 2 mod 6.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (34 ⋅ 42) mod 11.
Um längere Rechnungen zu vermeiden, rechnen wir:
(34 ⋅ 42) mod 11 ≡ (34 mod 11 ⋅ 42 mod 11) mod 11.
34 mod 11 ≡ 1 mod 11 kann man relativ leicht bestimmen, weil ja 34 = 33 + 1 = 3 ⋅ 11 + 1 ist.
42 mod 11 ≡ 9 mod 11 kann man relativ leicht bestimmen, weil ja 42 = 33 + 9 = 3 ⋅ 11 + 9 ist.
Somit gilt:
(34 ⋅ 42) mod 11 ≡ (1 ⋅ 9) mod 11 ≡ 9 mod 11.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 29932 mod 809.
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. 299 -> x
2. mod(x²,809) -> 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: 2991=299
2: 2992=2991+1=2991⋅2991 ≡ 299⋅299=89401 ≡ 411 mod 809
4: 2994=2992+2=2992⋅2992 ≡ 411⋅411=168921 ≡ 649 mod 809
8: 2998=2994+4=2994⋅2994 ≡ 649⋅649=421201 ≡ 521 mod 809
16: 29916=2998+8=2998⋅2998 ≡ 521⋅521=271441 ≡ 426 mod 809
32: 29932=29916+16=29916⋅29916 ≡ 426⋅426=181476 ≡ 260 mod 809
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 397129 mod 719.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 129 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 129 an und zerlegen 129 in eine Summer von 2er-Potenzen:
129 = 128+1
1: 3971=397
2: 3972=3971+1=3971⋅3971 ≡ 397⋅397=157609 ≡ 148 mod 719
4: 3974=3972+2=3972⋅3972 ≡ 148⋅148=21904 ≡ 334 mod 719
8: 3978=3974+4=3974⋅3974 ≡ 334⋅334=111556 ≡ 111 mod 719
16: 39716=3978+8=3978⋅3978 ≡ 111⋅111=12321 ≡ 98 mod 719
32: 39732=39716+16=39716⋅39716 ≡ 98⋅98=9604 ≡ 257 mod 719
64: 39764=39732+32=39732⋅39732 ≡ 257⋅257=66049 ≡ 620 mod 719
128: 397128=39764+64=39764⋅39764 ≡ 620⋅620=384400 ≡ 454 mod 719
397129
= 397128+1
= 397128⋅3971
≡ 454 ⋅ 397 mod 719
≡ 180238 mod 719 ≡ 488 mod 719
Es gilt also: 397129 ≡ 488 mod 719
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-97-Inverse zur Zahl 50.
Also bestimme x, so dass 50 ⋅ x ≡ 1 mod 97 gilt:
Berechnung des größten gemeinsamen Teilers von 97 und 50
| =>97 | = 1⋅50 + 47 |
| =>50 | = 1⋅47 + 3 |
| =>47 | = 15⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(97,50)=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= 3-1⋅2 | |||
| 2= 47-15⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(47 -15⋅ 3)
= 1⋅3 -1⋅47 +15⋅ 3) = -1⋅47 +16⋅ 3 (=1) |
| 3= 50-1⋅47 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅47 +16⋅(50 -1⋅ 47)
= -1⋅47 +16⋅50 -16⋅ 47) = 16⋅50 -17⋅ 47 (=1) |
| 47= 97-1⋅50 | eingesetzt in die Zeile drüber: | 1 |
= 16⋅50 -17⋅(97 -1⋅ 50)
= 16⋅50 -17⋅97 +17⋅ 50) = -17⋅97 +33⋅ 50 (=1) |
Es gilt also: ggt(97,50)=1 = -17⋅97 +33⋅50
oder wenn man -17⋅97 auf die linke Seite bringt:
1 +17⋅97 = +33⋅50
Es gilt also: 33⋅50 = 17⋅97 +1
Somit 33⋅50 = 1 mod 97
33 ist also das Inverse von 50 mod 97
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 83 und q = 71. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
