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: (703 - 274) mod 7.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(703 - 274) mod 7 ≡ (703 mod 7 - 274 mod 7) mod 7.

703 mod 7 ≡ 3 mod 7 kann man relativ leicht bestimmen, weil ja 703 = 700+3 = 7 ⋅ 100 +3.

274 mod 7 ≡ 1 mod 7 kann man relativ leicht bestimmen, weil ja 274 = 280-6 = 7 ⋅ 40 -6 = 7 ⋅ 40 - 7 + 1.

Somit gilt:

(703 - 274) mod 7 ≡ (3 - 1) mod 7 ≡ 2 mod 7.

Modulo multiplizieren

Beispiel:

Berechne ohne WTR: (59 ⋅ 16) mod 7.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(59 ⋅ 16) mod 7 ≡ (59 mod 7 ⋅ 16 mod 7) mod 7.

59 mod 7 ≡ 3 mod 7 kann man relativ leicht bestimmen, weil ja 59 = 56 + 3 = 8 ⋅ 7 + 3 ist.

16 mod 7 ≡ 2 mod 7 kann man relativ leicht bestimmen, weil ja 16 = 14 + 2 = 2 ⋅ 7 + 2 ist.

Somit gilt:

(59 ⋅ 16) mod 7 ≡ (3 ⋅ 2) mod 7 ≡ 6 mod 7.

modulo Potenzieren einfach

Beispiel:

Berechne möglichst geschickt: 4808 mod 509.

Lösung einblenden

Die 8 im Exponent ist ja ein reine 2er-Potenz (23).

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. 480 -> x
2. mod(x²,509) -> 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: 4801=480

2: 4802=4801+1=4801⋅4801 ≡ 480⋅480=230400 ≡ 332 mod 509

4: 4804=4802+2=4802⋅4802 ≡ 332⋅332=110224 ≡ 280 mod 509

8: 4808=4804+4=4804⋅4804 ≡ 280⋅280=78400 ≡ 14 mod 509

modulo Potenzieren große Zahlen

Beispiel:

Berechne möglichst geschickt: 279192 mod 751.

Lösung einblenden

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

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

192 = 128+64

1: 2791=279

2: 2792=2791+1=2791⋅2791 ≡ 279⋅279=77841 ≡ 488 mod 751

4: 2794=2792+2=2792⋅2792 ≡ 488⋅488=238144 ≡ 77 mod 751

8: 2798=2794+4=2794⋅2794 ≡ 77⋅77=5929 ≡ 672 mod 751

16: 27916=2798+8=2798⋅2798 ≡ 672⋅672=451584 ≡ 233 mod 751

32: 27932=27916+16=27916⋅27916 ≡ 233⋅233=54289 ≡ 217 mod 751

64: 27964=27932+32=27932⋅27932 ≡ 217⋅217=47089 ≡ 527 mod 751

128: 279128=27964+64=27964⋅27964 ≡ 527⋅527=277729 ≡ 610 mod 751

279192

= 279128+64

= 279128⋅27964

≡ 610 ⋅ 527 mod 751
≡ 321470 mod 751 ≡ 42 mod 751

Es gilt also: 279192 ≡ 42 mod 751

erweiterter Euklid'scher Algorithmus

Beispiel:

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

Also bestimme x, so dass 18 ⋅ x ≡ 1 mod 61 gilt:

Lösung einblenden

Berechnung des größten gemeinsamen Teilers von 61 und 18

=>61 = 3⋅18 + 7
=>18 = 2⋅7 + 4
=>7 = 1⋅4 + 3
=>4 = 1⋅3 + 1
=>3 = 3⋅1 + 0

also gilt: ggt(61,18)=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= 4-1⋅3
3= 7-1⋅4 eingesetzt in die Zeile drüber: 1 = 1⋅4 -1⋅(7 -1⋅ 4)
= 1⋅4 -1⋅7 +1⋅ 4)
= -1⋅7 +2⋅ 4 (=1)
4= 18-2⋅7 eingesetzt in die Zeile drüber: 1 = -1⋅7 +2⋅(18 -2⋅ 7)
= -1⋅7 +2⋅18 -4⋅ 7)
= 2⋅18 -5⋅ 7 (=1)
7= 61-3⋅18 eingesetzt in die Zeile drüber: 1 = 2⋅18 -5⋅(61 -3⋅ 18)
= 2⋅18 -5⋅61 +15⋅ 18)
= -5⋅61 +17⋅ 18 (=1)

Es gilt also: ggt(61,18)=1 = -5⋅61 +17⋅18

oder wenn man -5⋅61 auf die linke Seite bringt:

1 +5⋅61 = +17⋅18

Es gilt also: 17⋅18 = 5⋅61 +1

Somit 17⋅18 = 1 mod 61

17 ist also das Inverse von 18 mod 61

Schlüsselpaar für RSA

Beispiel:

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