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: (12000 - 163) mod 4.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(12000 - 163) mod 4 ≡ (12000 mod 4 - 163 mod 4) mod 4.

12000 mod 4 ≡ 0 mod 4 kann man relativ leicht bestimmen, weil ja 12000 = 12000+0 = 4 ⋅ 3000 +0.

163 mod 4 ≡ 3 mod 4 kann man relativ leicht bestimmen, weil ja 163 = 160+3 = 4 ⋅ 40 +3.

Somit gilt:

(12000 - 163) mod 4 ≡ (0 - 3) mod 4 ≡ -3 mod 4 ≡ 1 mod 4.

Modulo multiplizieren

Beispiel:

Berechne ohne WTR: (28 ⋅ 45) mod 3.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(28 ⋅ 45) mod 3 ≡ (28 mod 3 ⋅ 45 mod 3) mod 3.

28 mod 3 ≡ 1 mod 3 kann man relativ leicht bestimmen, weil ja 28 = 27 + 1 = 9 ⋅ 3 + 1 ist.

45 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 45 = 45 + 0 = 15 ⋅ 3 + 0 ist.

Somit gilt:

(28 ⋅ 45) mod 3 ≡ (1 ⋅ 0) mod 3 ≡ 0 mod 3.

modulo Potenzieren einfach

Beispiel:

Berechne möglichst geschickt: 28616 mod 307.

Lösung einblenden

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. 286 -> x
2. mod(x²,307) -> 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: 2861=286

2: 2862=2861+1=2861⋅2861 ≡ 286⋅286=81796 ≡ 134 mod 307

4: 2864=2862+2=2862⋅2862 ≡ 134⋅134=17956 ≡ 150 mod 307

8: 2868=2864+4=2864⋅2864 ≡ 150⋅150=22500 ≡ 89 mod 307

16: 28616=2868+8=2868⋅2868 ≡ 89⋅89=7921 ≡ 246 mod 307

modulo Potenzieren große Zahlen

Beispiel:

Berechne möglichst geschickt: 38964 mod 557.

Lösung einblenden

Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 64 (grauer Kasten).

Dann schauen wir die Binärdarstellung von 64 an und zerlegen 64 in eine Summer von 2er-Potenzen:

64 = 64

1: 3891=389

2: 3892=3891+1=3891⋅3891 ≡ 389⋅389=151321 ≡ 374 mod 557

4: 3894=3892+2=3892⋅3892 ≡ 374⋅374=139876 ≡ 69 mod 557

8: 3898=3894+4=3894⋅3894 ≡ 69⋅69=4761 ≡ 305 mod 557

16: 38916=3898+8=3898⋅3898 ≡ 305⋅305=93025 ≡ 6 mod 557

32: 38932=38916+16=38916⋅38916 ≡ 6⋅6=36 ≡ 36 mod 557

64: 38964=38932+32=38932⋅38932 ≡ 36⋅36=1296 ≡ 182 mod 557

38964

= 38964

= 38964

182 mod 557

Es gilt also: 38964 ≡ 182 mod 557

erweiterter Euklid'scher Algorithmus

Beispiel:

Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-59-Inverse zur Zahl 40.

Also bestimme x, so dass 40 ⋅ x ≡ 1 mod 59 gilt:

Lösung einblenden

Berechnung des größten gemeinsamen Teilers von 59 und 40

=>59 = 1⋅40 + 19
=>40 = 2⋅19 + 2
=>19 = 9⋅2 + 1
=>2 = 2⋅1 + 0

also gilt: ggt(59,40)=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= 19-9⋅2
2= 40-2⋅19 eingesetzt in die Zeile drüber: 1 = 1⋅19 -9⋅(40 -2⋅ 19)
= 1⋅19 -9⋅40 +18⋅ 19)
= -9⋅40 +19⋅ 19 (=1)
19= 59-1⋅40 eingesetzt in die Zeile drüber: 1 = -9⋅40 +19⋅(59 -1⋅ 40)
= -9⋅40 +19⋅59 -19⋅ 40)
= 19⋅59 -28⋅ 40 (=1)

Es gilt also: ggt(59,40)=1 = 19⋅59 -28⋅40

oder wenn man 19⋅59 auf die linke Seite bringt:

1 -19⋅59 = -28⋅40

-28⋅40 = -19⋅59 + 1 |+59⋅40

-28⋅40 + 59⋅40 = -19⋅59 + 59⋅40 + 1

(-28 + 59) ⋅ 40 = (-19 + 40) ⋅ 59 + 1

31⋅40 = 21⋅59 + 1

Es gilt also: 31⋅40 = 21⋅59 +1

Somit 31⋅40 = 1 mod 59

31 ist also das Inverse von 40 mod 59

Schlüsselpaar für RSA

Beispiel:

Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 37 und q = 67. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.