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: (24004 - 12006) mod 6.
Um längere Rechnungen zu vermeiden, rechnen wir:
(24004 - 12006) mod 6 ≡ (24004 mod 6 - 12006 mod 6) mod 6.
24004 mod 6 ≡ 4 mod 6 kann man relativ leicht bestimmen, weil ja 24004
= 24000
12006 mod 6 ≡ 0 mod 6 kann man relativ leicht bestimmen, weil ja 12006
= 12000
Somit gilt:
(24004 - 12006) mod 6 ≡ (4 - 0) mod 6 ≡ 4 mod 6.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (48 ⋅ 47) mod 3.
Um längere Rechnungen zu vermeiden, rechnen wir:
(48 ⋅ 47) mod 3 ≡ (48 mod 3 ⋅ 47 mod 3) mod 3.
48 mod 3 ≡ 0 mod 3 kann man relativ leicht bestimmen, weil ja 48 = 48 + 0 = 16 ⋅ 3 + 0 ist.
47 mod 3 ≡ 2 mod 3 kann man relativ leicht bestimmen, weil ja 47 = 45 + 2 = 15 ⋅ 3 + 2 ist.
Somit gilt:
(48 ⋅ 47) mod 3 ≡ (0 ⋅ 2) mod 3 ≡ 0 mod 3.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 821128 mod 941.
Die 128 im Exponent ist ja ein reine 2er-Potenz (27).
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. 821 -> x
2. mod(x²,941) -> 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: 8211=821
2: 8212=8211+1=8211⋅8211 ≡ 821⋅821=674041 ≡ 285 mod 941
4: 8214=8212+2=8212⋅8212 ≡ 285⋅285=81225 ≡ 299 mod 941
8: 8218=8214+4=8214⋅8214 ≡ 299⋅299=89401 ≡ 6 mod 941
16: 82116=8218+8=8218⋅8218 ≡ 6⋅6=36 ≡ 36 mod 941
32: 82132=82116+16=82116⋅82116 ≡ 36⋅36=1296 ≡ 355 mod 941
64: 82164=82132+32=82132⋅82132 ≡ 355⋅355=126025 ≡ 872 mod 941
128: 821128=82164+64=82164⋅82164 ≡ 872⋅872=760384 ≡ 56 mod 941
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 64876 mod 743.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 76 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 76 an und zerlegen 76 in eine Summer von 2er-Potenzen:
76 = 64+8+4
1: 6481=648
2: 6482=6481+1=6481⋅6481 ≡ 648⋅648=419904 ≡ 109 mod 743
4: 6484=6482+2=6482⋅6482 ≡ 109⋅109=11881 ≡ 736 mod 743
8: 6488=6484+4=6484⋅6484 ≡ 736⋅736=541696 ≡ 49 mod 743
16: 64816=6488+8=6488⋅6488 ≡ 49⋅49=2401 ≡ 172 mod 743
32: 64832=64816+16=64816⋅64816 ≡ 172⋅172=29584 ≡ 607 mod 743
64: 64864=64832+32=64832⋅64832 ≡ 607⋅607=368449 ≡ 664 mod 743
64876
= 64864+8+4
= 64864⋅6488⋅6484
≡ 664 ⋅ 49 ⋅ 736 mod 743
≡ 32536 ⋅ 736 mod 743 ≡ 587 ⋅ 736 mod 743
≡ 432032 mod 743 ≡ 349 mod 743
Es gilt also: 64876 ≡ 349 mod 743
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-83-Inverse zur Zahl 67.
Also bestimme x, so dass 67 ⋅ x ≡ 1 mod 83 gilt:
Berechnung des größten gemeinsamen Teilers von 83 und 67
| =>83 | = 1⋅67 + 16 |
| =>67 | = 4⋅16 + 3 |
| =>16 | = 5⋅3 + 1 |
| =>3 | = 3⋅1 + 0 |
also gilt: ggt(83,67)=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= 16-5⋅3 | |||
| 3= 67-4⋅16 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅16 -5⋅(67 -4⋅ 16)
= 1⋅16 -5⋅67 +20⋅ 16) = -5⋅67 +21⋅ 16 (=1) |
| 16= 83-1⋅67 | eingesetzt in die Zeile drüber: | 1 |
= -5⋅67 +21⋅(83 -1⋅ 67)
= -5⋅67 +21⋅83 -21⋅ 67) = 21⋅83 -26⋅ 67 (=1) |
Es gilt also: ggt(83,67)=1 = 21⋅83 -26⋅67
oder wenn man 21⋅83 auf die linke Seite bringt:
1 -21⋅83 = -26⋅67
-26⋅67 = -21⋅83 + 1 |+83⋅67
-26⋅67 + 83⋅67 = -21⋅83 + 83⋅67 + 1
(-26 + 83) ⋅ 67 = (-21 + 67) ⋅ 83 + 1
57⋅67 = 46⋅83 + 1
Es gilt also: 57⋅67 = 46⋅83 +1
Somit 57⋅67 = 1 mod 83
57 ist also das Inverse von 67 mod 83
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 41 und q = 61. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
