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.

Kapitel 3<br />

Das Public-Key-Verfahren<br />

von Rivest, Shamir <strong>und</strong><br />

Adleman<br />

3.1 Der Potenzierungsalgorithmus Square and<br />

Multiply<br />

Bei vielen Berechnungen, die im Zusammenhang mit RSA auftreten, müssen<br />

hohe Potenzen in Z/NZ berechnet werden. Wir stellen einen schnellen Algorithmus<br />

dafür vor.<br />

Sei N ≥ 2 eine (evtl. sehr große) natürliche Zahl. Vorab sei erwähnt, dass man<br />

bei längeren Rechnungen in Z/NZ nach jedem einzelnen Teilschritt modulo N<br />

reduzieren sollte. (Beispiel: Rechne nicht 44 · 123 · 42 = 227304 = 4 mod 5,<br />

sondern 44 · 123 · 42 = 4 · 3 · 2 = 12 · 2 = 2 · 2 = 4 mod 5.)<br />

Sei nun (G, ·) ein abelsches Monoid. Eine Routine zur Berechnung des Produktes<br />

zweier Elemente liege bereits vor. Es ist rechentechnisch ungünstig, zur<br />

Berechnung von x n (x ∈ G, n ∈ N) die Definitionsformel<br />

x n = x · x · · · x<br />

} {{ }<br />

n-mal<br />

heranzuziehen. Dies würde für die Berechnung von x n genau n − 1 Multiplikationen<br />

in Z/NZ erfordern.<br />

Besser ist folgendes Vorgehen. Zuerst berechnet man die 2-adische Entwicklung<br />

des Exponenten n = a 0 + a 1 2 + a 2 2 2 + ·a m 2 m (a i ∈ {0, 1}). Die a i können durch<br />

die Formeln 1 n = a 0 mod 2, a k = n−(a0+···+a k−12 k−1 )<br />

2 k mod 2 rekursiv berechnet<br />

1 Vgl. Übungsblatt 2, Aufg. 3<br />

47

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!