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: (28007 - 27996) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(28007 - 27996) mod 7 ≡ (28007 mod 7 - 27996 mod 7) mod 7.
28007 mod 7 ≡ 0 mod 7 kann man relativ leicht bestimmen, weil ja 28007
= 28000
27996 mod 7 ≡ 3 mod 7 kann man relativ leicht bestimmen, weil ja 27996
= 28000
Somit gilt:
(28007 - 27996) mod 7 ≡ (0 - 3) mod 7 ≡ -3 mod 7 ≡ 4 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (99 ⋅ 89) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(99 ⋅ 89) mod 5 ≡ (99 mod 5 ⋅ 89 mod 5) mod 5.
99 mod 5 ≡ 4 mod 5 kann man relativ leicht bestimmen, weil ja 99 = 95 + 4 = 19 ⋅ 5 + 4 ist.
89 mod 5 ≡ 4 mod 5 kann man relativ leicht bestimmen, weil ja 89 = 85 + 4 = 17 ⋅ 5 + 4 ist.
Somit gilt:
(99 ⋅ 89) mod 5 ≡ (4 ⋅ 4) mod 5 ≡ 16 mod 5 ≡ 1 mod 5.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 3698 mod 953.
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. 369 -> x
2. mod(x²,953) -> 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: 3691=369
2: 3692=3691+1=3691⋅3691 ≡ 369⋅369=136161 ≡ 835 mod 953
4: 3694=3692+2=3692⋅3692 ≡ 835⋅835=697225 ≡ 582 mod 953
8: 3698=3694+4=3694⋅3694 ≡ 582⋅582=338724 ≡ 409 mod 953
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 507150 mod 661.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 150 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 150 an und zerlegen 150 in eine Summer von 2er-Potenzen:
150 = 128+16+4+2
1: 5071=507
2: 5072=5071+1=5071⋅5071 ≡ 507⋅507=257049 ≡ 581 mod 661
4: 5074=5072+2=5072⋅5072 ≡ 581⋅581=337561 ≡ 451 mod 661
8: 5078=5074+4=5074⋅5074 ≡ 451⋅451=203401 ≡ 474 mod 661
16: 50716=5078+8=5078⋅5078 ≡ 474⋅474=224676 ≡ 597 mod 661
32: 50732=50716+16=50716⋅50716 ≡ 597⋅597=356409 ≡ 130 mod 661
64: 50764=50732+32=50732⋅50732 ≡ 130⋅130=16900 ≡ 375 mod 661
128: 507128=50764+64=50764⋅50764 ≡ 375⋅375=140625 ≡ 493 mod 661
507150
= 507128+16+4+2
= 507128⋅50716⋅5074⋅5072
≡ 493 ⋅ 597 ⋅ 451 ⋅ 581 mod 661
≡ 294321 ⋅ 451 ⋅ 581 mod 661 ≡ 176 ⋅ 451 ⋅ 581 mod 661
≡ 79376 ⋅ 581 mod 661 ≡ 56 ⋅ 581 mod 661
≡ 32536 mod 661 ≡ 147 mod 661
Es gilt also: 507150 ≡ 147 mod 661
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-71-Inverse zur Zahl 49.
Also bestimme x, so dass 49 ⋅ x ≡ 1 mod 71 gilt:
Berechnung des größten gemeinsamen Teilers von 71 und 49
| =>71 | = 1⋅49 + 22 |
| =>49 | = 2⋅22 + 5 |
| =>22 | = 4⋅5 + 2 |
| =>5 | = 2⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(71,49)=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= 5-2⋅2 | |||
| 2= 22-4⋅5 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅5 -2⋅(22 -4⋅ 5)
= 1⋅5 -2⋅22 +8⋅ 5) = -2⋅22 +9⋅ 5 (=1) |
| 5= 49-2⋅22 | eingesetzt in die Zeile drüber: | 1 |
= -2⋅22 +9⋅(49 -2⋅ 22)
= -2⋅22 +9⋅49 -18⋅ 22) = 9⋅49 -20⋅ 22 (=1) |
| 22= 71-1⋅49 | eingesetzt in die Zeile drüber: | 1 |
= 9⋅49 -20⋅(71 -1⋅ 49)
= 9⋅49 -20⋅71 +20⋅ 49) = -20⋅71 +29⋅ 49 (=1) |
Es gilt also: ggt(71,49)=1 = -20⋅71 +29⋅49
oder wenn man -20⋅71 auf die linke Seite bringt:
1 +20⋅71 = +29⋅49
Es gilt also: 29⋅49 = 20⋅71 +1
Somit 29⋅49 = 1 mod 71
29 ist also das Inverse von 49 mod 71
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 59 und q = 31. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
