Get in touch

Contact Form Demo

RSA-Schlüsselgenerator

Erzeugen Sie öffentliche und private Schlüssel aus Primzahlen

Ziel-Schlüsselstärke
Warte auf Primzahlen…
Primzahl P
Primzahl Q
1
2
3
4
5
6
7
8
9
0
WEITER
🔓
Öffentlicher Schlüssel (Schloss)
(e, n)
🔑
Privater Schlüssel (Schlüssel)
(d, n)
Ablauf der Schlüsselableitung
Berechnungsschritte
👨‍🏫
Von Prof. David Anderson
Kryptografie-Spezialist | 20+ Jahre Erfahrung
„Verschlüsselung ist keine Magie; sie ist schlichtweg modulare Arithmetik in massivem Maßstab. Wenn Sie das kleine Vorhängeschloss-Symbol in Ihrem Browser sehen, hat ein RSA-Schlüsselgenerator seine Arbeit getan. Aber was passiert tatsächlich in dieser ‚Black Box‘? Heute gehen wir über einfaches Button-Klicken hinaus. Wir analysieren die mathematische Anatomie eines Schlüsselpaares, untersuchen den Unterschied zwischen PEM- und DER-Formaten und verstehen, warum die Faktorisierung großer Zahlen ($n = p \times q$) das Einzige ist, was zwischen Ihren Daten und Hackern steht.“

RSA-Schlüsselgenerator-Leitfaden: Anatomie eines Schlüsselpaares

Deep Dive in RSA-Algorithmen, PEM-Formate und OpenSSL-Befehle

1. Das mathematische Triebwerk: Wie RSA-Schlüssel entstehen

Das Herzstück jedes RSA-Schlüsselgenerators ist eine mathematische Symmetrie, die aus dem Satz von Euler abgeleitet wurde. Die Sicherheit des gesamten Internets beruht auf der Schwierigkeit des Problems der ganzzahligen Faktorisierung. Hier ist das Rezept, dem jedes kryptografische System folgt:

Schritt-für-Schritt Generierungs-Protokoll

  • 1. Primzahlen wählen ($p, q$): Der Generator wählt zwei verschiedene, massive Primzahlen aus. Bei 2048-Bit RSA sind diese Primzahlen etwa 300 Stellen lang.
  • 2. Modul berechnen ($n$): Berechnen Sie $n = p \times q$. Dieses $n$ wird zum Modul sowohl für den öffentlichen als auch für den privaten Schlüssel. Seine Länge in Bits (z. B. 2048) bestimmt die Schlüsselstärke.
  • 3. Phi berechnen ($\phi(n)$): Berechnen Sie die Eulersche Phi-Funktion: $\phi(n) = (p-1)(q-1)$. Diese Zahl wird streng geheim gehalten.
  • 4. Öffentlichen Exponenten wählen ($e$): Wählen Sie eine Ganzzahl $e$ so, dass $1 < e < \phi(n)$ und $gcd(e, \phi(n)) = 1$ gilt.
    Standard: Fast alle Systeme verwenden 65537 ($2^{16}+1$), da dies eine schnelle Verschlüsselung ermöglicht.
  • 5. Privaten Exponenten berechnen ($d$): Lösen Sie nach $d$ auf, indem Sie das modular-multiplikative Inverse verwenden:
    $d \equiv e^{-1} \pmod{\phi(n)}$. Dies erfolgt üblicherweise über den erweiterten euklidischen Algorithmus.

Formeln für Verschlüsselung und Entschlüsselung

Sobald die Schlüssel generiert sind, ist der Prozess in seiner Einfachheit elegant:

Verschlüsselung (Öffentlicher Schlüssel): $$ C = M^e \pmod n $$ Entschlüsselung (Privater Schlüssel): $$ M = C^d \pmod n $$

2. RSA-Beispiel mit „Stift und Papier“

Um den RSA-Schlüsselgenerator wirklich zu verstehen, verhalten wir uns wie ein Computer, verwenden aber kleine, lesbare Zahlen.

VariableBerechnungErgebnis
Primzahlen Zwei kleine Primzahlen wählen $p=61, q=53$
Modul (n) $n = 61 \times 53$ $3233$
Phi ($\phi$) $(61-1) \times (53-1) = 60 \times 52$ $3120$
Öffentlich (e) Primzahl wählen, die teilerfremd zu 3120 ist $17$
Privat (d) Löse $17d \equiv 1 \pmod{3120}$ $2753$

Das Ergebnis:
• Öffentlicher Schlüssel: $(n=3233, e=17)$
• Privater Schlüssel: $(n=3233, d=2753)$
Wenn Sie die Nachricht $M=65$ (ASCII ‚A‘) verschlüsseln, gilt $C = 65^{17} \pmod{3233} = 2790$.
Entschlüsselung: $2790^{2753} \pmod{3233} = 65$.

