In diesem Artikel möchte ich dir gerne zeigen, wie du das Vigenère-Verschlüsselungsverfahren in Java anwenden kannst.
Was ist der Vigenère-Chiffre?
Bei Vigenère handelt es sich um ein einfaches Verschlüsselungsverfahren, bei dem eine Nachricht mit einem Schlüsselwort verschlüsselt wird, sodass diese nur mit dem Schlüsselwort auf Anhieb entschlüsselt werden kann.
Vorgehen
Bei dem Algorithmus wird dann in einer Tabelle, in der jeweils die Buchstaben von A bis Z in jeder Zeile stehen, jeweils um einen Buchstaben mehr versetzt, nach der entsprechenden Spalte für den zu verschlüsselnden Buchstaben gesucht. In dieser Spalte wird dann der zum in der linken Spalte stehenden Schlüsselbuchstaben zugehörige Buchstabe abgelesen und in die verschlüsselte Nachricht eingefügt. Zum Entschlüsseln wird dieses Verfahren genau rückwärts wieder ausgeführt.
Wie sicher ist Vigenère?
Natürlich solltest du mit dem Vigenère-Chiffre nicht deine Passwörter oder sonstige Daten verschlüsseln. Es handelt sich dabei um ein altes/traditionelles Verfahren, welches mit sehr wenig Aufwand durch pures Ausprobieren (sogenanntes Brute-Force) geknackt werden kann.
Wie nutze ich Vigenère in Java? (Quellcode)
Mit dem folgenden Quellcode kannst du eine einfache Klasse mit den Methoden encodiere und decodiere nutzen. Im Konstruktor befindet sich direkt auch schon ein Testaufruf dieser Methoden, um den Algorithmus gleich testen zu können. Mit der Methode bruteForce lassen sich alle möglichen Schlüssel und entschlüsselten Nachrichten ermitteln, um eine Nachricht ohne den dazugehörigen Schlüssel zu entschlüsseln.
Der Quellcode ist ausführlich kommentiert. Solltest du noch Fragen dazu haben, kannst du natürlich gerne einen Kommentar hinterlassen.
Viel Spaß beim Ver- und Entschlüsseln ;-)!