Java -Konsolenprogramme zur Veranschaulichung des RSA - Verfahrens
Neben dem Skript zum Thema Kryptographie habe ich mich auch
damit beschäftigt, wie die verschiedenen Verschlüsselungsarten
mit Hilfe des Computers umsetzbar sind. Im Vordergrund steht die Umsetzung des
RSA-Verfahrens. Um die Möglichkeiten eines
normalen PCs nicht zu überfordern, müssen allerdings Einschränkungen
in Kauf genommen werden.
Auf die Verwendung sehr großer Primzahlen muss man verzichten. Deshalb
dienen die folgenden Programme lediglich der Anschauung.
Die Programme wurden mit dreistelligen Primzahlen
ausgetestet. Der zweite Teil des öffentlichen Schlüssels sollte eine
kleinere Primzahl sein.
Der zu verschlüsselnde Text sollte aus einem nicht allzu langen Wort bestehen.
Bei großen Primzahlen ist das Programm irgendwann überfordert ist,
da die Rechenkapazität nicht ausreicht.
Wann das der Fall ist, kann ich aber nicht genau angeben.
Die Programme wurden mit dem Java-Editor von Gerhard Röhner erstellt. Dabei
wurde in der vorliegenden Fassung kein Wert
auf gute Strukturierung bzw. Codeoptimierung gelegt. Vieles ist durch try and
error entstanden.
Deshalb erhebe ich keinen Anspruch vorbildlichen Codeaufbau. Priorität
hatte, dass die Programme funktionieren und ihren Zweck erfüllen.
Diese Einschränkung muss ich als Programmierlehrer selbstverständlich
machen.
Der Quelltext der Programme kann unter den Links heruntergeladen werden.
Programme *.java | Inhalt | Anmerkung |
RSA | Das Programm berechnet
den public key und verschlüsselt ein einzelnes Zeichen. Anschließend berechnet das Programm den private key und entschlüsselt das Zeichen wieder. |
Bei Eingabe einer
nicht teilerfremden Zahl zu Phi erscheint nur eine Meldung. Es erfolgt kein Abbruch. |
RSA1 | Wie RSA, allerdings kann hier ein Wort, dass aus mehreren Zeichen besteht, verschlüsselt und wieder entschlüsselt werden. | |
Ben | Bietet ein Menü
mit 3 Optionen: 1. Erzeugung des öffentlichen Keys 2. Entschlüsselung eines Geheimtexts 3. Suche nach Primzahlen |
Bei Option 2 muss
Ben noch den Wert für das Eulersche Phi (p-1)(q-1) eingeben. Dieser wird aber bei der Berechnung des public keys mit angezeigt. |
Sara | Unter Eingabe der beiden Teile des public keys kann ein Wort verschlüsselt werden. Es werden die Schlüsselcodes jedes Zeichens angezeigt. | Beide Teile des public keys müssen zuvor vom Programm Ben' erfragt werden. |
Signatur | Der Absender einer Nachricht erzeugt einen public key und einen private key und verschlüsselt mit Hilfe des private key seine Signatur (Adresse oder Name). | Als Beispiel wird hier ein einzelnes Zeichen als Absenderadresse verwendet. |