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: (202 + 5001) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(202 + 5001) mod 5 ≡ (202 mod 5 + 5001 mod 5) mod 5.
202 mod 5 ≡ 2 mod 5 kann man relativ leicht bestimmen, weil ja 202
= 200
5001 mod 5 ≡ 1 mod 5 kann man relativ leicht bestimmen, weil ja 5001
= 5000
Somit gilt:
(202 + 5001) mod 5 ≡ (2 + 1) mod 5 ≡ 3 mod 5.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (27 ⋅ 81) mod 11.
Um längere Rechnungen zu vermeiden, rechnen wir:
(27 ⋅ 81) mod 11 ≡ (27 mod 11 ⋅ 81 mod 11) mod 11.
27 mod 11 ≡ 5 mod 11 kann man relativ leicht bestimmen, weil ja 27 = 22 + 5 = 2 ⋅ 11 + 5 ist.
81 mod 11 ≡ 4 mod 11 kann man relativ leicht bestimmen, weil ja 81 = 77 + 4 = 7 ⋅ 11 + 4 ist.
Somit gilt:
(27 ⋅ 81) mod 11 ≡ (5 ⋅ 4) mod 11 ≡ 20 mod 11 ≡ 9 mod 11.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 2278 mod 643.
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. 227 -> x
2. mod(x²,643) -> 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: 2271=227
2: 2272=2271+1=2271⋅2271 ≡ 227⋅227=51529 ≡ 89 mod 643
4: 2274=2272+2=2272⋅2272 ≡ 89⋅89=7921 ≡ 205 mod 643
8: 2278=2274+4=2274⋅2274 ≡ 205⋅205=42025 ≡ 230 mod 643
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 336230 mod 401.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 230 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 230 an und zerlegen 230 in eine Summer von 2er-Potenzen:
230 = 128+64+32+4+2
1: 3361=336
2: 3362=3361+1=3361⋅3361 ≡ 336⋅336=112896 ≡ 215 mod 401
4: 3364=3362+2=3362⋅3362 ≡ 215⋅215=46225 ≡ 110 mod 401
8: 3368=3364+4=3364⋅3364 ≡ 110⋅110=12100 ≡ 70 mod 401
16: 33616=3368+8=3368⋅3368 ≡ 70⋅70=4900 ≡ 88 mod 401
32: 33632=33616+16=33616⋅33616 ≡ 88⋅88=7744 ≡ 125 mod 401
64: 33664=33632+32=33632⋅33632 ≡ 125⋅125=15625 ≡ 387 mod 401
128: 336128=33664+64=33664⋅33664 ≡ 387⋅387=149769 ≡ 196 mod 401
336230
= 336128+64+32+4+2
= 336128⋅33664⋅33632⋅3364⋅3362
≡ 196 ⋅ 387 ⋅ 125 ⋅ 110 ⋅ 215 mod 401
≡ 75852 ⋅ 125 ⋅ 110 ⋅ 215 mod 401 ≡ 63 ⋅ 125 ⋅ 110 ⋅ 215 mod 401
≡ 7875 ⋅ 110 ⋅ 215 mod 401 ≡ 256 ⋅ 110 ⋅ 215 mod 401
≡ 28160 ⋅ 215 mod 401 ≡ 90 ⋅ 215 mod 401
≡ 19350 mod 401 ≡ 102 mod 401
Es gilt also: 336230 ≡ 102 mod 401
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-101-Inverse zur Zahl 87.
Also bestimme x, so dass 87 ⋅ x ≡ 1 mod 101 gilt:
Berechnung des größten gemeinsamen Teilers von 101 und 87
| =>101 | = 1⋅87 + 14 |
| =>87 | = 6⋅14 + 3 |
| =>14 | = 4⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(101,87)=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= 14-4⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(14 -4⋅ 3)
= 1⋅3 -1⋅14 +4⋅ 3) = -1⋅14 +5⋅ 3 (=1) |
| 3= 87-6⋅14 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅14 +5⋅(87 -6⋅ 14)
= -1⋅14 +5⋅87 -30⋅ 14) = 5⋅87 -31⋅ 14 (=1) |
| 14= 101-1⋅87 | eingesetzt in die Zeile drüber: | 1 |
= 5⋅87 -31⋅(101 -1⋅ 87)
= 5⋅87 -31⋅101 +31⋅ 87) = -31⋅101 +36⋅ 87 (=1) |
Es gilt also: ggt(101,87)=1 = -31⋅101 +36⋅87
oder wenn man -31⋅101 auf die linke Seite bringt:
1 +31⋅101 = +36⋅87
Es gilt also: 36⋅87 = 31⋅101 +1
Somit 36⋅87 = 1 mod 101
36 ist also das Inverse von 87 mod 101
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 67 und q = 59. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
