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: (9998 + 24997) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(9998 + 24997) mod 5 ≡ (9998 mod 5 + 24997 mod 5) mod 5.
9998 mod 5 ≡ 3 mod 5 kann man relativ leicht bestimmen, weil ja 9998
= 9000
24997 mod 5 ≡ 2 mod 5 kann man relativ leicht bestimmen, weil ja 24997
= 24000
Somit gilt:
(9998 + 24997) mod 5 ≡ (3 + 2) mod 5 ≡ 5 mod 5 ≡ 0 mod 5.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (38 ⋅ 98) mod 11.
Um längere Rechnungen zu vermeiden, rechnen wir:
(38 ⋅ 98) mod 11 ≡ (38 mod 11 ⋅ 98 mod 11) mod 11.
38 mod 11 ≡ 5 mod 11 kann man relativ leicht bestimmen, weil ja 38 = 33 + 5 = 3 ⋅ 11 + 5 ist.
98 mod 11 ≡ 10 mod 11 kann man relativ leicht bestimmen, weil ja 98 = 88 + 10 = 8 ⋅ 11 + 10 ist.
Somit gilt:
(38 ⋅ 98) mod 11 ≡ (5 ⋅ 10) mod 11 ≡ 50 mod 11 ≡ 6 mod 11.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 7258 mod 821.
Die 8 im Exponent ist ja ein reine 2er-Potenz (23).
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. 725 -> x
2. mod(x²,821) -> 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: 7251=725
2: 7252=7251+1=7251⋅7251 ≡ 725⋅725=525625 ≡ 185 mod 821
4: 7254=7252+2=7252⋅7252 ≡ 185⋅185=34225 ≡ 564 mod 821
8: 7258=7254+4=7254⋅7254 ≡ 564⋅564=318096 ≡ 369 mod 821
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 470103 mod 977.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 103 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 103 an und zerlegen 103 in eine Summer von 2er-Potenzen:
103 = 64+32+4+2+1
1: 4701=470
2: 4702=4701+1=4701⋅4701 ≡ 470⋅470=220900 ≡ 98 mod 977
4: 4704=4702+2=4702⋅4702 ≡ 98⋅98=9604 ≡ 811 mod 977
8: 4708=4704+4=4704⋅4704 ≡ 811⋅811=657721 ≡ 200 mod 977
16: 47016=4708+8=4708⋅4708 ≡ 200⋅200=40000 ≡ 920 mod 977
32: 47032=47016+16=47016⋅47016 ≡ 920⋅920=846400 ≡ 318 mod 977
64: 47064=47032+32=47032⋅47032 ≡ 318⋅318=101124 ≡ 493 mod 977
470103
= 47064+32+4+2+1
= 47064⋅47032⋅4704⋅4702⋅4701
≡ 493 ⋅ 318 ⋅ 811 ⋅ 98 ⋅ 470 mod 977
≡ 156774 ⋅ 811 ⋅ 98 ⋅ 470 mod 977 ≡ 454 ⋅ 811 ⋅ 98 ⋅ 470 mod 977
≡ 368194 ⋅ 98 ⋅ 470 mod 977 ≡ 842 ⋅ 98 ⋅ 470 mod 977
≡ 82516 ⋅ 470 mod 977 ≡ 448 ⋅ 470 mod 977
≡ 210560 mod 977 ≡ 505 mod 977
Es gilt also: 470103 ≡ 505 mod 977
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-71-Inverse zur Zahl 42.
Also bestimme x, so dass 42 ⋅ x ≡ 1 mod 71 gilt:
Berechnung des größten gemeinsamen Teilers von 71 und 42
| =>71 | = 1⋅42 + 29 |
| =>42 | = 1⋅29 + 13 |
| =>29 | = 2⋅13 + 3 |
| =>13 | = 4⋅3 + 1 |
| =>3 | = 3⋅1 + 0 |
also gilt: ggt(71,42)=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-4⋅3 | |||
| 3= 29-2⋅13 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅13 -4⋅(29 -2⋅ 13)
= 1⋅13 -4⋅29 +8⋅ 13) = -4⋅29 +9⋅ 13 (=1) |
| 13= 42-1⋅29 | eingesetzt in die Zeile drüber: | 1 |
= -4⋅29 +9⋅(42 -1⋅ 29)
= -4⋅29 +9⋅42 -9⋅ 29) = 9⋅42 -13⋅ 29 (=1) |
| 29= 71-1⋅42 | eingesetzt in die Zeile drüber: | 1 |
= 9⋅42 -13⋅(71 -1⋅ 42)
= 9⋅42 -13⋅71 +13⋅ 42) = -13⋅71 +22⋅ 42 (=1) |
Es gilt also: ggt(71,42)=1 = -13⋅71 +22⋅42
oder wenn man -13⋅71 auf die linke Seite bringt:
1 +13⋅71 = +22⋅42
Es gilt also: 22⋅42 = 13⋅71 +1
Somit 22⋅42 = 1 mod 71
22 ist also das Inverse von 42 mod 71
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 53 und q = 101. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
