18.11.2013 Aufrufe

Elementare Zahlentheorie und Kryptographie

Elementare Zahlentheorie und Kryptographie

Elementare Zahlentheorie und Kryptographie

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!