Elementare Zahlentheorie und Kryptographie
Elementare Zahlentheorie und Kryptographie
Elementare Zahlentheorie und Kryptographie
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