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: (20999 - 1396) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(20999 - 1396) mod 7 ≡ (20999 mod 7 - 1396 mod 7) mod 7.
20999 mod 7 ≡ 6 mod 7 kann man relativ leicht bestimmen, weil ja 20999
= 21000
1396 mod 7 ≡ 3 mod 7 kann man relativ leicht bestimmen, weil ja 1396
= 1400
Somit gilt:
(20999 - 1396) mod 7 ≡ (6 - 3) mod 7 ≡ 3 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (83 ⋅ 45) mod 4.
Um längere Rechnungen zu vermeiden, rechnen wir:
(83 ⋅ 45) mod 4 ≡ (83 mod 4 ⋅ 45 mod 4) mod 4.
83 mod 4 ≡ 3 mod 4 kann man relativ leicht bestimmen, weil ja 83 = 80 + 3 = 20 ⋅ 4 + 3 ist.
45 mod 4 ≡ 1 mod 4 kann man relativ leicht bestimmen, weil ja 45 = 44 + 1 = 11 ⋅ 4 + 1 ist.
Somit gilt:
(83 ⋅ 45) mod 4 ≡ (3 ⋅ 1) mod 4 ≡ 3 mod 4.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 45232 mod 619.
Die 32 im Exponent ist ja ein reine 2er-Potenz (25).
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. 452 -> x
2. mod(x²,619) -> 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: 4521=452
2: 4522=4521+1=4521⋅4521 ≡ 452⋅452=204304 ≡ 34 mod 619
4: 4524=4522+2=4522⋅4522 ≡ 34⋅34=1156 ≡ 537 mod 619
8: 4528=4524+4=4524⋅4524 ≡ 537⋅537=288369 ≡ 534 mod 619
16: 45216=4528+8=4528⋅4528 ≡ 534⋅534=285156 ≡ 416 mod 619
32: 45232=45216+16=45216⋅45216 ≡ 416⋅416=173056 ≡ 355 mod 619
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 107140 mod 313.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 140 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 140 an und zerlegen 140 in eine Summer von 2er-Potenzen:
140 = 128+8+4
1: 1071=107
2: 1072=1071+1=1071⋅1071 ≡ 107⋅107=11449 ≡ 181 mod 313
4: 1074=1072+2=1072⋅1072 ≡ 181⋅181=32761 ≡ 209 mod 313
8: 1078=1074+4=1074⋅1074 ≡ 209⋅209=43681 ≡ 174 mod 313
16: 10716=1078+8=1078⋅1078 ≡ 174⋅174=30276 ≡ 228 mod 313
32: 10732=10716+16=10716⋅10716 ≡ 228⋅228=51984 ≡ 26 mod 313
64: 10764=10732+32=10732⋅10732 ≡ 26⋅26=676 ≡ 50 mod 313
128: 107128=10764+64=10764⋅10764 ≡ 50⋅50=2500 ≡ 309 mod 313
107140
= 107128+8+4
= 107128⋅1078⋅1074
≡ 309 ⋅ 174 ⋅ 209 mod 313
≡ 53766 ⋅ 209 mod 313 ≡ 243 ⋅ 209 mod 313
≡ 50787 mod 313 ≡ 81 mod 313
Es gilt also: 107140 ≡ 81 mod 313
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-73-Inverse zur Zahl 68.
Also bestimme x, so dass 68 ⋅ x ≡ 1 mod 73 gilt:
Berechnung des größten gemeinsamen Teilers von 73 und 68
| =>73 | = 1⋅68 + 5 |
| =>68 | = 13⋅5 + 3 |
| =>5 | = 1⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(73,68)=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= 68-13⋅5 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅5 +2⋅(68 -13⋅ 5)
= -1⋅5 +2⋅68 -26⋅ 5) = 2⋅68 -27⋅ 5 (=1) |
| 5= 73-1⋅68 | eingesetzt in die Zeile drüber: | 1 |
= 2⋅68 -27⋅(73 -1⋅ 68)
= 2⋅68 -27⋅73 +27⋅ 68) = -27⋅73 +29⋅ 68 (=1) |
Es gilt also: ggt(73,68)=1 = -27⋅73 +29⋅68
oder wenn man -27⋅73 auf die linke Seite bringt:
1 +27⋅73 = +29⋅68
Es gilt also: 29⋅68 = 27⋅73 +1
Somit 29⋅68 = 1 mod 73
29 ist also das Inverse von 68 mod 73
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 89 und q = 43. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
