2a. Kryptographische Basistechniken

Die Sicherheit des RSA-Verfahrens


Genaueres im Kapitel Kryptoanalyse des RSA-Verfahrens der Kryptologie-Vorlesung

a) Iterations-Angriff auf den Geheimtext

Iterieren der Verschlüsselung ergibt:

Er(c) = cer

Da die Exponenten mod f(n) reduziert werden können, sich also in der endlichen multiplikativen Gruppe des Restklassenrings Z/f(n)Z bewegen, gibt es ein r mit

er º 1 (mod f(n)),     also Er(c) = c,     also Er-1(c) = m (!!)

Die Wahrscheinlichkeit, dass für einen gegebenen Geheimtext c der Exponent r klein ist, ist extrem gering.

===> Das Problem kann vernachlässigt werden.

b) Faktorisierungs-Angriff auf den Schlüssel

Wer den Modul n = pq faktorisieren kann, kann den geheimen Exponenten d aus dem öffentlichen e bestimmen.

Es ist kein besseres Verfahren bekannt; möglicherweise sind beide Probleme äquivalent (im komplexitätstheoretischen Sinn, also die Lösungen gleich aufwendig).

Entscheidend für die Sicherheit also:

Wie schnell kann man große Zahlen faktorisieren?


Wie schnell kann man faktorisieren?

Ln = [Faktorisieren]

Daraus ergeben sich folgende Erfahrungswerte und Schätzungen:

ZahlDezimalstellenAufwandStatus
rsa120 (399 Bit)120100 MIPS-Jahre (auf schnellem PC in 1/2 Woche machbar)
rsa140 (466 Bit)1402000 MIPS-Jahre (te Riele, CWI, 1999)
512-Bit-Modul 1548000 MIPS-Jahre (Muffet, CWI, 1999)
640-Bit-Modul 19340000 MIPS-Jahre (Franke, Uni Bonn, 2005, aktueller Weltrekord)
1024-Bit-Modul 3081011 MIPS-Jahre (ganz kurzfristige Sicherheitsgrenze)
2048-Bit-Modul 6161015 MIPS-Jahre (mittelfristige Sicherheitsgrenze)

... solange die Mathematiker keine wesentlich schnelleren Faktorisierungsverfahren finden!

Schätzungen von Rivest (80er Jahre) [Grenze in Dezimalstellen - im Bereich von 2048 Bit entspricht die pessimistische Schätzung dem heutigen Stand]:

Jahr optimistisch mittel pessimistisch
1990 117 155 388
1995 122 163 421
2000 127 172 455
2005 132 181 490
2010 137 190 528
2015 142 199 567
2020 147 204 607

Vorsicht: Alle diese Schätzungen sind mit sehr großer Unsicherheit behaftet.


Was kann ein PC?

Sekunden/Jahr30 * 106
1 MIPS-Jahr 30 * 1012 Instruktionen
386-Architektur (32 Bit)ca. 0.5 Instruktionen/Takt
2-GHz-PC 109 Instruktionen/Sekunde = 103 MIPS = 1 GIPS
... benötigt für 1 MIPS-Jahr 30 * 103 Sekunden = 500 Minuten = 8:20 Stunden
... für 100 MIPS-Jahre (400-Bit-Modul) 3.5 Tage = 1/2 Woche
... für 512-Bit-Modul 40 Wochen

Was kann ein Super-Computer?

Entwicklung der Faktorisierungsrekorde

[für »allgemeine Zahlen«, waagerechte Achse: Jahr, senkrechte Achse: Bits]

[Faktorisierungsrekorde]

Neue Entwicklungen

Nach Bernsteins Vorschlag ist der Aufwand für das Zahlkörpersieb:

ZeitLn1.19 + o(1)
SpeicherpaltzLn0.79 + o(1)

Die Abschätzung von Lenstra/Verheul sieht jetzt eher zu optimistisch aus. 1024-Bit-Schlüssel sollten schnellstens aus dem Verkehr gezogen werden! 2048-Bit-Schlüssel sind gerade noch für ein paar Jahre sicher.

Ein neuerer Artikel

stellt Schlüssellängen gleicher Sicherheit für verschiedene symmetrische und asymmetrische Verfahren nebeneinander. Danach entspricht die Sicherheit von AES mit 128-Bit-Schlüssel zur Zeit etwa der Sicherheit von RSA mit 3200-Bit-Modul. [Beides ist noch etwas redundant.]


Weitere Sicherheitsprobleme


Vorlesung Datenschutz und Datensicherheit, Johannes-Gutenberg-Universität Mainz
Autor: Klaus Pommerening, 31. März 1999; letzte Änderung: 16. Juni 2007.
E-Mail an
Pommerening »AT« imbei.uni-mainz.de.