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.