Algorithmische Zahlentheorie und Kryptographie - Mitschriften von ...
Algorithmische Zahlentheorie und Kryptographie - Mitschriften von ...
Algorithmische Zahlentheorie und Kryptographie - Mitschriften von ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
NP<br />
RP<br />
P<br />
ZPP<br />
BPP<br />
PP<br />
co-RP<br />
co-NP<br />
1.5 Der Miller-Rabin-Test<br />
1.5.1 Einfache Primzahltests<br />
Erinnerung: Ein Primzahltest ist ein Entscheidungsalgorithmus für<br />
PRIMES = {〈n〉 2<br />
| n ist Primzahl}.<br />
Sofort einsichtig ist folgender Satz:<br />
Satz: PRIMES ∈ co-NP.<br />
Beweis: Eine passende PTM ist: Zur Eingabe 〈n〉 2<br />
rate eine Zahl m mit<br />
1 < m < n. Falls m | n gilt (Teilbarkeit kann in O(Log 3 n) getestet werden),<br />
so akzeptiere nicht, andernfalls akzeptiere.<br />
Weniger direkt einsichtig ist folgender Satz:<br />
□<br />
Satz <strong>von</strong> Pratt: PRIMES ∈ NP.<br />
Um dies zu zeigen, benötigen wir zunächst folgendes Lemma:<br />
Lemma <strong>von</strong> Lucas: Sei n ≥ 2. Dann ist n eine Primzahl genau dann, wenn<br />
es ein 1 < a < n gibt mit<br />
1. a n−1 ≡ 1 (mod n) <strong>und</strong><br />
2. für alle Primzahlen p mit p | n − 1 gilt: a n−1<br />
p<br />
≢ 1 (mod n).<br />
Die Idee <strong>von</strong> Pratt ist ein rekursiver Ansatz auf der Gr<strong>und</strong>lage des Lemmas:<br />
Man rät sowohl a als auch die Primteiler q <strong>und</strong> überprüft rekursiv, dass es<br />
sich tatsächlich um Primzahlen handelt.<br />
Beweis des Lemmas:<br />
„⇒“ Sei n eine Primzahl, dann ist nach Lemma Z ∗ n zyklisch mit Ordnung<br />
n − 1. Wähle einen Erzeuger a. Dann gilt a n−1 mod n = 1 <strong>und</strong> a m<br />
mod n ≠ 1 für alle m < n − 1, insbesondere für m = n−1.<br />
q<br />
29