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: (322 - 7993) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(322 - 7993) mod 8 ≡ (322 mod 8 - 7993 mod 8) mod 8.
322 mod 8 ≡ 2 mod 8 kann man relativ leicht bestimmen, weil ja 322
= 320
7993 mod 8 ≡ 1 mod 8 kann man relativ leicht bestimmen, weil ja 7993
= 7000
Somit gilt:
(322 - 7993) mod 8 ≡ (2 - 1) mod 8 ≡ 1 mod 8.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (57 ⋅ 27) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(57 ⋅ 27) mod 8 ≡ (57 mod 8 ⋅ 27 mod 8) mod 8.
57 mod 8 ≡ 1 mod 8 kann man relativ leicht bestimmen, weil ja 57 = 56 + 1 = 7 ⋅ 8 + 1 ist.
27 mod 8 ≡ 3 mod 8 kann man relativ leicht bestimmen, weil ja 27 = 24 + 3 = 3 ⋅ 8 + 3 ist.
Somit gilt:
(57 ⋅ 27) mod 8 ≡ (1 ⋅ 3) mod 8 ≡ 3 mod 8.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 31232 mod 701.
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. 312 -> x
2. mod(x²,701) -> 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: 3121=312
2: 3122=3121+1=3121⋅3121 ≡ 312⋅312=97344 ≡ 606 mod 701
4: 3124=3122+2=3122⋅3122 ≡ 606⋅606=367236 ≡ 613 mod 701
8: 3128=3124+4=3124⋅3124 ≡ 613⋅613=375769 ≡ 33 mod 701
16: 31216=3128+8=3128⋅3128 ≡ 33⋅33=1089 ≡ 388 mod 701
32: 31232=31216+16=31216⋅31216 ≡ 388⋅388=150544 ≡ 530 mod 701
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 776208 mod 919.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 208 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 208 an und zerlegen 208 in eine Summer von 2er-Potenzen:
208 = 128+64+16
1: 7761=776
2: 7762=7761+1=7761⋅7761 ≡ 776⋅776=602176 ≡ 231 mod 919
4: 7764=7762+2=7762⋅7762 ≡ 231⋅231=53361 ≡ 59 mod 919
8: 7768=7764+4=7764⋅7764 ≡ 59⋅59=3481 ≡ 724 mod 919
16: 77616=7768+8=7768⋅7768 ≡ 724⋅724=524176 ≡ 346 mod 919
32: 77632=77616+16=77616⋅77616 ≡ 346⋅346=119716 ≡ 246 mod 919
64: 77664=77632+32=77632⋅77632 ≡ 246⋅246=60516 ≡ 781 mod 919
128: 776128=77664+64=77664⋅77664 ≡ 781⋅781=609961 ≡ 664 mod 919
776208
= 776128+64+16
= 776128⋅77664⋅77616
≡ 664 ⋅ 781 ⋅ 346 mod 919
≡ 518584 ⋅ 346 mod 919 ≡ 268 ⋅ 346 mod 919
≡ 92728 mod 919 ≡ 828 mod 919
Es gilt also: 776208 ≡ 828 mod 919
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-89-Inverse zur Zahl 79.
Also bestimme x, so dass 79 ⋅ x ≡ 1 mod 89 gilt:
Berechnung des größten gemeinsamen Teilers von 89 und 79
=>89 | = 1⋅79 + 10 |
=>79 | = 7⋅10 + 9 |
=>10 | = 1⋅9 + 1 |
=>9 | = 9⋅1 + 0 |
also gilt: ggt(89,79)=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= 10-1⋅9 | |||
9= 79-7⋅10 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅10 -1⋅(79 -7⋅ 10)
= 1⋅10 -1⋅79 +7⋅ 10) = -1⋅79 +8⋅ 10 (=1) |
10= 89-1⋅79 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅79 +8⋅(89 -1⋅ 79)
= -1⋅79 +8⋅89 -8⋅ 79) = 8⋅89 -9⋅ 79 (=1) |
Es gilt also: ggt(89,79)=1 = 8⋅89 -9⋅79
oder wenn man 8⋅89 auf die linke Seite bringt:
1 -8⋅89 = -9⋅79
-9⋅79 = -8⋅89 + 1 |+89⋅79
-9⋅79 + 89⋅79 = -8⋅89 + 89⋅79 + 1
(-9 + 89) ⋅ 79 = (-8 + 79) ⋅ 89 + 1
80⋅79 = 71⋅89 + 1
Es gilt also: 80⋅79 = 71⋅89 +1
Somit 80⋅79 = 1 mod 89
80 ist also das Inverse von 79 mod 89
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 101 und q = 97. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.