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.

Führe Probedivision durch die Primzahlen ≤ B durch. Diese Primzahlen sollten<br />

vorab in einer Liste gespeichert werden. (Ein vernünftiger Wert für B wäre<br />

vielleicht B = 100 oder B = 1000.) Wenn schon dabei ein Teiler von N gef<strong>und</strong>en<br />

wird, dann gib “N ist nicht prim; (N hat sogar einen nicht-trivialen Teiler<br />

≤ B)” aus <strong>und</strong> halte an.<br />

Wähle t Werte a 1 , · · · a t ∈ {1, 2, · · · , N − 1}. Dies kann per Zufallsgenerator<br />

geschehen. M.E. wäre auch die Wahl a 1 = 2, a 2 = 3, · · · , a t = t + 1 nicht<br />

besonders nachteilig. (Ein vernünftiger Wert für t könnte t = 10 sein.)<br />

Prüfe für jede dieser Zahlen a i , ob a i ein Zeuge gegen die Primalität von N ist.<br />

Wenn dabei ein Zeuge gegen die Primalität gef<strong>und</strong>en wird, gib aus “N ist nicht<br />

prim (<strong>und</strong> dies wird durch a i bezeugt).”<br />

Wenn kein Zeuge gegen die Primalität gef<strong>und</strong>en wird, gib aus “N ist wahrscheinlich<br />

prim”.<br />

Sei ε die Fehlerwahrscheinlichkeit dieses Tests, d.h. die Wahrscheinlichkeit dafür,<br />

dass der Test auf zusammengesetztes N mit “wahrscheinlich prim” antwortet.<br />

Dies passiert genau dann, wenn N zusammengesetzt ist <strong>und</strong> bei t Wahlen<br />

a i ∈ {1, 2, · · · , N − 1} lauter Nicht-Zeugen gef<strong>und</strong>en wurden, obwohl höchstens<br />

1/4 der Elemente von {1, · · · N − 1} Nicht-Zeugen sind. Die Fehlerwahrscheinlichkeit<br />

erfüllt also ε ≤ (1/4) t (z.B ε ≤ 0.000095% für t = 10). Wenn man<br />

den Parameter t erhöht, dann verringert sich die Fehlerwahrscheinlichkeit auf<br />

Kosten der Laufzeit.<br />

Algorithmus 3.2.4 Zur Wahl einer großen Zufallsprimzahl wählt man eine<br />

Zufallszahl M <strong>und</strong> wendet den Miller-Rabin-Test mit Parameter t 1 (t 1 hier nicht<br />

allzu groß, vielleicht t 1 = 5 oder t 1 = 10) auf M, M + 1, M + 2, · · · an, bis das<br />

Ergebnis “M + k ist wahrscheinlich prim” erzielt wird.<br />

Wer auf Nummer sicher gehen will, wird vielleicht abschließend noch einmal<br />

einen Miller-Rabin-Test auf M + k anwenden, aber jetzt mit sehr hohem Parameter<br />

t 2 (z.B. t 2 = 30). Sollte die Antwort dann wider aller Erwartungen “M +k<br />

ist nicht prim” lauten, so beginnt man noch einmal von vorne. Anderenfalls ist<br />

M + k mit sehr hoher Wahrscheinlichkeit prim.<br />

3.3 RSA<br />

Wir erläutern nun das <strong>Kryptographie</strong>verfahren RSA. Dies war das erste Public-<br />

Key-Verfahren <strong>und</strong> ist bis heute das wichtigste.<br />

Alice möchte sich von jemandem, sagen wir Bob, oder sogar von jedermann verschlüsselt<br />

Nachrichten schicken lassen können. Sie (bzw. die auf Ihrem Rechner<br />

installierte Software) wählt dazu zwei große Zufalls-Primzahlen p <strong>und</strong> q (hier<br />

kann sie den Miller-Rabin-Test 3.2.3 verwenden) mit p ≠ q <strong>und</strong> bildet das Produkt<br />

N = pq. Derzeit (2007) gilt es als sicher, mit Primzahlen p <strong>und</strong> q jeweils<br />

51

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!