Homophone

Unter Homophonen (griechisch: homos = gleich, phone = Klang) versteht man in der Kryptografie verschiedene Chiffratzeichen, die für ein und dasselbe Klartextzeichen (denselben "Klang") eingesetzt (siehe Substitution) werden.

So kann man, wenn man für häufige Klartextzeichen mehrere möglich Chiffratzeichen definiert, die Kryptoanalyse über eine Häufigkeitsverteilung auf eine monoalphabetische Substitution erschweren: Wenn z. B. das 'E' nicht nur durch ein 'X', sondern auch noch durch z. B. eine '2' oder ein Komma zufallsgesteuert ersetzt wird, dann wird man nicht an der Häufigkeit eines Zeichens des Chiffrats auf die Häufigkeit im Klartext schließen können. Denn die Häufigkeit des Klartext-'E' ist ja dann die Summe aller 'X', '2' und Kommata. Das häufigste Zeichen im Chiffrat wird dann also nicht das 'E' im Klartext sein.

Anderseits erzwingt die Verwendung von Homophonen auch dass das Ersetzungsalphabet größer ist als das Klartextalphabet. Man muss also auf zusätzliche Zeichen wie Ziffern oder Sonderzeichen zurückgreifen oder statt Buchstaben zur Ersetzung gleich Zahlen z. B. von 00 bis 99 verwenden.
Wenn man dann die Homophone so verteilt, dass entsprechend der Häufigkeit der Buchstaben die Anzahl der Homophone verteilt wird (häufige Buchstaben erhalten mehr Homophone, seltene nur eines), kommt im Chiffrat für einen durchschnittlichen Text jedes Chiffratzeichen gleich oft vor, was eine einfache Häufigkeitsanalyse unmöglich macht.

Die früheste Verwendung von Homophonen ist von Simeone de Crema 1401 überliefert.

Beispiel

Eine Ersetzungstabelle für einen homophonetischer Chiffre mit den Bigrammen 00 bis 99, der sich an der Häufigkeitsverteilung der Buchstaben in der deutscher Sprache orientiert, könnte z. B. so aussehen: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 53 60 74 69 43 37 30 41 35 88 67 81 79 80 56 29 38 72 39 99 36 45 44 52 12 50 26 94 78 01 18 76 32 77 93 14 63 09 08 71 92 90 95 42 13 02 58 33 34 03 07 66 82 15 89 17 19 96 64 20 16 40 75 70 62 57 10 97 55 24 61 87 23 27 48 22 54 05 46 83 59 68 65 49 91 31 11 73 47 86 98 84 06 00 04 85 28 21 25 51 ----------------------------------------------------------------------------- 6 2 2 5 17 2 3 5 8 1 1 3 2 10 2 1 1 7 7 6 4 1 1 1 1 1 Anzahl Hph. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 6 2 3 5 17 2 3 5 8 .3 1 3 3 10 3 1 .0 7 8 6 4 1 2 .0 .0 1 % Häufigk. Der Raum von 00 bis 99 lässt 100 Bigramme zu. Da das 'E' mit einer Wahrscheinlichkeit von 17% vertreten ist, werden ihm 17 Bigramme zugeordnet. Seltenen Buchstaben entsprechend nur eines. So werden alle 100 Bigramme nach ihrer prozentualen Häufigkeit auf die Buchstaben verteilt. Ein mit dem Schlüsselalphabet chiffrierter Text sollte dann eine Gleichverteilung der Bigramme im Chiffrat haben und sich dem Koinzidenzindex von 1/26, also 3,85 % annähern.

Kryptoanalyse

Ein homophones Substitutions-System, dass so ausgelegt ist, dass im Chiffrat alle Ersatz-Zeichen gleich oft vorkommen, ist mit einer einfachen Häufigkeitsanalyse über Einzelbuchstaben nicht zu knacken. Hier muss man weitergehen und sich die Eigenarten der Sprache zur Nutze machen.

