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: (177 + 1196) mod 6.
Um längere Rechnungen zu vermeiden, rechnen wir:
(177 + 1196) mod 6 ≡ (177 mod 6 + 1196 mod 6) mod 6.
177 mod 6 ≡ 3 mod 6 kann man relativ leicht bestimmen, weil ja 177
= 180
1196 mod 6 ≡ 2 mod 6 kann man relativ leicht bestimmen, weil ja 1196
= 1200
Somit gilt:
(177 + 1196) mod 6 ≡ (3 + 2) mod 6 ≡ 5 mod 6.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (99 ⋅ 36) mod 8.
Um längere Rechnungen zu vermeiden, rechnen wir:
(99 ⋅ 36) mod 8 ≡ (99 mod 8 ⋅ 36 mod 8) mod 8.
99 mod 8 ≡ 3 mod 8 kann man relativ leicht bestimmen, weil ja 99 = 96 + 3 = 12 ⋅ 8 + 3 ist.
36 mod 8 ≡ 4 mod 8 kann man relativ leicht bestimmen, weil ja 36 = 32 + 4 = 4 ⋅ 8 + 4 ist.
Somit gilt:
(99 ⋅ 36) mod 8 ≡ (3 ⋅ 4) mod 8 ≡ 12 mod 8 ≡ 4 mod 8.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 265128 mod 593.
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. 265 -> x
2. mod(x²,593) -> 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: 2651=265
2: 2652=2651+1=2651⋅2651 ≡ 265⋅265=70225 ≡ 251 mod 593
4: 2654=2652+2=2652⋅2652 ≡ 251⋅251=63001 ≡ 143 mod 593
8: 2658=2654+4=2654⋅2654 ≡ 143⋅143=20449 ≡ 287 mod 593
16: 26516=2658+8=2658⋅2658 ≡ 287⋅287=82369 ≡ 535 mod 593
32: 26532=26516+16=26516⋅26516 ≡ 535⋅535=286225 ≡ 399 mod 593
64: 26564=26532+32=26532⋅26532 ≡ 399⋅399=159201 ≡ 277 mod 593
128: 265128=26564+64=26564⋅26564 ≡ 277⋅277=76729 ≡ 232 mod 593
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 27490 mod 463.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 90 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 90 an und zerlegen 90 in eine Summer von 2er-Potenzen:
90 = 64+16+8+2
1: 2741=274
2: 2742=2741+1=2741⋅2741 ≡ 274⋅274=75076 ≡ 70 mod 463
4: 2744=2742+2=2742⋅2742 ≡ 70⋅70=4900 ≡ 270 mod 463
8: 2748=2744+4=2744⋅2744 ≡ 270⋅270=72900 ≡ 209 mod 463
16: 27416=2748+8=2748⋅2748 ≡ 209⋅209=43681 ≡ 159 mod 463
32: 27432=27416+16=27416⋅27416 ≡ 159⋅159=25281 ≡ 279 mod 463
64: 27464=27432+32=27432⋅27432 ≡ 279⋅279=77841 ≡ 57 mod 463
27490
= 27464+16+8+2
= 27464⋅27416⋅2748⋅2742
≡ 57 ⋅ 159 ⋅ 209 ⋅ 70 mod 463
≡ 9063 ⋅ 209 ⋅ 70 mod 463 ≡ 266 ⋅ 209 ⋅ 70 mod 463
≡ 55594 ⋅ 70 mod 463 ≡ 34 ⋅ 70 mod 463
≡ 2380 mod 463 ≡ 65 mod 463
Es gilt also: 27490 ≡ 65 mod 463
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-89-Inverse zur Zahl 33.
Also bestimme x, so dass 33 ⋅ x ≡ 1 mod 89 gilt:
Berechnung des größten gemeinsamen Teilers von 89 und 33
| =>89 | = 2⋅33 + 23 |
| =>33 | = 1⋅23 + 10 |
| =>23 | = 2⋅10 + 3 |
| =>10 | = 3⋅3 + 1 |
| =>3 | = 3⋅1 + 0 |
also gilt: ggt(89,33)=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= 23-2⋅10 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅10 -3⋅(23 -2⋅ 10)
= 1⋅10 -3⋅23 +6⋅ 10) = -3⋅23 +7⋅ 10 (=1) |
| 10= 33-1⋅23 | eingesetzt in die Zeile drüber: | 1 |
= -3⋅23 +7⋅(33 -1⋅ 23)
= -3⋅23 +7⋅33 -7⋅ 23) = 7⋅33 -10⋅ 23 (=1) |
| 23= 89-2⋅33 | eingesetzt in die Zeile drüber: | 1 |
= 7⋅33 -10⋅(89 -2⋅ 33)
= 7⋅33 -10⋅89 +20⋅ 33) = -10⋅89 +27⋅ 33 (=1) |
Es gilt also: ggt(89,33)=1 = -10⋅89 +27⋅33
oder wenn man -10⋅89 auf die linke Seite bringt:
1 +10⋅89 = +27⋅33
Es gilt also: 27⋅33 = 10⋅89 +1
Somit 27⋅33 = 1 mod 89
27 ist also das Inverse von 33 mod 89
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 83 und q = 59. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
