🔑 RSA-Schlüsselaustausch
Durchlaufen Sie die RSA-Verschlüsselung Schritt für Schritt: Wählen Sie zwei Primzahlen, berechnen Sie n und φ(n), finden Sie e und d, und verschlüsseln und entschlüsseln Sie dann eine Nachricht mit dem öffentlichen/privaten Schlüsselpaar.
🔒 RSA-Schlüsselaustausch — Public-Key-Kryptografie
Durchlaufen Sie den RSA-Algorithmus Schritt für Schritt: Wählen Sie zwei Primzahlen, berechnen Sie n und φ(n), finden Sie den öffentlichen Exponenten e und den privaten Exponenten d, und verschlüsseln und entschlüsseln Sie dann eine Nachricht mit dem resultierenden Schlüsselpaar.
🔬 Was es zeigt
Die Sicherheit von RSA beruht auf der Schwierigkeit, große Zahlen zu faktorisieren. Gegeben n = p·q, ist die Berechnung von φ(n) = (p−1)(q−1) einfach, wenn p und q bekannt sind, aber praktisch unmöglich, wenn nur n gegeben ist. Der erweiterte euklidische Algorithmus berechnet d = e⁻¹ mod φ(n).
🎮 Bedienung
Wählen Sie zwei Primzahlen p und q. Das System berechnet n, φ(n), den öffentlichen Schlüssel e und den privaten Schlüssel d. Geben Sie eine Nachricht ein, um sie mit dem öffentlichen Schlüssel zu verschlüsseln und mit dem privaten Schlüssel zu entschlüsseln. Verfolgen Sie jeden Schritt der modularen Exponentiation.
💡 Wussten Sie schon?
RSA wurde 1977 von Rivest, Shamir und Adleman veröffentlicht. Derselbe Algorithmus wurde unabhängig davon bereits 1973 von Clifford Cocks am GCHQ entdeckt, blieb aber bis 1997 geheim. Modernes RSA verwendet Schlüssel mit 2048+ Bit.
Über RSA-Schlüsselaustausch
Diese Simulation führt Schritt für Schritt durch das RSA-Public-Key-Kryptosystem. Sie wählen zwei unterschiedliche Primzahlen p und q, und sie berechnet den Modulus n = p×q und Eulers Totient φ(n) = (p−1)(q−1). Anschließend listet sie gültige öffentliche Exponenten e auf, die teilerfremd zu φ(n) sind, leitet den privaten Exponenten d als modulares Inverses e−¹ mod φ(n) mithilfe des erweiterten euklidischen Algorithmus ab und lässt Sie eine Zahl verschlüsseln und entschlüsseln.
Die Dropdowns für p und q wählen Primzahlen (von 2 bis 97), die Schaltfläche „Schlüssel berechnen" erzeugt alles neu, und die e-Pillen lassen Sie einen gültigen öffentlichen Exponenten auswählen. Die Verschlüsselung verwendet C = Me mod n und die Entschlüsselung M = Cd mod n, beide über schnelle modulare Exponentiation. RSA bildet die Grundlage von HTTPS, digitalen Signaturen und sicherer E-Mail, wobei echte Schlüssel Primzahlen mit Hunderten von Stellen verwenden.
Häufig gestellte Fragen
Was zeigt diese Simulation?
Sie demonstriert den vollständigen RSA-Ablauf mit kleinen, gut lesbaren Zahlen: Schlüsselerzeugung aus zwei Primzahlen, Auswahl eines öffentlichen Exponenten, Ableitung des privaten Exponenten und schließlich Verschlüsselung und Entschlüsselung einer Nachricht. Jede Formel und jeder Zwischenwert wird angezeigt, sodass die Mathematik nachvollziehbar bleibt.
Wie werden die Schlüssel tatsächlich erzeugt?
Aus Ihren gewählten Primzahlen p und q wird n = p×q und φ(n) = (p−1)(q−1) berechnet. Sie wählen einen öffentlichen Exponenten e, der teilerfremd zu φ(n) ist, und der Simulator findet den privaten Exponenten d, der d×e ≡ 1 (mod φ(n)) erfüllt, mithilfe des erweiterten euklidischen Algorithmus.
Was bewirken die Steuerelemente?
Die Dropdowns für p und q legen die beiden Primzahlen aus einer Liste von 2 bis 97 fest, und „Schlüssel berechnen" berechnet Modulus, Totient und Exponenten neu. Die e-Pillen lassen Sie zwischen gültigen öffentlichen Exponenten wechseln, und das Nachrichtenfeld lässt Sie eine ganze Zahl M zum Verschlüsseln und Entschlüsseln eingeben.
Was ist die Verschlüsselungsformel?
Die Verschlüsselung berechnet den Geheimtext als C = M^e mod n, wobei M die Nachricht, e der öffentliche Exponent und n der Modulus ist. Die Entschlüsselung kehrt dies mit M = C^d mod n um, unter Verwendung des privaten Exponenten d. Beide verwenden modulare Exponentiation, hier mit BigInt implementiert, um Überlauf zu vermeiden.
Warum muss e teilerfremd zu φ(n) sein?
Der öffentliche Exponent e muss ggT(e, φ(n)) = 1 erfüllen, damit ein modulares Inverses d existiert. Ohne Teilerfremdheit gibt es kein eindeutiges d, und die Entschlüsselung würde fehlschlagen. Die Simulation bietet nur Werte von e an, die diese Bedingung erfüllen.
Warum muss die Nachricht M kleiner als n sein?
RSA arbeitet in Arithmetik modulo n, sodass jede Nachricht eine ganze Zahl im Bereich 0 ≤ M < n sein muss, um eindeutig wiederhergestellt werden zu können. Wäre M gleich groß wie oder größer als n, würde die Modulo-Operation verschiedene Nachrichten auf denselben Wert abbilden, und die Entschlüsselung würde nicht die ursprüngliche Nachricht zurückgeben.
Ist das echtes RSA oder eine vereinfachte Version?
Der Algorithmus ist echtes RSA: dieselben Gleichungen für Schlüsselerzeugung, Verschlüsselung und Entschlüsselung, die auch in der Praxis verwendet werden. Die einzige Vereinfachung betrifft den Maßstab. Echtes RSA verwendet Primzahlen mit Hunderten von Stellen (2048-Bit-Schlüssel oder größer), während hier winzige Primzahlen jeden Schritt nachvollziehbar halten.
Warum gilt RSA als sicher?
Seine Sicherheit beruht auf der Schwierigkeit, n zurück in p und q zu faktorisieren. Die Berechnung von φ(n) und damit von d ist einfach, wenn man die Primzahlen kennt, gilt aber als praktisch unmöglich, wenn man nur n kennt. Bei ausreichend großen Schlüsseln kann kein bekannter klassischer Algorithmus n in praktikabler Zeit faktorisieren.
Warum liefert die Entschlüsselung die ursprüngliche Nachricht zurück?
Weil d das modulare Inverse von e ist, macht das Potenzieren des Geheimtexts mit d das Potenzieren der Nachricht mit e rückgängig. Nach dem Satz von Euler gilt M^(e×d) ≡ M (mod n), sodass (M^e)^d mod n M exakt wiederherstellt. Die Simulation überprüft diese Übereinstimmung für Sie.
Wo wird RSA in der Praxis eingesetzt?
RSA sichert HTTPS-Verbindungen, signiert Software und Zertifikate, schützt E-Mails mit Standards wie PGP und bildet die Grundlage vieler Schlüsselaustausch- und Authentifizierungsprotokolle. Es wird oft verwendet, um einen symmetrischen Sitzungsschlüssel auszutauschen, der dann den Großteil der Daten effizienter verschlüsselt.
Könnte ein Quantencomputer RSA brechen?
Grundsätzlich ja. Shors Algorithmus kann große Zahlen auf einem ausreichend leistungsfähigen Quantencomputer effizient faktorisieren, was RSA brechen würde. Deshalb entwickeln Forscher Post-Quanten-Kryptografie, obwohl heute keine Quantenmaschine groß genug ist, um echte Schlüssel zu gefährden.
Durchlaufen Sie RSA: Wählen Sie zwei Primzahlen, berechnen Sie n und φ(n), finden Sie e und d. Beobachten Sie, wie eine Nachricht mit dem öffentlichen/privaten Schlüsselpaar verschlüsselt und entschlüsselt wird.
2D · HTML5 Canvas 2D · Ziel: 60 FPS · läuft vollständig clientseitig, keine Installation nötig