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: (901 - 1498) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(901 - 1498) mod 3 ≡ (901 mod 3 - 1498 mod 3) mod 3.
901 mod 3 ≡ 1 mod 3 kann man relativ leicht bestimmen, weil ja 901
= 900
1498 mod 3 ≡ 1 mod 3 kann man relativ leicht bestimmen, weil ja 1498
= 1500
Somit gilt:
(901 - 1498) mod 3 ≡ (1 - 1) mod 3 ≡ 0 mod 3.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (21 ⋅ 94) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(21 ⋅ 94) mod 8 ≡ (21 mod 8 ⋅ 94 mod 8) mod 8.
21 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 21 = 16 + 5 = 2 ⋅ 8 + 5 ist.
94 mod 8 ≡ 6 mod 8 kann man relativ leicht bestimmen, weil ja 94 = 88 + 6 = 11 ⋅ 8 + 6 ist.
Somit gilt:
(21 ⋅ 94) mod 8 ≡ (5 ⋅ 6) mod 8 ≡ 30 mod 8 ≡ 6 mod 8.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 588128 mod 839.
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. 588 -> x
2. mod(x²,839) -> 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: 5881=588
2: 5882=5881+1=5881⋅5881 ≡ 588⋅588=345744 ≡ 76 mod 839
4: 5884=5882+2=5882⋅5882 ≡ 76⋅76=5776 ≡ 742 mod 839
8: 5888=5884+4=5884⋅5884 ≡ 742⋅742=550564 ≡ 180 mod 839
16: 58816=5888+8=5888⋅5888 ≡ 180⋅180=32400 ≡ 518 mod 839
32: 58832=58816+16=58816⋅58816 ≡ 518⋅518=268324 ≡ 683 mod 839
64: 58864=58832+32=58832⋅58832 ≡ 683⋅683=466489 ≡ 5 mod 839
128: 588128=58864+64=58864⋅58864 ≡ 5⋅5=25 ≡ 25 mod 839
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 543144 mod 883.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 144 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 144 an und zerlegen 144 in eine Summer von 2er-Potenzen:
144 = 128+16
1: 5431=543
2: 5432=5431+1=5431⋅5431 ≡ 543⋅543=294849 ≡ 810 mod 883
4: 5434=5432+2=5432⋅5432 ≡ 810⋅810=656100 ≡ 31 mod 883
8: 5438=5434+4=5434⋅5434 ≡ 31⋅31=961 ≡ 78 mod 883
16: 54316=5438+8=5438⋅5438 ≡ 78⋅78=6084 ≡ 786 mod 883
32: 54332=54316+16=54316⋅54316 ≡ 786⋅786=617796 ≡ 579 mod 883
64: 54364=54332+32=54332⋅54332 ≡ 579⋅579=335241 ≡ 584 mod 883
128: 543128=54364+64=54364⋅54364 ≡ 584⋅584=341056 ≡ 218 mod 883
543144
= 543128+16
= 543128⋅54316
≡ 218 ⋅ 786 mod 883
≡ 171348 mod 883 ≡ 46 mod 883
Es gilt also: 543144 ≡ 46 mod 883
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-79-Inverse zur Zahl 70.
Also bestimme x, so dass 70 ⋅ x ≡ 1 mod 79 gilt:
Berechnung des größten gemeinsamen Teilers von 79 und 70
| =>79 | = 1⋅70 + 9 |
| =>70 | = 7⋅9 + 7 |
| =>9 | = 1⋅7 + 2 |
| =>7 | = 3⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(79,70)=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= 7-3⋅2 | |||
| 2= 9-1⋅7 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅7 -3⋅(9 -1⋅ 7)
= 1⋅7 -3⋅9 +3⋅ 7) = -3⋅9 +4⋅ 7 (=1) |
| 7= 70-7⋅9 | eingesetzt in die Zeile drüber: | 1 |
= -3⋅9 +4⋅(70 -7⋅ 9)
= -3⋅9 +4⋅70 -28⋅ 9) = 4⋅70 -31⋅ 9 (=1) |
| 9= 79-1⋅70 | eingesetzt in die Zeile drüber: | 1 |
= 4⋅70 -31⋅(79 -1⋅ 70)
= 4⋅70 -31⋅79 +31⋅ 70) = -31⋅79 +35⋅ 70 (=1) |
Es gilt also: ggt(79,70)=1 = -31⋅79 +35⋅70
oder wenn man -31⋅79 auf die linke Seite bringt:
1 +31⋅79 = +35⋅70
Es gilt also: 35⋅70 = 31⋅79 +1
Somit 35⋅70 = 1 mod 79
35 ist also das Inverse von 70 mod 79
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 79 und q = 53. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
