ehemaliges Firmenlogo der RSA Data Security, das die Idee der beiden verschiedenen, aber zueinander passenden Schlüssel symbolisiert.
p, q | große Primzahlen - zufällig gewählt, geheim gehalten, übliche (heute kaum noch notwendige) Nebenbedingungen:
|
n = pq | Dann ist (Z/nZ)×,
die multiplikative Gruppe des Restklassenrings Z/nZ,
eine Gruppe von der Ordnung
f(n) = (p-1)(q-1),also gilt mx º mx mod f(n) (mod n) für alle ganzen Zahlen m. |
e | teilerfremd zu f(n); oft wird die Primzahl e = 216+1 genommen - dann ist die Verschlüsselung relativ schnell. |
d | mit de º 1
(mod f(n)); mit dem Euklidischen Algorithmus effizient bestimmbar, wenn f(n), also auch p und q bekannt sind. |
Anmerkung: Etwas effizienter ist die Schlüsselbestimmung, wenn man statt der Euler-Funktion f(n) (= Gruppenordnung) die Carmichael-Funktion l(n) (= Gruppenexponent) verwendet. Siehe Kryptologie-Vorlesung.
n | Modul |
e | öffentlicher Exponent |
d | privater Exponent |
mit | med º m (mod n) für alle m Î [0...n-1]. |
(Dies entspricht der Betriebsart ECB. Natürlich wählt man in der Praxis besser CBC.)
mi = cid (mod n).
Genauere Beschreibung des Verfahrens und der nötigen Algorithmen im Kapitel Das RSA-Verfahren und seine algorithmischen Grundlagen der Kryptologie-Vorlesung.
Ver- und Entschlüsselung sind effizient durchführbar mit dem binären Potenzalgorithmus.