Caesar-Verschlüsselung

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Monoalphabetische Verschlüsselung

Schematische Darstellung einer Verschiebung um drei Buchstaben
Gaius Julius Caesar

Bei der monoalphabetischen Verschlüsselung wird jeder Buchstabe des Klartexts auf ein "Geheimalphabet" abgebildet. Dieses Geheimalphabet ergibt sich, indem man die Zeichen eines geordneten Alphabets um eine bestimmte Anzahl zyklisch nach rechts verschiebt (rotiert) und beim Verschieben über Z hinaus bei A beginnend weiterzählt. Die Verschiebungsweite bildet den Schlüssel, der für die gesamte Verschlüsselung unverändert bleibt. Als Schlüsselbuchstaben bezeichnet man den Anfangsbuchstaben des Geheimalphabets. Die Entschlüsselung erfolgt mit dem gleichen Schlüssel bzw. Schlüsselbuchstaben in umgekehrter Richtung.

Der Name der Caesar-Verschlüsselung geht auf den römischen Feldherrn Gaius Julius CAESAR (* 13. Juli 100 v. Chr.; † 15. März 44 v. Chr.) zurück, der diese Art der geheimen Kommunikation für seine militärische Korrespondenz verwendet haben soll. Dabei soll er eine Verschiebung des Alphabets um drei Buchstaben benutzt haben.

Verschlüsselungen, bei denen Texte mit dem gleichen Schlüssel sowohl ver- als auch entschlüsselt werden, heißen symmetrische Verschlüsselungsverfahren.

Implementation

Zunächst definieren wir das zulässige Alphabet, bestehend aus Groß- und Kleinbuchstaben sowie Ziffern. Um Textstrukturen zu erhalten, wollen wir die Sonderzeichen nicht in die Verschlüsselung einbeziehen.
Der Schlüsselbuchstabe ist eine Zeichenkette mit der Länge 1.
Das Ver- und Entschlüsseln soll mit den gleichen Prozeduren erfolgen. Lediglich "verschiedene Richtungen" müssen dabei berücksichtigt werden.

Wir legen einen gültigen Schlüsselbuchstaben fest:

 

Quelltext überprüfen:

Nun verschlüsseln wir einen einfachen Text:

Häufigkeitsuntersuchungen

Eine monoalphabetische Verschlüsselung ist natürlich schnell zu "knacken". Im ungünstigsten Fall benötigen wir die Anzahl von Versuchen, die der Länge des verwendeten Alphabets entspricht.
Im Allgemeinen geht es noch schneller, wenn wir den Schlüsselbuchstaben geschickt "erraten". Dazu ermitteln wir zunächst den häufigsten Buchstaben im Geheimtext. Zu ihm bestimmen wir die Verschiebungsweite, die sich zu einem häufig vermuteten Buchstaben im Klartext ergibt. Mit wenigen Versuchen lässt sich so der Klartext ermitteln.

Wir suchen den häufigsten Buchstaben im Geheimtext...

... und führen ihn auf einen vermutlich häufigen Buchstaben des Klartextes zurück:

Sollte der erste Versuch nicht zum Ziel führen, kann dieses Vorgehen natürlich auch "automatisiert" werden:

Persönliche Werkzeuge