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: (5000 - 14997) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(5000 - 14997) mod 5 ≡ (5000 mod 5 - 14997 mod 5) mod 5.
5000 mod 5 ≡ 0 mod 5 kann man relativ leicht bestimmen, weil ja 5000
= 5000
14997 mod 5 ≡ 2 mod 5 kann man relativ leicht bestimmen, weil ja 14997
= 14000
Somit gilt:
(5000 - 14997) mod 5 ≡ (0 - 2) mod 5 ≡ -2 mod 5 ≡ 3 mod 5.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (67 ⋅ 84) mod 10.
Um längere Rechnungen zu vermeiden, rechnen wir:
(67 ⋅ 84) mod 10 ≡ (67 mod 10 ⋅ 84 mod 10) mod 10.
67 mod 10 ≡ 7 mod 10 kann man relativ leicht bestimmen, weil ja 67 = 60 + 7 = 6 ⋅ 10 + 7 ist.
84 mod 10 ≡ 4 mod 10 kann man relativ leicht bestimmen, weil ja 84 = 80 + 4 = 8 ⋅ 10 + 4 ist.
Somit gilt:
(67 ⋅ 84) mod 10 ≡ (7 ⋅ 4) mod 10 ≡ 28 mod 10 ≡ 8 mod 10.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 24964 mod 631.
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. 249 -> x
2. mod(x²,631) -> 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: 2491=249
2: 2492=2491+1=2491⋅2491 ≡ 249⋅249=62001 ≡ 163 mod 631
4: 2494=2492+2=2492⋅2492 ≡ 163⋅163=26569 ≡ 67 mod 631
8: 2498=2494+4=2494⋅2494 ≡ 67⋅67=4489 ≡ 72 mod 631
16: 24916=2498+8=2498⋅2498 ≡ 72⋅72=5184 ≡ 136 mod 631
32: 24932=24916+16=24916⋅24916 ≡ 136⋅136=18496 ≡ 197 mod 631
64: 24964=24932+32=24932⋅24932 ≡ 197⋅197=38809 ≡ 318 mod 631
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 521128 mod 557.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 128 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 128 an und zerlegen 128 in eine Summer von 2er-Potenzen:
128 = 128
1: 5211=521
2: 5212=5211+1=5211⋅5211 ≡ 521⋅521=271441 ≡ 182 mod 557
4: 5214=5212+2=5212⋅5212 ≡ 182⋅182=33124 ≡ 261 mod 557
8: 5218=5214+4=5214⋅5214 ≡ 261⋅261=68121 ≡ 167 mod 557
16: 52116=5218+8=5218⋅5218 ≡ 167⋅167=27889 ≡ 39 mod 557
32: 52132=52116+16=52116⋅52116 ≡ 39⋅39=1521 ≡ 407 mod 557
64: 52164=52132+32=52132⋅52132 ≡ 407⋅407=165649 ≡ 220 mod 557
128: 521128=52164+64=52164⋅52164 ≡ 220⋅220=48400 ≡ 498 mod 557
521128
= 521128
= 521128
≡ 498 mod 557
Es gilt also: 521128 ≡ 498 mod 557
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-89-Inverse zur Zahl 37.
Also bestimme x, so dass 37 ⋅ x ≡ 1 mod 89 gilt:
Berechnung des größten gemeinsamen Teilers von 89 und 37
| =>89 | = 2⋅37 + 15 |
| =>37 | = 2⋅15 + 7 |
| =>15 | = 2⋅7 + 1 |
| =>7 | = 7⋅1 + 0 |
also gilt: ggt(89,37)=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= 15-2⋅7 | |||
| 7= 37-2⋅15 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅15 -2⋅(37 -2⋅ 15)
= 1⋅15 -2⋅37 +4⋅ 15) = -2⋅37 +5⋅ 15 (=1) |
| 15= 89-2⋅37 | eingesetzt in die Zeile drüber: | 1 |
= -2⋅37 +5⋅(89 -2⋅ 37)
= -2⋅37 +5⋅89 -10⋅ 37) = 5⋅89 -12⋅ 37 (=1) |
Es gilt also: ggt(89,37)=1 = 5⋅89 -12⋅37
oder wenn man 5⋅89 auf die linke Seite bringt:
1 -5⋅89 = -12⋅37
-12⋅37 = -5⋅89 + 1 |+89⋅37
-12⋅37 + 89⋅37 = -5⋅89 + 89⋅37 + 1
(-12 + 89) ⋅ 37 = (-5 + 37) ⋅ 89 + 1
77⋅37 = 32⋅89 + 1
Es gilt also: 77⋅37 = 32⋅89 +1
Somit 77⋅37 = 1 mod 89
77 ist also das Inverse von 37 mod 89
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 83 und q = 71. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
