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: (3000 + 301) mod 6.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(3000 + 301) mod 6 ≡ (3000 mod 6 + 301 mod 6) mod 6.

3000 mod 6 ≡ 0 mod 6 kann man relativ leicht bestimmen, weil ja 3000 = 3000+0 = 6 ⋅ 500 +0.

301 mod 6 ≡ 1 mod 6 kann man relativ leicht bestimmen, weil ja 301 = 300+1 = 6 ⋅ 50 +1.

Somit gilt:

(3000 + 301) mod 6 ≡ (0 + 1) mod 6 ≡ 1 mod 6.

Modulo multiplizieren

Beispiel:

Berechne ohne WTR: (50 ⋅ 30) mod 10.

Lösung einblenden

Um längere Rechnungen zu vermeiden, rechnen wir:

(50 ⋅ 30) mod 10 ≡ (50 mod 10 ⋅ 30 mod 10) mod 10.

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

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

Somit gilt:

(50 ⋅ 30) mod 10 ≡ (0 ⋅ 0) mod 10 ≡ 0 mod 10.

modulo Potenzieren einfach

Beispiel:

Berechne möglichst geschickt: 47332 mod 719.

Lösung einblenden

Die 32 im Exponent ist ja ein reine 2er-Potenz (25).

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. 473 -> x
2. mod(x²,719) -> 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: 4731=473

2: 4732=4731+1=4731⋅4731 ≡ 473⋅473=223729 ≡ 120 mod 719

4: 4734=4732+2=4732⋅4732 ≡ 120⋅120=14400 ≡ 20 mod 719

8: 4738=4734+4=4734⋅4734 ≡ 20⋅20=400 ≡ 400 mod 719

16: 47316=4738+8=4738⋅4738 ≡ 400⋅400=160000 ≡ 382 mod 719

32: 47332=47316+16=47316⋅47316 ≡ 382⋅382=145924 ≡ 686 mod 719

modulo Potenzieren große Zahlen

Beispiel:

Berechne möglichst geschickt: 45072 mod 557.

Lösung einblenden

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

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

72 = 64+8

1: 4501=450

2: 4502=4501+1=4501⋅4501 ≡ 450⋅450=202500 ≡ 309 mod 557

4: 4504=4502+2=4502⋅4502 ≡ 309⋅309=95481 ≡ 234 mod 557

8: 4508=4504+4=4504⋅4504 ≡ 234⋅234=54756 ≡ 170 mod 557

16: 45016=4508+8=4508⋅4508 ≡ 170⋅170=28900 ≡ 493 mod 557

32: 45032=45016+16=45016⋅45016 ≡ 493⋅493=243049 ≡ 197 mod 557

64: 45064=45032+32=45032⋅45032 ≡ 197⋅197=38809 ≡ 376 mod 557

45072

= 45064+8

= 45064⋅4508

376 ⋅ 170 mod 557
63920 mod 557 ≡ 422 mod 557

Es gilt also: 45072 ≡ 422 mod 557

erweiterter Euklid'scher Algorithmus

Beispiel:

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

Also bestimme x, so dass 87 ⋅ x ≡ 1 mod 97 gilt:

Lösung einblenden

Berechnung des größten gemeinsamen Teilers von 97 und 87

=>97 = 1⋅87 + 10
=>87 = 8⋅10 + 7
=>10 = 1⋅7 + 3
=>7 = 2⋅3 + 1
=>3 = 3⋅1 + 0

also gilt: ggt(97,87)=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= 10-1⋅7 eingesetzt in die Zeile drüber: 1 = 1⋅7 -2⋅(10 -1⋅ 7)
= 1⋅7 -2⋅10 +2⋅ 7)
= -2⋅10 +3⋅ 7 (=1)
7= 87-8⋅10 eingesetzt in die Zeile drüber: 1 = -2⋅10 +3⋅(87 -8⋅ 10)
= -2⋅10 +3⋅87 -24⋅ 10)
= 3⋅87 -26⋅ 10 (=1)
10= 97-1⋅87 eingesetzt in die Zeile drüber: 1 = 3⋅87 -26⋅(97 -1⋅ 87)
= 3⋅87 -26⋅97 +26⋅ 87)
= -26⋅97 +29⋅ 87 (=1)

Es gilt also: ggt(97,87)=1 = -26⋅97 +29⋅87

oder wenn man -26⋅97 auf die linke Seite bringt:

1 +26⋅97 = +29⋅87

Es gilt also: 29⋅87 = 26⋅97 +1

Somit 29⋅87 = 1 mod 97

29 ist also das Inverse von 87 mod 97

Schlüsselpaar für RSA

Beispiel:

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