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: (4497 - 4491) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(4497 - 4491) mod 9 ≡ (4497 mod 9 - 4491 mod 9) mod 9.
4497 mod 9 ≡ 6 mod 9 kann man relativ leicht bestimmen, weil ja 4497
= 4500
4491 mod 9 ≡ 0 mod 9 kann man relativ leicht bestimmen, weil ja 4491
= 4500
Somit gilt:
(4497 - 4491) mod 9 ≡ (6 - 0) mod 9 ≡ 6 mod 9.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (49 ⋅ 83) mod 11.
Um längere Rechnungen zu vermeiden, rechnen wir:
(49 ⋅ 83) mod 11 ≡ (49 mod 11 ⋅ 83 mod 11) mod 11.
49 mod 11 ≡ 5 mod 11 kann man relativ leicht bestimmen, weil ja 49 = 44 + 5 = 4 ⋅ 11 + 5 ist.
83 mod 11 ≡ 6 mod 11 kann man relativ leicht bestimmen, weil ja 83 = 77 + 6 = 7 ⋅ 11 + 6 ist.
Somit gilt:
(49 ⋅ 83) mod 11 ≡ (5 ⋅ 6) mod 11 ≡ 30 mod 11 ≡ 8 mod 11.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 23616 mod 293.
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. 236 -> x
2. mod(x²,293) -> 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: 2361=236
2: 2362=2361+1=2361⋅2361 ≡ 236⋅236=55696 ≡ 26 mod 293
4: 2364=2362+2=2362⋅2362 ≡ 26⋅26=676 ≡ 90 mod 293
8: 2368=2364+4=2364⋅2364 ≡ 90⋅90=8100 ≡ 189 mod 293
16: 23616=2368+8=2368⋅2368 ≡ 189⋅189=35721 ≡ 268 mod 293
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 764109 mod 863.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 109 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 109 an und zerlegen 109 in eine Summer von 2er-Potenzen:
109 = 64+32+8+4+1
1: 7641=764
2: 7642=7641+1=7641⋅7641 ≡ 764⋅764=583696 ≡ 308 mod 863
4: 7644=7642+2=7642⋅7642 ≡ 308⋅308=94864 ≡ 797 mod 863
8: 7648=7644+4=7644⋅7644 ≡ 797⋅797=635209 ≡ 41 mod 863
16: 76416=7648+8=7648⋅7648 ≡ 41⋅41=1681 ≡ 818 mod 863
32: 76432=76416+16=76416⋅76416 ≡ 818⋅818=669124 ≡ 299 mod 863
64: 76464=76432+32=76432⋅76432 ≡ 299⋅299=89401 ≡ 512 mod 863
764109
= 76464+32+8+4+1
= 76464⋅76432⋅7648⋅7644⋅7641
≡ 512 ⋅ 299 ⋅ 41 ⋅ 797 ⋅ 764 mod 863
≡ 153088 ⋅ 41 ⋅ 797 ⋅ 764 mod 863 ≡ 337 ⋅ 41 ⋅ 797 ⋅ 764 mod 863
≡ 13817 ⋅ 797 ⋅ 764 mod 863 ≡ 9 ⋅ 797 ⋅ 764 mod 863
≡ 7173 ⋅ 764 mod 863 ≡ 269 ⋅ 764 mod 863
≡ 205516 mod 863 ≡ 122 mod 863
Es gilt also: 764109 ≡ 122 mod 863
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-73-Inverse zur Zahl 54.
Also bestimme x, so dass 54 ⋅ x ≡ 1 mod 73 gilt:
Berechnung des größten gemeinsamen Teilers von 73 und 54
| =>73 | = 1⋅54 + 19 |
| =>54 | = 2⋅19 + 16 |
| =>19 | = 1⋅16 + 3 |
| =>16 | = 5⋅3 + 1 |
| =>3 | = 3⋅1 + 0 |
also gilt: ggt(73,54)=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= 16-5⋅3 | |||
| 3= 19-1⋅16 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅16 -5⋅(19 -1⋅ 16)
= 1⋅16 -5⋅19 +5⋅ 16) = -5⋅19 +6⋅ 16 (=1) |
| 16= 54-2⋅19 | eingesetzt in die Zeile drüber: | 1 |
= -5⋅19 +6⋅(54 -2⋅ 19)
= -5⋅19 +6⋅54 -12⋅ 19) = 6⋅54 -17⋅ 19 (=1) |
| 19= 73-1⋅54 | eingesetzt in die Zeile drüber: | 1 |
= 6⋅54 -17⋅(73 -1⋅ 54)
= 6⋅54 -17⋅73 +17⋅ 54) = -17⋅73 +23⋅ 54 (=1) |
Es gilt also: ggt(73,54)=1 = -17⋅73 +23⋅54
oder wenn man -17⋅73 auf die linke Seite bringt:
1 +17⋅73 = +23⋅54
Es gilt also: 23⋅54 = 17⋅73 +1
Somit 23⋅54 = 1 mod 73
23 ist also das Inverse von 54 mod 73
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.
