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: (268 + 355) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(268 + 355) mod 9 ≡ (268 mod 9 + 355 mod 9) mod 9.
268 mod 9 ≡ 7 mod 9 kann man relativ leicht bestimmen, weil ja 268
= 270
355 mod 9 ≡ 4 mod 9 kann man relativ leicht bestimmen, weil ja 355
= 360
Somit gilt:
(268 + 355) mod 9 ≡ (7 + 4) mod 9 ≡ 11 mod 9 ≡ 2 mod 9.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (66 ⋅ 55) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(66 ⋅ 55) mod 5 ≡ (66 mod 5 ⋅ 55 mod 5) mod 5.
66 mod 5 ≡ 1 mod 5 kann man relativ leicht bestimmen, weil ja 66 = 65 + 1 = 13 ⋅ 5 + 1 ist.
55 mod 5 ≡ 0 mod 5 kann man relativ leicht bestimmen, weil ja 55 = 55 + 0 = 11 ⋅ 5 + 0 ist.
Somit gilt:
(66 ⋅ 55) mod 5 ≡ (1 ⋅ 0) mod 5 ≡ 0 mod 5.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 22232 mod 383.
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. 222 -> x
2. mod(x²,383) -> 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: 2221=222
2: 2222=2221+1=2221⋅2221 ≡ 222⋅222=49284 ≡ 260 mod 383
4: 2224=2222+2=2222⋅2222 ≡ 260⋅260=67600 ≡ 192 mod 383
8: 2228=2224+4=2224⋅2224 ≡ 192⋅192=36864 ≡ 96 mod 383
16: 22216=2228+8=2228⋅2228 ≡ 96⋅96=9216 ≡ 24 mod 383
32: 22232=22216+16=22216⋅22216 ≡ 24⋅24=576 ≡ 193 mod 383
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 457203 mod 509.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 203 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 203 an und zerlegen 203 in eine Summer von 2er-Potenzen:
203 = 128+64+8+2+1
1: 4571=457
2: 4572=4571+1=4571⋅4571 ≡ 457⋅457=208849 ≡ 159 mod 509
4: 4574=4572+2=4572⋅4572 ≡ 159⋅159=25281 ≡ 340 mod 509
8: 4578=4574+4=4574⋅4574 ≡ 340⋅340=115600 ≡ 57 mod 509
16: 45716=4578+8=4578⋅4578 ≡ 57⋅57=3249 ≡ 195 mod 509
32: 45732=45716+16=45716⋅45716 ≡ 195⋅195=38025 ≡ 359 mod 509
64: 45764=45732+32=45732⋅45732 ≡ 359⋅359=128881 ≡ 104 mod 509
128: 457128=45764+64=45764⋅45764 ≡ 104⋅104=10816 ≡ 127 mod 509
457203
= 457128+64+8+2+1
= 457128⋅45764⋅4578⋅4572⋅4571
≡ 127 ⋅ 104 ⋅ 57 ⋅ 159 ⋅ 457 mod 509
≡ 13208 ⋅ 57 ⋅ 159 ⋅ 457 mod 509 ≡ 483 ⋅ 57 ⋅ 159 ⋅ 457 mod 509
≡ 27531 ⋅ 159 ⋅ 457 mod 509 ≡ 45 ⋅ 159 ⋅ 457 mod 509
≡ 7155 ⋅ 457 mod 509 ≡ 29 ⋅ 457 mod 509
≡ 13253 mod 509 ≡ 19 mod 509
Es gilt also: 457203 ≡ 19 mod 509
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-97-Inverse zur Zahl 54.
Also bestimme x, so dass 54 ⋅ x ≡ 1 mod 97 gilt:
Berechnung des größten gemeinsamen Teilers von 97 und 54
| =>97 | = 1⋅54 + 43 |
| =>54 | = 1⋅43 + 11 |
| =>43 | = 3⋅11 + 10 |
| =>11 | = 1⋅10 + 1 |
| =>10 | = 10⋅1 + 0 |
also gilt: ggt(97,54)=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= 11-1⋅10 | |||
| 10= 43-3⋅11 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅11 -1⋅(43 -3⋅ 11)
= 1⋅11 -1⋅43 +3⋅ 11) = -1⋅43 +4⋅ 11 (=1) |
| 11= 54-1⋅43 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅43 +4⋅(54 -1⋅ 43)
= -1⋅43 +4⋅54 -4⋅ 43) = 4⋅54 -5⋅ 43 (=1) |
| 43= 97-1⋅54 | eingesetzt in die Zeile drüber: | 1 |
= 4⋅54 -5⋅(97 -1⋅ 54)
= 4⋅54 -5⋅97 +5⋅ 54) = -5⋅97 +9⋅ 54 (=1) |
Es gilt also: ggt(97,54)=1 = -5⋅97 +9⋅54
oder wenn man -5⋅97 auf die linke Seite bringt:
1 +5⋅97 = +9⋅54
Es gilt also: 9⋅54 = 5⋅97 +1
Somit 9⋅54 = 1 mod 97
9 ist also das Inverse von 54 mod 97
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 31 und q = 79. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
