Diskrete Mathematik 1 - Lehrstuhl Kryptologie & IT-Sicherheit - Ruhr ...
Diskrete Mathematik 1 - Lehrstuhl Kryptologie & IT-Sicherheit - Ruhr ...
Diskrete Mathematik 1 - Lehrstuhl Kryptologie & IT-Sicherheit - Ruhr ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Ruhr</strong>-Universität Bochum<br />
<strong>Lehrstuhl</strong> für <strong>Kryptologie</strong> und <strong>IT</strong>-<strong>Sicherheit</strong><br />
Prof. Dr. Alexander May<br />
M. Ritzenhofen, M. Mansour Al Sawadi, A. Meurer<br />
Lösungsblatt zur Vorlesung<br />
<strong>Diskrete</strong> <strong>Mathematik</strong> 1<br />
WS 2008/09<br />
Blatt 9 / 16. Dezember 2008 / Abgabe bis 06. Januar 2009, 08.00 Uhr, in<br />
die Kästen auf NA 02<br />
AUFGABE 1 (4 Punkte):<br />
Finden Sie die kleinste positive ganze Zahl x, die folgende simultane Kongruenz löst:<br />
3 · x = 4 (mod 7)<br />
5 · x = 6 (mod 8)<br />
x = 5 (mod 9)<br />
Geben Sie dazu Rechenweg und Zwischenergebnisse an.<br />
Lösungsvorschlag:<br />
Zunächst multiplizieren wir die erste Gleichung mit 3 −1 mod 7 und die zweite Gleichung<br />
mit 5 −1 mod 8, um normierte Gleichungen zu erhalten. Es sind 3 −1 mod 7 = 5, da 3 · 5 =<br />
15 = 1 (mod 7), und 5 −1 mod 8 = 5, da 5 · 5 = 25 = 1 mod 8. Also ist das zu lösende<br />
Gleichungssystem äquivalent zu<br />
x = 6 (mod 7)<br />
x = 6 (mod 8)<br />
x = 5 (mod 9)<br />
Man setze M 1 := 8 · 9 = 72, M 2 = 7 · 9 = 63 und M 3 = 7 · 8 = 56. Es sind M1 −1 mod 7 =<br />
2 −1 mod 7 = 4, da 2 · 4 = 8 = 1 (mod 7), M2 −1 mod 8 = 7 −1 mod 8 = 7, da 7 · 7 = 49 = 1<br />
(mod 8) und M3 −1 mod 9 = 2 −1 mod 9 = 5, da 2 · 5 = 10 = 1 (mod 9).<br />
Damit gilt nach dem Chinesischen Restsatz (vergleichen Sie Aufgabe 2)<br />
x = 6 · (M −1<br />
1 mod 7) · M 1 + 6 · (M −1<br />
2 mod 8) · M 2 + 5 · (M −1<br />
3 mod 9) · M 3 (mod 7 · 8 · 9)<br />
= 6 · 4 · 72 + 6 · 7 · 63 + 5 · 5 · 56 (mod 504)
= 1728 + 2646 + 1400 (mod 504)<br />
= 230 (mod 504).<br />
Die kleinste positive ganze Zahl, die obenstehende Kongruenz löst, ist also 230.<br />
AUFGABE 2 (4 Punkte):<br />
Beweisen Sie den allgemeinen Chinesischen Restsatz ohne Induktion, das heißt, zeigen Sie<br />
folgende Aussage:<br />
Seien m 1 , m 2 , . . . , m n teilerfremde natürliche Zahlen. Es existiert genau eine Lösung<br />
x mod m 1 m 2 . . . m n des Gleichungssystems<br />
∣<br />
x = a 1 (mod m 1 )<br />
x = a 2 (mod m 2 )<br />
.<br />
x = a n (mod m n )<br />
Hinweis: Stellen Sie dazu x mod m 1 · . . . · m n explizit dar und zeigen Sie die Eindeutigkeit<br />
von x.<br />
Lösungsvorschlag:<br />
Wir definieren M := ∏ n<br />
i=1 m i und M i := M/m i , i = 1, . . . , n. Weiterhin sei u i , i = 1, . . . , n,<br />
das Inverse von M i modulo m i , das man mit dem erweiterten Euklidischen Algorithmus<br />
berechnen kann (nach Voraussetzung gilt ggT(M i , m i ) = 1). Schließlich setzen wir<br />
x :=<br />
.<br />
∣<br />
n∑<br />
a i u i M i mod M.<br />
i=1<br />
Wegen u i M i = 1 mod m i und M i = 0 mod m j für j ≠ i ist x eine Lösung des Gleichungssystems.<br />
Eindeutigkeit: Angenommen, x ′ sei eine weitere Lösung. Dann gilt m i | (x−x ′ ) für 1 ≤ i ≤ n.<br />
Weil die m i nach Voraussetzung teilerfremd sind, folgt hieraus M | (x − x ′ ), insbesondere<br />
sind also x und x ′ gleich modulo M, was zu zeigen war.<br />
AUFGABE 3 (4 Punkte):<br />
Beweisen Sie folgende Aussage:<br />
p ∈ N prim ⇔ (p − 1)! = −1<br />
(mod p).<br />
Lösungsvorschlag:<br />
Die angegebene Äquivalenz ist Aussage des Satzes von Wilson.<br />
Zum Beweis betrachten wir beide Richtungen der Äquivalenz separat.<br />
Zunächst zeigen wir ”⇐” durch Kontraposition, d. h. wir beweisen die Aussage ”Sei p ∈ N<br />
nicht prim ⇒ (p − 1)! ≠ −1 (mod p)”:
Sei also p ∈ N nicht prim. Dann existiert eine Zahl q ∈ N, 1 < q < p mit q|p. Da 1 < q < p ist,<br />
gilt ebenfalls q|(p − 1)!, aber q ̸ |((p − 1)! + 1). Dementsprechend folgt auch p ̸ |((p − 1)! + 1).<br />
Dies ist aber äquivalent zu<br />
(p − 1)! ≠ −1 (mod p),<br />
Also gilt die Behauptung.<br />
Die Richtung ”⇐” der Äquivalenz zeigen wir direkt.<br />
Sei also p ∈ N prim. Dann ist (p − 1)! genau das Produkt aller Elemente aus Z ∗ p, es ist also<br />
(p − 1)! = ∏<br />
a.<br />
Ist ein Element aus Z ∗ p von seinem Inversen verschieden, so kommen beide Elemente genau<br />
einmal in dem Produkt vor, es genügt daher das Produkt derjenigen Elemente zu betrachten,<br />
die zu sich selbst invers sind. Sei also a ∈ Z ∗ p mit a = a −1 (mod p). Dies ist äquivalent zu<br />
a 2 = 1 (mod p) ⇔ a 2 − 1 = 0 (mod p). Das ist äquivalent zu p|(a 2 − 1) und, da p Primzahl<br />
ist, p|(a − 1) oder p|(a + 1). In modularer Darstellung entspricht dies<br />
a∈Z ∗ p<br />
a = 1 (mod p) oder a = −1 (mod p).<br />
Die selbstinversen Elemente aus Z ∗ p sind also 1 und −1.<br />
Setzt man dies in die Gleichung ein, so erhält man<br />
(p − 1)! = ∏<br />
a<br />
also die Behauptung.<br />
a∈Z ∗ p<br />
∏<br />
=<br />
a<br />
a∈Z ∗ p,a 2 =1 (mod p)<br />
= (−1) · 1 = −1 (mod p),
AUFGABE 4 (8 Punkte):<br />
Gegeben sei folgender Primzahltest:<br />
Algorithm 1 PrimTest<br />
Eingabe: n ∈ N ungerade mit n > 1, n keine Carmichael-Zahl t ∈ N<br />
for i = 1 to t do<br />
Wähle α i zufällig aus Z n \ {0}.<br />
Setze β i := α n−1<br />
2<br />
i (mod n)<br />
end for<br />
if (β 1 , . . . , β t ) ist von der Form (±1, . . . , ±1), aber (β 1 , . . . , β t ) ≠ (1, . . . , 1) then<br />
return n prim<br />
else<br />
return n zusammengesetzt<br />
end if<br />
(a)<br />
Bestimmen Sie die Laufzeit des Testes.<br />
(b) Zeigen Sie: Ws(Ausgabe ”n prim” | n zusammengesetzt) ≤ 2 −t .<br />
(c) Zeigen Sie: Ws(Ausgabe ”n zusammengesetzt” | n prim) ≤ 2 −t .<br />
Lösungsvorschlag:<br />
(a)<br />
Die erste Schleife wird über t Elemente iteriert, Hauptfaktor für die Laufzeit innerhalb<br />
der Schleife ist die Exponentiation modulo n. Diese benötigt nach Vorlesung Aufwand<br />
O(log 3 (n)). In der If-Abfrage müssen t Elemente mit 1 und −1 verglichen werden. Setzt<br />
man für einen Vergleich zweier Elemente der Länge log(n) Aufwand O(log(n)) an, so<br />
beträgt der Aufwand für diese Abfragen O(t log(n)).<br />
Der Gesamtaufwand beträgt also O(log 3 (n)).<br />
(b) Sei n zusammengesetzt. Für α ∈ (Z n \ {0}) \ Z ∗ n gilt α n−1<br />
2 ≠ ±1 (mod n). Denn,<br />
angenommen α n−1<br />
2 = 1 (mod n), dann folgt α · α n−1<br />
2 −1 = 1 (mod n), also ist α −1 =<br />
α n−1<br />
2 −1 und damit α ∈ Z ∗ n, was einen Widerspruch bildet.<br />
Analog folgt aus der Annahme α n−1<br />
2 = −1 (mod n), dass (α n−1<br />
2 ) 2 = 1 (mod n) und<br />
damit α −1 = α n−2 , also ebenso der Widerspruch α ∈ Z ∗ n.<br />
Desweiteren ist α ∈ Z ∗ n wegen Präsenzübung 9, Aufgabe 3 (b) ein Zeuge für die Zusammengesetztheit<br />
von n, falls α n−1<br />
2 ≠ ±1 (mod n).<br />
Aus α n−1<br />
2 = ±1 (mod n) folgt α n−1 = 1 (mod n). Damit ist die Menge der α ∈ Z ∗ n mit<br />
α n−1<br />
2 = ±1 (mod n) eine Teilmenge der α ∈ Z ∗ n mit α n−1 = 1 (mod n). Wir können<br />
ihre Kardinalität analog zum Beweis zur Korrektheit des Fermattestes abschätzen und<br />
erhalten für t = 1 nach Vorlesung<br />
Ws(Ausgabe ”n zusammengesetzt” | n zusammengesetzt) ≥ 1 2 .
Daraus folgt für beliebige t:<br />
Ws(Ausgabe ”n prim” | n zusammengesetzt)<br />
= (1 − Ws(Ausgabe ”n zusammengesetzt” | n zusammengesetzt)) t<br />
(<br />
≤ 1 − 1 ) t<br />
= 2 −t<br />
2<br />
(c)<br />
Sei n prim. Also ist Z n \ {0} = Z ∗ n. Aus Präsenzübung 9, Aufgabe 3 (b) ist bekannt,<br />
dass α n−1<br />
2 = ±1 (mod n) für alle α ∈ Z ∗ n. Für Primzahlen n wird also nur dann ”n<br />
zusammengesetzt” ausgegeben, falls (β 1 , . . . , β t ) = (1, . . . , 1) gilt. Wir betrachten daher<br />
die Wahrscheinlichkeit, dass α n−1<br />
2 = 1.<br />
Dazu setzen wir P = {α ∈ Z ∗ n | α n−1<br />
2 = 1 (mod n)} ⊆ Z ∗ n. Wir zeigen, dass P eine<br />
echte Untergruppe von Z ∗ n ist.<br />
1. Abgeschlossenheit: Seien α 1 , α 2 ∈ P .<br />
Dann gilt α n−1<br />
2<br />
1 = 1 (mod n) und α n−1<br />
2<br />
2 = 1 (mod n). Daraus folgt (α 1 α 2 ) n−1<br />
α n−1<br />
2<br />
1 α n−1<br />
2<br />
2 =<br />
2 = 1 (mod n) = 1 (mod n), da die Multiplikation in Z ∗ n kommutativ ist.<br />
Also gilt α 1 α 2 ∈ P .<br />
2. Neutrales Element: 1 ∈ P , da 1 n−1<br />
2 = 1 (mod n).<br />
3. Inverses Element: Zu α ∈ P ist α n−3<br />
2 das inverse Element, da α · α n−3<br />
2 = α n−1<br />
(<br />
(<br />
(mod n) und<br />
α n−3<br />
2<br />
) n−1<br />
2<br />
=<br />
α n−1<br />
2<br />
) n−3<br />
2<br />
= 1 (mod n) ist.<br />
4. Assoziativität überträgt sich aus der Gruppe selbst.<br />
2 = 1<br />
5. Echte Untergruppe: Es ist Z ∗ n zyklisch nach Vorlesung, also Z ∗ n = {c, c 2 , . . . , c n−1 , 1}<br />
für ein geeignetes c ∈ Z ∗ n. Damit ist aber c n−1<br />
2 ≠ 1, da sonst |Zn| ∗ ̸= n − 1. Damit<br />
gilt c /∈ P , also ind Z ∗ n<br />
(P ) ≥ 2 und damit |P | ≤ 1 2 |Z∗ n|.<br />
Damit folgt<br />
Ws(Ausgabe ”n zusammengesetzt” | n prim)<br />
t∏<br />
= Ws(α n−1<br />
2<br />
i = 1 | n prim)<br />
i=1<br />
( ) t 1<br />
≤ = 2 −t .<br />
2