Aufgabenbeispiele von MGK Klasse 10

Durch Aktualisieren des Browsers (z.B. mit Taste F5) kann man neue Beispielaufgaben sehen


Modulo addieren

Beispiel:

Berechne ohne WTR: (8003 + 40006) mod 8.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(8003 + 40006) mod 8 ≡ (8003 mod 8 + 40006 mod 8) mod 8.

8003 mod 8 ≡ 3 mod 8 kann man relativ leicht bestimmen, weil ja 8003 = 8000+3 = 8 ⋅ 1000 +3.

40006 mod 8 ≡ 6 mod 8 kann man relativ leicht bestimmen, weil ja 40006 = 40000+6 = 8 ⋅ 5000 +6.

Somit gilt:

(8003 + 40006) mod 8 ≡ (3 + 6) mod 8 ≡ 9 mod 8 ≡ 1 mod 8.

Modulo multiplizieren

Beispiel:

Berechne ohne WTR: (15 ⋅ 37) mod 11.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(15 ⋅ 37) mod 11 ≡ (15 mod 11 ⋅ 37 mod 11) mod 11.

15 mod 11 ≡ 4 mod 11 kann man relativ leicht bestimmen, weil ja 15 = 11 + 4 = 1 ⋅ 11 + 4 ist.

37 mod 11 ≡ 4 mod 11 kann man relativ leicht bestimmen, weil ja 37 = 33 + 4 = 3 ⋅ 11 + 4 ist.

Somit gilt:

(15 ⋅ 37) mod 11 ≡ (4 ⋅ 4) mod 11 ≡ 16 mod 11 ≡ 5 mod 11.

modulo Potenzieren einfach

Beispiel:

Berechne möglichst geschickt: 2078 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. 207 -> 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: 2071=207

2: 2072=2071+1=2071⋅2071 ≡ 207⋅207=42849 ≡ 180 mod 431

4: 2074=2072+2=2072⋅2072 ≡ 180⋅180=32400 ≡ 75 mod 431

8: 2078=2074+4=2074⋅2074 ≡ 75⋅75=5625 ≡ 22 mod 431

modulo Potenzieren große Zahlen

Beispiel:

Berechne möglichst geschickt: 541112 mod 1009.

Lösung einblenden

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

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

112 = 64+32+16

1: 5411=541

2: 5412=5411+1=5411⋅5411 ≡ 541⋅541=292681 ≡ 71 mod 1009

4: 5414=5412+2=5412⋅5412 ≡ 71⋅71=5041 ≡ 1005 mod 1009

8: 5418=5414+4=5414⋅5414 ≡ 1005⋅1005=1010025 ≡ 16 mod 1009

16: 54116=5418+8=5418⋅5418 ≡ 16⋅16=256 ≡ 256 mod 1009

32: 54132=54116+16=54116⋅54116 ≡ 256⋅256=65536 ≡ 960 mod 1009

64: 54164=54132+32=54132⋅54132 ≡ 960⋅960=921600 ≡ 383 mod 1009

541112

= 54164+32+16

= 54164⋅54132⋅54116

383 ⋅ 960 ⋅ 256 mod 1009
367680 ⋅ 256 mod 1009 ≡ 404 ⋅ 256 mod 1009
103424 mod 1009 ≡ 506 mod 1009

Es gilt also: 541112 ≡ 506 mod 1009

erweiterter Euklid'scher Algorithmus

Beispiel:

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

Also bestimme x, so dass 60 ⋅ x ≡ 1 mod 71 gilt:

Lösung einblenden

Berechnung des größten gemeinsamen Teilers von 71 und 60

=>71 = 1⋅60 + 11
=>60 = 5⋅11 + 5
=>11 = 2⋅5 + 1
=>5 = 5⋅1 + 0

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

Es gilt also: ggt(71,60)=1 = 11⋅71 -13⋅60

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

1 -11⋅71 = -13⋅60

-13⋅60 = -11⋅71 + 1 |+71⋅60

-13⋅60 + 71⋅60 = -11⋅71 + 71⋅60 + 1

(-13 + 71) ⋅ 60 = (-11 + 60) ⋅ 71 + 1

58⋅60 = 49⋅71 + 1

Es gilt also: 58⋅60 = 49⋅71 +1

Somit 58⋅60 = 1 mod 71

58 ist also das Inverse von 60 mod 71

Schlüsselpaar für RSA

Beispiel:

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