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: (15002 - 252) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(15002 - 252) mod 5 ≡ (15002 mod 5 - 252 mod 5) mod 5.
15002 mod 5 ≡ 2 mod 5 kann man relativ leicht bestimmen, weil ja 15002
= 15000
252 mod 5 ≡ 2 mod 5 kann man relativ leicht bestimmen, weil ja 252
= 250
Somit gilt:
(15002 - 252) mod 5 ≡ (2 - 2) mod 5 ≡ 0 mod 5.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (74 ⋅ 77) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(74 ⋅ 77) mod 7 ≡ (74 mod 7 ⋅ 77 mod 7) mod 7.
74 mod 7 ≡ 4 mod 7 kann man relativ leicht bestimmen, weil ja 74 = 70 + 4 = 10 ⋅ 7 + 4 ist.
77 mod 7 ≡ 0 mod 7 kann man relativ leicht bestimmen, weil ja 77 = 77 + 0 = 11 ⋅ 7 + 0 ist.
Somit gilt:
(74 ⋅ 77) mod 7 ≡ (4 ⋅ 0) mod 7 ≡ 0 mod 7.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 199128 mod 311.
Die 128 im Exponent ist ja ein reine 2er-Potenz (27).
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. 199 -> x
2. mod(x²,311) -> 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: 1991=199
2: 1992=1991+1=1991⋅1991 ≡ 199⋅199=39601 ≡ 104 mod 311
4: 1994=1992+2=1992⋅1992 ≡ 104⋅104=10816 ≡ 242 mod 311
8: 1998=1994+4=1994⋅1994 ≡ 242⋅242=58564 ≡ 96 mod 311
16: 19916=1998+8=1998⋅1998 ≡ 96⋅96=9216 ≡ 197 mod 311
32: 19932=19916+16=19916⋅19916 ≡ 197⋅197=38809 ≡ 245 mod 311
64: 19964=19932+32=19932⋅19932 ≡ 245⋅245=60025 ≡ 2 mod 311
128: 199128=19964+64=19964⋅19964 ≡ 2⋅2=4 ≡ 4 mod 311
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 43364 mod 761.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 64 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 64 an und zerlegen 64 in eine Summer von 2er-Potenzen:
64 = 64
1: 4331=433
2: 4332=4331+1=4331⋅4331 ≡ 433⋅433=187489 ≡ 283 mod 761
4: 4334=4332+2=4332⋅4332 ≡ 283⋅283=80089 ≡ 184 mod 761
8: 4338=4334+4=4334⋅4334 ≡ 184⋅184=33856 ≡ 372 mod 761
16: 43316=4338+8=4338⋅4338 ≡ 372⋅372=138384 ≡ 643 mod 761
32: 43332=43316+16=43316⋅43316 ≡ 643⋅643=413449 ≡ 226 mod 761
64: 43364=43332+32=43332⋅43332 ≡ 226⋅226=51076 ≡ 89 mod 761
43364
= 43364
= 43364
≡ 89 mod 761
Es gilt also: 43364 ≡ 89 mod 761
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-79-Inverse zur Zahl 69.
Also bestimme x, so dass 69 ⋅ x ≡ 1 mod 79 gilt:
Berechnung des größten gemeinsamen Teilers von 79 und 69
| =>79 | = 1⋅69 + 10 |
| =>69 | = 6⋅10 + 9 |
| =>10 | = 1⋅9 + 1 |
| =>9 | = 9⋅1 + 0 |
also gilt: ggt(79,69)=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-1⋅9 | |||
| 9= 69-6⋅10 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅10 -1⋅(69 -6⋅ 10)
= 1⋅10 -1⋅69 +6⋅ 10) = -1⋅69 +7⋅ 10 (=1) |
| 10= 79-1⋅69 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅69 +7⋅(79 -1⋅ 69)
= -1⋅69 +7⋅79 -7⋅ 69) = 7⋅79 -8⋅ 69 (=1) |
Es gilt also: ggt(79,69)=1 = 7⋅79 -8⋅69
oder wenn man 7⋅79 auf die linke Seite bringt:
1 -7⋅79 = -8⋅69
-8⋅69 = -7⋅79 + 1 |+79⋅69
-8⋅69 + 79⋅69 = -7⋅79 + 79⋅69 + 1
(-8 + 79) ⋅ 69 = (-7 + 69) ⋅ 79 + 1
71⋅69 = 62⋅79 + 1
Es gilt also: 71⋅69 = 62⋅79 +1
Somit 71⋅69 = 1 mod 79
71 ist also das Inverse von 69 mod 79
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 97 und q = 79. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
