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: (802 + 23997) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(802 + 23997) mod 8 ≡ (802 mod 8 + 23997 mod 8) mod 8.
802 mod 8 ≡ 2 mod 8 kann man relativ leicht bestimmen, weil ja 802
= 800
23997 mod 8 ≡ 5 mod 8 kann man relativ leicht bestimmen, weil ja 23997
= 23000
Somit gilt:
(802 + 23997) mod 8 ≡ (2 + 5) mod 8 ≡ 7 mod 8.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (64 ⋅ 27) mod 10.
Um längere Rechnungen zu vermeiden, rechnen wir:
(64 ⋅ 27) mod 10 ≡ (64 mod 10 ⋅ 27 mod 10) mod 10.
64 mod 10 ≡ 4 mod 10 kann man relativ leicht bestimmen, weil ja 64 = 60 + 4 = 6 ⋅ 10 + 4 ist.
27 mod 10 ≡ 7 mod 10 kann man relativ leicht bestimmen, weil ja 27 = 20 + 7 = 2 ⋅ 10 + 7 ist.
Somit gilt:
(64 ⋅ 27) mod 10 ≡ (4 ⋅ 7) mod 10 ≡ 28 mod 10 ≡ 8 mod 10.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 51364 mod 757.
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. 513 -> x
2. mod(x²,757) -> 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: 5131=513
2: 5132=5131+1=5131⋅5131 ≡ 513⋅513=263169 ≡ 490 mod 757
4: 5134=5132+2=5132⋅5132 ≡ 490⋅490=240100 ≡ 131 mod 757
8: 5138=5134+4=5134⋅5134 ≡ 131⋅131=17161 ≡ 507 mod 757
16: 51316=5138+8=5138⋅5138 ≡ 507⋅507=257049 ≡ 426 mod 757
32: 51332=51316+16=51316⋅51316 ≡ 426⋅426=181476 ≡ 553 mod 757
64: 51364=51332+32=51332⋅51332 ≡ 553⋅553=305809 ≡ 738 mod 757
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 85116 mod 223.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 116 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 116 an und zerlegen 116 in eine Summer von 2er-Potenzen:
116 = 64+32+16+4
1: 851=85
2: 852=851+1=851⋅851 ≡ 85⋅85=7225 ≡ 89 mod 223
4: 854=852+2=852⋅852 ≡ 89⋅89=7921 ≡ 116 mod 223
8: 858=854+4=854⋅854 ≡ 116⋅116=13456 ≡ 76 mod 223
16: 8516=858+8=858⋅858 ≡ 76⋅76=5776 ≡ 201 mod 223
32: 8532=8516+16=8516⋅8516 ≡ 201⋅201=40401 ≡ 38 mod 223
64: 8564=8532+32=8532⋅8532 ≡ 38⋅38=1444 ≡ 106 mod 223
85116
= 8564+32+16+4
= 8564⋅8532⋅8516⋅854
≡ 106 ⋅ 38 ⋅ 201 ⋅ 116 mod 223
≡ 4028 ⋅ 201 ⋅ 116 mod 223 ≡ 14 ⋅ 201 ⋅ 116 mod 223
≡ 2814 ⋅ 116 mod 223 ≡ 138 ⋅ 116 mod 223
≡ 16008 mod 223 ≡ 175 mod 223
Es gilt also: 85116 ≡ 175 mod 223
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-61-Inverse zur Zahl 28.
Also bestimme x, so dass 28 ⋅ x ≡ 1 mod 61 gilt:
Berechnung des größten gemeinsamen Teilers von 61 und 28
| =>61 | = 2⋅28 + 5 |
| =>28 | = 5⋅5 + 3 |
| =>5 | = 1⋅3 + 2 |
| =>3 | = 1⋅2 + 1 |
| =>2 | = 2⋅1 + 0 |
also gilt: ggt(61,28)=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= 5-1⋅3 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅3 -1⋅(5 -1⋅ 3)
= 1⋅3 -1⋅5 +1⋅ 3) = -1⋅5 +2⋅ 3 (=1) |
| 3= 28-5⋅5 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅5 +2⋅(28 -5⋅ 5)
= -1⋅5 +2⋅28 -10⋅ 5) = 2⋅28 -11⋅ 5 (=1) |
| 5= 61-2⋅28 | eingesetzt in die Zeile drüber: | 1 |
= 2⋅28 -11⋅(61 -2⋅ 28)
= 2⋅28 -11⋅61 +22⋅ 28) = -11⋅61 +24⋅ 28 (=1) |
Es gilt also: ggt(61,28)=1 = -11⋅61 +24⋅28
oder wenn man -11⋅61 auf die linke Seite bringt:
1 +11⋅61 = +24⋅28
Es gilt also: 24⋅28 = 11⋅61 +1
Somit 24⋅28 = 1 mod 61
24 ist also das Inverse von 28 mod 61
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 79 und q = 53. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
