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: (397 - 24003) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(397 - 24003) mod 8 ≡ (397 mod 8 - 24003 mod 8) mod 8.
397 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 397
= 400
24003 mod 8 ≡ 3 mod 8 kann man relativ leicht bestimmen, weil ja 24003
= 24000
Somit gilt:
(397 - 24003) mod 8 ≡ (5 - 3) mod 8 ≡ 2 mod 8.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (84 ⋅ 37) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(84 ⋅ 37) mod 9 ≡ (84 mod 9 ⋅ 37 mod 9) mod 9.
84 mod 9 ≡ 3 mod 9 kann man relativ leicht bestimmen, weil ja 84 = 81 + 3 = 9 ⋅ 9 + 3 ist.
37 mod 9 ≡ 1 mod 9 kann man relativ leicht bestimmen, weil ja 37 = 36 + 1 = 4 ⋅ 9 + 1 ist.
Somit gilt:
(84 ⋅ 37) mod 9 ≡ (3 ⋅ 1) mod 9 ≡ 3 mod 9.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 29316 mod 877.
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. 293 -> x
2. mod(x²,877) -> 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: 2931=293
2: 2932=2931+1=2931⋅2931 ≡ 293⋅293=85849 ≡ 780 mod 877
4: 2934=2932+2=2932⋅2932 ≡ 780⋅780=608400 ≡ 639 mod 877
8: 2938=2934+4=2934⋅2934 ≡ 639⋅639=408321 ≡ 516 mod 877
16: 29316=2938+8=2938⋅2938 ≡ 516⋅516=266256 ≡ 525 mod 877
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 532186 mod 761.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 186 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 186 an und zerlegen 186 in eine Summer von 2er-Potenzen:
186 = 128+32+16+8+2
1: 5321=532
2: 5322=5321+1=5321⋅5321 ≡ 532⋅532=283024 ≡ 693 mod 761
4: 5324=5322+2=5322⋅5322 ≡ 693⋅693=480249 ≡ 58 mod 761
8: 5328=5324+4=5324⋅5324 ≡ 58⋅58=3364 ≡ 320 mod 761
16: 53216=5328+8=5328⋅5328 ≡ 320⋅320=102400 ≡ 426 mod 761
32: 53232=53216+16=53216⋅53216 ≡ 426⋅426=181476 ≡ 358 mod 761
64: 53264=53232+32=53232⋅53232 ≡ 358⋅358=128164 ≡ 316 mod 761
128: 532128=53264+64=53264⋅53264 ≡ 316⋅316=99856 ≡ 165 mod 761
532186
= 532128+32+16+8+2
= 532128⋅53232⋅53216⋅5328⋅5322
≡ 165 ⋅ 358 ⋅ 426 ⋅ 320 ⋅ 693 mod 761
≡ 59070 ⋅ 426 ⋅ 320 ⋅ 693 mod 761 ≡ 473 ⋅ 426 ⋅ 320 ⋅ 693 mod 761
≡ 201498 ⋅ 320 ⋅ 693 mod 761 ≡ 594 ⋅ 320 ⋅ 693 mod 761
≡ 190080 ⋅ 693 mod 761 ≡ 591 ⋅ 693 mod 761
≡ 409563 mod 761 ≡ 145 mod 761
Es gilt also: 532186 ≡ 145 mod 761
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-79-Inverse zur Zahl 41.
Also bestimme x, so dass 41 ⋅ x ≡ 1 mod 79 gilt:
Berechnung des größten gemeinsamen Teilers von 79 und 41
| =>79 | = 1⋅41 + 38 |
| =>41 | = 1⋅38 + 3 |
| =>38 | = 12⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(79,41)=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= 38-12⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(38 -12⋅ 3)
= 1⋅3 -1⋅38 +12⋅ 3) = -1⋅38 +13⋅ 3 (=1) |
| 3= 41-1⋅38 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅38 +13⋅(41 -1⋅ 38)
= -1⋅38 +13⋅41 -13⋅ 38) = 13⋅41 -14⋅ 38 (=1) |
| 38= 79-1⋅41 | eingesetzt in die Zeile drüber: | 1 |
= 13⋅41 -14⋅(79 -1⋅ 41)
= 13⋅41 -14⋅79 +14⋅ 41) = -14⋅79 +27⋅ 41 (=1) |
Es gilt also: ggt(79,41)=1 = -14⋅79 +27⋅41
oder wenn man -14⋅79 auf die linke Seite bringt:
1 +14⋅79 = +27⋅41
Es gilt also: 27⋅41 = 14⋅79 +1
Somit 27⋅41 = 1 mod 79
27 ist also das Inverse von 41 mod 79
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.
