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: (694 - 6999) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(694 - 6999) mod 7 ≡ (694 mod 7 - 6999 mod 7) mod 7.
694 mod 7 ≡ 1 mod 7 kann man relativ leicht bestimmen, weil ja 694
= 700
6999 mod 7 ≡ 6 mod 7 kann man relativ leicht bestimmen, weil ja 6999
= 7000
Somit gilt:
(694 - 6999) mod 7 ≡ (1 - 6) mod 7 ≡ -5 mod 7 ≡ 2 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (17 ⋅ 21) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(17 ⋅ 21) mod 8 ≡ (17 mod 8 ⋅ 21 mod 8) mod 8.
17 mod 8 ≡ 1 mod 8 kann man relativ leicht bestimmen, weil ja 17 = 16 + 1 = 2 ⋅ 8 + 1 ist.
21 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 21 = 16 + 5 = 2 ⋅ 8 + 5 ist.
Somit gilt:
(17 ⋅ 21) mod 8 ≡ (1 ⋅ 5) mod 8 ≡ 5 mod 8.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 18616 mod 509.
Die 16 im Exponent ist ja ein reine 2er-Potenz (24).
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. 186 -> x
2. mod(x²,509) -> 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: 1861=186
2: 1862=1861+1=1861⋅1861 ≡ 186⋅186=34596 ≡ 493 mod 509
4: 1864=1862+2=1862⋅1862 ≡ 493⋅493=243049 ≡ 256 mod 509
8: 1868=1864+4=1864⋅1864 ≡ 256⋅256=65536 ≡ 384 mod 509
16: 18616=1868+8=1868⋅1868 ≡ 384⋅384=147456 ≡ 355 mod 509
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 227198 mod 233.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 198 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 198 an und zerlegen 198 in eine Summer von 2er-Potenzen:
198 = 128+64+4+2
1: 2271=227
2: 2272=2271+1=2271⋅2271 ≡ 227⋅227=51529 ≡ 36 mod 233
4: 2274=2272+2=2272⋅2272 ≡ 36⋅36=1296 ≡ 131 mod 233
8: 2278=2274+4=2274⋅2274 ≡ 131⋅131=17161 ≡ 152 mod 233
16: 22716=2278+8=2278⋅2278 ≡ 152⋅152=23104 ≡ 37 mod 233
32: 22732=22716+16=22716⋅22716 ≡ 37⋅37=1369 ≡ 204 mod 233
64: 22764=22732+32=22732⋅22732 ≡ 204⋅204=41616 ≡ 142 mod 233
128: 227128=22764+64=22764⋅22764 ≡ 142⋅142=20164 ≡ 126 mod 233
227198
= 227128+64+4+2
= 227128⋅22764⋅2274⋅2272
≡ 126 ⋅ 142 ⋅ 131 ⋅ 36 mod 233
≡ 17892 ⋅ 131 ⋅ 36 mod 233 ≡ 184 ⋅ 131 ⋅ 36 mod 233
≡ 24104 ⋅ 36 mod 233 ≡ 105 ⋅ 36 mod 233
≡ 3780 mod 233 ≡ 52 mod 233
Es gilt also: 227198 ≡ 52 mod 233
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-59-Inverse zur Zahl 40.
Also bestimme x, so dass 40 ⋅ x ≡ 1 mod 59 gilt:
Berechnung des größten gemeinsamen Teilers von 59 und 40
| =>59 | = 1⋅40 + 19 |
| =>40 | = 2⋅19 + 2 |
| =>19 | = 9⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(59,40)=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= 19-9⋅2 | |||
| 2= 40-2⋅19 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅19 -9⋅(40 -2⋅ 19)
= 1⋅19 -9⋅40 +18⋅ 19) = -9⋅40 +19⋅ 19 (=1) |
| 19= 59-1⋅40 | eingesetzt in die Zeile drüber: | 1 |
= -9⋅40 +19⋅(59 -1⋅ 40)
= -9⋅40 +19⋅59 -19⋅ 40) = 19⋅59 -28⋅ 40 (=1) |
Es gilt also: ggt(59,40)=1 = 19⋅59 -28⋅40
oder wenn man 19⋅59 auf die linke Seite bringt:
1 -19⋅59 = -28⋅40
-28⋅40 = -19⋅59 + 1 |+59⋅40
-28⋅40 + 59⋅40 = -19⋅59 + 59⋅40 + 1
(-28 + 59) ⋅ 40 = (-19 + 40) ⋅ 59 + 1
31⋅40 = 21⋅59 + 1
Es gilt also: 31⋅40 = 21⋅59 +1
Somit 31⋅40 = 1 mod 59
31 ist also das Inverse von 40 mod 59
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 61 und q = 53. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
