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.

Schranke B. Für eine gegebenes N kann man natürlich a priori nicht entscheiden,<br />

ob N einen solchen Primfaktor hat, solange man die Primfaktoren von N nicht<br />

kennt. Wer N faktorisieren will, wird also vielleicht “auf gut Glück” versuchen,<br />

ob die (p − 1)-Methode einen Teiler von N liefert oder ob sie fehlschlägt.<br />

Nehmen wir an N ist zusammengesetzt, p ist ein Primteiler von N <strong>und</strong> p − 1 ist<br />

B-glatt. Sei P die Menge der Primzahlpotenzen <strong>und</strong> 7<br />

k := k B :=<br />

∏<br />

q∈P,q≤B<br />

Diese Zahl hängt nur von B ab. (Z.B. gilt k 15 = 2 · 3 · 4 · 5 · 7 · 8 · 9 · 11 · 13.)<br />

Weil wir p − 1 als B-glatt angenommen haben, muß p − 1 ein Teiler von k B sein:<br />

D.h. es wird k B = (p − 1)j mit j ∈ N gelten 8 . Sei nun a ≥ 2 beliebig. Dann<br />

gilt a p−1 = 1 mod p nach dem kleinen Satz von Fermat 2.7.2 <strong>und</strong> daraus folgt<br />

a k B<br />

= (a (p−1) ) j = 1 j = 1 mod p, d.h. p | (a k B<br />

− 1). Daher wird (a k B<br />

− 1) nicht<br />

zu N teilerfremd sein. Sei g ∈ ggT (a k B<br />

− 1, N). Dann gilt |g| > 1 <strong>und</strong> wenn<br />

|g| < N gilt, dann hat man in |g| einen nicht-trivialen Teiler von N gef<strong>und</strong>en.<br />

q.<br />

Algorithmus 3.5.1 ((p − 1)-Methode von Pollard)<br />

Eingabe: N ∈ N. Steuerparameter B ∈ N <strong>und</strong> a ≥ 2.<br />

Berechne k B .<br />

Berechne das nicht-negative g ∈ ggT (a k B<br />

− 1, N) mit dem euklidischen Algorithmus<br />

2.2.7.<br />

Wenn g = 1 oder g = N, dann gib aus “Kein nicht-trivialer Teiler von N<br />

gef<strong>und</strong>en. Sie können versuchen B zu erhöhen.”<br />

Wenn g ≠ 1 <strong>und</strong> g ≠ N, dann gib aus “g ist ein nicht-trivialer Teiler von N”<br />

Um Angriffe mit der (p − 1)-Methode zu verhindern, wird bei RSA empfohlen,<br />

die folgende Sicherheitsvorkehrung zu treffen.<br />

Sicherheitsvorkehrung für RSA. Um einen Angriff via der p − 1-Methode<br />

abzuwehren, soll man als RSA-Modul ein Produkt N = pq von großen Primzahlen<br />

nehmen, wobei p <strong>und</strong> q so beschaffen sind, dass p − 1 <strong>und</strong> q − 1 jeweils<br />

einen großen Primfaktor haben.<br />

7 Man kann das Produkt durch das kgV ersetzen.<br />

8 Man weiß, daß das so ist, obwohl man j <strong>und</strong> p nicht explizit kennt. Die Zahl k B kennt<br />

man aber explizit.<br />

57

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!