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: (16004 - 36) mod 4.
Um längere Rechnungen zu vermeiden, rechnen wir:
(16004 - 36) mod 4 ≡ (16004 mod 4 - 36 mod 4) mod 4.
16004 mod 4 ≡ 0 mod 4 kann man relativ leicht bestimmen, weil ja 16004
= 16000
36 mod 4 ≡ 0 mod 4 kann man relativ leicht bestimmen, weil ja 36
= 40
Somit gilt:
(16004 - 36) mod 4 ≡ (0 - 0) mod 4 ≡ 0 mod 4.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (23 ⋅ 93) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(23 ⋅ 93) mod 7 ≡ (23 mod 7 ⋅ 93 mod 7) mod 7.
23 mod 7 ≡ 2 mod 7 kann man relativ leicht bestimmen, weil ja 23 = 21 + 2 = 3 ⋅ 7 + 2 ist.
93 mod 7 ≡ 2 mod 7 kann man relativ leicht bestimmen, weil ja 93 = 91 + 2 = 13 ⋅ 7 + 2 ist.
Somit gilt:
(23 ⋅ 93) mod 7 ≡ (2 ⋅ 2) mod 7 ≡ 4 mod 7.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 53064 mod 617.
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. 530 -> x
2. mod(x²,617) -> 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: 5301=530
2: 5302=5301+1=5301⋅5301 ≡ 530⋅530=280900 ≡ 165 mod 617
4: 5304=5302+2=5302⋅5302 ≡ 165⋅165=27225 ≡ 77 mod 617
8: 5308=5304+4=5304⋅5304 ≡ 77⋅77=5929 ≡ 376 mod 617
16: 53016=5308+8=5308⋅5308 ≡ 376⋅376=141376 ≡ 83 mod 617
32: 53032=53016+16=53016⋅53016 ≡ 83⋅83=6889 ≡ 102 mod 617
64: 53064=53032+32=53032⋅53032 ≡ 102⋅102=10404 ≡ 532 mod 617
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 34996 mod 383.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 96 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 96 an und zerlegen 96 in eine Summer von 2er-Potenzen:
96 = 64+32
1: 3491=349
2: 3492=3491+1=3491⋅3491 ≡ 349⋅349=121801 ≡ 7 mod 383
4: 3494=3492+2=3492⋅3492 ≡ 7⋅7=49 ≡ 49 mod 383
8: 3498=3494+4=3494⋅3494 ≡ 49⋅49=2401 ≡ 103 mod 383
16: 34916=3498+8=3498⋅3498 ≡ 103⋅103=10609 ≡ 268 mod 383
32: 34932=34916+16=34916⋅34916 ≡ 268⋅268=71824 ≡ 203 mod 383
64: 34964=34932+32=34932⋅34932 ≡ 203⋅203=41209 ≡ 228 mod 383
34996
= 34964+32
= 34964⋅34932
≡ 228 ⋅ 203 mod 383
≡ 46284 mod 383 ≡ 324 mod 383
Es gilt also: 34996 ≡ 324 mod 383
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-59-Inverse zur Zahl 56.
Also bestimme x, so dass 56 ⋅ x ≡ 1 mod 59 gilt:
Berechnung des größten gemeinsamen Teilers von 59 und 56
| =>59 | = 1⋅56 + 3 |
| =>56 | = 18⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(59,56)=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= 56-18⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(56 -18⋅ 3)
= 1⋅3 -1⋅56 +18⋅ 3) = -1⋅56 +19⋅ 3 (=1) |
| 3= 59-1⋅56 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅56 +19⋅(59 -1⋅ 56)
= -1⋅56 +19⋅59 -19⋅ 56) = 19⋅59 -20⋅ 56 (=1) |
Es gilt also: ggt(59,56)=1 = 19⋅59 -20⋅56
oder wenn man 19⋅59 auf die linke Seite bringt:
1 -19⋅59 = -20⋅56
-20⋅56 = -19⋅59 + 1 |+59⋅56
-20⋅56 + 59⋅56 = -19⋅59 + 59⋅56 + 1
(-20 + 59) ⋅ 56 = (-19 + 56) ⋅ 59 + 1
39⋅56 = 37⋅59 + 1
Es gilt also: 39⋅56 = 37⋅59 +1
Somit 39⋅56 = 1 mod 59
39 ist also das Inverse von 56 mod 59
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 59 und q = 67. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
