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: (171 + 36002) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(171 + 36002) mod 9 ≡ (171 mod 9 + 36002 mod 9) mod 9.
171 mod 9 ≡ 0 mod 9 kann man relativ leicht bestimmen, weil ja 171
= 180
36002 mod 9 ≡ 2 mod 9 kann man relativ leicht bestimmen, weil ja 36002
= 36000
Somit gilt:
(171 + 36002) mod 9 ≡ (0 + 2) mod 9 ≡ 2 mod 9.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (76 ⋅ 56) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(76 ⋅ 56) mod 3 ≡ (76 mod 3 ⋅ 56 mod 3) mod 3.
76 mod 3 ≡ 1 mod 3 kann man relativ leicht bestimmen, weil ja 76 = 75 + 1 = 25 ⋅ 3 + 1 ist.
56 mod 3 ≡ 2 mod 3 kann man relativ leicht bestimmen, weil ja 56 = 54 + 2 = 18 ⋅ 3 + 2 ist.
Somit gilt:
(76 ⋅ 56) mod 3 ≡ (1 ⋅ 2) mod 3 ≡ 2 mod 3.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 18916 mod 503.
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. 189 -> x
2. mod(x²,503) -> 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: 1891=189
2: 1892=1891+1=1891⋅1891 ≡ 189⋅189=35721 ≡ 8 mod 503
4: 1894=1892+2=1892⋅1892 ≡ 8⋅8=64 ≡ 64 mod 503
8: 1898=1894+4=1894⋅1894 ≡ 64⋅64=4096 ≡ 72 mod 503
16: 18916=1898+8=1898⋅1898 ≡ 72⋅72=5184 ≡ 154 mod 503
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 751134 mod 827.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 134 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 134 an und zerlegen 134 in eine Summer von 2er-Potenzen:
134 = 128+4+2
1: 7511=751
2: 7512=7511+1=7511⋅7511 ≡ 751⋅751=564001 ≡ 814 mod 827
4: 7514=7512+2=7512⋅7512 ≡ 814⋅814=662596 ≡ 169 mod 827
8: 7518=7514+4=7514⋅7514 ≡ 169⋅169=28561 ≡ 443 mod 827
16: 75116=7518+8=7518⋅7518 ≡ 443⋅443=196249 ≡ 250 mod 827
32: 75132=75116+16=75116⋅75116 ≡ 250⋅250=62500 ≡ 475 mod 827
64: 75164=75132+32=75132⋅75132 ≡ 475⋅475=225625 ≡ 681 mod 827
128: 751128=75164+64=75164⋅75164 ≡ 681⋅681=463761 ≡ 641 mod 827
751134
= 751128+4+2
= 751128⋅7514⋅7512
≡ 641 ⋅ 169 ⋅ 814 mod 827
≡ 108329 ⋅ 814 mod 827 ≡ 819 ⋅ 814 mod 827
≡ 666666 mod 827 ≡ 104 mod 827
Es gilt also: 751134 ≡ 104 mod 827
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-101-Inverse zur Zahl 48.
Also bestimme x, so dass 48 ⋅ x ≡ 1 mod 101 gilt:
Berechnung des größten gemeinsamen Teilers von 101 und 48
| =>101 | = 2⋅48 + 5 |
| =>48 | = 9⋅5 + 3 |
| =>5 | = 1⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(101,48)=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= 48-9⋅5 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅5 +2⋅(48 -9⋅ 5)
= -1⋅5 +2⋅48 -18⋅ 5) = 2⋅48 -19⋅ 5 (=1) |
| 5= 101-2⋅48 | eingesetzt in die Zeile drüber: | 1 |
= 2⋅48 -19⋅(101 -2⋅ 48)
= 2⋅48 -19⋅101 +38⋅ 48) = -19⋅101 +40⋅ 48 (=1) |
Es gilt also: ggt(101,48)=1 = -19⋅101 +40⋅48
oder wenn man -19⋅101 auf die linke Seite bringt:
1 +19⋅101 = +40⋅48
Es gilt also: 40⋅48 = 19⋅101 +1
Somit 40⋅48 = 1 mod 101
40 ist also das Inverse von 48 mod 101
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 97 und q = 53. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
