Frage 9: Wie schnell ist RSA?

Eine "RSA Operation" zum verschlüsseln, entschlüsseln, unterschreiben oder überprüfen ist im Kern nur eine modulare Potenzierung, die durch eine Folge von modularen Multiplikationen dargestellt werden kann.

Für praktische Anwendungen wird ein kleiner öffentlicher Exponent gewählt. Tatsächlich können alle Nutzer den gleichen öffentlichen Exponenten haben, jeder mit einem anderen Modul. (Es gibt nur einige Einschränkungen an die Auswahl der Primfaktoren des Moduls, wenn ein fester öffentlicher Exponent benutzt wird.) Ein kleiner öffentlicher Exponent macht die Verschlüsselung scheller als die Entschlüsselung und die Überprüfung einer Unterschrift schneller als das Unterschreiben. Mit den üblichen Algorithmen zur modularen Potenzierung benötigen Operationen mit dem öffentlichen Schlüssel O(k2) Schritte, Operationen mit dem privaten Schlüssel O(k3) Schritte und die Schlüsselerzeugung O(k4) Schritte, wobei k die Größe des Moduls in Bit ist. (Die O() Notation gibt eine obere Schranke für das asymptotische Verhalten eines Algorithmusses an [CLR90].) "Schnelle Multiplikationstechniken", wie FFT basierende Algorithmen benötigen asymptotisch weniger Schritte, jedoch werden sie seltener implementiert, da sie deutlich komplexer und bei kleinen Schlüsselgrößen langsamer als die üblichen Verfahren sind.

Es gibt viele kommerzielle Software- und Hardwareimplementationen von RSA ebenso Ankündigungen von neueren und schelleren Chips. Auf einem 90Mhz Pentium hat BSAFE 3.0 (siehe Frage 173) einen Durchsatz von 21.6 Kbps mit dem privaten Schlüssel mit einem 512-bit Modul und einen Durchsatz von 7.4 Kbps mit einem 1024-bit Modul. Die schnellste RSA Hardware [SV93] hat einen Durchsatz von größer 300Kbps bei einem 512-bit Modul, das bedeutet über 500 RSA Operationen mit dem privaten Schlüssel pro Sekunde. (In dieser Lösung ist Platz für zwei parallele RSA Chips [Sha95], die zusammen dann 600Kbps schaffen [SV93]. Bei 970-bit Schlüsseln liegt der Durchrsatz bei 185Kbps.) Es wird in diesem Jahr ein Durchsatz von 1Mbps erwartet.

Zum Vergleich: DES ist sehr viel schneller als RSA. Software-DES ist generell 100 mal schneller. Hardware-DES ist zwischen 1000 und 10000 mal schneller, abhängig von der Implementation. Neuere RSA Implementationen können sicher etwas aufholen, da sich der Markt erst entwickelt, jedoch wird DES stets schneller sein.

Für eine Übersicht der Hochgeschwindigkeits-RSA Implementationen empfiehlt sich [Koc94].

[Zurück zur Titelseite]