04.02.2013 Aufrufe

Full paper (pdf) - CDC

Full paper (pdf) - CDC

Full paper (pdf) - CDC

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!