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.
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