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: (27000 - 89) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(27000 - 89) mod 9 ≡ (27000 mod 9 - 89 mod 9) mod 9.
27000 mod 9 ≡ 0 mod 9 kann man relativ leicht bestimmen, weil ja 27000
= 27000
89 mod 9 ≡ 8 mod 9 kann man relativ leicht bestimmen, weil ja 89
= 90
Somit gilt:
(27000 - 89) mod 9 ≡ (0 - 8) mod 9 ≡ -8 mod 9 ≡ 1 mod 9.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (70 ⋅ 93) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(70 ⋅ 93) mod 7 ≡ (70 mod 7 ⋅ 93 mod 7) mod 7.
70 mod 7 ≡ 0 mod 7 kann man relativ leicht bestimmen, weil ja 70 = 70 + 0 = 10 ⋅ 7 + 0 ist.
93 mod 7 ≡ 2 mod 7 kann man relativ leicht bestimmen, weil ja 93 = 91 + 2 = 13 ⋅ 7 + 2 ist.
Somit gilt:
(70 ⋅ 93) mod 7 ≡ (0 ⋅ 2) mod 7 ≡ 0 mod 7.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 27764 mod 881.
Die 64 im Exponent ist ja ein reine 2er-Potenz (26).
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. 277 -> x
2. mod(x²,881) -> 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: 2771=277
2: 2772=2771+1=2771⋅2771 ≡ 277⋅277=76729 ≡ 82 mod 881
4: 2774=2772+2=2772⋅2772 ≡ 82⋅82=6724 ≡ 557 mod 881
8: 2778=2774+4=2774⋅2774 ≡ 557⋅557=310249 ≡ 137 mod 881
16: 27716=2778+8=2778⋅2778 ≡ 137⋅137=18769 ≡ 268 mod 881
32: 27732=27716+16=27716⋅27716 ≡ 268⋅268=71824 ≡ 463 mod 881
64: 27764=27732+32=27732⋅27732 ≡ 463⋅463=214369 ≡ 286 mod 881
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 782151 mod 787.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 151 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 151 an und zerlegen 151 in eine Summer von 2er-Potenzen:
151 = 128+16+4+2+1
1: 7821=782
2: 7822=7821+1=7821⋅7821 ≡ 782⋅782=611524 ≡ 25 mod 787
4: 7824=7822+2=7822⋅7822 ≡ 25⋅25=625 ≡ 625 mod 787
8: 7828=7824+4=7824⋅7824 ≡ 625⋅625=390625 ≡ 273 mod 787
16: 78216=7828+8=7828⋅7828 ≡ 273⋅273=74529 ≡ 551 mod 787
32: 78232=78216+16=78216⋅78216 ≡ 551⋅551=303601 ≡ 606 mod 787
64: 78264=78232+32=78232⋅78232 ≡ 606⋅606=367236 ≡ 494 mod 787
128: 782128=78264+64=78264⋅78264 ≡ 494⋅494=244036 ≡ 66 mod 787
782151
= 782128+16+4+2+1
= 782128⋅78216⋅7824⋅7822⋅7821
≡ 66 ⋅ 551 ⋅ 625 ⋅ 25 ⋅ 782 mod 787
≡ 36366 ⋅ 625 ⋅ 25 ⋅ 782 mod 787 ≡ 164 ⋅ 625 ⋅ 25 ⋅ 782 mod 787
≡ 102500 ⋅ 25 ⋅ 782 mod 787 ≡ 190 ⋅ 25 ⋅ 782 mod 787
≡ 4750 ⋅ 782 mod 787 ≡ 28 ⋅ 782 mod 787
≡ 21896 mod 787 ≡ 647 mod 787
Es gilt also: 782151 ≡ 647 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 = 47 und q = 31. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
