Caesar in Java

caesar1caesar2

In der Main-Methode wird ein Scanner erstellt, um den Text in der Konsole einzulesen. Dieser wird in verschiedenen Variablen gespeichert und dann zu einem Char-Array umgewandelt, damit die Buchstaben sich einzeln verschieben lassen. Auf  dieses wird dann die Methode verschlüsseln angewandt, der Schlüssel und Klartext übergeben werden. Parallel ist auch der Code zum dechiffrieren aufgebaut.

caesar3

Zum Verschlüsseln erstellt man vorerst eine Hülle in Form eines Arrays. In diesem werden dann die verschobenen Buchstaben gespeichert. Es wird außerdem unterschieden zwischen Groß- und Kleinbuchstaben. Sie werden so verschoben, dass Kleinbuchstaben klein und Großbuchstaben groß bleiben und die Buchstaben nur innerhalb der 26 verschoben werden. Hierfür wird die Position des zu verschlüsselnden Buchstaben zum Schlüssel gerechnet und durch das Teilen die neue Position gespeichert. Diese wird dann durch das Addieren von 65/97 wieder zum richtigen Char zugeordnet, der im cryptArray gespeichert wird. Dies ist die Rückgabe der Methode, welche in der Main-Methode in der Konsole ausgegeben wird.

Caesar4

Beim Entschlüsseln wird ähnlich wie beim Verschlüsseln vorgegangen. Um zu verhindern, dass beim Abziehen des Schlüssels eine Zahl kleiner 0 entsteht, wird 26 zum Buchstaben im Schlüsselwort addiert. Dies beeinflusst die Codierung nicht, da mod 26 gerechnet wird. Am Ende wird die neue Position wieder dem richtigen char zugeordnet. Bei den Kleinbuchstaben ist es zusätzlich wichtig 6 abzuziehen, da zwischen dem „Z“ und dem „a“ weitere 6 Zeichen liegen.

Caesar- und Vigenere-Chiffre

Caesar-Chiffre:

Bei der „Caesar-Chiffre“ handelt es sich um eine der ältesten Verschlüsselungen. Sie ist symmetrisch und somit monographisches monoalphabetisch (Der Klartext wird in die Buchstaben zerlegt und es wird ein Alphabet zur Ver- und Entschlüsselung genutzt). Hierbei wird jeder zu verschlüsselnde Buchstabe um eine feste Anzahl verschoben und Groß- und Kleinschreibung ignoriert. Auf Grund der Einfachheit und Unsicherheit, wird die Caesar-Verschlüsselung heute kaum genutzt. Wenn der Verschlüsselte Text lang genug ist, kann man mittels Haufigkeitsanalysen die Zahl um die Verschoben wurde herausfinden und somit denn Text entschlüsseln.

Beispiel:

Klartext: H; Schlüssel C
Verschlüsseln: (H+C) % 26 = (72+67) % 26 = 9 mod 26
65 + 9 = 74 = J
Chiffrat: J

Klartext: HELLO World
Schlüssel: C
Chiffrat: JGNNQ Yqtnf

Vigenere:

Vigenere ist wie Caesar eine monographische Verschlüsselung, unterscheidet sich jedoch durch ein polyalphabetisches Verfahren. Während bei Caesar somit ein Buchstabe zur Verschiebung gewählt wird, nutzt Vigenere ein Wort, welches sich wiederholt. Die Buchstaben selbst,werden dann mit den Verschiedenen Schlüsseln wie bei Caesar verschlüsselt. Somit lässt sich auch Vigenere, jedoch mit geringerer Wahrscheinlichkeit, theoretisch ebenfalls durch Heufigkeitsanalysen knacken.

Vigenere

Erstelle eine Website wie diese mit WordPress.com
Jetzt starten