Klasse 5-6
Klasse 7-8
Klasse 9-10
Kursstufe
cosh
nach Aufgabentypen suchen
Aufgabentypen anhand von Beispielen durchstöbern
Browserfenster aktualisieren (F5), um neue Beispiele bei den Aufgabentypen zu sehen
Modulo addieren
Beispiel:
Berechne ohne WTR: (20997 + 64) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(20997 + 64) mod 7 ≡ (20997 mod 7 + 64 mod 7) mod 7.
20997 mod 7 ≡ 4 mod 7 kann man relativ leicht bestimmen, weil ja 20997
= 21000
64 mod 7 ≡ 1 mod 7 kann man relativ leicht bestimmen, weil ja 64
= 70
Somit gilt:
(20997 + 64) mod 7 ≡ (4 + 1) mod 7 ≡ 5 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (65 ⋅ 16) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(65 ⋅ 16) mod 5 ≡ (65 mod 5 ⋅ 16 mod 5) mod 5.
65 mod 5 ≡ 0 mod 5 kann man relativ leicht bestimmen, weil ja 65 = 65 + 0 = 13 ⋅ 5 + 0 ist.
16 mod 5 ≡ 1 mod 5 kann man relativ leicht bestimmen, weil ja 16 = 15 + 1 = 3 ⋅ 5 + 1 ist.
Somit gilt:
(65 ⋅ 16) mod 5 ≡ (0 ⋅ 1) mod 5 ≡ 0 mod 5.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 4368 mod 887.
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. 436 -> x
2. mod(x²,887) -> 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: 4361=436
2: 4362=4361+1=4361⋅4361 ≡ 436⋅436=190096 ≡ 278 mod 887
4: 4364=4362+2=4362⋅4362 ≡ 278⋅278=77284 ≡ 115 mod 887
8: 4368=4364+4=4364⋅4364 ≡ 115⋅115=13225 ≡ 807 mod 887
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 180199 mod 229.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 199 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 199 an und zerlegen 199 in eine Summer von 2er-Potenzen:
199 = 128+64+4+2+1
1: 1801=180
2: 1802=1801+1=1801⋅1801 ≡ 180⋅180=32400 ≡ 111 mod 229
4: 1804=1802+2=1802⋅1802 ≡ 111⋅111=12321 ≡ 184 mod 229
8: 1808=1804+4=1804⋅1804 ≡ 184⋅184=33856 ≡ 193 mod 229
16: 18016=1808+8=1808⋅1808 ≡ 193⋅193=37249 ≡ 151 mod 229
32: 18032=18016+16=18016⋅18016 ≡ 151⋅151=22801 ≡ 130 mod 229
64: 18064=18032+32=18032⋅18032 ≡ 130⋅130=16900 ≡ 183 mod 229
128: 180128=18064+64=18064⋅18064 ≡ 183⋅183=33489 ≡ 55 mod 229
180199
= 180128+64+4+2+1
= 180128⋅18064⋅1804⋅1802⋅1801
≡ 55 ⋅ 183 ⋅ 184 ⋅ 111 ⋅ 180 mod 229
≡ 10065 ⋅ 184 ⋅ 111 ⋅ 180 mod 229 ≡ 218 ⋅ 184 ⋅ 111 ⋅ 180 mod 229
≡ 40112 ⋅ 111 ⋅ 180 mod 229 ≡ 37 ⋅ 111 ⋅ 180 mod 229
≡ 4107 ⋅ 180 mod 229 ≡ 214 ⋅ 180 mod 229
≡ 38520 mod 229 ≡ 48 mod 229
Es gilt also: 180199 ≡ 48 mod 229
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-101-Inverse zur Zahl 60.
Also bestimme x, so dass 60 ⋅ x ≡ 1 mod 101 gilt:
Berechnung des größten gemeinsamen Teilers von 101 und 60
| =>101 | = 1⋅60 + 41 |
| =>60 | = 1⋅41 + 19 |
| =>41 | = 2⋅19 + 3 |
| =>19 | = 6⋅3 + 1 |
| =>3 | = 3⋅1 + 0 |
also gilt: ggt(101,60)=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= 19-6⋅3 | |||
| 3= 41-2⋅19 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅19 -6⋅(41 -2⋅ 19)
= 1⋅19 -6⋅41 +12⋅ 19) = -6⋅41 +13⋅ 19 (=1) |
| 19= 60-1⋅41 | eingesetzt in die Zeile drüber: | 1 |
= -6⋅41 +13⋅(60 -1⋅ 41)
= -6⋅41 +13⋅60 -13⋅ 41) = 13⋅60 -19⋅ 41 (=1) |
| 41= 101-1⋅60 | eingesetzt in die Zeile drüber: | 1 |
= 13⋅60 -19⋅(101 -1⋅ 60)
= 13⋅60 -19⋅101 +19⋅ 60) = -19⋅101 +32⋅ 60 (=1) |
Es gilt also: ggt(101,60)=1 = -19⋅101 +32⋅60
oder wenn man -19⋅101 auf die linke Seite bringt:
1 +19⋅101 = +32⋅60
Es gilt also: 32⋅60 = 19⋅101 +1
Somit 32⋅60 = 1 mod 101
32 ist also das Inverse von 60 mod 101
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 47 und q = 89. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
