Vigenere
Aus ProgrammingWiki
Vigenère-Verschlüsselung
Der Franzose Blaise de Vigenère (1523-1596) hatte die Idee des "zweidimensionalen Caesar-Verfahrens". Statt eines einzelnen Schlüsselalphabetes benutzen wir mehrere, die durch ein Schlüsselwort repräsentiert werden. Jedes Zeichen des Klartextes wird nun mit einem Alphabet verschlüsselt, das jeweils einem Buchstaben des Schlüsselwortes entspricht. Das Schlüsselwort verwenden wir dabei zyklisch bis zum Ende des zu übertragenden Textes:
Da hier mehrere Alphabete zur Verschlüsselung verwendet werden (und nicht mehr nur eins (monoalphabetisch), wie bei Caesar) spricht man hier von polyalphabetischer Verschlüsselung.
- Schlüsselwörter müssen ausgetauscht werden
- Sicherheit ist größer, je länger das Schlüsselwort ist
Angriff auf das Verfahren Die Vigenère-Verschlüsselung hielt man lange Zeit für absolut sicher. Erst um 1850, fast 300 Jahre nach Vigenère, konnte der englische Mathematiker Charles Babbage (* 26. Dezember 1791; † 18. Oktober 1871) die Vigenère-Chiffrierungen systematisch entziffern. Er entdeckte bei der polyalphabetischen Verschlüsselung die Schwachstelle... das SCHLÜSSELWORT. Dieses "knackte" Er mithilfe von drei Schritten:
- 1. Es werden Buchstabenfolgen von ca. 3 Buchstaben in einer Tabelle notiert, um damit die Häufigkeit dieser Buchstabenfolge zu "filtern" außerdem wird der Abstand zwischen gleichen Buchstabenfolgen notiert und dieser Abstand in Primfaktoren zerlegt.
- 2. Nun nimmt man den häufigsten Primfaktor als "Passwortlänge" und man listet von 0 anfangend bis zur "Passwortlänge"-1 eine Tabelle, worin man die Buchstabengruppen hintereinander einträgt
- 3. Zum Schluss wird mithilfe der letzteren Tabelle eine Buchstabenhäufigkeit erstellt, womit man letztendlich auch das "Passwort" schließen kann, indem man die Positionen der maximalen Häufigkeiten je Spalte verändert und auf ein logisches "Passwort" kommt.