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: (4496 - 4501) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(4496 - 4501) mod 9 ≡ (4496 mod 9 - 4501 mod 9) mod 9.
4496 mod 9 ≡ 5 mod 9 kann man relativ leicht bestimmen, weil ja 4496
= 4500
4501 mod 9 ≡ 1 mod 9 kann man relativ leicht bestimmen, weil ja 4501
= 4500
Somit gilt:
(4496 - 4501) mod 9 ≡ (5 - 1) mod 9 ≡ 4 mod 9.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (37 ⋅ 25) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(37 ⋅ 25) mod 7 ≡ (37 mod 7 ⋅ 25 mod 7) mod 7.
37 mod 7 ≡ 2 mod 7 kann man relativ leicht bestimmen, weil ja 37 = 35 + 2 = 5 ⋅ 7 + 2 ist.
25 mod 7 ≡ 4 mod 7 kann man relativ leicht bestimmen, weil ja 25 = 21 + 4 = 3 ⋅ 7 + 4 ist.
Somit gilt:
(37 ⋅ 25) mod 7 ≡ (2 ⋅ 4) mod 7 ≡ 8 mod 7 ≡ 1 mod 7.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 40632 mod 653.
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. 406 -> x
2. mod(x²,653) -> 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: 4061=406
2: 4062=4061+1=4061⋅4061 ≡ 406⋅406=164836 ≡ 280 mod 653
4: 4064=4062+2=4062⋅4062 ≡ 280⋅280=78400 ≡ 40 mod 653
8: 4068=4064+4=4064⋅4064 ≡ 40⋅40=1600 ≡ 294 mod 653
16: 40616=4068+8=4068⋅4068 ≡ 294⋅294=86436 ≡ 240 mod 653
32: 40632=40616+16=40616⋅40616 ≡ 240⋅240=57600 ≡ 136 mod 653
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 148218 mod 311.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 218 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 218 an und zerlegen 218 in eine Summer von 2er-Potenzen:
218 = 128+64+16+8+2
1: 1481=148
2: 1482=1481+1=1481⋅1481 ≡ 148⋅148=21904 ≡ 134 mod 311
4: 1484=1482+2=1482⋅1482 ≡ 134⋅134=17956 ≡ 229 mod 311
8: 1488=1484+4=1484⋅1484 ≡ 229⋅229=52441 ≡ 193 mod 311
16: 14816=1488+8=1488⋅1488 ≡ 193⋅193=37249 ≡ 240 mod 311
32: 14832=14816+16=14816⋅14816 ≡ 240⋅240=57600 ≡ 65 mod 311
64: 14864=14832+32=14832⋅14832 ≡ 65⋅65=4225 ≡ 182 mod 311
128: 148128=14864+64=14864⋅14864 ≡ 182⋅182=33124 ≡ 158 mod 311
148218
= 148128+64+16+8+2
= 148128⋅14864⋅14816⋅1488⋅1482
≡ 158 ⋅ 182 ⋅ 240 ⋅ 193 ⋅ 134 mod 311
≡ 28756 ⋅ 240 ⋅ 193 ⋅ 134 mod 311 ≡ 144 ⋅ 240 ⋅ 193 ⋅ 134 mod 311
≡ 34560 ⋅ 193 ⋅ 134 mod 311 ≡ 39 ⋅ 193 ⋅ 134 mod 311
≡ 7527 ⋅ 134 mod 311 ≡ 63 ⋅ 134 mod 311
≡ 8442 mod 311 ≡ 45 mod 311
Es gilt also: 148218 ≡ 45 mod 311
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-67-Inverse zur Zahl 28.
Also bestimme x, so dass 28 ⋅ x ≡ 1 mod 67 gilt:
Berechnung des größten gemeinsamen Teilers von 67 und 28
| =>67 | = 2⋅28 + 11 |
| =>28 | = 2⋅11 + 6 |
| =>11 | = 1⋅6 + 5 |
| =>6 | = 1⋅5 + 1 |
| =>5 | = 5⋅1 + 0 |
also gilt: ggt(67,28)=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= 6-1⋅5 | |||
| 5= 11-1⋅6 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅6 -1⋅(11 -1⋅ 6)
= 1⋅6 -1⋅11 +1⋅ 6) = -1⋅11 +2⋅ 6 (=1) |
| 6= 28-2⋅11 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅11 +2⋅(28 -2⋅ 11)
= -1⋅11 +2⋅28 -4⋅ 11) = 2⋅28 -5⋅ 11 (=1) |
| 11= 67-2⋅28 | eingesetzt in die Zeile drüber: | 1 |
= 2⋅28 -5⋅(67 -2⋅ 28)
= 2⋅28 -5⋅67 +10⋅ 28) = -5⋅67 +12⋅ 28 (=1) |
Es gilt also: ggt(67,28)=1 = -5⋅67 +12⋅28
oder wenn man -5⋅67 auf die linke Seite bringt:
1 +5⋅67 = +12⋅28
Es gilt also: 12⋅28 = 5⋅67 +1
Somit 12⋅28 = 1 mod 67
12 ist also das Inverse von 28 mod 67
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 101 und q = 67. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
