Die Erfindung der Kryptoanalyse
basierte auf der kulturellen Entwicklung mehrerer Wissenschaften, der Mathematik,
der Statistik, der Theologie und der Sprachwissenschaften. All diese Teilgebiete
hatten in der islamischen Kultur des 9. Jahrhunderts eine Blütezeit erreicht.
Während in Europa noch finsterstes Mittelalter herrschte, entstanden in
Basra, Kufa und Bagdad theologische Schulen, in denen unter anderem die Offenbarungen
Mohammeds studiert wurden. Die Theologen wollten die zeitliche Reihenfolge der
Offenbarungen erkunden, in dem sie
die Häufigkeiten der einzelnen Wörter jeder Offenbarung zählten.
Dahinter steckt der Gedanke, dass bestimmte Wörter erst in jüngerer
Zeit entstanden waren. Weiterhin wurde geprüft, ob gewisse Texte mit dem
Sprachmuster Mohammeds übereinstimmten. Die Religionsgelehrten beließen
es aber nicht bei der Untersuchung auf der Ebene der Wörter. Sie fanden
heraus, dass einzelne Buchstaben häufiger vorkommen als andere, im Arabischen
sind das a und l. Diese eigentlich harmlose Beobachtung war die Geburtsstunde
der Kryptoanalyse.
Um Kryptoanalyse betreiben
zu können, muss man sich also zuerst mit den Gesetzmäßigkeiten
einer Sprache vertraut machen. Jede Sprache besitzt ihre arteigenen Muster und
Häufigkeitsverteilungen der Buchstaben, die auch durch geschickte Chiffrierung
nicht vollständig beseitigt werden können. Für deutsche bzw.
englische Texte sieht die Häufigkeitsverteilung der einzelnen Buchstaben
wie folgt aus:
Die Häufigkeit des Auftretens der einzelnen Buchstaben in der deutschen bzw. englischen Sprache
Ordnet man die Buchstaben nicht
nach dem Alphabet, sondern nach der Häufigkeit des Auftretens, so entsteht
ein sogenanntes Häufigkeitsgebirge, welches die benutzte Sprache charakterisiert.
Häufigkeitsgebirge für die Buchstabenwahrscheinlichkeiten in Deutsch und Englisch
Wie gesagt ist das allgemeine
Statistik und kann bei kurzen Texten wie „Zehn zahme Ziegen zogen zehn Zentner
Zucker zum Zuericher Zug.“ zu falschen Schlüssen führen. Ein gutes
(längeres) Beispiel für das völlige Versagen einer automatisierten
Suche nach dem e als häufigsten Buchstaben ist der Roman „Anton Voyls Fortgang“,
der ganz ohne das besagte e geschrieben wurde. Einen Auszug finden Sie im
Anhang
A.
Mit Hilfe der obigen Tabelle
ist es nun möglich, für einen bestimmten Geheimtextbuchstaben
G
den entsprechenden Klartextbuchstaben
K zu finden. Dazu wird von jedem
Buchstaben die Häufigkeit seines Auftretens im gesamten Text bestimmt.
Das geht mit Computerhilfe ganz einfach. Anschließend lässt sich
die Häufigkeitstabelle des Geheimtextalphabets mit einem Sortieralgorithmus
ordnen. Die entgültige Zuordnung der Buchstaben hingegen sollte per Hand
vorgenommen werden, weil ein menschlicher Betrachter (normalerweise) den entstehenden
Satz als sinnlos oder sinnvoll einstufen kann.
Programme:
kryptoanalyse1.html, kryptoanalyse2.html (zusammengehörig)
Wer eine genauere Analyse wünscht,
kann den Text noch zusätzlich z.B. auf Bigramme untersuchen (
kryptoanalyse3.html).
Als Ansatz kann folgende Tabelle dienen:
Die Häufigkeit des Auftretens von Bigrammen in der deutschen und englischen Sprache
Die Unterschiede bei den Bigrammen sind (zumindest im
Vergleich Deutsch und Englisch zu gering, um aussagefähig zu sein. Der Kryptoanalytiker nimmt dann Trigramme hinzu:
Die Häufigkeit des Auftretens von Trigrammen in der deutschen und englischen Sprache
Man muss immer daran denken,
dass Sprachmuster durch monoalphabetische Chiffrierung nicht vollständig
beseitigt werden können. Also wird (mit hoher Wahrscheinlichkeit) in einem
verschlüsselten englischen Text das chiffrierte Pendant zu
the zu
finden sein, da es ziemlich deutlich in der Häufigkeit hervortritt. Aufschluss
über die sprachliche Herkunft eines Textes gibt auch die mittlere Wortlänge:
Die mittlere Wortlänge in Abhängigkeit der Verfassersprache
Ein weiteres Kriterium ist der sogenannte Koinzidenzindex Kappa einer Sprache. Um das Kappa einer Sprache zu bestimmen, schreibt
man zwei gleichlange unterschiedliche Texte untereinander und zählt alle
„Spalten“ mit gleichen Buchstaben. Anschließend teilt man diese Zahl durch
die Anzahl der Buchstaben in einer Zeile. Die mathematische Beschreibung von Kappa sieht so aus (falls das Alphabet 26 Buchstaben
hat):
wobei
n die Gesamtzahl
der Buchstaben ist und
ni die absolute Häufigkeit
der einzelnen Buchstaben. Bei einer Analyse zeigt sich, dass jede Sprache ihr
eigenes Kappa hat:
Der Koinzidenzindex Kappa in Abhängigkeit der Verfassersprache
Für die Kryptoanalyse
eines Geheimtextes zerschneidet man diesen in zwei Hälften und ermittelt
den Koinzidenzindex Kappa der beiden so entstandenen Teiltexte.
Um sicher zu gehen, mit welcher Sprache der Klartext verfasst wurde, sollten
verschiedene Methoden kombiniert werden.
In
der Praxis werden natürlich bei der monoalphabetischen Chiffrierung noch
etliche Tricks benutzt, die der Analytiker auffinden muss. Alle diese Tricks
laufen letztendlich auf ein Ziel hinaus - die Häufigkeiten der Klartextbuchstaben
zu verschleiern. Blender oder Füller,
d.h. sinnlose Zeichen, mit denen ein Alphabet erweitert wird, wären eine
Möglichkeit. Ersetzt man beispielsweise die Klartextbuchstaben durch Zahlen
zwischen 1 und 99, so erhält man 73 Zahlen, die für nichts stehen
und nach Belieben über den Geheimtext verstreut werden können. Der
eigentliche Empfänger weiß natürlich, dass er diese Zahlen ignorieren
kann. Eine zweite Möglichkeit bilden Spreizer, bei denen einem Klartextbuchstaben
nicht ein Geheimtextbuchstabe zugeordnet wird, sondern eine Buchstaben- oder
Zeichenkolonne (wobei immer die Eindeutigkeit der Zuordnung gewahrt bleiben
muss).
Eine
weitere einfache Möglichkeit (die vielfach im Deutschunterricht angewandt
wird) besteht darin absichtlich Wörhter valsch su schreiben, um di häufigkitsverteillunk
dir Buchstabn zu verffällschn. Der Empfänger kann die fehlerhafte,
aber nicht sinnentstellende Botschaft dechiffrieren und korrigieren.
"Ein ideal für die Chiffrierung vorbereiteter Klartext
ist orthographisch falsch, sprachlich knapp und stilistisch grauenhaft."
[1]