4 Einfache Substitutionsverfahren und deren Einschätzung

4.1 Monalphabetische Chiffren

Monalphabetische Verfahren benutzen (wie der Name schon andeutet) ein Chiffrieralphabet. Jedes Zeichen des benutzten Klartextalphabets wird zu demselben Geheimtextzeichen chiffriert.

Auch der "Caesar" ist ein Substitutionschiffre. Diese und verwandte Verschiebechiffren haben die Eigenschaft, in dem Moment ihre Wirkung zu verlieren, wenn ein einziges Zeichen identifiziert ist. Denn die Reihenfolge des Alphabets bleibt ja erhalten, nur der Anfangspunkt ändert sich.

Aber selbst wenn man die Buchstaben durcheinanderwürfelt, wird es nicht sehr viel schwieriger. Man macht sich dabei die Eigenschaft von natürlichen Sprachen zu Nutze, daß einzelne Buchstaben nicht gleich häufig auftreten. Wir haben uns schon einmal mit diesem Thema befaßt, im Abschnitt über Entropie. Wir suchen also die Entropie der einzelnen Zeichen. Hat man diese Tabelle einmal aufgestellt, so ist es ziemlich egal, mit welchen Symbolen die Zeichen notiert wurden, der Geheimtext ist damit nicht mehr geheim.

Wie geht man nun vor? Sehr einfach! Man untersucht die Häufigkeiten der einzelnen Buchstaben in dem gefundenen Geheimtext. Danach nimmt man sich eine Tabelle mit den bekannten Häufigkeiten. Und nun vergleicht man. Auf diese Weise bekommt man einen großen Teil der Buchstaben heraus. Man muß dazu nicht die ganze Tabelle vergleichen. Untersucht man nämlich die Häufigkeitsverteilung, so erkennt man eventuell signifikante Unterschiede in den einzlenen Zeichenhäufigkeiten. Beispielsweise können im Deutschen "e" und "n" alleine fast ein Drittel aller Vorkommen abdecken (bei anderen Texten können das andere Buchstaben sein). Genauso kann man mit den anderen Zeichen verfahren und man erhält damit eine grobe Unterteilung zwischen wichtigen (häufigen) Buchstaben und weniger wichtigen (weniger häufigen) Zeichen. Diese Unterteilung unterstützt das Finden der wichtigen Buchstaben. Bringt das einen nicht weiter, nimmt man sich die Bigramme vor, dann die Trigramme, etc. Der Rest ist nur noch Ergänzung, was in der Regel nicht sehr schwierig ist.

Um Ihnen die Wirkungslosigkeit solcher Verfahren zu beweisen, können Sie Rätselecken in Zeitungen und Zeitschriften aufschlagen, in denen Worte durch Symbole ersetzt wurden. Und die lösen Sie doch in der Mittagspause, oder? Wenn nicht, können Sie ja nochmal üben. Mit welchem Verschiebefaktor (Offset) wurde der folgende Satz verschlüsselt?

JUDX OLHEHU IUHXQG LVW DOOH WKHRULH
XQG JUXHQ GHV OHEHQV JROGQHU EDXP

Wir untersuchen die Häufigkeiten und sortieren die Liste:

H: 11
U: 6
O,Q,X: 5
G: 4
D,E,J,L,V: 3
R,W,I: 2
K,P: 1
A,B,C,F,M,N,S,T,Y,Z: 0

Wir nehmen an, daß es sich um einen deutschen Text handelt. Das "H" kommt am häufigsten vor, wir nehmen deshalb ebenfalls an, daß es sich hierbei um ein "E" handelt.

Damit hätten wir schon die Lösung, wenn ein reiner "Caesar" verwendet wurde. Der Offset beträgt dann genau 3, es handelt sich also um einen Original-"Caesar".

Um jedoch auszuschließen, daß es sich nicht um eine Permutation des Alphabets handelt, kann man die anderen Buchstaben kontrollieren. Der Text ist aber zu kurz, um eine echte statistische Verteilung zu zeigen, somit müssen wir bei den weiteren häufigsten Buchstaben raten.

Das weitere Probieren zeigt, daß es sich tatsächlich um den oben schon bezeichneten "Caesar" handelt. Die Lösung bleibt Ihnen überlassen, wir wollen nur verraten, daß es sich um ein berühmtes Zitat aus Goethes "Faust" handelt.

Einen weiteren Punkt sieht man hier sehr deutlich: Wir haben von Anfang an angenommen, daß es sich um einen deutschen Text handelt - wie man am Beispiel der Navahos im zweiten Weltkrieg sieht, ist eine anfängliche gute Einschätzung der verwendeten Sprache unverzichtbar für eine Kryptanalyse. Im Regelfall kann man bestimmte Annahmen machen; verwendet der Absender jedoch eine exotische oder eine Kunstsprache, fällt es dem Gegner schon schwerer, eine erfolgreiche Analyse durchzuführen.

Im Beispiel sieht man allerdings zuviel Information: Leerzeichen, Interpunktion. Damit sind die Wortgrenzen schon klar. Für einen geübten Kryptologen schon die halbe Lösung. Im Normalfall wird man deswegen auch das Leerzeichen und Satzzeichen mit in das Alphabet einbeziehen. Im Computer geht das sehr einfach, man wandelt einfach das betreffende Zeichen in seinen ASCII-Wert um und addiert einen Offset (modulo 255). Eine gebräuchliche Variante dieses Verfahrens ist rot13. Der Name verrät schon den Offset: 13. Beispielsweise beherrscht der Internet-Newsreader "nn" das Verfahren auf Knopfdruck [10].

