04.02.2013 Aufrufe

Full paper (pdf) - CDC

Full paper (pdf) - CDC

Full paper (pdf) - CDC

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.

Primzahlen, die aber nicht bekannt sind, und e ist ein sogenannter invertierbarer<br />

Exponent modulo N (das Inverse von e ist allerdings auch nicht bekannt).<br />

Eine Möglichkeit, die Zahl m zu bestimmen, besteht darin N zu faktorisieren.<br />

Dann läßt sich ein Element d berechnen mit de ≡ 1 (mod (p − 1)(q − 1))<br />

und es gilt c d = m ed = m (mod N). Somit ist das RSA-Problem höchstens so<br />

schwierig wie das Faktorisierungsproblem. Da sich Mathematiker in den letzten<br />

3000 Jahren vergeblich bemüht haben, einen effizienten Algorithmus zum Faktorisieren<br />

zu finden, kann man vermuten, daß dies wirklich schwierig ist. Das<br />

Hauptproblem der RSA-Annahme hingegen ist es, daß es eventuell eine andere<br />

Möglichkeit gibt, das RSA-Problem zu lösen als N zu faktorisieren. Selbst<br />

wenn das Faktorisierungsproblem schwer bleibt, könnte RSA somit gebrochen<br />

werden. Zwar ist kein solcher Algorithmus bisher bekannt, aber es konnte (im<br />

Gegensatz zum verwandten Rabin-Problem) auch nicht bewiesen werden, daß<br />

es keinen geben kann.<br />

Schlüsselerzeugung Um ein RSA-Schlüsselpaar zu erzeugen, bestimmt der<br />

Schlüsselgenerator zunächst zwei zufällige Primzahlen p und q. Daraus ergibt<br />

sich der öffentliche Modul N = pq. Die Größe (Länge der Bitdarstellung) von<br />

N bestimmt die Sicherheit des Verfahrens (und den Berechnungsaufwand). Zur<br />

Zeit gilt 1024-bit-RSA als hinreichend sicher für die meisten Anwendungen,<br />

2048-bit-RSA wird für extrem kritische Schlüssel gefordert. Demnach haben p<br />

und q jeweils mindestens 512 Bit (sie sollten gleich groß sein).<br />

Als nächstes wählt der Generator einen öffentlichen Exponenten e mit<br />

ggT(e, (p − 1)(q − 1)) = 1.<br />

Außer dieser Bedingung muß e keine weiteren Eigenschaften besitzen. Aus Sicherheitsgründen<br />

(Low-Exponent-Attacke) sollte e nicht zu klein sein, aber ansonsten<br />

kann es zur Beschleunigung von Public-Key-Operationen stets einer<br />

kleinen Konstante gleichgesetzt werden, etwa 65537.<br />

Aufgrund der Tatsache, daß e und (p − 1)(q − 1) keine gemeinsamen Teiler<br />

besitzen, kann mit dem erweiterten Euklidschen Algorithmus der geheime<br />

Exponent d bestimmt werden, mit<br />

ed = 1 (mod (p − 1)(q − 1)).<br />

Der öffentliche Schlüssel besteht aus (e, N), der private Schlüssel ist (d, N)<br />

oder auch (sinnvoll zur Beschleunigung von Berechnungen von Private-Key-<br />

Operationen mit dem Chinesischen Restsatz) (d, p, q).<br />

Schlüsselverwendung RSA-Schlüssel lassen sich für zwei Operationen einsetzen,<br />

nämlich zur Nachrichtenverschlüsselung und für digitale Signaturen. In<br />

beiden Fällen kommt dabei eine identische Berechnungsvorschrift zum Einsatz,<br />

lediglich die Rollen von öffentlichem und privatem Schlüssel werden vertauscht.<br />

Diese Symmetrie wird sich später beim RSA-Key-Sharing als nützlich erweisen.<br />

Um eine Nachricht m für den Empfänger mit dem öffentlichen Schlüssel<br />

(e, N) zu verschlüsseln, wird sie als Zahl zwischen 1 und N − 1 aufgefaßt und<br />

20

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!