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: (405 + 8006) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(405 + 8006) mod 8 ≡ (405 mod 8 + 8006 mod 8) mod 8.
405 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 405
= 400
8006 mod 8 ≡ 6 mod 8 kann man relativ leicht bestimmen, weil ja 8006
= 8000
Somit gilt:
(405 + 8006) mod 8 ≡ (5 + 6) mod 8 ≡ 11 mod 8 ≡ 3 mod 8.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (60 ⋅ 35) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(60 ⋅ 35) mod 9 ≡ (60 mod 9 ⋅ 35 mod 9) mod 9.
60 mod 9 ≡ 6 mod 9 kann man relativ leicht bestimmen, weil ja 60 = 54 + 6 = 6 ⋅ 9 + 6 ist.
35 mod 9 ≡ 8 mod 9 kann man relativ leicht bestimmen, weil ja 35 = 27 + 8 = 3 ⋅ 9 + 8 ist.
Somit gilt:
(60 ⋅ 35) mod 9 ≡ (6 ⋅ 8) mod 9 ≡ 48 mod 9 ≡ 3 mod 9.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 5558 mod 827.
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. 555 -> x
2. mod(x²,827) -> 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: 5551=555
2: 5552=5551+1=5551⋅5551 ≡ 555⋅555=308025 ≡ 381 mod 827
4: 5554=5552+2=5552⋅5552 ≡ 381⋅381=145161 ≡ 436 mod 827
8: 5558=5554+4=5554⋅5554 ≡ 436⋅436=190096 ≡ 713 mod 827
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 19975 mod 659.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 75 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 75 an und zerlegen 75 in eine Summer von 2er-Potenzen:
75 = 64+8+2+1
1: 1991=199
2: 1992=1991+1=1991⋅1991 ≡ 199⋅199=39601 ≡ 61 mod 659
4: 1994=1992+2=1992⋅1992 ≡ 61⋅61=3721 ≡ 426 mod 659
8: 1998=1994+4=1994⋅1994 ≡ 426⋅426=181476 ≡ 251 mod 659
16: 19916=1998+8=1998⋅1998 ≡ 251⋅251=63001 ≡ 396 mod 659
32: 19932=19916+16=19916⋅19916 ≡ 396⋅396=156816 ≡ 633 mod 659
64: 19964=19932+32=19932⋅19932 ≡ 633⋅633=400689 ≡ 17 mod 659
19975
= 19964+8+2+1
= 19964⋅1998⋅1992⋅1991
≡ 17 ⋅ 251 ⋅ 61 ⋅ 199 mod 659
≡ 4267 ⋅ 61 ⋅ 199 mod 659 ≡ 313 ⋅ 61 ⋅ 199 mod 659
≡ 19093 ⋅ 199 mod 659 ≡ 641 ⋅ 199 mod 659
≡ 127559 mod 659 ≡ 372 mod 659
Es gilt also: 19975 ≡ 372 mod 659
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-73-Inverse zur Zahl 32.
Also bestimme x, so dass 32 ⋅ x ≡ 1 mod 73 gilt:
Berechnung des größten gemeinsamen Teilers von 73 und 32
| =>73 | = 2⋅32 + 9 |
| =>32 | = 3⋅9 + 5 |
| =>9 | = 1⋅5 + 4 |
| =>5 | = 1⋅4 + 1 |
| =>4 | = 4⋅1 + 0 |
also gilt: ggt(73,32)=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= 5-1⋅4 | |||
| 4= 9-1⋅5 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅5 -1⋅(9 -1⋅ 5)
= 1⋅5 -1⋅9 +1⋅ 5) = -1⋅9 +2⋅ 5 (=1) |
| 5= 32-3⋅9 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅9 +2⋅(32 -3⋅ 9)
= -1⋅9 +2⋅32 -6⋅ 9) = 2⋅32 -7⋅ 9 (=1) |
| 9= 73-2⋅32 | eingesetzt in die Zeile drüber: | 1 |
= 2⋅32 -7⋅(73 -2⋅ 32)
= 2⋅32 -7⋅73 +14⋅ 32) = -7⋅73 +16⋅ 32 (=1) |
Es gilt also: ggt(73,32)=1 = -7⋅73 +16⋅32
oder wenn man -7⋅73 auf die linke Seite bringt:
1 +7⋅73 = +16⋅32
Es gilt also: 16⋅32 = 7⋅73 +1
Somit 16⋅32 = 1 mod 73
16 ist also das Inverse von 32 mod 73
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 89 und q = 73. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
