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: (4509 + 4501) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(4509 + 4501) mod 9 ≡ (4509 mod 9 + 4501 mod 9) mod 9.
4509 mod 9 ≡ 0 mod 9 kann man relativ leicht bestimmen, weil ja 4509
= 4500
4501 mod 9 ≡ 1 mod 9 kann man relativ leicht bestimmen, weil ja 4501
= 4500
Somit gilt:
(4509 + 4501) mod 9 ≡ (0 + 1) mod 9 ≡ 1 mod 9.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (23 ⋅ 40) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(23 ⋅ 40) mod 7 ≡ (23 mod 7 ⋅ 40 mod 7) mod 7.
23 mod 7 ≡ 2 mod 7 kann man relativ leicht bestimmen, weil ja 23 = 21 + 2 = 3 ⋅ 7 + 2 ist.
40 mod 7 ≡ 5 mod 7 kann man relativ leicht bestimmen, weil ja 40 = 35 + 5 = 5 ⋅ 7 + 5 ist.
Somit gilt:
(23 ⋅ 40) mod 7 ≡ (2 ⋅ 5) mod 7 ≡ 10 mod 7 ≡ 3 mod 7.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 39164 mod 613.
Die 64 im Exponent ist ja ein reine 2er-Potenz (26).
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. 391 -> x
2. mod(x²,613) -> 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: 3911=391
2: 3912=3911+1=3911⋅3911 ≡ 391⋅391=152881 ≡ 244 mod 613
4: 3914=3912+2=3912⋅3912 ≡ 244⋅244=59536 ≡ 75 mod 613
8: 3918=3914+4=3914⋅3914 ≡ 75⋅75=5625 ≡ 108 mod 613
16: 39116=3918+8=3918⋅3918 ≡ 108⋅108=11664 ≡ 17 mod 613
32: 39132=39116+16=39116⋅39116 ≡ 17⋅17=289 ≡ 289 mod 613
64: 39164=39132+32=39132⋅39132 ≡ 289⋅289=83521 ≡ 153 mod 613
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 363131 mod 739.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 131 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 131 an und zerlegen 131 in eine Summer von 2er-Potenzen:
131 = 128+2+1
1: 3631=363
2: 3632=3631+1=3631⋅3631 ≡ 363⋅363=131769 ≡ 227 mod 739
4: 3634=3632+2=3632⋅3632 ≡ 227⋅227=51529 ≡ 538 mod 739
8: 3638=3634+4=3634⋅3634 ≡ 538⋅538=289444 ≡ 495 mod 739
16: 36316=3638+8=3638⋅3638 ≡ 495⋅495=245025 ≡ 416 mod 739
32: 36332=36316+16=36316⋅36316 ≡ 416⋅416=173056 ≡ 130 mod 739
64: 36364=36332+32=36332⋅36332 ≡ 130⋅130=16900 ≡ 642 mod 739
128: 363128=36364+64=36364⋅36364 ≡ 642⋅642=412164 ≡ 541 mod 739
363131
= 363128+2+1
= 363128⋅3632⋅3631
≡ 541 ⋅ 227 ⋅ 363 mod 739
≡ 122807 ⋅ 363 mod 739 ≡ 133 ⋅ 363 mod 739
≡ 48279 mod 739 ≡ 244 mod 739
Es gilt also: 363131 ≡ 244 mod 739
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-67-Inverse zur Zahl 40.
Also bestimme x, so dass 40 ⋅ x ≡ 1 mod 67 gilt:
Berechnung des größten gemeinsamen Teilers von 67 und 40
| =>67 | = 1⋅40 + 27 |
| =>40 | = 1⋅27 + 13 |
| =>27 | = 2⋅13 + 1 |
| =>13 | = 13⋅1 + 0 |
also gilt: ggt(67,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= 27-2⋅13 | |||
| 13= 40-1⋅27 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅27 -2⋅(40 -1⋅ 27)
= 1⋅27 -2⋅40 +2⋅ 27) = -2⋅40 +3⋅ 27 (=1) |
| 27= 67-1⋅40 | eingesetzt in die Zeile drüber: | 1 |
= -2⋅40 +3⋅(67 -1⋅ 40)
= -2⋅40 +3⋅67 -3⋅ 40) = 3⋅67 -5⋅ 40 (=1) |
Es gilt also: ggt(67,40)=1 = 3⋅67 -5⋅40
oder wenn man 3⋅67 auf die linke Seite bringt:
1 -3⋅67 = -5⋅40
-5⋅40 = -3⋅67 + 1 |+67⋅40
-5⋅40 + 67⋅40 = -3⋅67 + 67⋅40 + 1
(-5 + 67) ⋅ 40 = (-3 + 40) ⋅ 67 + 1
62⋅40 = 37⋅67 + 1
Es gilt also: 62⋅40 = 37⋅67 +1
Somit 62⋅40 = 1 mod 67
62 ist also das Inverse von 40 mod 67
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 71 und q = 89. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
