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: (88 + 9003) mod 3.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(88 + 9003) mod 3 ≡ (88 mod 3 + 9003 mod 3) mod 3.

88 mod 3 ≡ 1 mod 3 kann man relativ leicht bestimmen, weil ja 88 = 90-2 = 3 ⋅ 30 -2 = 3 ⋅ 30 - 3 + 1.

9003 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 9003 = 9000+3 = 3 ⋅ 3000 +3.

Somit gilt:

(88 + 9003) mod 3 ≡ (1 + 0) mod 3 ≡ 1 mod 3.

Modulo multiplizieren

Beispiel:

Berechne ohne WTR: (20 ⋅ 66) mod 5.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(20 ⋅ 66) mod 5 ≡ (20 mod 5 ⋅ 66 mod 5) mod 5.

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

66 mod 5 ≡ 1 mod 5 kann man relativ leicht bestimmen, weil ja 66 = 65 + 1 = 13 ⋅ 5 + 1 ist.

Somit gilt:

(20 ⋅ 66) mod 5 ≡ (0 ⋅ 1) mod 5 ≡ 0 mod 5.

modulo Potenzieren einfach

Beispiel:

Berechne möglichst geschickt: 25916 mod 509.

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. 259 -> 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: 2591=259

2: 2592=2591+1=2591⋅2591 ≡ 259⋅259=67081 ≡ 402 mod 509

4: 2594=2592+2=2592⋅2592 ≡ 402⋅402=161604 ≡ 251 mod 509

8: 2598=2594+4=2594⋅2594 ≡ 251⋅251=63001 ≡ 394 mod 509

16: 25916=2598+8=2598⋅2598 ≡ 394⋅394=155236 ≡ 500 mod 509

modulo Potenzieren große Zahlen

Beispiel:

Berechne möglichst geschickt: 22984 mod 461.

Lösung einblenden

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

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

84 = 64+16+4

1: 2291=229

2: 2292=2291+1=2291⋅2291 ≡ 229⋅229=52441 ≡ 348 mod 461

4: 2294=2292+2=2292⋅2292 ≡ 348⋅348=121104 ≡ 322 mod 461

8: 2298=2294+4=2294⋅2294 ≡ 322⋅322=103684 ≡ 420 mod 461

16: 22916=2298+8=2298⋅2298 ≡ 420⋅420=176400 ≡ 298 mod 461

32: 22932=22916+16=22916⋅22916 ≡ 298⋅298=88804 ≡ 292 mod 461

64: 22964=22932+32=22932⋅22932 ≡ 292⋅292=85264 ≡ 440 mod 461

22984

= 22964+16+4

= 22964⋅22916⋅2294

440 ⋅ 298 ⋅ 322 mod 461
131120 ⋅ 322 mod 461 ≡ 196 ⋅ 322 mod 461
63112 mod 461 ≡ 416 mod 461

Es gilt also: 22984 ≡ 416 mod 461

erweiterter Euklid'scher Algorithmus

Beispiel:

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

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

Lösung einblenden

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

=>61 = 2⋅28 + 5
=>28 = 5⋅5 + 3
=>5 = 1⋅3 + 2
=>3 = 1⋅2 + 1
=>2 = 2⋅1 + 0

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

Es gilt also: ggt(61,28)=1 = -11⋅61 +24⋅28

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

1 +11⋅61 = +24⋅28

Es gilt also: 24⋅28 = 11⋅61 +1

Somit 24⋅28 = 1 mod 61

24 ist also das Inverse von 28 mod 61

Schlüsselpaar für RSA

Beispiel:

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