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: (33 - 149) mod 3.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(33 - 149) mod 3 ≡ (33 mod 3 - 149 mod 3) mod 3.

33 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 33 = 30+3 = 3 ⋅ 10 +3.

149 mod 3 ≡ 2 mod 3 kann man relativ leicht bestimmen, weil ja 149 = 150-1 = 3 ⋅ 50 -1 = 3 ⋅ 50 - 3 + 2.

Somit gilt:

(33 - 149) mod 3 ≡ (0 - 2) mod 3 ≡ -2 mod 3 ≡ 1 mod 3.

Modulo multiplizieren

Beispiel:

Berechne ohne WTR: (40 ⋅ 62) mod 10.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(40 ⋅ 62) mod 10 ≡ (40 mod 10 ⋅ 62 mod 10) mod 10.

40 mod 10 ≡ 0 mod 10 kann man relativ leicht bestimmen, weil ja 40 = 40 + 0 = 4 ⋅ 10 + 0 ist.

62 mod 10 ≡ 2 mod 10 kann man relativ leicht bestimmen, weil ja 62 = 60 + 2 = 6 ⋅ 10 + 2 ist.

Somit gilt:

(40 ⋅ 62) mod 10 ≡ (0 ⋅ 2) mod 10 ≡ 0 mod 10.

modulo Potenzieren einfach

Beispiel:

Berechne möglichst geschickt: 3568 mod 431.

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. 356 -> x
2. mod(x²,431) -> 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: 3561=356

2: 3562=3561+1=3561⋅3561 ≡ 356⋅356=126736 ≡ 22 mod 431

4: 3564=3562+2=3562⋅3562 ≡ 22⋅22=484 ≡ 53 mod 431

8: 3568=3564+4=3564⋅3564 ≡ 53⋅53=2809 ≡ 223 mod 431

modulo Potenzieren große Zahlen

Beispiel:

Berechne möglichst geschickt: 41186 mod 761.

Lösung einblenden

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

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

86 = 64+16+4+2

1: 4111=411

2: 4112=4111+1=4111⋅4111 ≡ 411⋅411=168921 ≡ 740 mod 761

4: 4114=4112+2=4112⋅4112 ≡ 740⋅740=547600 ≡ 441 mod 761

8: 4118=4114+4=4114⋅4114 ≡ 441⋅441=194481 ≡ 426 mod 761

16: 41116=4118+8=4118⋅4118 ≡ 426⋅426=181476 ≡ 358 mod 761

32: 41132=41116+16=41116⋅41116 ≡ 358⋅358=128164 ≡ 316 mod 761

64: 41164=41132+32=41132⋅41132 ≡ 316⋅316=99856 ≡ 165 mod 761

41186

= 41164+16+4+2

= 41164⋅41116⋅4114⋅4112

165 ⋅ 358 ⋅ 441 ⋅ 740 mod 761
59070 ⋅ 441 ⋅ 740 mod 761 ≡ 473 ⋅ 441 ⋅ 740 mod 761
208593 ⋅ 740 mod 761 ≡ 79 ⋅ 740 mod 761
58460 mod 761 ≡ 624 mod 761

Es gilt also: 41186 ≡ 624 mod 761

erweiterter Euklid'scher Algorithmus

Beispiel:

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

Also bestimme x, so dass 55 ⋅ x ≡ 1 mod 79 gilt:

Lösung einblenden

Berechnung des größten gemeinsamen Teilers von 79 und 55

=>79 = 1⋅55 + 24
=>55 = 2⋅24 + 7
=>24 = 3⋅7 + 3
=>7 = 2⋅3 + 1
=>3 = 3⋅1 + 0

also gilt: ggt(79,55)=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= 7-2⋅3
3= 24-3⋅7 eingesetzt in die Zeile drüber: 1 = 1⋅7 -2⋅(24 -3⋅ 7)
= 1⋅7 -2⋅24 +6⋅ 7)
= -2⋅24 +7⋅ 7 (=1)
7= 55-2⋅24 eingesetzt in die Zeile drüber: 1 = -2⋅24 +7⋅(55 -2⋅ 24)
= -2⋅24 +7⋅55 -14⋅ 24)
= 7⋅55 -16⋅ 24 (=1)
24= 79-1⋅55 eingesetzt in die Zeile drüber: 1 = 7⋅55 -16⋅(79 -1⋅ 55)
= 7⋅55 -16⋅79 +16⋅ 55)
= -16⋅79 +23⋅ 55 (=1)

Es gilt also: ggt(79,55)=1 = -16⋅79 +23⋅55

oder wenn man -16⋅79 auf die linke Seite bringt:

1 +16⋅79 = +23⋅55

Es gilt also: 23⋅55 = 16⋅79 +1

Somit 23⋅55 = 1 mod 79

23 ist also das Inverse von 55 mod 79

Schlüsselpaar für RSA

Beispiel:

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