28.01.2015 Aufrufe

Diskrete Mathematik 1 - Lehrstuhl Kryptologie & IT-Sicherheit - Ruhr ...

Diskrete Mathematik 1 - Lehrstuhl Kryptologie & IT-Sicherheit - Ruhr ...

Diskrete Mathematik 1 - Lehrstuhl Kryptologie & IT-Sicherheit - Ruhr ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!