Wie Sie sich aber sicherlich auch inzwischen selbst denken können, ist auch das kein wirkungsvolles Verfahren.

Manchmal findet man als Zugabe von Comicheften oder Cornflakespackungen sogenannte Chiffrierscheiben, das sind zwei ineinanderliegende Ringe, die jeweils mit den einzelnen Buchstaben des Alphabets beschriftet sind. Den inneren kann man nun gegenüber dem äußeren verdrehen. Eine solche Chiffrierscheibe ist ein nettes Spielzeug, und als solches sollte man es auch betrachten.

Man kann diese Art der Verschlüsselung ein wenig komplizierter anlegen, wenn man nicht einen Offset addiert, sondern mit einer Zahl multipliziert. Dazu muß man ein paar Dinge beachten:

Es ist unwichtig, mit welchen Zahlen man die Buchstaben verknüpft; man kann entweder das Alphabet beginnend mit 0 durchnumerieren (A = 0, B = 1, ..., Z = 25) oder den ASCII-Wert benutzen (A = 65, B = 66, ..., Z = 90). Wir nehmen an, daß die erste Methode benutzt wird.

Da als Ergebnis nur Zahlen zwischen 0 und 25 herauskommen dürfen, muß man das Ergebnis in diesen Bereich normieren. Man benutzt dafür die Rest- oder Modulo-Funktion. Ein Beispiel:

8 mod 5 = 3
8 mod 4 = 0
8 mod 2 = 0

Man teilt im Beispiel einfach 8 durch 5 bzw. 4 und erhält als Ergebnis nicht den Quotienten, sondern den Rest, der bei ganzzahliger Division auftritt. Im Beispiel sieht man auch deutlich, daß verschiedene Divisoren denselben Rest ergeben können. Das nutzt man nun aus.

Bedauerlicherweise geht das aber nicht mit allen Zahlen zwischen 0 und 25. Benutzen wir beispielsweise 4, so ergeben

"A" * 4 =  1 * 4 mod 26 = 4
"O" * 4 = 14 * 4 mod 26 = 4

Da Verfahren wie der "Caesar" jeden Buchstaben zu demselben Geheimtextzeichen wandelt, gehört es zu der großen Gruppe der monalphabetischen Verfahren. Es heißt, daß monalphabetische Verfahren nicht sehr sicher sind. Wir werden aber sehen, daß es doch einige Verfahren gibt, die als sicher gelten können - wenn sie nur pfiffig genug angelegt sind.<$&A04-02[v]>

Sehen wir uns spaßeshalber einmal an, wieviel Möglichkeiten solche Verschiebechiffren aufweisen.

Wenn man von sortierten Alphabeten (mit den 26 Buchstaben) ausgeht, gibt es einschließlich der trivialen Methode (a auf a, b auf b,...) 26 verschiedene Möglichkeiten, einen Text zu verschlüsseln. Das ist nicht viel. Ein kleiner PC könnte alle Möglichkeiten in wenigen Sekunden durchprobieren.

Buchstabe     Wahrscheinlichkeit    Zeichenentropie
     A             0.061400              0.25
     B             0.021000              0.12
     C             0.034900              0.17
     D             0.046000              0.20
     E             0.165100              0.43
     F             0.017900              0.10
     G             0.027000              0.14
     H             0.046400              0.21
     I             0.082500              0.30
     J             0.001700              0.02
     K             0.014500              0.09
     L             0.038100              0.18
     M             0.027500              0.14
     N             0.103500              0.34
     O             0.026400              0.14
     P             0.012300              0.08
     Q             0.000600              0.01
     R             0.069900              0.27
     S             0.064000              0.25
     T             0.064300              0.25
     U             0.032600              0.16
     V             0.010300              0.07
     W             0.014600              0.09
     X             0.002300              0.02
     Y             0.003300              0.03
     Z             0.011800              0.08
202079 Zeichen                 Entropie  4.1197 bit

Abb. 4.1: Statistische Buchstabenhäugigkeiten in diesem Buch.
Solche Häufigkeitsverteilungen sind stets nur grobe Richtlinien. Jeder Text hat seine eigene Verteilung und je nach Autor oder Anwendung können mehr oder weniger starke Schwankungen auftreten.

Nun kann man aber auch die Alphabete durcheinanderwürfeln; die einfachste Methode: Man denkt sich ein Schlüsselwort aus, in dem jeder enthaltene Buchstaben nur einmal vorkommt, z.B. "CESAR", und schreibt die restlichen Buchstaben in umgekehrter Reihenfolge dahinter:

ABCDEFGHIJKLMNOPQRSTUVWXYZ
CESARZYXWVUTQPONMLKJIHGFDB

Oder man verwürfelt das Alphabet ohne Kennwort.

Es gibt dafür 26! Möglichkeiten, eine riesige Zahl mit 27 Stellen. Und trotzdem, obwohl es so viele Möglichkeiten gibt, ist die Lösung in wenigen Minuten offengelegt. Ein gutes Beispiel dafür, daß es nicht nur die riesige Anzahl von Möglichkeiten ist, die ein Verfahren sicher macht.