C03 RSA manuell

Nachdem wir das RSA-Verfahren uns in den beiden Beispielen C01 und C02 angeschaut haben, wollen wir nun einen Blick auf die Funktionsweise richten. Ich habe lange im Netz gesucht und sehr viele Seiten mit dem „strengen“ mathematischen Blickwinkel gefunden, nur konnte ich in der praktischen Umsetzung in Java nicht viel damit anfangen.

Vor ein paar Jahren hatte ich zum Thema RSA-Verschlüsselung eine Facharbeit eines Schülers im Netz gefunden, von der ich mir glücklicherweise einen Ausdruck gemacht habe. Leider ist die Facharbeit von der Webseite der Schule verschwunden und ich stelle Euch den Scan der Arbeit über diesen Link zur Verfügung, da es die beste einfache Beschreibung des RSA-Verfahrens ist. Ganz ausdrücklich weise ich darauf hin, das es sich nicht um mein eigenes Werk handelt und alle Rechte beim Autor liegen. Hier die Kurzdaten zur Facharbeit: Verfasser: Alexander Lignow, Thema: Das Public Key-Verschlüsselungsverfahren RSA am Beispiel PGP, Erstellungsdatum Februar 1997.

Bei den Variablennamen habe ich mich eng an die Benennung in der Facharbeit gehalten, um das „Nacharbeiten“ einfacher zu gestalten. Da bei der manuellen Berechnungsmethode zum Teil sehr große Zahlen benutzt werden, verwende ich teilweise BigInteger-Variablen, welche gegenüber Integer-Werten andere Methodenaufrufe benötigen.

Auch wenn das Programm so aussieht, als wäre es sehr einfach aufgebaut, ist es dennoch eine voll funktionsfähige RSA-Implementierung. Viel Spaß bei der Betrachtung der Funktionsweise und vielleicht eigene Ergänzungen.

Bitte die nachfolgende Routine nicht für den Echteinsatz nutzen, da sie aus kryptographischer Sicht sehr angreifbar ist !

Nun noch die Ausgabe auf der Konsole:

Die Lizenz zum obigen Beispiel findet Ihr auf der eigenen Lizenz-Seite.

Letzte Aktualisierung: 26.12.2018