Eine besondere Eigenschaft des RSA-Kryptosystems ist, dass vor der RSA-Ver- bzw. Entschlüsselung aufwendige Berechnungen zur Generierung des RSA-Schlüssels notwendig sind. Zunächst werden die RSA-Parameter p, q, N sowie die Eulersche Zahl phi(N) berechnet:
Wähle zufällig zwei verschiedene Primzahlen p und q und berechne den sogenannten RSA-Modul N = pq. Aus den Primfaktoren p und q berechnet sich die Eulersche Zahl phi(N) = (p-1)*(q-1).
Im zweiten Schritt wird der öffentliche RSA-Exponent e bestimmt und daraus mit Hilfe von phi(N) der geheime RSA-Exponent d berechnet:
Wähle die Zahl e: 1 < e < phi(N), mit der Eigenschaft: e ist relativ prim zu phi(N). Besonders beliebt ist hier der Wert e = 2^16+1 = 65537, da dieser in den meisten Fällen teilerfremd zu phi(N) ist und sich besonders gut für die square and multiply Exponentiation eignet.
Aus dem öffentlichen Exponenten e berechnet sich der geheime Exponent d = e^(-1) mod phi(N) als das multiplikative Inverse modulo phi(N).
Weitere Grundlagen finden Sie in dem zur Dokumentation gehörenden Skript.
Sie können die Primzahlen p und q direkt eingeben. Falls Sie keine Primzahl für p oder q eingeben, erhalten Sie eine Fehlermeldung. Mit Hilfe des Buttons Primzahlen generieren können Sie zufällige Primzahlen aus einem vorgegebenen Zahlenintervall bestimmen. Mit den Button Parameter aktualisieren wird aus e und phi(N) der geheime Exponent d berechnet. Für den Fall, dass e nicht teilerfremd zu phi(N) ist, erhalten Sie eine Fehlermeldung mit der Aufforderung, eine andere Zahl für den öffentlichen Exponenten e zu wählen.
Nach der erfolgreichen RSA-Schlüsselerzeugung erhalten Sie das asymmetrische RSA-Schlüsselpaar:
(N,e) ist der öffentliche Schlüssel und
(N,d) ist der geheime Schlüssel.
Die Bitlänge des RSA-Schlüssels berechnet sich aus der Anzahl der Bits, die zur dualen Darstellung des RSA-Moduls N notwendig sind.
Nach der Schlüsselerzeugung kann jeder mit dem öffentlichen Schlüssel (N,e) eine Nachricht RSA-verschlüsseln, aber nur der Besitzer des geheimen Schlüssels (N,d) kann die Nachricht auch wieder RSA-entschlüsseln.