- Chaocipher
-
Chaocipher ist der Name für ein symmetrisches Verschlüsselungsverfahren, das 1918 von John Francis Byrne entwickelt wurde. Byrne hielt den Algorithmus für nicht zu brechen. Bis zu seinem Tode versuchte Byrne erfolglos, Regierungsbehörden von seinem Verfahren zu überzeugen da er nicht die Absicht besaß, Einzelheiten des Algorithmus der Öffentlichkeit zugänglich zu machen.[1][2] Im Jahre 2010 spendete seine Familie die hinterlassenen Unterlagen des Erfinders an das National Cryptologic Museum in Ft. Meade, U.S.A., wodurch der Algorithmus erstmals öffentlich gemacht wurde.[3]
Inhaltsverzeichnis
Funktionsweise
In seiner ursprünglichen Form hatte Byrne sein Verfahren als mechanisches Gerät geplant, es allerdings nie gebaut.[2] (Eine Version aus Holz und Pappe wurde von seinem Sohn angefertigt.)
Das Gerät besteht aus zwei nebeneinander liegenden Scheiben, an deren Umfang sich jeweils die 26 Buchstaben des Alphabets in veränderbarer Reihenfolge befinden. Die Scheiben sind drehbar gelagert und so miteinander verbunden, dass sich bei der Drehung der einen Scheibe in eine Richtung (im oder gegen den Uhrzeigersinn) die andere Scheibe gegenläufig mitdreht.
Das Prinzip von Chaocipher besteht darin, dass beide Alphabete nach jeder Ver- oder Entschlüsselung eines Buchstabens permutiert werden. Da diese Permutation vom vorher ver- bzw. entschlüsselten Buchstaben abhängt, handelt es sich bei diesem Verfahren um einen selbstsynchronisierenden Stromchiffre.
Überblick
Obwohl der Einsatz von Chaocipher als Maschine gedacht war, kann das Prinzip mit untereinander stehenden Alphabeten für Klartext und Geheimtext nachvollzogen werden. Dabei steht das obere Alphabet für die linke Scheibe (den Geheimtext GT), und das untere Alphabet für die rechte Scheibe (den Klartext KT). Die folgende Darstellung zeigt einen möglichen Ausgangszustand für den Algorithmus, die Anordnung der Buchstaben in beiden Reihen/Scheiben stellt den Schlüssel dar.
+ * Links (GT): HXUCZVAMDSLKPEFJRIGTWOBNYQ Rechts (KT): PTLNBQDEOYSFAVZKGJRIHWXUMC --------------------------------------- Position: 12345678911111111112222222 01234567890123456
Man beachte die Symbole + und *, die Byrne als Zenith und Nadir bezeichnet. Sie befinden sich bei beiden Alphabeten an Position 1 bzw. 14.
Zu Beginn sind linkes und rechtes Alphabet an ihren jeweiligen Zenith-Markierungen ausgerichtet. Die Verschlüsselung eines Klartextbuchstabens erfolgt sodann in drei Schritten. (Diese Schritte werden solange wiederholt, bis alle Buchstaben des Klartextes verschlüsselt sind.)
- Bestimme den Geheimtextbuchstaben der zum vorliegenden Klartextbuchstaben passt.
- Permutiere das Geheimtextalphabet.
- Permutiere das Klartextalphabet.
Um den entsprechenden Geheimtextbuchstaben zu finden, sucht man im rechten Alphabet den Buchstaben des Klartextes. Der direkt darüber stehende Buchstabe des linken Alphabetes ist der zugehörige Buchstabe des Geheimtextes. Verschlüsselt man in diesem Beispiel den Buchstaben A, so erhält man als Geheimtext den Buchstaben P (siehe Pfeil).
+ ↓* Links (GT): HXUCZVAMDSLKPEFJRIGTWOBNYQ Rechts (KT): PTLNBQDEOYSFAVZKGJRIHWXUMC --------------------------------------- Position: 12345678911111111112222222 01234567890123456
Permutation des Geheimtextalphabets
Die Permutation erfolgt in vier Schritten:
- Verschiebe das gesamte linke Alphabet nach links so, dass sich der soeben gefundene Geheimtextbuchstabe an Position 1 (Zenith) befindet.
- Entnehme den Buchstaben an Position Zenith+1, also den Buchstaben rechts des Zenith aus dem Alphabet (dabei entsteht für den Moment eine Lücke).
- Verschiebe alle Buchstaben von Position Zenith+2 bis einschließlich Position Nadir (Zenith+13) nach links um eine Stelle.
- Füge den in Schritt 2. entnommenen Buchstaben in die Lücke bei Position Nadir (Zenith+13) ein.
Ausgehend vom oben dargestellten Ausgangszustand sehen diese Schritte wie folgt aus: Als erstes wird das Alphabet verschoben, bis der soeben gefundene Geheimtextbuchstabe P auf Position 1 (Zenith) steht.
+ * Links (GT): PEFJRIGTWOBNYQHXUCZVAMDSLK
Danach wird der Buchstabe bei Position Zenith+1 (E) entnommen.
+ * Links (GT): P.FJRIGTWOBNYQHXUCZVAMDSLK
Im dritten Schritt werden die Buchstaben von Zenith+2 (F) bis Nadir (Q) um eine Stelle nach links verschoben.
+ * Links (GT): PFJRIGTWOBNYQ.HXUCZVAMDSLK
Zuletzt wird der entnommene Buchstabe (E) bei Position Nadir wieder eingefügt.
+ * Links (GT): PFJRIGTWOBNYQEHXUCZVAMDSLK
Permutation des Klartextalphabets
Das Klartextalphabet wird ähnlich dem Geheimtextalphabet in fünf Schritten permutiert:
- Verschiebe das gesamte rechte Alphabet nach links so, dass sich der soeben gefundene Geheimtextbuchstabe an Position 1 (Zenith) befindet.
- Verschiebe jetzt das gesamte rechte Alphabet um eine weitere Stelle nach links.
- Entnehme den Buchstaben an Position Zenith+2 (auch hier entsteht dadurch eine Lücke).
- Verschiebe alle Buchstaben von Position Zenith+3 bis einschließlich Position Nadir (Zenith+13) nach links um eine Stelle.
- Füge den in Schritt 2. entnommenen Buchstaben in die Lücke bei Position Nadir (Zenith+13) ein.
Für das angegebene Beispiel sieht das rechte Alphabet nach Schritt 1. wie folgt aus:
+ * Rechts (KT): AVZKGJRIHWXUMCPTLNBQDEOYSF
Nun erfolgt das Verschieben um eine weitere Stelle nach links.
+ * Rechts (KT): VZKGJRIHWXUMCPTLNBQDEOYSFA
Als nächstes wird der Buchstabe bei Position Zenith+2 (K) entnommen.
+ * Rechts (KT): VZ.GJRIHWXUMCPTLNBQDEOYSFA
Im vierten Schritt werden die Buchstaben von Zenith+3 (G) bis Nadir (P) um eine Stelle nach links verschoben.
+ * Rechts (KT): VZGJRIHWXUMCP.TLNBQDEOYSFA
Zuletzt wird der entnommene Buchstabe (K) wieder eingefügt.
+ * Rechts (KT): VZGJRIHWXUMCPKTLNBQDEOYSFA
Nach diesen beiden Permutationen kann der nächste Buchstabe des Klartextes verschlüsselt werden. Wäre der nächste Buchstabe ein N, so müsste der dazugehörige Geheimtext U lauten.
+ * ↓ Links (GT): PFJRIGTWOBNYQEHXUCZVAMDSLK Rechts (KT): VZGJRIHWXUMCPKTLNBQDEOYSFA
Entschlüsseln
Die Vorgehensweise beim Entschlüsseln eines Geheimtextes mittels Chaocipher ist nahezu identisch zu der beim Verschlüsseln. Basierend auf dem selben Ausgangszustand der beiden Alphabete besteht der Unterschied lediglich darin, dass man statt des Klartextbuchstabens im rechten Alphabet nun den Geheimtextbuchstaben im linken Alphabet sucht und so den dazugehörigen Klartextbuchstaben erhält. Danach vollzieht man die oben genannten Schritte um beiden Alphabete zu permutieren und kann dann den nächsten Geheimtextbuchstaben und den entsprechenden Klartextbuchstaben finden.
Einzelnachweise
- ↑ "Chaocipher - Platz 7 in Die Zehn ungeknacktesten Codes der Welt". Peter Glaser, zehn.de. Abgerufen am 23. Juli 2010.
- ↑ a b Siehe Kahn, 1996, S. 767f.
- ↑ "National Cryptologic Museum Foundation: Direct Museum Support". Website der National Cryptologic Museum Foundation, 27. Mai 2010. Abgerufen am 23. Juli 2010.
Literatur
- Rubin, Moshe: Chaocipher Revealed: The Algorithm, 2. Juli 2010, Chaocipher Revealed: The Algorithm. Abgerufen am 14. Juli 2010
- Kahn, David: The Codebreakers, revised Edition, Scribner, New York 1996, ISBN 0-684-83130-9
Weblinks
- The Chaocipher Clearing House - Seite von Moshe Rubin mit Informationen über und Ressourcen zum Umgang mit Chaocipher
- Chaocipher - Deutsche Beschreibung des Algorithmus inkl. Darstellung der Funktionsweise der zwei Scheiben von Nils Plaumann
- Chaocipher aus Papier - Anleitung zum Basteln eines funktionsfähigen Chaociphers aus Papier
Wikimedia Foundation.