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: (201 + 2498) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(201 + 2498) mod 5 ≡ (201 mod 5 + 2498 mod 5) mod 5.
201 mod 5 ≡ 1 mod 5 kann man relativ leicht bestimmen, weil ja 201
= 200
2498 mod 5 ≡ 3 mod 5 kann man relativ leicht bestimmen, weil ja 2498
= 2400
Somit gilt:
(201 + 2498) mod 5 ≡ (1 + 3) mod 5 ≡ 4 mod 5.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (57 ⋅ 18) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(57 ⋅ 18) mod 5 ≡ (57 mod 5 ⋅ 18 mod 5) mod 5.
57 mod 5 ≡ 2 mod 5 kann man relativ leicht bestimmen, weil ja 57 = 55 + 2 = 11 ⋅ 5 + 2 ist.
18 mod 5 ≡ 3 mod 5 kann man relativ leicht bestimmen, weil ja 18 = 15 + 3 = 3 ⋅ 5 + 3 ist.
Somit gilt:
(57 ⋅ 18) mod 5 ≡ (2 ⋅ 3) mod 5 ≡ 6 mod 5 ≡ 1 mod 5.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 22532 mod 443.
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. 225 -> x
2. mod(x²,443) -> 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: 2251=225
2: 2252=2251+1=2251⋅2251 ≡ 225⋅225=50625 ≡ 123 mod 443
4: 2254=2252+2=2252⋅2252 ≡ 123⋅123=15129 ≡ 67 mod 443
8: 2258=2254+4=2254⋅2254 ≡ 67⋅67=4489 ≡ 59 mod 443
16: 22516=2258+8=2258⋅2258 ≡ 59⋅59=3481 ≡ 380 mod 443
32: 22532=22516+16=22516⋅22516 ≡ 380⋅380=144400 ≡ 425 mod 443
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 125115 mod 409.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 115 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 115 an und zerlegen 115 in eine Summer von 2er-Potenzen:
115 = 64+32+16+2+1
1: 1251=125
2: 1252=1251+1=1251⋅1251 ≡ 125⋅125=15625 ≡ 83 mod 409
4: 1254=1252+2=1252⋅1252 ≡ 83⋅83=6889 ≡ 345 mod 409
8: 1258=1254+4=1254⋅1254 ≡ 345⋅345=119025 ≡ 6 mod 409
16: 12516=1258+8=1258⋅1258 ≡ 6⋅6=36 ≡ 36 mod 409
32: 12532=12516+16=12516⋅12516 ≡ 36⋅36=1296 ≡ 69 mod 409
64: 12564=12532+32=12532⋅12532 ≡ 69⋅69=4761 ≡ 262 mod 409
125115
= 12564+32+16+2+1
= 12564⋅12532⋅12516⋅1252⋅1251
≡ 262 ⋅ 69 ⋅ 36 ⋅ 83 ⋅ 125 mod 409
≡ 18078 ⋅ 36 ⋅ 83 ⋅ 125 mod 409 ≡ 82 ⋅ 36 ⋅ 83 ⋅ 125 mod 409
≡ 2952 ⋅ 83 ⋅ 125 mod 409 ≡ 89 ⋅ 83 ⋅ 125 mod 409
≡ 7387 ⋅ 125 mod 409 ≡ 25 ⋅ 125 mod 409
≡ 3125 mod 409 ≡ 262 mod 409
Es gilt also: 125115 ≡ 262 mod 409
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-89-Inverse zur Zahl 51.
Also bestimme x, so dass 51 ⋅ x ≡ 1 mod 89 gilt:
Berechnung des größten gemeinsamen Teilers von 89 und 51
| =>89 | = 1⋅51 + 38 |
| =>51 | = 1⋅38 + 13 |
| =>38 | = 2⋅13 + 12 |
| =>13 | = 1⋅12 + 1 |
| =>12 | = 12⋅1 + 0 |
also gilt: ggt(89,51)=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= 13-1⋅12 | |||
| 12= 38-2⋅13 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅13 -1⋅(38 -2⋅ 13)
= 1⋅13 -1⋅38 +2⋅ 13) = -1⋅38 +3⋅ 13 (=1) |
| 13= 51-1⋅38 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅38 +3⋅(51 -1⋅ 38)
= -1⋅38 +3⋅51 -3⋅ 38) = 3⋅51 -4⋅ 38 (=1) |
| 38= 89-1⋅51 | eingesetzt in die Zeile drüber: | 1 |
= 3⋅51 -4⋅(89 -1⋅ 51)
= 3⋅51 -4⋅89 +4⋅ 51) = -4⋅89 +7⋅ 51 (=1) |
Es gilt also: ggt(89,51)=1 = -4⋅89 +7⋅51
oder wenn man -4⋅89 auf die linke Seite bringt:
1 +4⋅89 = +7⋅51
Es gilt also: 7⋅51 = 4⋅89 +1
Somit 7⋅51 = 1 mod 89
7 ist also das Inverse von 51 mod 89
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 59 und q = 61. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
