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: (15001 - 12001) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(15001 - 12001) mod 3 ≡ (15001 mod 3 - 12001 mod 3) mod 3.
15001 mod 3 ≡ 1 mod 3 kann man relativ leicht bestimmen, weil ja 15001
= 15000
12001 mod 3 ≡ 1 mod 3 kann man relativ leicht bestimmen, weil ja 12001
= 12000
Somit gilt:
(15001 - 12001) mod 3 ≡ (1 - 1) mod 3 ≡ 0 mod 3.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (67 ⋅ 34) mod 4.
Um längere Rechnungen zu vermeiden, rechnen wir:
(67 ⋅ 34) mod 4 ≡ (67 mod 4 ⋅ 34 mod 4) mod 4.
67 mod 4 ≡ 3 mod 4 kann man relativ leicht bestimmen, weil ja 67 = 64 + 3 = 16 ⋅ 4 + 3 ist.
34 mod 4 ≡ 2 mod 4 kann man relativ leicht bestimmen, weil ja 34 = 32 + 2 = 8 ⋅ 4 + 2 ist.
Somit gilt:
(67 ⋅ 34) mod 4 ≡ (3 ⋅ 2) mod 4 ≡ 6 mod 4 ≡ 2 mod 4.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 16364 mod 307.
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. 163 -> x
2. mod(x²,307) -> 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: 1631=163
2: 1632=1631+1=1631⋅1631 ≡ 163⋅163=26569 ≡ 167 mod 307
4: 1634=1632+2=1632⋅1632 ≡ 167⋅167=27889 ≡ 259 mod 307
8: 1638=1634+4=1634⋅1634 ≡ 259⋅259=67081 ≡ 155 mod 307
16: 16316=1638+8=1638⋅1638 ≡ 155⋅155=24025 ≡ 79 mod 307
32: 16332=16316+16=16316⋅16316 ≡ 79⋅79=6241 ≡ 101 mod 307
64: 16364=16332+32=16332⋅16332 ≡ 101⋅101=10201 ≡ 70 mod 307
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 558235 mod 811.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 235 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 235 an und zerlegen 235 in eine Summer von 2er-Potenzen:
235 = 128+64+32+8+2+1
1: 5581=558
2: 5582=5581+1=5581⋅5581 ≡ 558⋅558=311364 ≡ 751 mod 811
4: 5584=5582+2=5582⋅5582 ≡ 751⋅751=564001 ≡ 356 mod 811
8: 5588=5584+4=5584⋅5584 ≡ 356⋅356=126736 ≡ 220 mod 811
16: 55816=5588+8=5588⋅5588 ≡ 220⋅220=48400 ≡ 551 mod 811
32: 55832=55816+16=55816⋅55816 ≡ 551⋅551=303601 ≡ 287 mod 811
64: 55864=55832+32=55832⋅55832 ≡ 287⋅287=82369 ≡ 458 mod 811
128: 558128=55864+64=55864⋅55864 ≡ 458⋅458=209764 ≡ 526 mod 811
558235
= 558128+64+32+8+2+1
= 558128⋅55864⋅55832⋅5588⋅5582⋅5581
≡ 526 ⋅ 458 ⋅ 287 ⋅ 220 ⋅ 751 ⋅ 558 mod 811
≡ 240908 ⋅ 287 ⋅ 220 ⋅ 751 ⋅ 558 mod 811 ≡ 41 ⋅ 287 ⋅ 220 ⋅ 751 ⋅ 558 mod 811
≡ 11767 ⋅ 220 ⋅ 751 ⋅ 558 mod 811 ≡ 413 ⋅ 220 ⋅ 751 ⋅ 558 mod 811
≡ 90860 ⋅ 751 ⋅ 558 mod 811 ≡ 28 ⋅ 751 ⋅ 558 mod 811
≡ 21028 ⋅ 558 mod 811 ≡ 753 ⋅ 558 mod 811
≡ 420174 mod 811 ≡ 76 mod 811
Es gilt also: 558235 ≡ 76 mod 811
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-83-Inverse zur Zahl 73.
Also bestimme x, so dass 73 ⋅ x ≡ 1 mod 83 gilt:
Berechnung des größten gemeinsamen Teilers von 83 und 73
| =>83 | = 1⋅73 + 10 |
| =>73 | = 7⋅10 + 3 |
| =>10 | = 3⋅3 + 1 |
| =>3 | = 3⋅1 + 0 |
also gilt: ggt(83,73)=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= 10-3⋅3 | |||
| 3= 73-7⋅10 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅10 -3⋅(73 -7⋅ 10)
= 1⋅10 -3⋅73 +21⋅ 10) = -3⋅73 +22⋅ 10 (=1) |
| 10= 83-1⋅73 | eingesetzt in die Zeile drüber: | 1 |
= -3⋅73 +22⋅(83 -1⋅ 73)
= -3⋅73 +22⋅83 -22⋅ 73) = 22⋅83 -25⋅ 73 (=1) |
Es gilt also: ggt(83,73)=1 = 22⋅83 -25⋅73
oder wenn man 22⋅83 auf die linke Seite bringt:
1 -22⋅83 = -25⋅73
-25⋅73 = -22⋅83 + 1 |+83⋅73
-25⋅73 + 83⋅73 = -22⋅83 + 83⋅73 + 1
(-25 + 83) ⋅ 73 = (-22 + 73) ⋅ 83 + 1
58⋅73 = 51⋅83 + 1
Es gilt also: 58⋅73 = 51⋅83 +1
Somit 58⋅73 = 1 mod 83
58 ist also das Inverse von 73 mod 83
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 79 und q = 37. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
