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: (237 - 76) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(237 - 76) mod 8 ≡ (237 mod 8 - 76 mod 8) mod 8.
237 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 237
= 240
76 mod 8 ≡ 4 mod 8 kann man relativ leicht bestimmen, weil ja 76
= 80
Somit gilt:
(237 - 76) mod 8 ≡ (5 - 4) mod 8 ≡ 1 mod 8.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (34 ⋅ 57) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(34 ⋅ 57) mod 9 ≡ (34 mod 9 ⋅ 57 mod 9) mod 9.
34 mod 9 ≡ 7 mod 9 kann man relativ leicht bestimmen, weil ja 34 = 27 + 7 = 3 ⋅ 9 + 7 ist.
57 mod 9 ≡ 3 mod 9 kann man relativ leicht bestimmen, weil ja 57 = 54 + 3 = 6 ⋅ 9 + 3 ist.
Somit gilt:
(34 ⋅ 57) mod 9 ≡ (7 ⋅ 3) mod 9 ≡ 21 mod 9 ≡ 3 mod 9.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 2968 mod 769.
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. 296 -> x
2. mod(x²,769) -> 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: 2961=296
2: 2962=2961+1=2961⋅2961 ≡ 296⋅296=87616 ≡ 719 mod 769
4: 2964=2962+2=2962⋅2962 ≡ 719⋅719=516961 ≡ 193 mod 769
8: 2968=2964+4=2964⋅2964 ≡ 193⋅193=37249 ≡ 337 mod 769
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 866131 mod 887.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 131 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 131 an und zerlegen 131 in eine Summer von 2er-Potenzen:
131 = 128+2+1
1: 8661=866
2: 8662=8661+1=8661⋅8661 ≡ 866⋅866=749956 ≡ 441 mod 887
4: 8664=8662+2=8662⋅8662 ≡ 441⋅441=194481 ≡ 228 mod 887
8: 8668=8664+4=8664⋅8664 ≡ 228⋅228=51984 ≡ 538 mod 887
16: 86616=8668+8=8668⋅8668 ≡ 538⋅538=289444 ≡ 282 mod 887
32: 86632=86616+16=86616⋅86616 ≡ 282⋅282=79524 ≡ 581 mod 887
64: 86664=86632+32=86632⋅86632 ≡ 581⋅581=337561 ≡ 501 mod 887
128: 866128=86664+64=86664⋅86664 ≡ 501⋅501=251001 ≡ 867 mod 887
866131
= 866128+2+1
= 866128⋅8662⋅8661
≡ 867 ⋅ 441 ⋅ 866 mod 887
≡ 382347 ⋅ 866 mod 887 ≡ 50 ⋅ 866 mod 887
≡ 43300 mod 887 ≡ 724 mod 887
Es gilt also: 866131 ≡ 724 mod 887
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-89-Inverse zur Zahl 74.
Also bestimme x, so dass 74 ⋅ x ≡ 1 mod 89 gilt:
Berechnung des größten gemeinsamen Teilers von 89 und 74
| =>89 | = 1⋅74 + 15 |
| =>74 | = 4⋅15 + 14 |
| =>15 | = 1⋅14 + 1 |
| =>14 | = 14⋅1 + 0 |
also gilt: ggt(89,74)=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= 15-1⋅14 | |||
| 14= 74-4⋅15 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅15 -1⋅(74 -4⋅ 15)
= 1⋅15 -1⋅74 +4⋅ 15) = -1⋅74 +5⋅ 15 (=1) |
| 15= 89-1⋅74 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅74 +5⋅(89 -1⋅ 74)
= -1⋅74 +5⋅89 -5⋅ 74) = 5⋅89 -6⋅ 74 (=1) |
Es gilt also: ggt(89,74)=1 = 5⋅89 -6⋅74
oder wenn man 5⋅89 auf die linke Seite bringt:
1 -5⋅89 = -6⋅74
-6⋅74 = -5⋅89 + 1 |+89⋅74
-6⋅74 + 89⋅74 = -5⋅89 + 89⋅74 + 1
(-6 + 89) ⋅ 74 = (-5 + 74) ⋅ 89 + 1
83⋅74 = 69⋅89 + 1
Es gilt also: 83⋅74 = 69⋅89 +1
Somit 83⋅74 = 1 mod 89
83 ist also das Inverse von 74 mod 89
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 73 und q = 41. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
