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: (14006 + 205) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(14006 + 205) mod 7 ≡ (14006 mod 7 + 205 mod 7) mod 7.
14006 mod 7 ≡ 6 mod 7 kann man relativ leicht bestimmen, weil ja 14006
= 14000
205 mod 7 ≡ 2 mod 7 kann man relativ leicht bestimmen, weil ja 205
= 210
Somit gilt:
(14006 + 205) mod 7 ≡ (6 + 2) mod 7 ≡ 8 mod 7 ≡ 1 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (15 ⋅ 87) mod 4.
Um längere Rechnungen zu vermeiden, rechnen wir:
(15 ⋅ 87) mod 4 ≡ (15 mod 4 ⋅ 87 mod 4) mod 4.
15 mod 4 ≡ 3 mod 4 kann man relativ leicht bestimmen, weil ja 15 = 12 + 3 = 3 ⋅ 4 + 3 ist.
87 mod 4 ≡ 3 mod 4 kann man relativ leicht bestimmen, weil ja 87 = 84 + 3 = 21 ⋅ 4 + 3 ist.
Somit gilt:
(15 ⋅ 87) mod 4 ≡ (3 ⋅ 3) mod 4 ≡ 9 mod 4 ≡ 1 mod 4.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 20116 mod 223.
Die 16 im Exponent ist ja ein reine 2er-Potenz (24).
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. 201 -> x
2. mod(x²,223) -> 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: 2011=201
2: 2012=2011+1=2011⋅2011 ≡ 201⋅201=40401 ≡ 38 mod 223
4: 2014=2012+2=2012⋅2012 ≡ 38⋅38=1444 ≡ 106 mod 223
8: 2018=2014+4=2014⋅2014 ≡ 106⋅106=11236 ≡ 86 mod 223
16: 20116=2018+8=2018⋅2018 ≡ 86⋅86=7396 ≡ 37 mod 223
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 556160 mod 887.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 160 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 160 an und zerlegen 160 in eine Summer von 2er-Potenzen:
160 = 128+32
1: 5561=556
2: 5562=5561+1=5561⋅5561 ≡ 556⋅556=309136 ≡ 460 mod 887
4: 5564=5562+2=5562⋅5562 ≡ 460⋅460=211600 ≡ 494 mod 887
8: 5568=5564+4=5564⋅5564 ≡ 494⋅494=244036 ≡ 111 mod 887
16: 55616=5568+8=5568⋅5568 ≡ 111⋅111=12321 ≡ 790 mod 887
32: 55632=55616+16=55616⋅55616 ≡ 790⋅790=624100 ≡ 539 mod 887
64: 55664=55632+32=55632⋅55632 ≡ 539⋅539=290521 ≡ 472 mod 887
128: 556128=55664+64=55664⋅55664 ≡ 472⋅472=222784 ≡ 147 mod 887
556160
= 556128+32
= 556128⋅55632
≡ 147 ⋅ 539 mod 887
≡ 79233 mod 887 ≡ 290 mod 887
Es gilt also: 556160 ≡ 290 mod 887
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-83-Inverse zur Zahl 78.
Also bestimme x, so dass 78 ⋅ x ≡ 1 mod 83 gilt:
Berechnung des größten gemeinsamen Teilers von 83 und 78
| =>83 | = 1⋅78 + 5 |
| =>78 | = 15⋅5 + 3 |
| =>5 | = 1⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(83,78)=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= 3-1⋅2 | |||
| 2= 5-1⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(5 -1⋅ 3)
= 1⋅3 -1⋅5 +1⋅ 3) = -1⋅5 +2⋅ 3 (=1) |
| 3= 78-15⋅5 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅5 +2⋅(78 -15⋅ 5)
= -1⋅5 +2⋅78 -30⋅ 5) = 2⋅78 -31⋅ 5 (=1) |
| 5= 83-1⋅78 | eingesetzt in die Zeile drüber: | 1 |
= 2⋅78 -31⋅(83 -1⋅ 78)
= 2⋅78 -31⋅83 +31⋅ 78) = -31⋅83 +33⋅ 78 (=1) |
Es gilt also: ggt(83,78)=1 = -31⋅83 +33⋅78
oder wenn man -31⋅83 auf die linke Seite bringt:
1 +31⋅83 = +33⋅78
Es gilt also: 33⋅78 = 31⋅83 +1
Somit 33⋅78 = 1 mod 83
33 ist also das Inverse von 78 mod 83
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 71 und q = 83. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
