Elementare Zahlentheorie

Werbung
Elementare Zahlentheorie
Vorlesung 27
30.01.2007
Dieses Dokument wurde von der Homepage www.sigma-mathematics.de runtergeladen. Es darf zu nichtkommerziellen Zwecken verwendet und frei weitergegeben werden. Jeglicher Mißbrauch ist untersagt. Ich
hafte nicht für eventuelle Schäden, die durch Verwendung dieses Dokuments auftreten. Sollte das Dokument
Fehler enthalten, so melden Sie diese bitte an
[email protected].
(4.3) Beispiel. (a) p = 5, M5 = 31. r1 = 4, r2 = 42 − 2 mod 31 = 14, r3 = 142 − 2 mod 31 = 8, r4 =
82 − 2 mod 31 = 0 ⇒ M5 ∈ P.
(b) p = 11, M1 1 = 2047. r1 = 4, r2 = 14, r3 = 194, . . . , r10 = 1736 6= 0 ⇒ M11 ∈
/ P.
Erinnerung. (vgl. (2.17)(b), kleiner Satz von Fermat)
Sei p ∈ P, a ∈ Z mit p - a. Dann ist ap−1 ≡ 1 (mod p).
Beispiel. n = 561 = 3 · 11 · 17 ⇒ a560 ≡ 1 (mod 561) für alle a ∈ Z mit ggT(a, 561) = 1 (vgl. (2.18)(d)).
(4.4) Definition. Sei n ∈ N \ P, n 6= 1, n ungerade. n heißt Carmichael-Zahl, falls gilt: an−1 ≡ 1 (mod n)
für alle a ∈ Z mit ggT(a, n) = 1.
(4.5) Bemerkung. Sei n ∈ N. Dann gilt: n ist Carmichael-Zahl ⇔ n = p1 p2 . . . pk mit
(a) pi ∈ P \ {2} für alle 1 ≤ i ≤ k, pi 6= pj für alle 1 ≤ i 6= j ≤ k,
(b) k ≥ 2,
(c) pi − 1 | n − 1 für alle 1 ≤ i ≤ k.
Beweis. „⇐“: (a) und (b) bedeuten: n ∈
/ P, n 6= 1 und n ungerade. Sei a ∈ Z mit ggT(a, n) = 1. ⇒ pi - a für
alle 1 ≤ i ≤ k
(2.17)(b)
⇒
api −1 ≡ 1 (mod pi ) für alle 1 ≤ i ≤ k
(c), (2.15)
⇒
an−1 ≡ 1 (mod pi ) für alle 1 ≤ i ≤ k ⇒
(a)
pi | an−1 − 1 für alle 1 ≤ i ≤ k ⇒ p1 . . . pk | an−1 − 1, d.h. an−1 ≡ 1 (mod n).
„⇒“: Lasse ich weg.
(4.6) Beispiel. 1105 = 5 · 13 · 17, 1729 = 7 · 13 · 19.
(4.7) Satz. Es gibt unendlich viele Carmichael-Zahlen.
Beweis. Lasse ich weg.
(4.8) Bemerkung. Sei 1 6= n ∈ N ungerade. Die Primzerlegung von n − 1 sei n − 1 = pe11 . . . pekk . Dann sind
äquivalent:
(a) n ∈ P.
(b) Es existiert ein a ∈ N mit ggT(a, n) = 1 und
(i) an−1 ≡ 1 (mod n),
(ii) a
n−1
pj
6≡ 1 (mod n) für alle 1 ≤ j ≤ k.
1
www.sigma-mathematics.de/semester8/elmzth/vorlesungen/vorlesung27.pdf
2
∗
Beweis. „(a) ⇒ (b)“: Wähle a als Primitivwurzel modulo n (vgl. (2.26)) ⇒ |a| = n − 1 in (Z/nZ) ⇒ an−1 ≡ 1
(mod n) und aj 6≡ 1 (mod n) für alle 1 ≤ j < n − 1.
(2.15)
∗
(ii)
„(b) ⇒ (a)“: ggT(a, n) = 1 ⇒ a ∈ Z/nZ . an−1 ≡ 1 (mod n) ⇒ |a| | n−1 ⇒ |a| = n−1
⇒ n ∈ P.
(2.16), (2.6)
⇒
n−1 | ϕ(n)
(4.9) Beispiel. n = 71, n − 1 = 2 · 5 · 7.
n−1
35
≡ 1 (mod 71), 335 ≡ 1 (mod 71), 535 ≡ 1 (mod 71). 2, 3, 4, 5, 6 nicht für a geeignet. 735 ≡ −1
2 = 35: 2
(mod 71).
n−1
14
≡ −17 (mod 71).
5 = 14: 7
n−1
10
=
10:
7
≡ −36 (mod 71).
7
(4.8)
⇒ 71 ∈ P.
(4.10) Definition. Sei 1 6= n ∈ N ungerade, n − 1 = 2t m mit t ∈ N, m ∈ N ungerade. a ∈ Z mit ggT(a, n) = 1
heißt Zeuge für die Zerlegbarkeit von n, falls gilt:
(a) am 6≡ 1 (mod n) und
(b) a2
s
m
6≡ −1 (mod n) für alle 0 ≤ s < t.
(4.11) Satz. Sei 1 6= n ∈ N ungerade. Existiert ein Zeuge für die Zerlegbarkeit von n, dann ist n ∈
/ P.
(2.25)
∗
Beweis. Sei a dieser Zeuge. Angenommen, n ∈ P. ⇒ Z/nZ ist zyklisch der Ordnung n − 1 = 2t m. Sei α =
∗ (2.16)
(a)
t
(2.15)
0
(2.22), (2.15)
a + nZ ∈ Z/nZ ⇒ αn−1 = 1. Setze β := αm ⇒ β 6= 1 und β 2 = 1. ⇒ |β| = 2t mit 1 ≤ t0 ≤ t
⇒
0
0
0
∗
2t −1
2t −1
2t −1 m
β
= −1, da |β
| = 2 und −1 das einzige Element der Ordnung 2 in (Z/nZ) ist. ⇒ a
≡ −1
(mod m), Widerspruch, denn 0 ≤ t0 − 1 < t.
(4.12) Satz (Rabin). Sei n ∈ N, n ≥ 11, ungerade und zusammengesetzt. Dann gilt: |{a ∈ N | 1 ≤ a ≤
n, ggT(a, n) = 1, a ist Zeuge für die Zerlegbarkeit von n}| + |{a ∈ N | 1 ≤ a < n, ggT(a, n) 6= 1}| ≥ 34 (n − 1).
Beweis. Lasse ich weg.
(4.13) Beispiel. (a) n = 25, a = 7, n − 1 = 23 · 3. 73 ≡ 72 · 7 ≡ −7 (mod 25), 76 ≡ (−7)2 ≡ −1 (mod 25)
⇒ 7 ist kein Zeuge für die Zerlegbarkeit von 25.
(b) n = 341, a = 2, n − 1 = 22 · 85. 285 ≡ 32 (mod 341), 22·85 ≡ 1024 ≡ 1 (mod 341) ⇒ 2 ist Zeuge für die
Zerlegbarkeit von n (341 = 11 · 31).
(4.14) Algorithmus (Miller-Rabin-Test). Eingabe: n ∈ N, n ≥ 11, ungerade.
Ausgabe: Entweder „n ist zusammengesetzt“ oder „n ist Primzahl“.
(a) Schreibe n − 1 = 2t m mit m ungerade.
(b) Wähle a ∈ N mit 1 ≤ a < n zufällig.
(c) Falls ggT(a, n) 6= 1, so gebe „n ist zusammengesetzt“ aus.
(d) b := am (mod n).
(e) Falls b = 1, so gebe „n ist Primzahl“ aus.
(f) Für j ∈ {0, 1, . . . , t − 1}: Falls b = −1, so gebe „n ist Primzahl“ aus, ansonsten setze b := b2 (mod n).
(g) Gebe „n ist zusammengesetzt“ aus.
Die Ausgabe „n ist zusammengesetzt“ ist immer korrekt. Dagegen ist die Ausgabe „n ist Primzahl“ mit Wahrscheinlichkeit ≤ 41 falsch: a könnte eine der Zahlen 1 ≤ x ≤ n − 1 sein, die keine Zeugen für die Zerlegbarkeit
von n sind. Davon gibt es maximal 14 (n − 1).
Wird (4.14) k-mal ausgeführt (mit der gleichen Eingabe n), und unabhängig gewählten a’s, dann ist die Fehlerwahrscheinlichkeit der Ausgabe „n ist Primzahl“ ≤ ( 41 )k .
Aus dem Primzahlsatz folgt: Die Wahrscheinlichkeit, dass eine zufällig gewählte ungerade Zahl n eine Primzahl
ist, beträgt etwa log2 n .
www.sigma-mathematics.de/semester8/elmzth/vorlesungen/vorlesung27.pdf
Beispiel. n ≈ 10150 ⇒
2
log n
>
3
1
173 .
Der Miller-Rabin-Test ist ein Monte-Carlo-Algorithmus. Dieser terminiert immer mit „Ja“ oder „Nein“ (in
(4.14) auf die Frage: „n ∈ P?“); die Antwort „Nein“ ist immer richtig, die Antwort „Ja“ ist mit gewisser,
aber bekannter Wahrscheinlichkeit falsch, und kann durch Wiederholen des Algorithmus beliebig klein gemacht
werden.
Las-Vegas-Algorithmen: Ausgabe immer korrekt, aber mit gewisser Wahrscheinlichkeit ist die Ausgabe „fail“.
Herunterladen