Elementare Zahlentheorie und Kryptographie
Elementare Zahlentheorie und Kryptographie
Elementare Zahlentheorie und Kryptographie
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Algorithmus 6.2.6 (Algorithmus für Quadratwurzeln in F p )<br />
Eingabe: p ≠ 2 prim, a ∈ F ×2<br />
p ein Quadrat. Ferner muß zur Unterstützung des<br />
Algorithmus ein Nicht-Quadrat b ∈ F × p eingegeben werden.<br />
Berechne s, u mit u ungerade <strong>und</strong> p − 1 = 2 s u.<br />
Berechne ζ := b u .<br />
Berechne x := a u+1<br />
2 ζ − log ζ (au )/2 mit Square and Multiply <strong>und</strong> Silver-Pohig-<br />
Hellman.<br />
Ausgabe: x ist eine Wurzel aus a.<br />
Dies ist ein deterministischer Algorithmus mit polynomialer Laufzeit in der<br />
Bitlänge von p.<br />
Wie kommt man zu einem Nicht-Quadrat?<br />
Algorithmus 6.2.7 (Algorithmus zur Konstruktion eines Nicht-Quadrates)<br />
Eingabe: p ≠ 2 prim.<br />
i := 2 ( )<br />
i<br />
while(<br />
p<br />
≠ −1, i:=i+1);<br />
Die Jacobi-Symbole sind mit 6.2.3 berechnet werden.<br />
Ausgabe: [i] p ist ein Nicht-Quadrat.<br />
Da 50% der Elemente von F p Nicht-Quadrate sind, ist der Erwartungswert<br />
für die Anzahl der Durchläufe der while-Schleife gleich 2. Die Jacobi-Symbole<br />
können in Polynomialzeit berechnet werden. Daher hat dieser Algorithmus erwartete<br />
Polynomialzeit in der Bitlänge von p.<br />
Wir halten fest: Für ein Element a ∈ F p kann man in Polynomialzeit<br />
entscheiden, ob a ein Quadrat ist, <strong>und</strong> in erwarteter Polynomialzeit<br />
kann man ggfls. eine Wurzel aus a berechnen.<br />
6.3 Der Solovay-Strassen Primzahltest<br />
Wir erläutern in diesem Abschnitt einen probablistischen Primzahltest von Solovay<br />
<strong>und</strong> Strassen, der alternativ zum Miller-Rabin-Test verwendet werden kann.<br />
Dieser Primzahltest beruht auf dem Satz von Euler 6.1.3.<br />
Sei N eine ungerade natürliche Zahl. Wir nennen eine Zahl a ∈ {1, · · · , N − 1}<br />
einen Solovay-Strassen-Zeugen gegen die Primalität von N, falls 1 /∈<br />
ggT (a, N) oder<br />
(<br />
a N−1 a<br />
)<br />
2 ≠ mod N<br />
N<br />
90