Full paper (pdf) - CDC
Full paper (pdf) - CDC
Full paper (pdf) - CDC
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
des Verfahrens nicht mehr benötigt (außer um Berechnungen mit dem privaten<br />
Schlüssel zu beschleunigen) und müssen nicht gespeichert werden. Da die<br />
Kenntnis der Faktorisierung von N ausreichend ist, um d aus e zu berechnen,<br />
sind p und q auf jeden Fall geheim zu halten. Die hier geschilderten Verfahren<br />
bringen eine verschlüsselte Version von p in den öffentlichen Schlüssel ein, so<br />
daß der Recovery-Operator daraus den Primfaktor p (und damit auch q = N<br />
p )<br />
entschlüsseln und den privaten Exponenten d berechnen kann.<br />
Verschlüsselung im Exponenten e Das einfachere der beiden hier geschilderten<br />
Verfahren erzeugt p und q genauso wie ein normaler RSA-Schlüsselgenerator.<br />
Der Algorithmus enthält den öffentlichen Backup-Schlüssel des Recovery-<br />
Operators. Mithilfe dieses Schlüssels verschlüsselt er den Faktor p und erhält<br />
einen Chiffretext c. Um die Sicherheit des Verfahrens nicht von anderen Algorithmen<br />
abhängig zu machen, sollte es sich bei dem Backup-Schlüssel ebenfalls<br />
um einen RSA-Schlüssel handeln. Falls die Verschlüsselung c teilerfremd zu<br />
(p − 1)(q − 1) ist, setzt der Generator den öffentlichen Exponenten e = c. Falls<br />
nicht, verschlüsselt er den anderen Faktor q, wenn dies ebenfalls nicht zum<br />
Erfolg führt, wählt er solange neue Primfaktoren p, bis sich ein geeignetes c ergibt.<br />
Der private Exponent d errechnet sich aus e, p und q mit dem erweiterten<br />
Euklidschen Algorithmus.<br />
Um den Schlüssel wiederherzustellen, betrachtet der Recovery-Operator den<br />
öffentlichen Exponenten e als Schlüsseltext und entschlüsselt ihn zum Primfaktor<br />
p. Wegen N = pq erhält er damit zugleich auch den anderen Faktor q und<br />
kann mit dem erweiterten Euklidschen Algorithmus den privaten Exponenten<br />
d als multiplikatives Inverses zu e modulo (p − 1)(q − 1) bestimmen.<br />
Das Problem bei dieser Vorgehensweise liegt daran, daß es nicht immer<br />
möglich ist, den öffentlichen Exponenten e frei zu wählen. Viele RSA-Implementierungen<br />
verlangen nach einem kleinen e, weil sich dies positiv auf die Rechenzeit<br />
der öffentlichen RSA-Operationen auswirkt ohne einen negativen Effekt<br />
auf die Sicherheit zu haben. Das obige Verfahren erzeugt jedoch Exponenten e<br />
mit einer Bitlänge die der verwendeten Backup-Chiffre und damit (falls RSA<br />
verwendet wurde) aus Sicherheitsüberlegungen der Bitlänge des Moduln N,<br />
mindestens jedoch der Bitlänge von p entspricht.<br />
Verschlüsselung im Moduln N Wenn öffentliche Exponenten e beliebiger<br />
Größe nicht möglich sind, kann der Chiffretext für den Primfaktor p auch in<br />
der oberen Hälfte des Moduln N untergebracht werden. Hierbei ist jedoch zu<br />
beachten, daß der Chiffretext dann auf die Hälfte der Länge von N beschränkt<br />
ist. Wenn man hierfür ebenfalls RSA einsetzen will, muß man Benutzerschlüssel<br />
erzeugen, die doppelt so lang sind wie der Recovery-Schlüssel. Dies ist sicher<br />
eine etwas ungünstige Situation.<br />
Im folgenden gehen wir davon aus, daß der Recovery-Schlüssel ein RSA-<br />
Schlüssel mit Modul NR und Exponenten dR und eR ist. Der Generator erzeugt<br />
zunächst die zufällige Primzahl p. Diese Primzahl p wird anschließend durch<br />
eine symmetrische Chiffre F mit festem Schlüssel K in eine Zahl p ′ überführt.<br />
Der Schlüssel K ist dabei fest in den Generator integriert. Er muß nicht ge-<br />
41