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: (210 - 14003) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(210 - 14003) mod 7 ≡ (210 mod 7 - 14003 mod 7) mod 7.
210 mod 7 ≡ 0 mod 7 kann man relativ leicht bestimmen, weil ja 210
= 210
14003 mod 7 ≡ 3 mod 7 kann man relativ leicht bestimmen, weil ja 14003
= 14000
Somit gilt:
(210 - 14003) mod 7 ≡ (0 - 3) mod 7 ≡ -3 mod 7 ≡ 4 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (64 ⋅ 58) mod 11.
Um längere Rechnungen zu vermeiden, rechnen wir:
(64 ⋅ 58) mod 11 ≡ (64 mod 11 ⋅ 58 mod 11) mod 11.
64 mod 11 ≡ 9 mod 11 kann man relativ leicht bestimmen, weil ja 64 = 55 + 9 = 5 ⋅ 11 + 9 ist.
58 mod 11 ≡ 3 mod 11 kann man relativ leicht bestimmen, weil ja 58 = 55 + 3 = 5 ⋅ 11 + 3 ist.
Somit gilt:
(64 ⋅ 58) mod 11 ≡ (9 ⋅ 3) mod 11 ≡ 27 mod 11 ≡ 5 mod 11.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 16364 mod 223.
Die 64 im Exponent ist ja ein reine 2er-Potenz (26).
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. 163 -> x
2. mod(x²,223) -> 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: 1631=163
2: 1632=1631+1=1631⋅1631 ≡ 163⋅163=26569 ≡ 32 mod 223
4: 1634=1632+2=1632⋅1632 ≡ 32⋅32=1024 ≡ 132 mod 223
8: 1638=1634+4=1634⋅1634 ≡ 132⋅132=17424 ≡ 30 mod 223
16: 16316=1638+8=1638⋅1638 ≡ 30⋅30=900 ≡ 8 mod 223
32: 16332=16316+16=16316⋅16316 ≡ 8⋅8=64 ≡ 64 mod 223
64: 16364=16332+32=16332⋅16332 ≡ 64⋅64=4096 ≡ 82 mod 223
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 124219 mod 233.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 219 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 219 an und zerlegen 219 in eine Summer von 2er-Potenzen:
219 = 128+64+16+8+2+1
1: 1241=124
2: 1242=1241+1=1241⋅1241 ≡ 124⋅124=15376 ≡ 231 mod 233
4: 1244=1242+2=1242⋅1242 ≡ 231⋅231=53361 ≡ 4 mod 233
8: 1248=1244+4=1244⋅1244 ≡ 4⋅4=16 ≡ 16 mod 233
16: 12416=1248+8=1248⋅1248 ≡ 16⋅16=256 ≡ 23 mod 233
32: 12432=12416+16=12416⋅12416 ≡ 23⋅23=529 ≡ 63 mod 233
64: 12464=12432+32=12432⋅12432 ≡ 63⋅63=3969 ≡ 8 mod 233
128: 124128=12464+64=12464⋅12464 ≡ 8⋅8=64 ≡ 64 mod 233
124219
= 124128+64+16+8+2+1
= 124128⋅12464⋅12416⋅1248⋅1242⋅1241
≡ 64 ⋅ 8 ⋅ 23 ⋅ 16 ⋅ 231 ⋅ 124 mod 233
≡ 512 ⋅ 23 ⋅ 16 ⋅ 231 ⋅ 124 mod 233 ≡ 46 ⋅ 23 ⋅ 16 ⋅ 231 ⋅ 124 mod 233
≡ 1058 ⋅ 16 ⋅ 231 ⋅ 124 mod 233 ≡ 126 ⋅ 16 ⋅ 231 ⋅ 124 mod 233
≡ 2016 ⋅ 231 ⋅ 124 mod 233 ≡ 152 ⋅ 231 ⋅ 124 mod 233
≡ 35112 ⋅ 124 mod 233 ≡ 162 ⋅ 124 mod 233
≡ 20088 mod 233 ≡ 50 mod 233
Es gilt also: 124219 ≡ 50 mod 233
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-71-Inverse zur Zahl 48.
Also bestimme x, so dass 48 ⋅ x ≡ 1 mod 71 gilt:
Berechnung des größten gemeinsamen Teilers von 71 und 48
| =>71 | = 1⋅48 + 23 |
| =>48 | = 2⋅23 + 2 |
| =>23 | = 11⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(71,48)=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= 23-11⋅2 | |||
| 2= 48-2⋅23 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅23 -11⋅(48 -2⋅ 23)
= 1⋅23 -11⋅48 +22⋅ 23) = -11⋅48 +23⋅ 23 (=1) |
| 23= 71-1⋅48 | eingesetzt in die Zeile drüber: | 1 |
= -11⋅48 +23⋅(71 -1⋅ 48)
= -11⋅48 +23⋅71 -23⋅ 48) = 23⋅71 -34⋅ 48 (=1) |
Es gilt also: ggt(71,48)=1 = 23⋅71 -34⋅48
oder wenn man 23⋅71 auf die linke Seite bringt:
1 -23⋅71 = -34⋅48
-34⋅48 = -23⋅71 + 1 |+71⋅48
-34⋅48 + 71⋅48 = -23⋅71 + 71⋅48 + 1
(-34 + 71) ⋅ 48 = (-23 + 48) ⋅ 71 + 1
37⋅48 = 25⋅71 + 1
Es gilt also: 37⋅48 = 25⋅71 +1
Somit 37⋅48 = 1 mod 71
37 ist also das Inverse von 48 mod 71
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 47 und q = 37. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
