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: (172 - 96) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(172 - 96) mod 9 ≡ (172 mod 9 - 96 mod 9) mod 9.
172 mod 9 ≡ 1 mod 9 kann man relativ leicht bestimmen, weil ja 172
= 180
96 mod 9 ≡ 6 mod 9 kann man relativ leicht bestimmen, weil ja 96
= 90
Somit gilt:
(172 - 96) mod 9 ≡ (1 - 6) mod 9 ≡ -5 mod 9 ≡ 4 mod 9.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (95 ⋅ 44) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(95 ⋅ 44) mod 9 ≡ (95 mod 9 ⋅ 44 mod 9) mod 9.
95 mod 9 ≡ 5 mod 9 kann man relativ leicht bestimmen, weil ja 95 = 90 + 5 = 10 ⋅ 9 + 5 ist.
44 mod 9 ≡ 8 mod 9 kann man relativ leicht bestimmen, weil ja 44 = 36 + 8 = 4 ⋅ 9 + 8 ist.
Somit gilt:
(95 ⋅ 44) mod 9 ≡ (5 ⋅ 8) mod 9 ≡ 40 mod 9 ≡ 4 mod 9.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 28616 mod 317.
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. 286 -> x
2. mod(x²,317) -> 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: 2861=286
2: 2862=2861+1=2861⋅2861 ≡ 286⋅286=81796 ≡ 10 mod 317
4: 2864=2862+2=2862⋅2862 ≡ 10⋅10=100 ≡ 100 mod 317
8: 2868=2864+4=2864⋅2864 ≡ 100⋅100=10000 ≡ 173 mod 317
16: 28616=2868+8=2868⋅2868 ≡ 173⋅173=29929 ≡ 131 mod 317
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 179188 mod 227.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 188 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 188 an und zerlegen 188 in eine Summer von 2er-Potenzen:
188 = 128+32+16+8+4
1: 1791=179
2: 1792=1791+1=1791⋅1791 ≡ 179⋅179=32041 ≡ 34 mod 227
4: 1794=1792+2=1792⋅1792 ≡ 34⋅34=1156 ≡ 21 mod 227
8: 1798=1794+4=1794⋅1794 ≡ 21⋅21=441 ≡ 214 mod 227
16: 17916=1798+8=1798⋅1798 ≡ 214⋅214=45796 ≡ 169 mod 227
32: 17932=17916+16=17916⋅17916 ≡ 169⋅169=28561 ≡ 186 mod 227
64: 17964=17932+32=17932⋅17932 ≡ 186⋅186=34596 ≡ 92 mod 227
128: 179128=17964+64=17964⋅17964 ≡ 92⋅92=8464 ≡ 65 mod 227
179188
= 179128+32+16+8+4
= 179128⋅17932⋅17916⋅1798⋅1794
≡ 65 ⋅ 186 ⋅ 169 ⋅ 214 ⋅ 21 mod 227
≡ 12090 ⋅ 169 ⋅ 214 ⋅ 21 mod 227 ≡ 59 ⋅ 169 ⋅ 214 ⋅ 21 mod 227
≡ 9971 ⋅ 214 ⋅ 21 mod 227 ≡ 210 ⋅ 214 ⋅ 21 mod 227
≡ 44940 ⋅ 21 mod 227 ≡ 221 ⋅ 21 mod 227
≡ 4641 mod 227 ≡ 101 mod 227
Es gilt also: 179188 ≡ 101 mod 227
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-83-Inverse zur Zahl 80.
Also bestimme x, so dass 80 ⋅ x ≡ 1 mod 83 gilt:
Berechnung des größten gemeinsamen Teilers von 83 und 80
| =>83 | = 1⋅80 + 3 |
| =>80 | = 26⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(83,80)=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= 80-26⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(80 -26⋅ 3)
= 1⋅3 -1⋅80 +26⋅ 3) = -1⋅80 +27⋅ 3 (=1) |
| 3= 83-1⋅80 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅80 +27⋅(83 -1⋅ 80)
= -1⋅80 +27⋅83 -27⋅ 80) = 27⋅83 -28⋅ 80 (=1) |
Es gilt also: ggt(83,80)=1 = 27⋅83 -28⋅80
oder wenn man 27⋅83 auf die linke Seite bringt:
1 -27⋅83 = -28⋅80
-28⋅80 = -27⋅83 + 1 |+83⋅80
-28⋅80 + 83⋅80 = -27⋅83 + 83⋅80 + 1
(-28 + 83) ⋅ 80 = (-27 + 80) ⋅ 83 + 1
55⋅80 = 53⋅83 + 1
Es gilt also: 55⋅80 = 53⋅83 +1
Somit 55⋅80 = 1 mod 83
55 ist also das Inverse von 80 mod 83
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 83 und q = 71. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
