Klasse 5 (G9)
Klasse 6 (G9)
Klasse 7 (G9)
Klasse 8 (G8)
Klasse 9-10 (G8)
Kursstufe (G8)
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: (1498 - 30) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(1498 - 30) mod 3 ≡ (1498 mod 3 - 30 mod 3) mod 3.
1498 mod 3 ≡ 1 mod 3 kann man relativ leicht bestimmen, weil ja 1498
= 1500
30 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 30
= 30
Somit gilt:
(1498 - 30) mod 3 ≡ (1 - 0) mod 3 ≡ 1 mod 3.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (58 ⋅ 55) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(58 ⋅ 55) mod 7 ≡ (58 mod 7 ⋅ 55 mod 7) mod 7.
58 mod 7 ≡ 2 mod 7 kann man relativ leicht bestimmen, weil ja 58 = 56 + 2 = 8 ⋅ 7 + 2 ist.
55 mod 7 ≡ 6 mod 7 kann man relativ leicht bestimmen, weil ja 55 = 49 + 6 = 7 ⋅ 7 + 6 ist.
Somit gilt:
(58 ⋅ 55) mod 7 ≡ (2 ⋅ 6) mod 7 ≡ 12 mod 7 ≡ 5 mod 7.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 1418 mod 419.
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. 141 -> x
2. mod(x²,419) -> 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: 1411=141
2: 1412=1411+1=1411⋅1411 ≡ 141⋅141=19881 ≡ 188 mod 419
4: 1414=1412+2=1412⋅1412 ≡ 188⋅188=35344 ≡ 148 mod 419
8: 1418=1414+4=1414⋅1414 ≡ 148⋅148=21904 ≡ 116 mod 419
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 561137 mod 839.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 137 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 137 an und zerlegen 137 in eine Summer von 2er-Potenzen:
137 = 128+8+1
1: 5611=561
2: 5612=5611+1=5611⋅5611 ≡ 561⋅561=314721 ≡ 96 mod 839
4: 5614=5612+2=5612⋅5612 ≡ 96⋅96=9216 ≡ 826 mod 839
8: 5618=5614+4=5614⋅5614 ≡ 826⋅826=682276 ≡ 169 mod 839
16: 56116=5618+8=5618⋅5618 ≡ 169⋅169=28561 ≡ 35 mod 839
32: 56132=56116+16=56116⋅56116 ≡ 35⋅35=1225 ≡ 386 mod 839
64: 56164=56132+32=56132⋅56132 ≡ 386⋅386=148996 ≡ 493 mod 839
128: 561128=56164+64=56164⋅56164 ≡ 493⋅493=243049 ≡ 578 mod 839
561137
= 561128+8+1
= 561128⋅5618⋅5611
≡ 578 ⋅ 169 ⋅ 561 mod 839
≡ 97682 ⋅ 561 mod 839 ≡ 358 ⋅ 561 mod 839
≡ 200838 mod 839 ≡ 317 mod 839
Es gilt also: 561137 ≡ 317 mod 839
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-71-Inverse zur Zahl 55.
Also bestimme x, so dass 55 ⋅ x ≡ 1 mod 71 gilt:
Berechnung des größten gemeinsamen Teilers von 71 und 55
| =>71 | = 1⋅55 + 16 |
| =>55 | = 3⋅16 + 7 |
| =>16 | = 2⋅7 + 2 |
| =>7 | = 3⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(71,55)=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= 7-3⋅2 | |||
| 2= 16-2⋅7 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅7 -3⋅(16 -2⋅ 7)
= 1⋅7 -3⋅16 +6⋅ 7) = -3⋅16 +7⋅ 7 (=1) |
| 7= 55-3⋅16 | eingesetzt in die Zeile drüber: | 1 |
= -3⋅16 +7⋅(55 -3⋅ 16)
= -3⋅16 +7⋅55 -21⋅ 16) = 7⋅55 -24⋅ 16 (=1) |
| 16= 71-1⋅55 | eingesetzt in die Zeile drüber: | 1 |
= 7⋅55 -24⋅(71 -1⋅ 55)
= 7⋅55 -24⋅71 +24⋅ 55) = -24⋅71 +31⋅ 55 (=1) |
Es gilt also: ggt(71,55)=1 = -24⋅71 +31⋅55
oder wenn man -24⋅71 auf die linke Seite bringt:
1 +24⋅71 = +31⋅55
Es gilt also: 31⋅55 = 24⋅71 +1
Somit 31⋅55 = 1 mod 71
31 ist also das Inverse von 55 mod 71
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 101 und q = 43. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
