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.

Sei nun p ≠ 2 eine beliebige Primzahl. Wir schreiben p − 1 = 2 s u mit einer<br />

ganzen Zahl s ≥ 1 <strong>und</strong> einer ungeraden Zahl u. Für a ∈ F × p setzen wir<br />

δ(a) := a u<br />

Bemerkung 6.2.5 a) Es gilt δ(a) 2s−1 = a p−1<br />

2 =<br />

von Euler 6.1.3.<br />

(<br />

a<br />

p<br />

)<br />

in F p nach dem Satz<br />

a’) Wenn a ein Quadrat ist, dann ist δ(a) ein Quadrat <strong>und</strong> ord(δ(a)) | 2 s−1 .<br />

( ) 2<br />

b) Es gilt δ(a) 2s a<br />

=<br />

p = 1.<br />

c) Wenn a ein Nicht-Quadrat ist, dann gilt ord(δ(a)) = 2 s .<br />

Beweis: Nur c) ist nicht-trivial. Nach b) muß ord(δ(a)) | 2 s , also ord(δ(a)) ( = ) 2 t<br />

mit 0 ≤ t ≤ s gelten. Sei a ein Nicht-Quadrat. Wäre t < s, so würde =<br />

δ(a) 2s−1 = 1 folgen; Widerspruch. □<br />

( )<br />

Sei nun p ≠ 2 eine beliebige Primzahl. Wir nehmen nun an, dass = 1. Wie<br />

kann man die Wurzel aus a berechnen? Sei ˜x := a u+1<br />

2 . ˜x läßt sich aus a mit<br />

Square and Multiply schnell berechnen. Man sollte ˜x als eine erste Approximation<br />

an eine Wurzel von a ansehen. Offenbar gilt a = ˜x 2 δ(a) −1 ; man kann also<br />

δ(a) als den “Fehlerterm” der Approximation ansehen. Nach obiger Bemerkung<br />

ist δ(a) ein Quadrat <strong>und</strong> ord(δ(a)) | 2 s−1 . Es bleibt die Wurzel aus δ(a) zu<br />

ziehen.<br />

Für d | p − 1 sei µ d die Untergruppe der Ordung d in der zyklischen Gruppe F × p .<br />

Sei ζ ∈ F × p ein Element der Ordnung 2 s (es gibt nach 4.1.10 genau ϕ(2 s ) = 2 s−1<br />

solche Elemente). Dann gilt µ 2 s = 〈ζ〉. Nach obiger Bemerkung gilt ord(δ(a)) =<br />

2 t mit t < s <strong>und</strong> <strong>und</strong> somit ist δ(a) ein Erzeuger von µ 2 t (vgl. 4.1.9). Mit 4.1.8<br />

folgt µ 2 t ⊂ µ 2 s, also δ(a) ∈ 〈ζ〉. Sei L ∈ N mit L = log ζ (a) mod 2 s . Dann gilt<br />

ζ L = δ(a). Da δ(a) ∈ µ 2 t ein Quadrat ist, muß L gerade sein. Also ist ζ L/2 eine<br />

Wurzel aus δ(a). Daher muß x := ˜xζ −L/2 = a u+1<br />

2 ζ −L/2 eine Wurzel von a sein.<br />

Wir haben bewiesen:<br />

Fazit:<br />

x = a u+1<br />

2 ζ<br />

− log ζ (a u )/2<br />

erfüllt x 2 = a <strong>und</strong> sqrt(a) = {x, −x}. x läßt sich aus a (<strong>und</strong> p) leicht berechnen,<br />

sofern ein Element ζ der Ordnung 2 s bekannt ist: Die Exponentiationen können<br />

mit Square and Multiply in Polynomzeit (in der Bitlänge von p) berechnet<br />

werden, <strong>und</strong> der diskrete Logarithmus log ζ (y) ist mit der Silver-Pohig-Hellman-<br />

Methode 4.3.2, 4.3.3 Polynomzeit berechenbar, weil ord(ζ) eine Potenz von 2<br />

ist.<br />

Aber wie kommt man zu einem Element ζ ∈ F × p der Ordnung 2 s ? Nach obiger<br />

Bemerkung ist klar: Wenn b ∈ F × p ein beliebiges Nichtquadrat ist, dann hat<br />

ζ := δ(b) = b u Ordnung 2 s .<br />

a<br />

p<br />

a<br />

p<br />

89

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!