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: (20997 + 63) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(20997 + 63) mod 7 ≡ (20997 mod 7 + 63 mod 7) mod 7.
20997 mod 7 ≡ 4 mod 7 kann man relativ leicht bestimmen, weil ja 20997
= 21000
63 mod 7 ≡ 0 mod 7 kann man relativ leicht bestimmen, weil ja 63
= 70
Somit gilt:
(20997 + 63) mod 7 ≡ (4 + 0) mod 7 ≡ 4 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (100 ⋅ 17) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(100 ⋅ 17) mod 9 ≡ (100 mod 9 ⋅ 17 mod 9) mod 9.
100 mod 9 ≡ 1 mod 9 kann man relativ leicht bestimmen, weil ja 100 = 99 + 1 = 11 ⋅ 9 + 1 ist.
17 mod 9 ≡ 8 mod 9 kann man relativ leicht bestimmen, weil ja 17 = 9 + 8 = 1 ⋅ 9 + 8 ist.
Somit gilt:
(100 ⋅ 17) mod 9 ≡ (1 ⋅ 8) mod 9 ≡ 8 mod 9.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 67216 mod 701.
Die 16 im Exponent ist ja ein reine 2er-Potenz (24).
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. 672 -> x
2. mod(x²,701) -> 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: 6721=672
2: 6722=6721+1=6721⋅6721 ≡ 672⋅672=451584 ≡ 140 mod 701
4: 6724=6722+2=6722⋅6722 ≡ 140⋅140=19600 ≡ 673 mod 701
8: 6728=6724+4=6724⋅6724 ≡ 673⋅673=452929 ≡ 83 mod 701
16: 67216=6728+8=6728⋅6728 ≡ 83⋅83=6889 ≡ 580 mod 701
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 832228 mod 953.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 228 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 228 an und zerlegen 228 in eine Summer von 2er-Potenzen:
228 = 128+64+32+4
1: 8321=832
2: 8322=8321+1=8321⋅8321 ≡ 832⋅832=692224 ≡ 346 mod 953
4: 8324=8322+2=8322⋅8322 ≡ 346⋅346=119716 ≡ 591 mod 953
8: 8328=8324+4=8324⋅8324 ≡ 591⋅591=349281 ≡ 483 mod 953
16: 83216=8328+8=8328⋅8328 ≡ 483⋅483=233289 ≡ 757 mod 953
32: 83232=83216+16=83216⋅83216 ≡ 757⋅757=573049 ≡ 296 mod 953
64: 83264=83232+32=83232⋅83232 ≡ 296⋅296=87616 ≡ 893 mod 953
128: 832128=83264+64=83264⋅83264 ≡ 893⋅893=797449 ≡ 741 mod 953
832228
= 832128+64+32+4
= 832128⋅83264⋅83232⋅8324
≡ 741 ⋅ 893 ⋅ 296 ⋅ 591 mod 953
≡ 661713 ⋅ 296 ⋅ 591 mod 953 ≡ 331 ⋅ 296 ⋅ 591 mod 953
≡ 97976 ⋅ 591 mod 953 ≡ 770 ⋅ 591 mod 953
≡ 455070 mod 953 ≡ 489 mod 953
Es gilt also: 832228 ≡ 489 mod 953
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-79-Inverse zur Zahl 69.
Also bestimme x, so dass 69 ⋅ x ≡ 1 mod 79 gilt:
Berechnung des größten gemeinsamen Teilers von 79 und 69
| =>79 | = 1⋅69 + 10 |
| =>69 | = 6⋅10 + 9 |
| =>10 | = 1⋅9 + 1 |
| =>9 | = 9⋅1 + 0 |
also gilt: ggt(79,69)=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= 10-1⋅9 | |||
| 9= 69-6⋅10 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅10 -1⋅(69 -6⋅ 10)
= 1⋅10 -1⋅69 +6⋅ 10) = -1⋅69 +7⋅ 10 (=1) |
| 10= 79-1⋅69 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅69 +7⋅(79 -1⋅ 69)
= -1⋅69 +7⋅79 -7⋅ 69) = 7⋅79 -8⋅ 69 (=1) |
Es gilt also: ggt(79,69)=1 = 7⋅79 -8⋅69
oder wenn man 7⋅79 auf die linke Seite bringt:
1 -7⋅79 = -8⋅69
-8⋅69 = -7⋅79 + 1 |+79⋅69
-8⋅69 + 79⋅69 = -7⋅79 + 79⋅69 + 1
(-8 + 79) ⋅ 69 = (-7 + 69) ⋅ 79 + 1
71⋅69 = 62⋅79 + 1
Es gilt also: 71⋅69 = 62⋅79 +1
Somit 71⋅69 = 1 mod 79
71 ist also das Inverse von 69 mod 79
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 73 und q = 43. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
