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.
Beispiel: Wir gehen durch ein Beispiel mit kleinen 5 Zahlen. Sagen wir, Alice<br />
wählt p = 11 <strong>und</strong> q = 31. Dann ist N = 341 <strong>und</strong> ϕ(N) = 10 · 30 = 300. Ferner<br />
wählt Alice e = 7 als V-Schlüssel <strong>und</strong> berechnet daraus den E-Schlüssel d = 43<br />
(beachte: ed = 7 · 43 = 301 = 1 mod 300). Alice macht N = 341 <strong>und</strong> e = 7 auf<br />
ihrer Homepage publik.<br />
Wenn Bob die Nachricht m = 10 an Alice übermitteln will, dann berechnet er<br />
m e = 10 7 = 175 mod 341 <strong>und</strong> übermittelt 175.<br />
Alice empfängt 175 <strong>und</strong> kann dann die Rechnung (m e ) d = 175 43 = 10 durchführen,<br />
um m aus m e zu gewinnen; sie kennt ja d.<br />
Angriffe auf RSA<br />
Nehmen wir an, ein Angreifer Oskar hat den gesamten Dialog abgehört, also<br />
Oskar kennt N, e, m e ,<br />
Bob kennt N, e, m, m e <strong>und</strong><br />
Alice kennt N, p, q, ϕ(N), e, d, m e , m.<br />
1. Nehmen wir an, es gelingt Oskar, N zu faktorisieren, d.h. p <strong>und</strong> q zu<br />
bestimmen. Dann kann er leicht ϕ(N) = (p−1)(q−1) bestimmen <strong>und</strong> dann<br />
das d ∈ {0, 1, · · · , ϕ(N) − 1} mit ed = 1 mod ϕ(N) berechnen, genau wie<br />
Alice es eingangs getan hat. Das entspricht nur einer Inversenbildung in<br />
(Z/ϕ(N)Z) × mit dem euklidischen Algorithmus. Wenn er den E-Schlüssel<br />
d einmal hat, dann kann er m aus m e durch die Rechnung m = (m e ) d<br />
(Square and Multiply!) finden. Er kann dann jede abgehörte Nachricht an<br />
Alice entschlüsseln.<br />
Die Sicherheit von RSA beruht also wesentlich darauf, dass es heute für<br />
“technisch unmöglich” gehalten wird, ein Produkt aus zwei großen Zufalls-<br />
Primzahlen (sagen wir je ca. 1024 Bit) in seine Primfaktoren zu zerlegen.<br />
Fortschritte im Bereich der Hardware oder im Bereich der Faktorisierungsalgorithmen<br />
würden eine massive Bedrohung für RSA darstellen. Solange<br />
nur kleinere Fortschritte gemacht werden, kann man allerdings einfach die<br />
Schlüssellänge nach oben anpassen.<br />
2. Natürlich würde es Oskar genügen, ϕ(N) zu finden. Das ist aber auch<br />
nicht leichter als das Faktorisieren von N. Wer ϕ(N) kennt, der kennt<br />
ϕ(N) = (p − 1)(q − 1) = N − p − q + 1 <strong>und</strong> kann p <strong>und</strong> q durch das<br />
Auflösen der Gleichungen pq = N, p + q = N + 1 − ϕ(N) ermitteln. (Dies<br />
läuft auf eine quadratische Gleichung in p hinaus.)<br />
3. Ebenso würde es Oskar genügen, an d zu kommen. Man kann auch hier<br />
beweisen, daß das ungefähr genauso schwer ist, wie das Faktorisieren von<br />
N. D.h.: Wer d kennt, der kann p <strong>und</strong> q leicht berechnen.<br />
4. Oskar könnte auch versuchen, m aus m e zu bestimmen, ohne d zu errechnen,<br />
d.h. ohne die Gleichung m = (m e ) d zu benutzen. Es ist meines<br />
Wissens nicht bekannt, ob das genauso schwer ist wie das Faktorisieren<br />
von N, <strong>und</strong> das wird als Nachteil von RSA angesehen.<br />
5 viel zu klein, um sicher zu sein!<br />
53