RSA

Schlüsselerzeugung

Wir wählen mit Hilfe eines Primzahltest verschieden Primzahlen und berechnen Dabei sollten und so gewählt werden (groß), sodass man die Primfaktorzerlegung von praktisch nicht berechnen kann.

Außerdem wählen wir eine Zahl mit und berechnen zum Beispiel mit Hilfe des erweiterten euklidischen Algorithmus ein mit Also Inverses von .

Der Public Key ist das Tupel , wobei der Private Key ist.

Verschlüsselung

Wir besorgen uns einen öffentlichen Schlüssel und wandeln unseren Klartext in eine Zahlenfolge mit um.

Dann berechnen wir mit der Square-And-Multiply-Methode den Chiffretext mit

Entschlüsselung

Wir erhalten eine Zahlenfolge und berechnen mit unserem privaten Schlüssel mit der Square-And-Multiply-Methode den Klartext mit

Die Zahlenfolge muss dann nur noch in Text umgewandelt werden.

Anwendung

Das BSI empfiehlt eine Schlüssellänge von 3000 Bits.

Es ist bis heute kein Verfahren bekannt um bei Kentniss von und für zu lösen, wenn man die Faktorisierung von nicht kennt.

Ansonsten kann man mit dem euklidischen Algorithmus ein mit berechnen (Modulo Invertierbarkeit). Dabei ist eine Lösung der Gleichung. Auch den privaten Schlüssel kann man ohne Faktorisierung nicht berechnen.