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.

Berechne für jedes i ein x i ∈ {0, · · · , li s − 1} derart, dass<br />

gilt.<br />

Log(a) = x i mod l si<br />

i<br />

Berechne mit dem euklidischen Algorithmus zum chinesischen Restsatz das X ∈<br />

{0, · · · , ord(g) − 1} mit<br />

Ausgabe: Log g (a) = X.<br />

X = x 1 mod l s1<br />

1<br />

X = x 2 mod l s2<br />

2<br />

· · ·<br />

X = x t mod l st<br />

t .<br />

Wenn p eine große Primzahl <strong>und</strong> g ein Erzeuger von F × p ist, dann wird ord(g) =<br />

p − 1 in aller Regel nicht nur kleine Primteiler haben <strong>und</strong> es kann bereits das<br />

Berechnen der PFZ von ord(g) = p − 1 zum Problem werden.<br />

Die Berechnung von Log gl<br />

, die beim Aufstellen der Kongruenzen mehrfach aufgerufen<br />

wird, kostet enorm viel Laufzeit, wenn l ein großer Primteiler von ord(g)<br />

ist.<br />

Man hält es wie gesagt derzeit 8 für technisch unmöglich, Log F<br />

×<br />

p ,g<br />

zu berechnen,<br />

wenn p eine 1000-Bit-Primzahl ist <strong>und</strong> ord(g) einen 300-Bit Primteiler hat.<br />

Bemerkung 4.3.3 Ganz anders liegen die Dinge, wenn g ein Element der Ordnung<br />

2 s in F × p ist. Dann ist 2 der einzige Primteiler von ord(g) <strong>und</strong> die Berechnung<br />

von<br />

log F<br />

×<br />

p ,g<br />

: 〈g〉 → Z/2s<br />

funktionert dann mit dem obigen Algorithmus in Laufzeit, die polynomial in<br />

der Bitlänge von p ist. (Man beachte, dass s kleiner-gleich der Bitlänge von<br />

p sein wird. Der obige Algorithmus berechnet log g (a) in s Schritten, wobei die<br />

laufzeitintensivste Operationen in jedem Schritt eine Potenzierung mit Square<br />

<strong>und</strong> Multiply ist. In jedem Schritt fällt auch eine Auswertung Log [−1] (y), y ∈<br />

{[1], [−1]} an, aber das läuft auf eine einfache if-Abfrage hinaus.)<br />

8 im Jahr 2007<br />

69

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!