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.

einfach w p = [a] p+1<br />

4<br />

p gesetzt werden.)<br />

Sei w q ∈ sqrt Fq<br />

([a] q ) eine Wurzel aus [a] q in F q .<br />

Dann ist<br />

L := {(w p , w q ), (−w p , w q ), (−w p , −w q ), (w p , −w q )<br />

} {{ } } {{ } } {{ } } {{ }<br />

=:u ′ =:v ′ =−u ′ =−v ′<br />

die Lösungsmenge von (∗∗). Sei u := f −1 (u ′ ) <strong>und</strong> v := f −1 (v ′ ). (Zur Berechnung<br />

von u ist das System von Konguenzen<br />

u = w p mod p<br />

u = w q mod q zu lösen.<br />

Zur Berechnung von v ist das System von Konguenzen<br />

v = −w p mod p<br />

v = w q mod q zu lösen.)<br />

Die Lösungsmenge von (∗) ist<br />

sqrt Z/N ([a] N ) = {u, v, −u, −v}.<br />

Manche Lösungen können zusammenfallen, d.h. |sqrt Z/N ([a] N )| ≤ 4. In Z/N<br />

(das ist sicher keine Körper) kann das Polynom X 2 = [a] N bis zu vier Nullstellen<br />

haben. Wie viele es genau sind richtet sich nach den Jacobisymbolen; es gilt<br />

|sqrt Z/N ([a] N )| =<br />

(<br />

1 +<br />

( a<br />

p<br />

)) (<br />

1 +<br />

( a<br />

q<br />

))<br />

.<br />

Wenn p ≠ q ungefähr gleich große, große Primzahlen sind, dann wird in aller<br />

Regel sqrt Z/N ([a] N ) = ∅ (≈ 75% der Fälle) oder |sqrt Z/N ([a] N )| = 4 (≈ 25% der<br />

Fälle) gelten.<br />

□<br />

Fazit: Wenn p <strong>und</strong> q bekannt sind, dann kann die Gleichung X 2 = [a] über<br />

Z/pq schnell (in Polynomzeit) behandelt werden.<br />

Sei nun [a] ∈ (Z/N) ×2 <strong>und</strong> sqrt Z/N ([a] N ) = {u, v, −u, −v}. Sei û (bzw. ˆv) der<br />

kleinste nicht-negative Repräsentant von u (bzw. v). Aus f(u + v) = (0, 2w q )<br />

folgt p | û + ˆv aber q teilt nicht û + ˆv. Daraus folgt p ∈ ggT (û + ˆv.<br />

Man sieht: Wer N <strong>und</strong> die vier Wurzeln aus einem Element a ∈ (Z/N) ×2 kennt,<br />

der kann die Primfaktorzerlegung von N leicht berechnen. Er hat nur mit dem<br />

euklidischen Algorithmus einen ggT zu berechnen.<br />

Fazit: Sei p <strong>und</strong> q nicht bekannt. Das Berechnen der vier Wurzeln eines Quadrates<br />

a ∈ (Z/N) ×2 ist genauso schwer, wie das Berechnen der Primfaktorzerlegung<br />

von N. Wenn p <strong>und</strong> q 1000-Bit-Zahlen sind, so ist beides praktisch unmöglich.<br />

Beispiele: Wir rechnen in R := Z/77. Die Primfaktorzerlegung von 77 ist<br />

77 = 7 · 11.<br />

a) Löse X 2 = [24] 77 (∗). Es gilt<br />

( ) ( 24 3<br />

=<br />

7 7)<br />

( ( 7 1<br />

= − = − = −1.<br />

3)<br />

3)<br />

93

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!