Full paper (pdf) - CDC
Full paper (pdf) - CDC
Full paper (pdf) - CDC
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