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: (13999 + 2805) mod 7.
Um längere Rechnungen zu vermeiden, rechnen wir:
(13999 + 2805) mod 7 ≡ (13999 mod 7 + 2805 mod 7) mod 7.
13999 mod 7 ≡ 6 mod 7 kann man relativ leicht bestimmen, weil ja 13999
= 14000
2805 mod 7 ≡ 5 mod 7 kann man relativ leicht bestimmen, weil ja 2805
= 2800
Somit gilt:
(13999 + 2805) mod 7 ≡ (6 + 5) mod 7 ≡ 11 mod 7 ≡ 4 mod 7.
Modulo multiplizieren
Beispiel:
Berechne ohne WTR: (49 ⋅ 82) mod 10.
Um längere Rechnungen zu vermeiden, rechnen wir:
(49 ⋅ 82) mod 10 ≡ (49 mod 10 ⋅ 82 mod 10) mod 10.
49 mod 10 ≡ 9 mod 10 kann man relativ leicht bestimmen, weil ja 49 = 40 + 9 = 4 ⋅ 10 + 9 ist.
82 mod 10 ≡ 2 mod 10 kann man relativ leicht bestimmen, weil ja 82 = 80 + 2 = 8 ⋅ 10 + 2 ist.
Somit gilt:
(49 ⋅ 82) mod 10 ≡ (9 ⋅ 2) mod 10 ≡ 18 mod 10 ≡ 8 mod 10.
modulo Potenzieren einfach
Beispiel:
Berechne möglichst geschickt: 74932 mod 937.
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. 749 -> x
2. mod(x²,937) -> 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: 7491=749
2: 7492=7491+1=7491⋅7491 ≡ 749⋅749=561001 ≡ 675 mod 937
4: 7494=7492+2=7492⋅7492 ≡ 675⋅675=455625 ≡ 243 mod 937
8: 7498=7494+4=7494⋅7494 ≡ 243⋅243=59049 ≡ 18 mod 937
16: 74916=7498+8=7498⋅7498 ≡ 18⋅18=324 ≡ 324 mod 937
32: 74932=74916+16=74916⋅74916 ≡ 324⋅324=104976 ≡ 32 mod 937
modulo Potenzieren große Zahlen
Beispiel:
Berechne möglichst geschickt: 329148 mod 499.
Wir berechnen zuerst mal alle 2er-Potenzen, die kleiner sind 148 (grauer Kasten).
Dann schauen wir die Binärdarstellung von 148 an und zerlegen 148 in eine Summer von 2er-Potenzen:
148 = 128+16+4
1: 3291=329
2: 3292=3291+1=3291⋅3291 ≡ 329⋅329=108241 ≡ 457 mod 499
4: 3294=3292+2=3292⋅3292 ≡ 457⋅457=208849 ≡ 267 mod 499
8: 3298=3294+4=3294⋅3294 ≡ 267⋅267=71289 ≡ 431 mod 499
16: 32916=3298+8=3298⋅3298 ≡ 431⋅431=185761 ≡ 133 mod 499
32: 32932=32916+16=32916⋅32916 ≡ 133⋅133=17689 ≡ 224 mod 499
64: 32964=32932+32=32932⋅32932 ≡ 224⋅224=50176 ≡ 276 mod 499
128: 329128=32964+64=32964⋅32964 ≡ 276⋅276=76176 ≡ 328 mod 499
329148
= 329128+16+4
= 329128⋅32916⋅3294
≡ 328 ⋅ 133 ⋅ 267 mod 499
≡ 43624 ⋅ 267 mod 499 ≡ 211 ⋅ 267 mod 499
≡ 56337 mod 499 ≡ 449 mod 499
Es gilt also: 329148 ≡ 449 mod 499
erweiterter Euklid'scher Algorithmus
Beispiel:
Berechne mit Hilfe des erweiterten Euklid'schen Algorithmus das Modulo-53-Inverse zur Zahl 21.
Also bestimme x, so dass 21 ⋅ x ≡ 1 mod 53 gilt:
Berechnung des größten gemeinsamen Teilers von 53 und 21
| =>53 | = 2⋅21 + 11 |
| =>21 | = 1⋅11 + 10 |
| =>11 | = 1⋅10 + 1 |
| =>10 | = 10⋅1 + 0 |
also gilt: ggt(53,21)=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= 11-1⋅10 | |||
| 10= 21-1⋅11 | eingesetzt in die Zeile drüber: | 1 |
= 1⋅11 -1⋅(21 -1⋅ 11)
= 1⋅11 -1⋅21 +1⋅ 11) = -1⋅21 +2⋅ 11 (=1) |
| 11= 53-2⋅21 | eingesetzt in die Zeile drüber: | 1 |
= -1⋅21 +2⋅(53 -2⋅ 21)
= -1⋅21 +2⋅53 -4⋅ 21) = 2⋅53 -5⋅ 21 (=1) |
Es gilt also: ggt(53,21)=1 = 2⋅53 -5⋅21
oder wenn man 2⋅53 auf die linke Seite bringt:
1 -2⋅53 = -5⋅21
-5⋅21 = -2⋅53 + 1 |+53⋅21
-5⋅21 + 53⋅21 = -2⋅53 + 53⋅21 + 1
(-5 + 53) ⋅ 21 = (-2 + 21) ⋅ 53 + 1
48⋅21 = 19⋅53 + 1
Es gilt also: 48⋅21 = 19⋅53 +1
Somit 48⋅21 = 1 mod 53
48 ist also das Inverse von 21 mod 53
Schlüsselpaar für RSA
Beispiel:
Berechne mit dem RSA-Verfahren ein Schlüsselpaar zu den beiden Primzahlen p = 43 und q = 37. Aus Sicherheitsgründen sollte der selbst gewählte geheime Schlüssel nicht zu klein sein, hier also mindestens 500.
