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: (2401 + 301) mod 6.
Um längere Rechnungen zu vermeiden, rechnen wir:
(2401 + 301) mod 6 ≡ (2401 mod 6 + 301 mod 6) mod 6.
2401 mod 6 ≡ 1 mod 6 kann man relativ leicht bestimmen, weil ja 2401
= 2400
301 mod 6 ≡ 1 mod 6 kann man relativ leicht bestimmen, weil ja 301
= 300
Somit gilt:
(2401 + 301) mod 6 ≡ (1 + 1) mod 6 ≡ 2 mod 6.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (94 ⋅ 55) mod 11.
Um längere Rechnungen zu vermeiden, rechnen wir:
(94 ⋅ 55) mod 11 ≡ (94 mod 11 ⋅ 55 mod 11) mod 11.
94 mod 11 ≡ 6 mod 11 kann man relativ leicht bestimmen, weil ja 94 = 88 + 6 = 8 ⋅ 11 + 6 ist.
55 mod 11 ≡ 0 mod 11 kann man relativ leicht bestimmen, weil ja 55 = 55 + 0 = 5 ⋅ 11 + 0 ist.
Somit gilt:
(94 ⋅ 55) mod 11 ≡ (6 ⋅ 0) mod 11 ≡ 0 mod 11.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 3788 mod 751.
Die 8 im Exponent ist ja ein reine 2er-Potenz (23).
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. 378 -> x
2. mod(x²,751) -> 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: 3781=378
2: 3782=3781+1=3781⋅3781 ≡ 378⋅378=142884 ≡ 194 mod 751
4: 3784=3782+2=3782⋅3782 ≡ 194⋅194=37636 ≡ 86 mod 751
8: 3788=3784+4=3784⋅3784 ≡ 86⋅86=7396 ≡ 637 mod 751
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 222186 mod 619.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 186 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 186 an und zerlegen 186 in eine Summer von 2er-Potenzen:
186 = 128+32+16+8+2
1: 2221=222
2: 2222=2221+1=2221⋅2221 ≡ 222⋅222=49284 ≡ 383 mod 619
4: 2224=2222+2=2222⋅2222 ≡ 383⋅383=146689 ≡ 605 mod 619
8: 2228=2224+4=2224⋅2224 ≡ 605⋅605=366025 ≡ 196 mod 619
16: 22216=2228+8=2228⋅2228 ≡ 196⋅196=38416 ≡ 38 mod 619
32: 22232=22216+16=22216⋅22216 ≡ 38⋅38=1444 ≡ 206 mod 619
64: 22264=22232+32=22232⋅22232 ≡ 206⋅206=42436 ≡ 344 mod 619
128: 222128=22264+64=22264⋅22264 ≡ 344⋅344=118336 ≡ 107 mod 619
222186
= 222128+32+16+8+2
= 222128⋅22232⋅22216⋅2228⋅2222
≡ 107 ⋅ 206 ⋅ 38 ⋅ 196 ⋅ 383 mod 619
≡ 22042 ⋅ 38 ⋅ 196 ⋅ 383 mod 619 ≡ 377 ⋅ 38 ⋅ 196 ⋅ 383 mod 619
≡ 14326 ⋅ 196 ⋅ 383 mod 619 ≡ 89 ⋅ 196 ⋅ 383 mod 619
≡ 17444 ⋅ 383 mod 619 ≡ 112 ⋅ 383 mod 619
≡ 42896 mod 619 ≡ 185 mod 619
Es gilt also: 222186 ≡ 185 mod 619
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 = 47 und q = 97. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
