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: (20004 - 1997) mod 4.
Um längere Rechnungen zu vermeiden, rechnen wir:
(20004 - 1997) mod 4 ≡ (20004 mod 4 - 1997 mod 4) mod 4.
20004 mod 4 ≡ 0 mod 4 kann man relativ leicht bestimmen, weil ja 20004
= 20000
1997 mod 4 ≡ 1 mod 4 kann man relativ leicht bestimmen, weil ja 1997
= 1900
Somit gilt:
(20004 - 1997) mod 4 ≡ (0 - 1) mod 4 ≡ -1 mod 4 ≡ 3 mod 4.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (84 ⋅ 69) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(84 ⋅ 69) mod 9 ≡ (84 mod 9 ⋅ 69 mod 9) mod 9.
84 mod 9 ≡ 3 mod 9 kann man relativ leicht bestimmen, weil ja 84 = 81 + 3 = 9 ⋅ 9 + 3 ist.
69 mod 9 ≡ 6 mod 9 kann man relativ leicht bestimmen, weil ja 69 = 63 + 6 = 7 ⋅ 9 + 6 ist.
Somit gilt:
(84 ⋅ 69) mod 9 ≡ (3 ⋅ 6) mod 9 ≡ 18 mod 9 ≡ 0 mod 9.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 30116 mod 757.
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. 301 -> x
2. mod(x²,757) -> 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: 3011=301
2: 3012=3011+1=3011⋅3011 ≡ 301⋅301=90601 ≡ 518 mod 757
4: 3014=3012+2=3012⋅3012 ≡ 518⋅518=268324 ≡ 346 mod 757
8: 3018=3014+4=3014⋅3014 ≡ 346⋅346=119716 ≡ 110 mod 757
16: 30116=3018+8=3018⋅3018 ≡ 110⋅110=12100 ≡ 745 mod 757
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 197163 mod 223.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 163 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 163 an und zerlegen 163 in eine Summer von 2er-Potenzen:
163 = 128+32+2+1
1: 1971=197
2: 1972=1971+1=1971⋅1971 ≡ 197⋅197=38809 ≡ 7 mod 223
4: 1974=1972+2=1972⋅1972 ≡ 7⋅7=49 ≡ 49 mod 223
8: 1978=1974+4=1974⋅1974 ≡ 49⋅49=2401 ≡ 171 mod 223
16: 19716=1978+8=1978⋅1978 ≡ 171⋅171=29241 ≡ 28 mod 223
32: 19732=19716+16=19716⋅19716 ≡ 28⋅28=784 ≡ 115 mod 223
64: 19764=19732+32=19732⋅19732 ≡ 115⋅115=13225 ≡ 68 mod 223
128: 197128=19764+64=19764⋅19764 ≡ 68⋅68=4624 ≡ 164 mod 223
197163
= 197128+32+2+1
= 197128⋅19732⋅1972⋅1971
≡ 164 ⋅ 115 ⋅ 7 ⋅ 197 mod 223
≡ 18860 ⋅ 7 ⋅ 197 mod 223 ≡ 128 ⋅ 7 ⋅ 197 mod 223
≡ 896 ⋅ 197 mod 223 ≡ 4 ⋅ 197 mod 223
≡ 788 mod 223 ≡ 119 mod 223
Es gilt also: 197163 ≡ 119 mod 223
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-97-Inverse zur Zahl 50.
Also bestimme x, so dass 50 ⋅ x ≡ 1 mod 97 gilt:
Berechnung des größten gemeinsamen Teilers von 97 und 50
| =>97 | = 1⋅50 + 47 |
| =>50 | = 1⋅47 + 3 |
| =>47 | = 15⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(97,50)=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= 3-1⋅2 | |||
| 2= 47-15⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(47 -15⋅ 3)
= 1⋅3 -1⋅47 +15⋅ 3) = -1⋅47 +16⋅ 3 (=1) |
| 3= 50-1⋅47 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅47 +16⋅(50 -1⋅ 47)
= -1⋅47 +16⋅50 -16⋅ 47) = 16⋅50 -17⋅ 47 (=1) |
| 47= 97-1⋅50 | eingesetzt in die Zeile drüber: | 1 |
= 16⋅50 -17⋅(97 -1⋅ 50)
= 16⋅50 -17⋅97 +17⋅ 50) = -17⋅97 +33⋅ 50 (=1) |
Es gilt also: ggt(97,50)=1 = -17⋅97 +33⋅50
oder wenn man -17⋅97 auf die linke Seite bringt:
1 +17⋅97 = +33⋅50
Es gilt also: 33⋅50 = 17⋅97 +1
Somit 33⋅50 = 1 mod 97
33 ist also das Inverse von 50 mod 97
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 37 und q = 47. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
