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: (6000 - 903) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(6000 - 903) mod 3 ≡ (6000 mod 3 - 903 mod 3) mod 3.
6000 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 6000
= 6000
903 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 903
= 900
Somit gilt:
(6000 - 903) mod 3 ≡ (0 - 0) mod 3 ≡ 0 mod 3.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (27 ⋅ 46) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(27 ⋅ 46) mod 7 ≡ (27 mod 7 ⋅ 46 mod 7) mod 7.
27 mod 7 ≡ 6 mod 7 kann man relativ leicht bestimmen, weil ja 27 = 21 + 6 = 3 ⋅ 7 + 6 ist.
46 mod 7 ≡ 4 mod 7 kann man relativ leicht bestimmen, weil ja 46 = 42 + 4 = 6 ⋅ 7 + 4 ist.
Somit gilt:
(27 ⋅ 46) mod 7 ≡ (6 ⋅ 4) mod 7 ≡ 24 mod 7 ≡ 3 mod 7.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 63532 mod 761.
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. 635 -> x
2. mod(x²,761) -> 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: 6351=635
2: 6352=6351+1=6351⋅6351 ≡ 635⋅635=403225 ≡ 656 mod 761
4: 6354=6352+2=6352⋅6352 ≡ 656⋅656=430336 ≡ 371 mod 761
8: 6358=6354+4=6354⋅6354 ≡ 371⋅371=137641 ≡ 661 mod 761
16: 63516=6358+8=6358⋅6358 ≡ 661⋅661=436921 ≡ 107 mod 761
32: 63532=63516+16=63516⋅63516 ≡ 107⋅107=11449 ≡ 34 mod 761
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 48083 mod 607.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 83 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 83 an und zerlegen 83 in eine Summer von 2er-Potenzen:
83 = 64+16+2+1
1: 4801=480
2: 4802=4801+1=4801⋅4801 ≡ 480⋅480=230400 ≡ 347 mod 607
4: 4804=4802+2=4802⋅4802 ≡ 347⋅347=120409 ≡ 223 mod 607
8: 4808=4804+4=4804⋅4804 ≡ 223⋅223=49729 ≡ 562 mod 607
16: 48016=4808+8=4808⋅4808 ≡ 562⋅562=315844 ≡ 204 mod 607
32: 48032=48016+16=48016⋅48016 ≡ 204⋅204=41616 ≡ 340 mod 607
64: 48064=48032+32=48032⋅48032 ≡ 340⋅340=115600 ≡ 270 mod 607
48083
= 48064+16+2+1
= 48064⋅48016⋅4802⋅4801
≡ 270 ⋅ 204 ⋅ 347 ⋅ 480 mod 607
≡ 55080 ⋅ 347 ⋅ 480 mod 607 ≡ 450 ⋅ 347 ⋅ 480 mod 607
≡ 156150 ⋅ 480 mod 607 ≡ 151 ⋅ 480 mod 607
≡ 72480 mod 607 ≡ 247 mod 607
Es gilt also: 48083 ≡ 247 mod 607
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-89-Inverse zur Zahl 28.
Also bestimme x, so dass 28 ⋅ x ≡ 1 mod 89 gilt:
Berechnung des größten gemeinsamen Teilers von 89 und 28
| =>89 | = 3⋅28 + 5 |
| =>28 | = 5⋅5 + 3 |
| =>5 | = 1⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(89,28)=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= 5-1⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(5 -1⋅ 3)
= 1⋅3 -1⋅5 +1⋅ 3) = -1⋅5 +2⋅ 3 (=1) |
| 3= 28-5⋅5 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅5 +2⋅(28 -5⋅ 5)
= -1⋅5 +2⋅28 -10⋅ 5) = 2⋅28 -11⋅ 5 (=1) |
| 5= 89-3⋅28 | eingesetzt in die Zeile drüber: | 1 |
= 2⋅28 -11⋅(89 -3⋅ 28)
= 2⋅28 -11⋅89 +33⋅ 28) = -11⋅89 +35⋅ 28 (=1) |
Es gilt also: ggt(89,28)=1 = -11⋅89 +35⋅28
oder wenn man -11⋅89 auf die linke Seite bringt:
1 +11⋅89 = +35⋅28
Es gilt also: 35⋅28 = 11⋅89 +1
Somit 35⋅28 = 1 mod 89
35 ist also das Inverse von 28 mod 89
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 53 und q = 97. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
