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: (34995 + 13994) mod 7.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(34995 + 13994) mod 7 ≡ (34995 mod 7 + 13994 mod 7) mod 7.

34995 mod 7 ≡ 2 mod 7 kann man relativ leicht bestimmen, weil ja 34995 = 35000-5 = 7 ⋅ 5000 -5 = 7 ⋅ 5000 - 7 + 2.

13994 mod 7 ≡ 1 mod 7 kann man relativ leicht bestimmen, weil ja 13994 = 14000-6 = 7 ⋅ 2000 -6 = 7 ⋅ 2000 - 7 + 1.

Somit gilt:

(34995 + 13994) mod 7 ≡ (2 + 1) mod 7 ≡ 3 mod 7.

Modulo multiplizieren

Beispiel:

Berechne ohne WTR: (48 ⋅ 82) mod 8.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(48 ⋅ 82) mod 8 ≡ (48 mod 8 ⋅ 82 mod 8) mod 8.

48 mod 8 ≡ 0 mod 8 kann man relativ leicht bestimmen, weil ja 48 = 48 + 0 = 6 ⋅ 8 + 0 ist.

82 mod 8 ≡ 2 mod 8 kann man relativ leicht bestimmen, weil ja 82 = 80 + 2 = 10 ⋅ 8 + 2 ist.

Somit gilt:

(48 ⋅ 82) mod 8 ≡ (0 ⋅ 2) mod 8 ≡ 0 mod 8.

modulo Potenzieren einfach

Beispiel:

Berechne möglichst geschickt: 38016 mod 547.

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. 380 -> x
2. mod(x²,547) -> 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: 3801=380

2: 3802=3801+1=3801⋅3801 ≡ 380⋅380=144400 ≡ 539 mod 547

4: 3804=3802+2=3802⋅3802 ≡ 539⋅539=290521 ≡ 64 mod 547

8: 3808=3804+4=3804⋅3804 ≡ 64⋅64=4096 ≡ 267 mod 547

16: 38016=3808+8=3808⋅3808 ≡ 267⋅267=71289 ≡ 179 mod 547

modulo Potenzieren große Zahlen

Beispiel:

Berechne möglichst geschickt: 8666 mod 263.

Lösung einblenden

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

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

66 = 64+2

1: 861=86

2: 862=861+1=861⋅861 ≡ 86⋅86=7396 ≡ 32 mod 263

4: 864=862+2=862⋅862 ≡ 32⋅32=1024 ≡ 235 mod 263

8: 868=864+4=864⋅864 ≡ 235⋅235=55225 ≡ 258 mod 263

16: 8616=868+8=868⋅868 ≡ 258⋅258=66564 ≡ 25 mod 263

32: 8632=8616+16=8616⋅8616 ≡ 25⋅25=625 ≡ 99 mod 263

64: 8664=8632+32=8632⋅8632 ≡ 99⋅99=9801 ≡ 70 mod 263

8666

= 8664+2

= 8664⋅862

70 ⋅ 32 mod 263
2240 mod 263 ≡ 136 mod 263

Es gilt also: 8666 ≡ 136 mod 263

erweiterter Euklid'scher Algorithmus

Beispiel:

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

Also bestimme x, so dass 36 ⋅ x ≡ 1 mod 89 gilt:

Lösung einblenden

Berechnung des größten gemeinsamen Teilers von 89 und 36

=>89 = 2⋅36 + 17
=>36 = 2⋅17 + 2
=>17 = 8⋅2 + 1
=>2 = 2⋅1 + 0

also gilt: ggt(89,36)=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= 17-8⋅2
2= 36-2⋅17 eingesetzt in die Zeile drüber: 1 = 1⋅17 -8⋅(36 -2⋅ 17)
= 1⋅17 -8⋅36 +16⋅ 17)
= -8⋅36 +17⋅ 17 (=1)
17= 89-2⋅36 eingesetzt in die Zeile drüber: 1 = -8⋅36 +17⋅(89 -2⋅ 36)
= -8⋅36 +17⋅89 -34⋅ 36)
= 17⋅89 -42⋅ 36 (=1)

Es gilt also: ggt(89,36)=1 = 17⋅89 -42⋅36

oder wenn man 17⋅89 auf die linke Seite bringt:

1 -17⋅89 = -42⋅36

-42⋅36 = -17⋅89 + 1 |+89⋅36

-42⋅36 + 89⋅36 = -17⋅89 + 89⋅36 + 1

(-42 + 89) ⋅ 36 = (-17 + 36) ⋅ 89 + 1

47⋅36 = 19⋅89 + 1

Es gilt also: 47⋅36 = 19⋅89 +1

Somit 47⋅36 = 1 mod 89

47 ist also das Inverse von 36 mod 89

Schlüsselpaar für RSA

Beispiel:

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