18.11.2013 Aufrufe

Elementare Zahlentheorie und Kryptographie

Elementare Zahlentheorie und Kryptographie

Elementare Zahlentheorie und Kryptographie

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.

) /* Ende while<br />

if(a=0, s:=0);<br />

Ausgabe: Das gesuchte Jacobi-Symbol ist s.<br />

Man beachte, daß das Produkt s·( a<br />

b<br />

)<br />

bei keinem der Teilschritte verändert wird.<br />

Nach jedem Schleifendurchlauf sinkt a ab.<br />

Dieser Algorithmus ist sehr schnell. Die Laufzeit ist ähnlich schnell wie bei dem<br />

euklidischen Algorithmus zur Berechnung von ggT (a, b).<br />

Sei nun p ≠ 2 eine Primzahl <strong>und</strong> a ∈ F × p . Wir schreiben sqrt(a) := {x ∈ F p :<br />

x 2 = a} für die Lösungsmenge der Gleichung X 2 = a. Mit(<br />

obigem ) Algorithmus<br />

kann man testen, ob a ein Quadrat ist oder nicht. Falls = −1 so ist a ∈<br />

F × p \ F ×2<br />

p <strong>und</strong> die Gleichung X 2 = a hat keine Lösung, d.h. sqrt(a) = ∅. Wenn<br />

( )<br />

= 0, dann gilt a = 0 <strong>und</strong> sqrt(a) = {0}.<br />

a<br />

p<br />

(<br />

Wenn<br />

a<br />

p<br />

)<br />

= +1, dann hat die Gleichung X 2 = a genau zwei Lösungen x <strong>und</strong><br />

−x <strong>und</strong> sqrt(a) ist zweielementig. Aber wie findet man diese Lösungen?<br />

Beispiel: Wir rechnen in F 13 . Nach der Tabelle im Beispiel zu Beginn dieses<br />

Beispiels liest man leicht ab: sqrt([2]) = ∅, sqrt([10]) = {[6], [7]} = {[6], [−6]},<br />

sqrt([12]) = {[5], [8]} ect. □.<br />

Das Anlegen einer geeigneten Tabelle ist für die Berechnung von sqrt(a) ein<br />

unnötig langsames Verfahren. Es gibt eine viel schnellere Möglichkeit. Wir beginnen<br />

mit dem einfachen Sonderfall p = 3 mod 4.<br />

a<br />

p<br />

Satz 6.2.4 Sei p eine Primzahl mit p = 3 mod 4 <strong>und</strong> a ∈ F × p ein Element mit<br />

( )<br />

= +1. Sei 1 x := a p+1<br />

4 . Dann gilt x 2 = a, d.h. sqrt(a) = {x, −x}.<br />

a<br />

p<br />

(<br />

Beweis: Es gilt x 2 = a (p+1)/2 = a (p−1)/2+1 = a (p−1)/2 a = a, denn aus<br />

a<br />

p<br />

)<br />

= +1<br />

folgt a (p−1)/2 = [1] p (alle Rechnungen in F p ) nach dem Satz von Euler 6.1.3. □<br />

Beispiel: Wir rechnen in F 23 . Es gilt ( 2<br />

23)<br />

= +1 nach dem Ergänzungssatz 6.2.2<br />

(beachte 23 = 7 = −1 mod 8). Daher ist [2] 23 ein Quadrat. Es gilt 2 (23+1)/4 =<br />

2 6 = 64 = 18 mod 23. Wegen 23 = 3 mod 4 muss muß nach obigem Satz<br />

18 2 = 2 mod 23 gelten <strong>und</strong> natürlich folgt dann auch (−18) 2 = 5 2 = 2 mod 23.<br />

Also ist sqrt([2]) = {[18], [−18]} = {[5], [18]} die Lösungsmenge der Gleichung<br />

X 2 = [2] über F 23 . (Man kann sich nachträglich leicht direkt davon überzeugen,<br />

dass 5 2 = 25 = 2 mod 23 <strong>und</strong> 18 2 = 324 = 2 mod 23 gilt.)<br />

Wegen 23 = 3 mod 4 gilt ( )<br />

−1<br />

23 = −1 (vgl. 6.2.2) <strong>und</strong> somit sqrt([−1]23 ) = ∅.<br />

D.h. die Gleichung X 2 = [−1] hat keine Lösung in F 23 .<br />

□<br />

1 Beachte: p + 1 = 4 = 0 mod 4, d.h. p + 1 ist durch 4 teilbar.<br />

88

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!