Zum Inhalt springen
ecdsa.com

RSA

Das Public-Key-Kryptosystem von Rivest, Shamir und Adleman (1977), dessen Sicherheit darauf beruht, dass sich ein großer Modul n = p·q nur schwer faktorisieren lässt, und das für Signaturen und historisch für den Schlüsseltransport genutzt wird.
Auch geschrieben alsRivest–Shamir–AdlemanRSA keyRSA signature

Ein Schlüsselpaar besteht aus einem Modul n = p·q mit 2048–4096 Bit, einem öffentlichen Exponenten e (fast immer 65537) und einem privaten Exponenten d = e⁻¹ mod lcm(p − 1, q − 1). Private Schlüssel enthalten meist auch p, q und die CRT-Werte dP, dQ und qInv, die das Signieren etwa viermal schneller machen (die Struktur RSAPrivateKey aus PKCS #1, RFC 8017, Anhang A.1.2). Beim Signieren wird eine kodierte Nachricht modulo n mit d potenziert; beim Prüfen wird die Signatur mit e potenziert und das Ergebnis mit der erwarteten Kodierung verglichen.

Rohes RSA ist formbar und fälschbar, deshalb gehört immer ein Padding-Verfahren zum Algorithmus: RSASSA-PKCS1-v1_5 (deterministisch, JOSE RS256) oder RSASSA-PSS (randomisiert, PS256) für Signaturen und RSAES-OAEP für die Verschlüsselung. Das ältere Verschlüsselungspadding von PKCS #1 v1.5 ermöglichte die Padding-Oracle-Angriffe von Bleichenbacher; TLS 1.3 hat den Schlüsseltransport per RSA ganz abgeschafft. FIPS 186-5 §5.4 verlangt genau zwei Primzahlen und einen ungeraden öffentlichen Exponenten zwischen 2¹⁶ und 2²⁵⁶.

Eine Signatur ist so lang wie der Modul: 256 Byte bei RSA-2048, 384 bei RSA-3072, 512 bei RSA-4096. SP 800-57 Teil 1 bewertet 2048 Bit mit 112-Bit-Sicherheit und 3072 Bit mit 128-Bit-Sicherheit. Die Prüfung ist günstig, das Signieren nicht: Auf einem Kern eines Apple M4 Max mit OpenSSL 3.6.5 signiert RSA-2048 etwa 3.000 und prüft etwa 114.000 Nachrichten pro Sekunde, und das Erzeugen eines 2048-Bit-Schlüssels dauert im Mittel etwa 26 ms, bei starker Streuung.

NIST IR 8547 (erster öffentlicher Entwurf) schlägt vor, RSA mit 112-Bit-Sicherheit (2048 Bit) nach 2030 als veraltet einzustufen und RSA nach 2035 überhaupt nicht mehr zuzulassen. Den Vergleich mit elliptischen Kurven findest du unter ECDSA vs. RSA.

Standards und Quellen

Alle Begriffe