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: (5004 - 151) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(5004 - 151) mod 5 ≡ (5004 mod 5 - 151 mod 5) mod 5.
5004 mod 5 ≡ 4 mod 5 kann man relativ leicht bestimmen, weil ja 5004
= 5000
151 mod 5 ≡ 1 mod 5 kann man relativ leicht bestimmen, weil ja 151
= 150
Somit gilt:
(5004 - 151) mod 5 ≡ (4 - 1) mod 5 ≡ 3 mod 5.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (17 ⋅ 97) mod 10.
Um längere Rechnungen zu vermeiden, rechnen wir:
(17 ⋅ 97) mod 10 ≡ (17 mod 10 ⋅ 97 mod 10) mod 10.
17 mod 10 ≡ 7 mod 10 kann man relativ leicht bestimmen, weil ja 17 = 10 + 7 = 1 ⋅ 10 + 7 ist.
97 mod 10 ≡ 7 mod 10 kann man relativ leicht bestimmen, weil ja 97 = 90 + 7 = 9 ⋅ 10 + 7 ist.
Somit gilt:
(17 ⋅ 97) mod 10 ≡ (7 ⋅ 7) mod 10 ≡ 49 mod 10 ≡ 9 mod 10.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 36332 mod 389.
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. 363 -> x
2. mod(x²,389) -> 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: 3631=363
2: 3632=3631+1=3631⋅3631 ≡ 363⋅363=131769 ≡ 287 mod 389
4: 3634=3632+2=3632⋅3632 ≡ 287⋅287=82369 ≡ 290 mod 389
8: 3638=3634+4=3634⋅3634 ≡ 290⋅290=84100 ≡ 76 mod 389
16: 36316=3638+8=3638⋅3638 ≡ 76⋅76=5776 ≡ 330 mod 389
32: 36332=36316+16=36316⋅36316 ≡ 330⋅330=108900 ≡ 369 mod 389
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 16996 mod 227.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 96 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 96 an und zerlegen 96 in eine Summer von 2er-Potenzen:
96 = 64+32
1: 1691=169
2: 1692=1691+1=1691⋅1691 ≡ 169⋅169=28561 ≡ 186 mod 227
4: 1694=1692+2=1692⋅1692 ≡ 186⋅186=34596 ≡ 92 mod 227
8: 1698=1694+4=1694⋅1694 ≡ 92⋅92=8464 ≡ 65 mod 227
16: 16916=1698+8=1698⋅1698 ≡ 65⋅65=4225 ≡ 139 mod 227
32: 16932=16916+16=16916⋅16916 ≡ 139⋅139=19321 ≡ 26 mod 227
64: 16964=16932+32=16932⋅16932 ≡ 26⋅26=676 ≡ 222 mod 227
16996
= 16964+32
= 16964⋅16932
≡ 222 ⋅ 26 mod 227
≡ 5772 mod 227 ≡ 97 mod 227
Es gilt also: 16996 ≡ 97 mod 227
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-97-Inverse zur Zahl 51.
Also bestimme x, so dass 51 ⋅ x ≡ 1 mod 97 gilt:
Berechnung des größten gemeinsamen Teilers von 97 und 51
| =>97 | = 1⋅51 + 46 |
| =>51 | = 1⋅46 + 5 |
| =>46 | = 9⋅5 + 1 |
| =>5 | = 5⋅1 + 0 |
also gilt: ggt(97,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= 46-9⋅5 | |||
| 5= 51-1⋅46 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅46 -9⋅(51 -1⋅ 46)
= 1⋅46 -9⋅51 +9⋅ 46) = -9⋅51 +10⋅ 46 (=1) |
| 46= 97-1⋅51 | eingesetzt in die Zeile drüber: | 1 |
= -9⋅51 +10⋅(97 -1⋅ 51)
= -9⋅51 +10⋅97 -10⋅ 51) = 10⋅97 -19⋅ 51 (=1) |
Es gilt also: ggt(97,51)=1 = 10⋅97 -19⋅51
oder wenn man 10⋅97 auf die linke Seite bringt:
1 -10⋅97 = -19⋅51
-19⋅51 = -10⋅97 + 1 |+97⋅51
-19⋅51 + 97⋅51 = -10⋅97 + 97⋅51 + 1
(-19 + 97) ⋅ 51 = (-10 + 51) ⋅ 97 + 1
78⋅51 = 41⋅97 + 1
Es gilt also: 78⋅51 = 41⋅97 +1
Somit 78⋅51 = 1 mod 97
78 ist also das Inverse von 51 mod 97
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 43 und q = 101. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
