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: (3603 + 26998) mod 9.
Um längere Rechnungen zu vermeiden, rechnen wir:
(3603 + 26998) mod 9 ≡ (3603 mod 9 + 26998 mod 9) mod 9.
3603 mod 9 ≡ 3 mod 9 kann man relativ leicht bestimmen, weil ja 3603
= 3600
26998 mod 9 ≡ 7 mod 9 kann man relativ leicht bestimmen, weil ja 26998
= 27000
Somit gilt:
(3603 + 26998) mod 9 ≡ (3 + 7) mod 9 ≡ 10 mod 9 ≡ 1 mod 9.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (19 ⋅ 46) mod 10.
Um längere Rechnungen zu vermeiden, rechnen wir:
(19 ⋅ 46) mod 10 ≡ (19 mod 10 ⋅ 46 mod 10) mod 10.
19 mod 10 ≡ 9 mod 10 kann man relativ leicht bestimmen, weil ja 19 = 10 + 9 = 1 ⋅ 10 + 9 ist.
46 mod 10 ≡ 6 mod 10 kann man relativ leicht bestimmen, weil ja 46 = 40 + 6 = 4 ⋅ 10 + 6 ist.
Somit gilt:
(19 ⋅ 46) mod 10 ≡ (9 ⋅ 6) mod 10 ≡ 54 mod 10 ≡ 4 mod 10.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 82132 mod 877.
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. 821 -> x
2. mod(x²,877) -> 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 ≡ 505 mod 877
4: 8214=8212+2=8212⋅8212 ≡ 505⋅505=255025 ≡ 695 mod 877
8: 8218=8214+4=8214⋅8214 ≡ 695⋅695=483025 ≡ 675 mod 877
16: 82116=8218+8=8218⋅8218 ≡ 675⋅675=455625 ≡ 462 mod 877
32: 82132=82116+16=82116⋅82116 ≡ 462⋅462=213444 ≡ 333 mod 877
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 306162 mod 491.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 162 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 162 an und zerlegen 162 in eine Summer von 2er-Potenzen:
162 = 128+32+2
1: 3061=306
2: 3062=3061+1=3061⋅3061 ≡ 306⋅306=93636 ≡ 346 mod 491
4: 3064=3062+2=3062⋅3062 ≡ 346⋅346=119716 ≡ 403 mod 491
8: 3068=3064+4=3064⋅3064 ≡ 403⋅403=162409 ≡ 379 mod 491
16: 30616=3068+8=3068⋅3068 ≡ 379⋅379=143641 ≡ 269 mod 491
32: 30632=30616+16=30616⋅30616 ≡ 269⋅269=72361 ≡ 184 mod 491
64: 30664=30632+32=30632⋅30632 ≡ 184⋅184=33856 ≡ 468 mod 491
128: 306128=30664+64=30664⋅30664 ≡ 468⋅468=219024 ≡ 38 mod 491
306162
= 306128+32+2
= 306128⋅30632⋅3062
≡ 38 ⋅ 184 ⋅ 346 mod 491
≡ 6992 ⋅ 346 mod 491 ≡ 118 ⋅ 346 mod 491
≡ 40828 mod 491 ≡ 75 mod 491
Es gilt also: 306162 ≡ 75 mod 491
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-101-Inverse zur Zahl 95.
Also bestimme x, so dass 95 ⋅ x ≡ 1 mod 101 gilt:
Berechnung des größten gemeinsamen Teilers von 101 und 95
| =>101 | = 1⋅95 + 6 |
| =>95 | = 15⋅6 + 5 |
| =>6 | = 1⋅5 + 1 |
| =>5 | = 5⋅1 + 0 |
also gilt: ggt(101,95)=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= 6-1⋅5 | |||
| 5= 95-15⋅6 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅6 -1⋅(95 -15⋅ 6)
= 1⋅6 -1⋅95 +15⋅ 6) = -1⋅95 +16⋅ 6 (=1) |
| 6= 101-1⋅95 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅95 +16⋅(101 -1⋅ 95)
= -1⋅95 +16⋅101 -16⋅ 95) = 16⋅101 -17⋅ 95 (=1) |
Es gilt also: ggt(101,95)=1 = 16⋅101 -17⋅95
oder wenn man 16⋅101 auf die linke Seite bringt:
1 -16⋅101 = -17⋅95
-17⋅95 = -16⋅101 + 1 |+101⋅95
-17⋅95 + 101⋅95 = -16⋅101 + 101⋅95 + 1
(-17 + 101) ⋅ 95 = (-16 + 95) ⋅ 101 + 1
84⋅95 = 79⋅101 + 1
Es gilt also: 84⋅95 = 79⋅101 +1
Somit 84⋅95 = 1 mod 101
84 ist also das Inverse von 95 mod 101
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 59 und q = 101. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
