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: (8005 + 168) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(8005 + 168) mod 8 ≡ (8005 mod 8 + 168 mod 8) mod 8.
8005 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 8005
= 8000
168 mod 8 ≡ 0 mod 8 kann man relativ leicht bestimmen, weil ja 168
= 160
Somit gilt:
(8005 + 168) mod 8 ≡ (5 + 0) mod 8 ≡ 5 mod 8.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (82 ⋅ 65) mod 6.
Um längere Rechnungen zu vermeiden, rechnen wir:
(82 ⋅ 65) mod 6 ≡ (82 mod 6 ⋅ 65 mod 6) mod 6.
82 mod 6 ≡ 4 mod 6 kann man relativ leicht bestimmen, weil ja 82 = 78 + 4 = 13 ⋅ 6 + 4 ist.
65 mod 6 ≡ 5 mod 6 kann man relativ leicht bestimmen, weil ja 65 = 60 + 5 = 10 ⋅ 6 + 5 ist.
Somit gilt:
(82 ⋅ 65) mod 6 ≡ (4 ⋅ 5) mod 6 ≡ 20 mod 6 ≡ 2 mod 6.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 517128 mod 613.
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. 517 -> x
2. mod(x²,613) -> 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: 5171=517
2: 5172=5171+1=5171⋅5171 ≡ 517⋅517=267289 ≡ 21 mod 613
4: 5174=5172+2=5172⋅5172 ≡ 21⋅21=441 ≡ 441 mod 613
8: 5178=5174+4=5174⋅5174 ≡ 441⋅441=194481 ≡ 160 mod 613
16: 51716=5178+8=5178⋅5178 ≡ 160⋅160=25600 ≡ 467 mod 613
32: 51732=51716+16=51716⋅51716 ≡ 467⋅467=218089 ≡ 474 mod 613
64: 51764=51732+32=51732⋅51732 ≡ 474⋅474=224676 ≡ 318 mod 613
128: 517128=51764+64=51764⋅51764 ≡ 318⋅318=101124 ≡ 592 mod 613
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 514139 mod 787.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 139 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 139 an und zerlegen 139 in eine Summer von 2er-Potenzen:
139 = 128+8+2+1
1: 5141=514
2: 5142=5141+1=5141⋅5141 ≡ 514⋅514=264196 ≡ 551 mod 787
4: 5144=5142+2=5142⋅5142 ≡ 551⋅551=303601 ≡ 606 mod 787
8: 5148=5144+4=5144⋅5144 ≡ 606⋅606=367236 ≡ 494 mod 787
16: 51416=5148+8=5148⋅5148 ≡ 494⋅494=244036 ≡ 66 mod 787
32: 51432=51416+16=51416⋅51416 ≡ 66⋅66=4356 ≡ 421 mod 787
64: 51464=51432+32=51432⋅51432 ≡ 421⋅421=177241 ≡ 166 mod 787
128: 514128=51464+64=51464⋅51464 ≡ 166⋅166=27556 ≡ 11 mod 787
514139
= 514128+8+2+1
= 514128⋅5148⋅5142⋅5141
≡ 11 ⋅ 494 ⋅ 551 ⋅ 514 mod 787
≡ 5434 ⋅ 551 ⋅ 514 mod 787 ≡ 712 ⋅ 551 ⋅ 514 mod 787
≡ 392312 ⋅ 514 mod 787 ≡ 386 ⋅ 514 mod 787
≡ 198404 mod 787 ≡ 80 mod 787
Es gilt also: 514139 ≡ 80 mod 787
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-71-Inverse zur Zahl 63.
Also bestimme x, so dass 63 ⋅ x ≡ 1 mod 71 gilt:
Berechnung des größten gemeinsamen Teilers von 71 und 63
| =>71 | = 1⋅63 + 8 |
| =>63 | = 7⋅8 + 7 |
| =>8 | = 1⋅7 + 1 |
| =>7 | = 7⋅1 + 0 |
also gilt: ggt(71,63)=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= 8-1⋅7 | |||
| 7= 63-7⋅8 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅8 -1⋅(63 -7⋅ 8)
= 1⋅8 -1⋅63 +7⋅ 8) = -1⋅63 +8⋅ 8 (=1) |
| 8= 71-1⋅63 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅63 +8⋅(71 -1⋅ 63)
= -1⋅63 +8⋅71 -8⋅ 63) = 8⋅71 -9⋅ 63 (=1) |
Es gilt also: ggt(71,63)=1 = 8⋅71 -9⋅63
oder wenn man 8⋅71 auf die linke Seite bringt:
1 -8⋅71 = -9⋅63
-9⋅63 = -8⋅71 + 1 |+71⋅63
-9⋅63 + 71⋅63 = -8⋅71 + 71⋅63 + 1
(-9 + 71) ⋅ 63 = (-8 + 63) ⋅ 71 + 1
62⋅63 = 55⋅71 + 1
Es gilt also: 62⋅63 = 55⋅71 +1
Somit 62⋅63 = 1 mod 71
62 ist also das Inverse von 63 mod 71
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 71 und q = 47. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
