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: (1797 - 81) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(1797 - 81) mod 9 ≡ (1797 mod 9 - 81 mod 9) mod 9.
1797 mod 9 ≡ 6 mod 9 kann man relativ leicht bestimmen, weil ja 1797
= 1800
81 mod 9 ≡ 0 mod 9 kann man relativ leicht bestimmen, weil ja 81
= 90
Somit gilt:
(1797 - 81) mod 9 ≡ (6 - 0) mod 9 ≡ 6 mod 9.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (38 ⋅ 50) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(38 ⋅ 50) mod 3 ≡ (38 mod 3 ⋅ 50 mod 3) mod 3.
38 mod 3 ≡ 2 mod 3 kann man relativ leicht bestimmen, weil ja 38 = 36 + 2 = 12 ⋅ 3 + 2 ist.
50 mod 3 ≡ 2 mod 3 kann man relativ leicht bestimmen, weil ja 50 = 48 + 2 = 16 ⋅ 3 + 2 ist.
Somit gilt:
(38 ⋅ 50) mod 3 ≡ (2 ⋅ 2) mod 3 ≡ 4 mod 3 ≡ 1 mod 3.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 72232 mod 919.
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. 722 -> x
2. mod(x²,919) -> 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: 7221=722
2: 7222=7221+1=7221⋅7221 ≡ 722⋅722=521284 ≡ 211 mod 919
4: 7224=7222+2=7222⋅7222 ≡ 211⋅211=44521 ≡ 409 mod 919
8: 7228=7224+4=7224⋅7224 ≡ 409⋅409=167281 ≡ 23 mod 919
16: 72216=7228+8=7228⋅7228 ≡ 23⋅23=529 ≡ 529 mod 919
32: 72232=72216+16=72216⋅72216 ≡ 529⋅529=279841 ≡ 465 mod 919
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 421180 mod 739.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 180 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 180 an und zerlegen 180 in eine Summer von 2er-Potenzen:
180 = 128+32+16+4
1: 4211=421
2: 4212=4211+1=4211⋅4211 ≡ 421⋅421=177241 ≡ 620 mod 739
4: 4214=4212+2=4212⋅4212 ≡ 620⋅620=384400 ≡ 120 mod 739
8: 4218=4214+4=4214⋅4214 ≡ 120⋅120=14400 ≡ 359 mod 739
16: 42116=4218+8=4218⋅4218 ≡ 359⋅359=128881 ≡ 295 mod 739
32: 42132=42116+16=42116⋅42116 ≡ 295⋅295=87025 ≡ 562 mod 739
64: 42164=42132+32=42132⋅42132 ≡ 562⋅562=315844 ≡ 291 mod 739
128: 421128=42164+64=42164⋅42164 ≡ 291⋅291=84681 ≡ 435 mod 739
421180
= 421128+32+16+4
= 421128⋅42132⋅42116⋅4214
≡ 435 ⋅ 562 ⋅ 295 ⋅ 120 mod 739
≡ 244470 ⋅ 295 ⋅ 120 mod 739 ≡ 600 ⋅ 295 ⋅ 120 mod 739
≡ 177000 ⋅ 120 mod 739 ≡ 379 ⋅ 120 mod 739
≡ 45480 mod 739 ≡ 401 mod 739
Es gilt also: 421180 ≡ 401 mod 739
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-79-Inverse zur Zahl 52.
Also bestimme x, so dass 52 ⋅ x ≡ 1 mod 79 gilt:
Berechnung des größten gemeinsamen Teilers von 79 und 52
| =>79 | = 1⋅52 + 27 |
| =>52 | = 1⋅27 + 25 |
| =>27 | = 1⋅25 + 2 |
| =>25 | = 12⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(79,52)=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= 25-12⋅2 | |||
| 2= 27-1⋅25 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅25 -12⋅(27 -1⋅ 25)
= 1⋅25 -12⋅27 +12⋅ 25) = -12⋅27 +13⋅ 25 (=1) |
| 25= 52-1⋅27 | eingesetzt in die Zeile drüber: | 1 |
= -12⋅27 +13⋅(52 -1⋅ 27)
= -12⋅27 +13⋅52 -13⋅ 27) = 13⋅52 -25⋅ 27 (=1) |
| 27= 79-1⋅52 | eingesetzt in die Zeile drüber: | 1 |
= 13⋅52 -25⋅(79 -1⋅ 52)
= 13⋅52 -25⋅79 +25⋅ 52) = -25⋅79 +38⋅ 52 (=1) |
Es gilt also: ggt(79,52)=1 = -25⋅79 +38⋅52
oder wenn man -25⋅79 auf die linke Seite bringt:
1 +25⋅79 = +38⋅52
Es gilt also: 38⋅52 = 25⋅79 +1
Somit 38⋅52 = 1 mod 79
38 ist also das Inverse von 52 mod 79
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 97 und q = 61. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
