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: (284 - 696) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(284 - 696) mod 7 ≡ (284 mod 7 - 696 mod 7) mod 7.
284 mod 7 ≡ 4 mod 7 kann man relativ leicht bestimmen, weil ja 284
= 280
696 mod 7 ≡ 3 mod 7 kann man relativ leicht bestimmen, weil ja 696
= 700
Somit gilt:
(284 - 696) mod 7 ≡ (4 - 3) mod 7 ≡ 1 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (46 ⋅ 65) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(46 ⋅ 65) mod 3 ≡ (46 mod 3 ⋅ 65 mod 3) mod 3.
46 mod 3 ≡ 1 mod 3 kann man relativ leicht bestimmen, weil ja 46 = 45 + 1 = 15 ⋅ 3 + 1 ist.
65 mod 3 ≡ 2 mod 3 kann man relativ leicht bestimmen, weil ja 65 = 63 + 2 = 21 ⋅ 3 + 2 ist.
Somit gilt:
(46 ⋅ 65) mod 3 ≡ (1 ⋅ 2) mod 3 ≡ 2 mod 3.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 484128 mod 859.
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. 484 -> x
2. mod(x²,859) -> 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: 4841=484
2: 4842=4841+1=4841⋅4841 ≡ 484⋅484=234256 ≡ 608 mod 859
4: 4844=4842+2=4842⋅4842 ≡ 608⋅608=369664 ≡ 294 mod 859
8: 4848=4844+4=4844⋅4844 ≡ 294⋅294=86436 ≡ 536 mod 859
16: 48416=4848+8=4848⋅4848 ≡ 536⋅536=287296 ≡ 390 mod 859
32: 48432=48416+16=48416⋅48416 ≡ 390⋅390=152100 ≡ 57 mod 859
64: 48464=48432+32=48432⋅48432 ≡ 57⋅57=3249 ≡ 672 mod 859
128: 484128=48464+64=48464⋅48464 ≡ 672⋅672=451584 ≡ 609 mod 859
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 134225 mod 227.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 225 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 225 an und zerlegen 225 in eine Summer von 2er-Potenzen:
225 = 128+64+32+1
1: 1341=134
2: 1342=1341+1=1341⋅1341 ≡ 134⋅134=17956 ≡ 23 mod 227
4: 1344=1342+2=1342⋅1342 ≡ 23⋅23=529 ≡ 75 mod 227
8: 1348=1344+4=1344⋅1344 ≡ 75⋅75=5625 ≡ 177 mod 227
16: 13416=1348+8=1348⋅1348 ≡ 177⋅177=31329 ≡ 3 mod 227
32: 13432=13416+16=13416⋅13416 ≡ 3⋅3=9 ≡ 9 mod 227
64: 13464=13432+32=13432⋅13432 ≡ 9⋅9=81 ≡ 81 mod 227
128: 134128=13464+64=13464⋅13464 ≡ 81⋅81=6561 ≡ 205 mod 227
134225
= 134128+64+32+1
= 134128⋅13464⋅13432⋅1341
≡ 205 ⋅ 81 ⋅ 9 ⋅ 134 mod 227
≡ 16605 ⋅ 9 ⋅ 134 mod 227 ≡ 34 ⋅ 9 ⋅ 134 mod 227
≡ 306 ⋅ 134 mod 227 ≡ 79 ⋅ 134 mod 227
≡ 10586 mod 227 ≡ 144 mod 227
Es gilt also: 134225 ≡ 144 mod 227
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-89-Inverse zur Zahl 52.
Also bestimme x, so dass 52 ⋅ x ≡ 1 mod 89 gilt:
Berechnung des größten gemeinsamen Teilers von 89 und 52
| =>89 | = 1⋅52 + 37 |
| =>52 | = 1⋅37 + 15 |
| =>37 | = 2⋅15 + 7 |
| =>15 | = 2⋅7 + 1 |
| =>7 | = 7⋅1 + 0 |
also gilt: ggt(89,52)=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= 15-2⋅7 | |||
| 7= 37-2⋅15 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅15 -2⋅(37 -2⋅ 15)
= 1⋅15 -2⋅37 +4⋅ 15) = -2⋅37 +5⋅ 15 (=1) |
| 15= 52-1⋅37 | eingesetzt in die Zeile drüber: | 1 |
= -2⋅37 +5⋅(52 -1⋅ 37)
= -2⋅37 +5⋅52 -5⋅ 37) = 5⋅52 -7⋅ 37 (=1) |
| 37= 89-1⋅52 | eingesetzt in die Zeile drüber: | 1 |
= 5⋅52 -7⋅(89 -1⋅ 52)
= 5⋅52 -7⋅89 +7⋅ 52) = -7⋅89 +12⋅ 52 (=1) |
Es gilt also: ggt(89,52)=1 = -7⋅89 +12⋅52
oder wenn man -7⋅89 auf die linke Seite bringt:
1 +7⋅89 = +12⋅52
Es gilt also: 12⋅52 = 7⋅89 +1
Somit 12⋅52 = 1 mod 89
12 ist also das Inverse von 52 mod 89
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 97 und q = 41. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