Angenommen, die Anzahl der gefundenen Zeichen im Chiffrat, einem längeren Text, ist 100 und alle gefundenen Zeichen kommen etwa gleich oft (also mit 1% Häufigkeit) vor, dann wird es sich um eine Verteilung wie im untenstehenden Beispiel handeln. Für das Klartext-E gibt es also 17 Ersatz-Zeichen, für seltene Zeichen wie J, K, P, Q, V, W, X, Y, Z nur eine Ersetzung.

Suchen wir nun nach Bigramme (so wird ein Buchstabenpaar auch genannt) mit besonderen Eigenschaften in der deutschen Sprache. Als Beispiel soll uns das Q dienen. Dies hat die Eigenschaft, dass ihm immer ein U folgt. Das Klartext-Q hat aufgrund der Seltenheit nur 1 Ersatzzeichen, das U hat 4. Mit dieser Erkenntnis können wir das Chiffrat nach einem QU-Ersatz absuchen, wobei dem 1. Zeichen eines von vier Zeichen folgt. Werden wir fündig, haben wir das einen Q-Ersatzzeichen und die vier U-Ersatzzeichen gefunden.

Ein anderer Buchstabe mit einer besonderen Eigentschaft ist z. B. das P: von den seltenen Buchstabe ist das P das allerhäufigste, welches gedoppelt vorkommt. JJ kommt gar nicht vor, KK wird normalerweise CK geschrieben, dem Q folgt immer ein U und VV, WW, XX, YY, ZZ kommen nur höchst selten vor. Wenn also zweimal eine Zahl hintereinander vorkommt, wird das wahrscheinlich ein PP sein. Es könnte aber auch ein anderer Doppelbuchstabe sein, bei dem dieselbe Ersetzung zweimal hintereinander angewandt wurde - für das häufige NN (N hat 10 Ersetzungszeichen) ist die Wahrscheinlichkeit dafür aber gering (1:10).

Wenn Wörter aufgrund von Leerzeichen erkennbar sind, ergeben sich weitere Ansatzpunkte. Dann kann man versuchen, die Ersetzungen für die zweibuchstabigen Wörter herauszufinden, oder nach Buchstaben fahnden, die nie am Wortanfang oder Wortende vorkommen.

Mit diesen Tricks und Kniffen, die ein Kryptoanalyst im Laufe der Zeit ansammelt, wird er, wenn er beharrlich genug ist, es schaffen, auch eine homophone Substitution zu knacken, wenn der Text lang genug ist.

Meist erleichtert ihm aber die Bequemlichkeit der Verschlüsselers die Arbeit, denn oft werden nur Homophone nur für ein paar besonders häufig vorkommende Buchstaben benutzt; insbesondere dann, wenn es sich um eine Symbolschrift mit Geheimzeichen handelt, bei der sich der Ersteller für jedes Homophon ein weitere Symbol ausdenken müsste.

Dann kann sich in einem Häufigkeitsgebirge, das der Einfachheit am besten nach Häufigkeit absteigend sortiert, als nützlich erweisen. Hier sucht man nach nebeneinanderstehenden Balken der selben Höhe und prüft, ob diese zusammengenommen zum Beispiel den Wert für den häufigsten Buchstaben in der Zielsprache ergeben.

Für einen deutschen Text mit ersetzten Umlauten wäre dies z. B. 18.2% für das E. Gibt es nun zwei Balken derselben Höhe mit je 9.1% könnte das auf die beiden Geheimbuchstaben hinweisen, die das Klartext-E ersetzen. Das gleiche Prinzip gilt natürlich auch für drei gleichhohe Balken mit einem Drittel von 18.2% und so weiter. Hier muss man gegebenenfalls ein wenig probieren und die Regeln zum Aufbau der Sprache mit ins Kalkül nehmen, wie die Bigrammhäufigkeit mit weiteren Buchstaben, oder ob ein Buchstabe eher am Anfang, in der Mitte oder am Ende eines Wortes steht.

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)



Quellen, Literaturverweise und weiterführende Links