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: (57 + 6003) mod 3.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(57 + 6003) mod 3 ≡ (57 mod 3 + 6003 mod 3) mod 3.

57 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 57 = 60-3 = 3 ⋅ 20 -3 = 3 ⋅ 20 - 3 + 0.

6003 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 6003 = 6000+3 = 3 ⋅ 2000 +3.

Somit gilt:

(57 + 6003) mod 3 ≡ (0 + 0) mod 3 ≡ 0 mod 3.

Modulo multiplizieren

Beispiel:

Berechne ohne WTR: (77 ⋅ 93) mod 5.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(77 ⋅ 93) mod 5 ≡ (77 mod 5 ⋅ 93 mod 5) mod 5.

77 mod 5 ≡ 2 mod 5 kann man relativ leicht bestimmen, weil ja 77 = 75 + 2 = 15 ⋅ 5 + 2 ist.

93 mod 5 ≡ 3 mod 5 kann man relativ leicht bestimmen, weil ja 93 = 90 + 3 = 18 ⋅ 5 + 3 ist.

Somit gilt:

(77 ⋅ 93) mod 5 ≡ (2 ⋅ 3) mod 5 ≡ 6 mod 5 ≡ 1 mod 5.

modulo Potenzieren einfach

Beispiel:

Berechne möglichst geschickt: 16332 mod 491.

Lösung einblenden

Die 32 im Exponent ist ja ein reine 2er-Potenz (25).

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. 163 -> x
2. mod(x²,491) -> 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: 1631=163

2: 1632=1631+1=1631⋅1631 ≡ 163⋅163=26569 ≡ 55 mod 491

4: 1634=1632+2=1632⋅1632 ≡ 55⋅55=3025 ≡ 79 mod 491

8: 1638=1634+4=1634⋅1634 ≡ 79⋅79=6241 ≡ 349 mod 491

16: 16316=1638+8=1638⋅1638 ≡ 349⋅349=121801 ≡ 33 mod 491

32: 16332=16316+16=16316⋅16316 ≡ 33⋅33=1089 ≡ 107 mod 491

modulo Potenzieren große Zahlen

Beispiel:

Berechne möglichst geschickt: 19164 mod 389.

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: 1911=191

2: 1912=1911+1=1911⋅1911 ≡ 191⋅191=36481 ≡ 304 mod 389

4: 1914=1912+2=1912⋅1912 ≡ 304⋅304=92416 ≡ 223 mod 389

8: 1918=1914+4=1914⋅1914 ≡ 223⋅223=49729 ≡ 326 mod 389

16: 19116=1918+8=1918⋅1918 ≡ 326⋅326=106276 ≡ 79 mod 389

32: 19132=19116+16=19116⋅19116 ≡ 79⋅79=6241 ≡ 17 mod 389

64: 19164=19132+32=19132⋅19132 ≡ 17⋅17=289 ≡ 289 mod 389

19164

= 19164

= 19164

289 mod 389

Es gilt also: 19164 ≡ 289 mod 389

erweiterter Euklid'scher Algorithmus

Beispiel:

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

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

Lösung einblenden

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

=>59 = 2⋅27 + 5
=>27 = 5⋅5 + 2
=>5 = 2⋅2 + 1
=>2 = 2⋅1 + 0

also gilt: ggt(59,27)=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= 5-2⋅2
2= 27-5⋅5 eingesetzt in die Zeile drüber: 1 = 1⋅5 -2⋅(27 -5⋅ 5)
= 1⋅5 -2⋅27 +10⋅ 5)
= -2⋅27 +11⋅ 5 (=1)
5= 59-2⋅27 eingesetzt in die Zeile drüber: 1 = -2⋅27 +11⋅(59 -2⋅ 27)
= -2⋅27 +11⋅59 -22⋅ 27)
= 11⋅59 -24⋅ 27 (=1)

Es gilt also: ggt(59,27)=1 = 11⋅59 -24⋅27

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

1 -11⋅59 = -24⋅27

-24⋅27 = -11⋅59 + 1 |+59⋅27

-24⋅27 + 59⋅27 = -11⋅59 + 59⋅27 + 1

(-24 + 59) ⋅ 27 = (-11 + 27) ⋅ 59 + 1

35⋅27 = 16⋅59 + 1

Es gilt also: 35⋅27 = 16⋅59 +1

Somit 35⋅27 = 1 mod 59

35 ist also das Inverse von 27 mod 59

Schlüsselpaar für RSA

Beispiel:

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