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: (122 + 65) mod 6.
Um längere Rechnungen zu vermeiden, rechnen wir:
(122 + 65) mod 6 ≡ (122 mod 6 + 65 mod 6) mod 6.
122 mod 6 ≡ 2 mod 6 kann man relativ leicht bestimmen, weil ja 122
= 120
65 mod 6 ≡ 5 mod 6 kann man relativ leicht bestimmen, weil ja 65
= 60
Somit gilt:
(122 + 65) mod 6 ≡ (2 + 5) mod 6 ≡ 7 mod 6 ≡ 1 mod 6.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (82 ⋅ 29) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(82 ⋅ 29) mod 7 ≡ (82 mod 7 ⋅ 29 mod 7) mod 7.
82 mod 7 ≡ 5 mod 7 kann man relativ leicht bestimmen, weil ja 82 = 77 + 5 = 11 ⋅ 7 + 5 ist.
29 mod 7 ≡ 1 mod 7 kann man relativ leicht bestimmen, weil ja 29 = 28 + 1 = 4 ⋅ 7 + 1 ist.
Somit gilt:
(82 ⋅ 29) mod 7 ≡ (5 ⋅ 1) mod 7 ≡ 5 mod 7.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 3548 mod 463.
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. 354 -> x
2. mod(x²,463) -> 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: 3541=354
2: 3542=3541+1=3541⋅3541 ≡ 354⋅354=125316 ≡ 306 mod 463
4: 3544=3542+2=3542⋅3542 ≡ 306⋅306=93636 ≡ 110 mod 463
8: 3548=3544+4=3544⋅3544 ≡ 110⋅110=12100 ≡ 62 mod 463
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 639170 mod 739.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 170 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 170 an und zerlegen 170 in eine Summer von 2er-Potenzen:
170 = 128+32+8+2
1: 6391=639
2: 6392=6391+1=6391⋅6391 ≡ 639⋅639=408321 ≡ 393 mod 739
4: 6394=6392+2=6392⋅6392 ≡ 393⋅393=154449 ≡ 737 mod 739
8: 6398=6394+4=6394⋅6394 ≡ 737⋅737=543169 ≡ 4 mod 739
16: 63916=6398+8=6398⋅6398 ≡ 4⋅4=16 ≡ 16 mod 739
32: 63932=63916+16=63916⋅63916 ≡ 16⋅16=256 ≡ 256 mod 739
64: 63964=63932+32=63932⋅63932 ≡ 256⋅256=65536 ≡ 504 mod 739
128: 639128=63964+64=63964⋅63964 ≡ 504⋅504=254016 ≡ 539 mod 739
639170
= 639128+32+8+2
= 639128⋅63932⋅6398⋅6392
≡ 539 ⋅ 256 ⋅ 4 ⋅ 393 mod 739
≡ 137984 ⋅ 4 ⋅ 393 mod 739 ≡ 530 ⋅ 4 ⋅ 393 mod 739
≡ 2120 ⋅ 393 mod 739 ≡ 642 ⋅ 393 mod 739
≡ 252306 mod 739 ≡ 307 mod 739
Es gilt also: 639170 ≡ 307 mod 739
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-61-Inverse zur Zahl 50.
Also bestimme x, so dass 50 ⋅ x ≡ 1 mod 61 gilt:
Berechnung des größten gemeinsamen Teilers von 61 und 50
| =>61 | = 1⋅50 + 11 |
| =>50 | = 4⋅11 + 6 |
| =>11 | = 1⋅6 + 5 |
| =>6 | = 1⋅5 + 1 |
| =>5 | = 5⋅1 + 0 |
also gilt: ggt(61,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= 6-1⋅5 | |||
| 5= 11-1⋅6 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅6 -1⋅(11 -1⋅ 6)
= 1⋅6 -1⋅11 +1⋅ 6) = -1⋅11 +2⋅ 6 (=1) |
| 6= 50-4⋅11 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅11 +2⋅(50 -4⋅ 11)
= -1⋅11 +2⋅50 -8⋅ 11) = 2⋅50 -9⋅ 11 (=1) |
| 11= 61-1⋅50 | eingesetzt in die Zeile drüber: | 1 |
= 2⋅50 -9⋅(61 -1⋅ 50)
= 2⋅50 -9⋅61 +9⋅ 50) = -9⋅61 +11⋅ 50 (=1) |
Es gilt also: ggt(61,50)=1 = -9⋅61 +11⋅50
oder wenn man -9⋅61 auf die linke Seite bringt:
1 +9⋅61 = +11⋅50
Es gilt also: 11⋅50 = 9⋅61 +1
Somit 11⋅50 = 1 mod 61
11 ist also das Inverse von 50 mod 61
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.
