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: (35002 - 2794) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(35002 - 2794) mod 7 ≡ (35002 mod 7 - 2794 mod 7) mod 7.
35002 mod 7 ≡ 2 mod 7 kann man relativ leicht bestimmen, weil ja 35002
= 35000
2794 mod 7 ≡ 1 mod 7 kann man relativ leicht bestimmen, weil ja 2794
= 2800
Somit gilt:
(35002 - 2794) mod 7 ≡ (2 - 1) mod 7 ≡ 1 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (18 ⋅ 99) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(18 ⋅ 99) mod 7 ≡ (18 mod 7 ⋅ 99 mod 7) mod 7.
18 mod 7 ≡ 4 mod 7 kann man relativ leicht bestimmen, weil ja 18 = 14 + 4 = 2 ⋅ 7 + 4 ist.
99 mod 7 ≡ 1 mod 7 kann man relativ leicht bestimmen, weil ja 99 = 98 + 1 = 14 ⋅ 7 + 1 ist.
Somit gilt:
(18 ⋅ 99) mod 7 ≡ (4 ⋅ 1) mod 7 ≡ 4 mod 7.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 2908 mod 313.
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. 290 -> x
2. mod(x²,313) -> 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: 2901=290
2: 2902=2901+1=2901⋅2901 ≡ 290⋅290=84100 ≡ 216 mod 313
4: 2904=2902+2=2902⋅2902 ≡ 216⋅216=46656 ≡ 19 mod 313
8: 2908=2904+4=2904⋅2904 ≡ 19⋅19=361 ≡ 48 mod 313
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 599215 mod 653.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 215 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 215 an und zerlegen 215 in eine Summer von 2er-Potenzen:
215 = 128+64+16+4+2+1
1: 5991=599
2: 5992=5991+1=5991⋅5991 ≡ 599⋅599=358801 ≡ 304 mod 653
4: 5994=5992+2=5992⋅5992 ≡ 304⋅304=92416 ≡ 343 mod 653
8: 5998=5994+4=5994⋅5994 ≡ 343⋅343=117649 ≡ 109 mod 653
16: 59916=5998+8=5998⋅5998 ≡ 109⋅109=11881 ≡ 127 mod 653
32: 59932=59916+16=59916⋅59916 ≡ 127⋅127=16129 ≡ 457 mod 653
64: 59964=59932+32=59932⋅59932 ≡ 457⋅457=208849 ≡ 542 mod 653
128: 599128=59964+64=59964⋅59964 ≡ 542⋅542=293764 ≡ 567 mod 653
599215
= 599128+64+16+4+2+1
= 599128⋅59964⋅59916⋅5994⋅5992⋅5991
≡ 567 ⋅ 542 ⋅ 127 ⋅ 343 ⋅ 304 ⋅ 599 mod 653
≡ 307314 ⋅ 127 ⋅ 343 ⋅ 304 ⋅ 599 mod 653 ≡ 404 ⋅ 127 ⋅ 343 ⋅ 304 ⋅ 599 mod 653
≡ 51308 ⋅ 343 ⋅ 304 ⋅ 599 mod 653 ≡ 374 ⋅ 343 ⋅ 304 ⋅ 599 mod 653
≡ 128282 ⋅ 304 ⋅ 599 mod 653 ≡ 294 ⋅ 304 ⋅ 599 mod 653
≡ 89376 ⋅ 599 mod 653 ≡ 568 ⋅ 599 mod 653
≡ 340232 mod 653 ≡ 19 mod 653
Es gilt also: 599215 ≡ 19 mod 653
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-97-Inverse zur Zahl 53.
Also bestimme x, so dass 53 ⋅ x ≡ 1 mod 97 gilt:
Berechnung des größten gemeinsamen Teilers von 97 und 53
| =>97 | = 1⋅53 + 44 |
| =>53 | = 1⋅44 + 9 |
| =>44 | = 4⋅9 + 8 |
| =>9 | = 1⋅8 + 1 |
| =>8 | = 8⋅1 + 0 |
also gilt: ggt(97,53)=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= 9-1⋅8 | |||
| 8= 44-4⋅9 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅9 -1⋅(44 -4⋅ 9)
= 1⋅9 -1⋅44 +4⋅ 9) = -1⋅44 +5⋅ 9 (=1) |
| 9= 53-1⋅44 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅44 +5⋅(53 -1⋅ 44)
= -1⋅44 +5⋅53 -5⋅ 44) = 5⋅53 -6⋅ 44 (=1) |
| 44= 97-1⋅53 | eingesetzt in die Zeile drüber: | 1 |
= 5⋅53 -6⋅(97 -1⋅ 53)
= 5⋅53 -6⋅97 +6⋅ 53) = -6⋅97 +11⋅ 53 (=1) |
Es gilt also: ggt(97,53)=1 = -6⋅97 +11⋅53
oder wenn man -6⋅97 auf die linke Seite bringt:
1 +6⋅97 = +11⋅53
Es gilt also: 11⋅53 = 6⋅97 +1
Somit 11⋅53 = 1 mod 97
11 ist also das Inverse von 53 mod 97
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 73 und q = 67. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
