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: (124 - 1800) mod 6.
Um längere Rechnungen zu vermeiden, rechnen wir:
(124 - 1800) mod 6 ≡ (124 mod 6 - 1800 mod 6) mod 6.
124 mod 6 ≡ 4 mod 6 kann man relativ leicht bestimmen, weil ja 124
= 120
1800 mod 6 ≡ 0 mod 6 kann man relativ leicht bestimmen, weil ja 1800
= 1800
Somit gilt:
(124 - 1800) mod 6 ≡ (4 - 0) mod 6 ≡ 4 mod 6.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (58 ⋅ 80) mod 5.
Um längere Rechnungen zu vermeiden, rechnen wir:
(58 ⋅ 80) mod 5 ≡ (58 mod 5 ⋅ 80 mod 5) mod 5.
58 mod 5 ≡ 3 mod 5 kann man relativ leicht bestimmen, weil ja 58 = 55 + 3 = 11 ⋅ 5 + 3 ist.
80 mod 5 ≡ 0 mod 5 kann man relativ leicht bestimmen, weil ja 80 = 80 + 0 = 16 ⋅ 5 + 0 ist.
Somit gilt:
(58 ⋅ 80) mod 5 ≡ (3 ⋅ 0) mod 5 ≡ 0 mod 5.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 14132 mod 233.
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. 141 -> x
2. mod(x²,233) -> 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: 1411=141
2: 1412=1411+1=1411⋅1411 ≡ 141⋅141=19881 ≡ 76 mod 233
4: 1414=1412+2=1412⋅1412 ≡ 76⋅76=5776 ≡ 184 mod 233
8: 1418=1414+4=1414⋅1414 ≡ 184⋅184=33856 ≡ 71 mod 233
16: 14116=1418+8=1418⋅1418 ≡ 71⋅71=5041 ≡ 148 mod 233
32: 14132=14116+16=14116⋅14116 ≡ 148⋅148=21904 ≡ 2 mod 233
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 437155 mod 499.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 155 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 155 an und zerlegen 155 in eine Summer von 2er-Potenzen:
155 = 128+16+8+2+1
1: 4371=437
2: 4372=4371+1=4371⋅4371 ≡ 437⋅437=190969 ≡ 351 mod 499
4: 4374=4372+2=4372⋅4372 ≡ 351⋅351=123201 ≡ 447 mod 499
8: 4378=4374+4=4374⋅4374 ≡ 447⋅447=199809 ≡ 209 mod 499
16: 43716=4378+8=4378⋅4378 ≡ 209⋅209=43681 ≡ 268 mod 499
32: 43732=43716+16=43716⋅43716 ≡ 268⋅268=71824 ≡ 467 mod 499
64: 43764=43732+32=43732⋅43732 ≡ 467⋅467=218089 ≡ 26 mod 499
128: 437128=43764+64=43764⋅43764 ≡ 26⋅26=676 ≡ 177 mod 499
437155
= 437128+16+8+2+1
= 437128⋅43716⋅4378⋅4372⋅4371
≡ 177 ⋅ 268 ⋅ 209 ⋅ 351 ⋅ 437 mod 499
≡ 47436 ⋅ 209 ⋅ 351 ⋅ 437 mod 499 ≡ 31 ⋅ 209 ⋅ 351 ⋅ 437 mod 499
≡ 6479 ⋅ 351 ⋅ 437 mod 499 ≡ 491 ⋅ 351 ⋅ 437 mod 499
≡ 172341 ⋅ 437 mod 499 ≡ 186 ⋅ 437 mod 499
≡ 81282 mod 499 ≡ 444 mod 499
Es gilt also: 437155 ≡ 444 mod 499
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-59-Inverse zur Zahl 23.
Also bestimme x, so dass 23 ⋅ x ≡ 1 mod 59 gilt:
Berechnung des größten gemeinsamen Teilers von 59 und 23
| =>59 | = 2⋅23 + 13 |
| =>23 | = 1⋅13 + 10 |
| =>13 | = 1⋅10 + 3 |
| =>10 | = 3⋅3 + 1 |
| =>3 | = 3⋅1 + 0 |
also gilt: ggt(59,23)=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= 10-3⋅3 | |||
| 3= 13-1⋅10 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅10 -3⋅(13 -1⋅ 10)
= 1⋅10 -3⋅13 +3⋅ 10) = -3⋅13 +4⋅ 10 (=1) |
| 10= 23-1⋅13 | eingesetzt in die Zeile drüber: | 1 |
= -3⋅13 +4⋅(23 -1⋅ 13)
= -3⋅13 +4⋅23 -4⋅ 13) = 4⋅23 -7⋅ 13 (=1) |
| 13= 59-2⋅23 | eingesetzt in die Zeile drüber: | 1 |
= 4⋅23 -7⋅(59 -2⋅ 23)
= 4⋅23 -7⋅59 +14⋅ 23) = -7⋅59 +18⋅ 23 (=1) |
Es gilt also: ggt(59,23)=1 = -7⋅59 +18⋅23
oder wenn man -7⋅59 auf die linke Seite bringt:
1 +7⋅59 = +18⋅23
Es gilt also: 18⋅23 = 7⋅59 +1
Somit 18⋅23 = 1 mod 59
18 ist also das Inverse von 23 mod 59
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 61 und q = 89. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