3. Der Dateiformat-Dschungel: PEM, DER, PKCS

Wenn Sie einen RSA-Schlüssel generator verwenden, erhalten Sie nicht nur Zahlen, sondern eine Datei. Das Verständnis dieser Formate ist für Entwickler entscheidend.

PEM vs. DER

  • DER (Distinguished Encoding Rules): Binärformat. Nicht menschenlesbar. Oft in Java verwendet.
  • PEM (Privacy Enhanced Mail): Base64-kodiertes DER mit Header/Footer. Dies ist der Standard für OpenSSL und das Web.

PKCS#1 vs. PKCS#8

StandardHeaderBeschreibung
PKCS#1 -----BEGIN RSA PRIVATE KEY----- Alter Standard. Speziell nur für RSA-Schlüssel.
PKCS#8 -----BEGIN PRIVATE KEY----- Moderner Standard. Universeller Container für JEDEN Algorithmus (RSA, ECC, DSA).

4. Entwickler-Cheatsheet: OpenSSL-Befehle

Trauen Sie Online-Generatoren für Produktivschlüssel nicht? Gut so. Sie sollten diese lokal generieren. Hier sind die wichtigsten Befehle für Ihr Terminal.

Einen 2048-Bit Privatschlüssel generieren (PKCS#8):
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
Den öffentlichen Schlüssel extrahieren:
openssl rsa -pubout -in private_key.pem -out public_key.pem
Konvertierung von PKCS#1 zu PKCS#8:
openssl pkcs8 -topk8 -in old_rsa_key.pem -out new_pkcs8_key.pem -nocrypt

5. Sicherheitsanalyse: Ist RSA am Ende?

Mit dem Aufstieg des Quantencomputings steht die Sicherheit des RSA-Schlüsselgenerators auf dem Prüfstand.

Die Quantenbedrohung (Shors Algorithmus)

Klassische Computer würden Billionen von Jahren benötigen, um eine 2048-Bit-Zahl zu faktorisieren. Der Shor-Algorithmus, der auf einem ausreichend großen Quantencomputer läuft, könnte dies jedoch in Stunden lösen.

🚫 NIST-Empfehlung:

Das NIST empfiehlt, 1024-Bit RSA ab sofort nicht mehr zu verwenden. 2048-Bit RSA ist vorerst sicher (bis ca. 2030). Für langfristige Geheimhaltung sollten Sie den Wechsel zu ECC (Elliptic Curve Cryptography) oder Post-Quanten-Algorithmen (wie CRYSTALS-Kyber) in Betracht ziehen.

6. FAQ-Ecke des Professors

F: Kann ich den privaten Schlüssel aus dem öffentlichen Schlüssel rekonstruieren?
Nein, genau das ist der Punkt! Dazu müssten Sie den Modul $n$ in $p$ und $q$ faktorisieren. Dies ist das „Ganzzahl-Faktorisierungsproblem“, das für große Schlüssel rechnerisch unlösbar ist.
F: Warum ist ‚e‘ meist 65537?
65537 ist eine Fermat-Primzahl ($2^{16} + 1$). Binär ausgedrückt ist es `10000000000000001`. Dass nur zwei Bits auf ‚1‘ gesetzt sind, macht den modularen Exponentiationsprozess für Computer extrem schnell und optimiert die Verschlüsselungsgeschwindigkeit ohne Sicherheitsverlust.
F: Was ist die maximale Datengröße, die RSA verschlüsseln kann?
RSA kann keine Daten verschlüsseln, die größer als sein Schlüsselmodul sind (abzüglich des Padding-Overheads). Für 2048-Bit RSA mit OAEP-Padding liegt das Limit bei etwa 190 Bytes. Deshalb wird RSA nur zum Verschlüsseln eines symmetrischen „Sitzungsschlüssels“ (AES) verwendet, nicht für die Datei selbst.
F: Was passiert, wenn zwei Personen denselben Schlüssel generieren?
Die Wahrscheinlichkeit ist verschwindend gering. Die Anzahl der Primzahlen in dieser Größenordnung ist astronomisch. Es ist wahrscheinlicher, dass die Erde von einem Meteoriten getroffen wird, während Sie diesen Satz lesen, als dass zwei zufällige RSA-Generatoren kollidieren.

Referenzen

  • Rivest, R.; Shamir, A.; Adleman, L. (1978). „A Method for Obtaining Digital Signatures and Public-Key Cryptosystems“. Communications of the ACM.
  • NIST Special Publication 800-57 Part 1. „Recommendation for Key Management“.
  • OpenSSL Foundation. „OpenSSL Cookbook“.

Ihre Primzahlen prüfen?

Die RSA-Sicherheit hängt vollständig von der Qualität Ihrer Primzahlen ab. Validieren Sie diese jetzt.

Zum Primzahl-Prüfer