RSA Verschlüsselungs- & Entschlüsselungstool
Online-RSA-Asymmetrische Verschlüsselung mit Schlüsselpaar-Generierung, Public-Key-Verschlüsselung und Private-Key-Entschlüsselung
Schlüsselverwaltung
Was ist RSA-Verschlüsselung?
RSA (Rivest-Shamir-Adleman) ist der weltweit erste weit verbreitete asymmetrische Verschlüsselungsalgorithmus, der 1977 von drei MIT-Mathematikern erfunden wurde: Ron Rivest, Adi Shamir und Leonard Adleman. Im Gegensatz zu symmetrischen Algorithmen wie AES verwendet RSA ein Schlüsselpaar: einen öffentlichen Schlüssel zum Verschlüsseln und einen privaten zum Entschlüsseln. Der öffentliche Schlüssel kann frei geteilt werden, während der private streng geheim bleiben muss. Die Sicherheit von RSA basiert auf der mathematischen Schwierigkeit der Primfaktorzerlegung großer Zahlen. Schlüssel mit 2048 Bit oder mehr werden derzeit empfohlen. Die Entwicklung von Quantencomputern stellt eine potenzielle Bedrohung dar, aber praktische Quantencomputer existieren noch nicht. RSA wird in HTTPS/TLS-Handshakes, digitalen Signaturen, E-Mail-Verschlüsselung (PGP/GPG) und Blockchain-Transaktionen eingesetzt. Dieses Tool verwendet die native Web Crypto API des Browsers für RSA-Operationen.
So geht's
So geht's
- Schlüsselgröße wählen (2048-Bit oder mehr empfohlen)
- Padding-Schema wählen (OAEP für höhere Sicherheit empfohlen)
- Hash-Algorithmus wählen (SHA-256 empfohlen)
- Klicken Sie auf 'Schlüsselpaar generieren', um öffentlichen und privaten Schlüssel zu erzeugen
- Zum Verschlüsseln: Öffentlichen Schlüssel im Schlüsselbereich einfügen, Klartext eingeben – der Geheimtext wird automatisch erzeugt
- Zum Entschlüsseln: Privaten Schlüssel im Schlüsselbereich einfügen, Geheimtext eingeben – der Klartext wird automatisch erzeugt
- Ergebnis kopieren oder auf 'Tauschen' klicken, um Eingabe und Ausgabe zu vertauschen
Parameterübersicht
- Verwenden Sie RSA-OAEP mit SHA-256 oder stärker für neue Verschlüsselungstests; PKCS#1 v1.5 sollte nur aus Kompatibilitätsgründen eingesetzt werden.
- RSA kann nur kleine Datenmengen verschlüsseln. Für größere Daten verschlüsseln Sie einen zufälligen AES-Schlüssel mit RSA und nutzen Sie AES für den eigentlichen Inhalt.
- Private Schlüssel niemals in Chats, Tickets, Screenshots oder gemeinsamen Protokollen teilen. Öffentliche Schlüssel dürfen geteilt werden, private Schlüssel müssen geheim bleiben.
Anwendungsfälle
Technisches Prinzip
RSA ist das 1977 von Rivest, Shamir und Adleman entwickelte Public-Key-Kryptosystem. Bei der Schlüsselerzeugung werden zwei große zufällige Primzahlen p und q gewählt, der Modulus n = p · q berechnet, Eulersche Phi-Funktion φ(n) = (p-1)(q-1) bestimmt, ein öffentlicher Exponent e, der zu φ(n) teilerfremd ist, ausgewählt (e = 65537 = 2^16 + 1 ist der De-facto-Standard, da sein niedriges Hamming-Gewicht die modulare Exponentiation beschleunigt), und der private Exponent d ≡ e^-1 (mod φ(n)) über den erweiterten euklidischen Algorithmus abgeleitet. Verschlüsselung: c = m^e mod n; Entschlüsselung: m = c^d mod n. Die Sicherheit beruht auf der vermuteten Schwierigkeit, n in p und q zu faktorisieren, sofern n ausreichend groß ist. Reines RSA ist deterministisch und formbar, daher umhüllt jede reale Implementierung die Nachricht mit einem Padding-Schema. RSA-OAEP, definiert in RFC 8017 (PKCS#1 v2.2) mit einer Maskengenerierungsfunktion MGF1 über SHA-256 (oder SHA-1/384/512), liefert semantische Sicherheit: derselbe Klartext wird bei jedem Aufruf zu einem unterschiedlichen Chiffretext verschlüsselt, und die Padding-Integritätsprüfung verhindert gewählte-Chiffretext-Angriffe. Das ältere PKCS#1 v1.5 Padding ist aus Kompatibilitätsgründen noch verbreitet, ist aber anfällig für den Bleichenbacher Million-Message-Oracle-Angriff. Für Signaturen wird RSASSA-PSS gegenüber PKCS#1 v1.5 sign bevorzugt, aus denselben Gründen. Die Wahl der Schlüsselgröße ist durch sowohl die Leistung als auch die neuesten Faktorisierungsrekorde begrenzt. NIST SP 800-57 schreibt heute mindestens 2048 Bit und ab 2030 mindestens 3072 Bit vor. Elliptische-Kurve-Kryptografie erreicht RSA 3072 bereits mit nur 256 Bit (NIST P-256, Curve25519), weshalb die meisten neuen TLS-Implementierungen ECDHE + ECDSA bevorzugen. RSA-OAEP auf einem 2048-Bit-Schlüssel kann höchstens ⌊Schlüsselgröße/8⌋ − 2·Hashlänge − 2 Bytes Klartext verpacken (ca. 190 Bytes für SHA-256), daher nutzen Produktionssysteme RSA nur zum Umhüllen eines frischen symmetrischen Sitzungsschlüssels und lassen AES-GCM die eigentliche Nutzlast übertragen — das hybride Muster hinter jedem TLS-Handshake. Im Browser übernimmt die Web Crypto API (window.crypto.subtle) die Schlüsselerzeugung, den Import, die Verschlüsselung und Entschlüsselung mit PEM/DER (SPKI für öffentlich, PKCS#8 für privat) oder JWK als Austauschformate.
- Mathematik: Primzahlen p, q wählen; n = p·q; φ(n) = (p-1)(q-1); e wählen (typischerweise 65537 = 2^16+1); d = e^-1 mod φ(n) berechnen; Verschlüsselung c = m^e mod n; Entschlüsselung m = c^d mod n.
- Padding: RSA-OAEP gemäß RFC 8017 (PKCS#1 v2.2) mit MGF1+SHA-256 für neuen Code; PKCS#1 v1.5 nur für Legacy-Interop, anfällig für Bleichenbacher (CVE-2017-13099 u. a.).
- Schlüsselgrößen: NIST SP 800-57 setzt heute mindestens 2048 Bit und ab 2030 mindestens 3072 Bit fest; 1024-Bit-RSA gilt als gebrochen, 4096 Bit kostet spürbar mehr CPU.
- Nutzlastgrenze: RSA-OAEP kann höchstens ⌊k/8⌋ − 2·Hashlänge − 2 Bytes verpacken (ca. 190 Bytes für 2048 Bit + SHA-256); größere Daten nutzen RSA zum Umhüllen eines AES-GCM-Sitzungsschlüssels.
- Vergleichbare Stärke: RSA 3072 ≈ ECC 256 (NIST P-256 oder Curve25519) bei ca. 128-Bit symmetrischer Sicherheit; ECC gewinnt bei Schlüsselgröße und Signaturgeschwindigkeit, RSA gewinnt bei der Verifizierung.
- Browser-API und Formate: window.crypto.subtle.generateKey('RSA-OAEP'); Export als SPKI PEM (öffentlich) und PKCS#8 PEM (privat) oder JWK; private Schlüssel dürfen die lokale Umgebung niemals im Klartext verlassen.
Beispiele
Einfache Verschlüsselung
1. 2048-Bit-Schlüsselpaar erzeugen
2. Öffentlichen Schlüssel kopieren
3. Klartext eingeben: Hello, RSA!
4. OAEP + SHA-256 auswählen
5. Ausgabe: Base64-kodierter Geheimtext
RFC: RFC 8017 (PKCS#1 v2.2) definiert das RSAES-OAEP-VerschlüsselungsverfahrenTypischer Ablauf
Sender:
1. Öffentlichen Schlüssel des Empfängers beschaffen
2. Nachricht mit öffentlichem Schlüssel verschlüsseln
3. Geheimtext senden
Empfänger:
1. Mit privatem Schlüssel entschlüsseln
2. Originalnachricht lesen
Hinweis: RSA-Verschlüsselung sorgt für Vertraulichkeit; für Authentizität mit RSA-Signaturen kombinieren (RSASSA-PSS in RFC 8017)Hybride Verschlüsselung (RSA + AES)
RSA eignet sich für kleine Daten (z. B. Sitzungsschlüssel)
Für große Daten hybride Verschlüsselung verwenden:
1. Zufälligen AES-256-Schlüssel erzeugen
2. RSA verschlüsselt den AES-Schlüssel (max. ca. 190 Bytes mit OAEP-SHA256)
3. AES-GCM verschlüsselt die eigentlichen Daten
4. RSA-verschlüsselten Schlüssel + AES-Geheimtext + IV + Authentifizierungs-Tag senden
Dies kombiniert die Schlüsselverteilung von RSA mit der Geschwindigkeit von AES und ist das Standardmuster in TLS, PGP und S/MIME.
RFC: RFC 8017 Abschnitt 7.1 behandelt RSAES-OAEP zur SchlüsselkapselungFAQ
Welche Schlüsselgröße sollte ich generieren?
RSA-2048 ist heute das praktische Minimum und wird seit Jahren in TLS-Zertifikaten verwendet. RSA-3072 ist der konservative aktuelle Standard nach NIST SP 800-57. RSA-4096 ist für die meisten Anwendungen Overkill (deutlich langsamer), aber passend für langlebige Signaturschlüssel. RSA-1024 ist per Richtlinie gebrochen und sollte für nichts Neues mehr generiert werden.
Public Key vs. Private Key – welcher verschlüsselt und welcher entschlüsselt?
Für Vertraulichkeit: mit Public Key verschlüsseln, mit Private Key entschlüsseln. Jeder kann eine Nachricht an dich verschlüsseln; nur der Inhaber des Private Keys kann sie lesen. Bei Signaturen ist es umgekehrt: mit Private Key signieren, mit Public Key verifizieren.
Warum liefert das Verschlüsseln desselben Texts zweimal unterschiedlichen Ciphertext?
RSA-OAEP (das empfohlene Padding-Schema) fügt Zufälligkeit hinzu, sodass identische Klartexte unterschiedliche Ciphertexte erzeugen. Das ist beabsichtigt – es verhindert Chosen-Ciphertext-Angriffe. RSA ohne Padding (Lehrbuch-RSA) ist deterministisch und unsicher; nicht verwenden.
Warum ist RSA so viel langsamer als AES?
RSA macht modulare Exponentiation mit großen Zahlen; AES macht festgrößige Bit-Operationen auf einem kleinen Block. Eine 2048-Bit-RSA-Verschlüsselung ist tausendfach langsamer als eine AES-128-Verschlüsselung. In der Praxis nutzt man RSA nur, um einen kleinen AES-Sitzungsschlüssel zu wrappen, und verschlüsselt die eigentliche Nutzlast dann mit AES.
Was ist die maximale Datenmenge, die ich mit einem RSA-Schlüssel verschlüsseln kann?
RSA-OAEP mit SHA-256 lässt etwa (key_size_in_bits / 8 - 66) Bytes pro Verschlüsselung zu: 190 Bytes für 2048 Bit, 318 Bytes für 3072, 446 Bytes für 4096. Für größere Daten verschlüssle einen AES-Schlüssel mit RSA und die Daten mit AES.
Ist die Schlüsselerzeugung zufällig und lokal?
Ja. Die Schlüsselerzeugung nutzt crypto.subtle.generateKey aus der Web Crypto API, die vom OS-CSPRNG geseedet wird. Schlüssel verlassen deinen Browser nicht. Lade die Seite neu, um einen Schlüssel zu verwerfen und einen frischen zu generieren; füge keinen produktiven Private Key in eine Webseite ein.
Ist RSA quantensicher?
Nein. Ein hinreichend großer Quantencomputer mit Shors Algorithmus bricht RSA bei jeder praktischen Schlüsselgröße. NIST hat 2024 Post-Quanten-Alternativen standardisiert (ML-KEM, ML-DSA). Für Daten, die noch Jahrzehnte vertraulich bleiben müssen, plane eine Migration; für kurzlebige TLS-Sitzungen ist RSA noch okay.