Geheimschriften, eine Evolutionsgeschichte

Wissenschaftliche Sitzung von Bbr. Paul Hopf

Die erste Wissenschaftliche Sitzung dieses Wintersemester hielt ich zum Thema „Geheimschriften Eine Evolutionsgeschichte“. Die WS war zwar von Aktiven und Hausgästen sehr gut besucht, allerdings hatten leider nur wenige Alte Herren die Zeit gefunden teilzunehmen. Die WS begann mit Begriffsklärungen der grundlegenden Begriffe:
Geheimschriften werden im Allgemeinen in zwei Kategorien unterteilt. Wird der Inhalt der geheimen Botschaft unkenntlich gemacht, so ist dies eine Anwendung der Kryptographie – der Kunst des „verschlüsselten Schreibens“. Wird hingegen die Existenz der geheimen Botschaft unkenntlich gemacht, so ist dies eine Anwendung der Steganographie – der Kunst des „bedeckten Schreibens“. Ein Beispiel der Steganographie in der Antike ist die Verwendung von Wachstafeln: Ursprünglich wurde Wachs auf eine Holztafel aufgetragen. In das aufgetragene Wachs wurden Nachrichten dann eingeritzt. Sollte eine geheime Botschaft übertragen werden, so wurde sie vor dem Auftragen des Wachses in das Holz geritzt. Ein typisches Beispiel moderner Steganographie ist das Schreiben von geheimen Nachrichten in die Quelldateien von digitalen Bildern und Videos. Viele moderne Dateiformate sind so entworfen worden, dass selbst mit enthaltenen Fehlern die Dateien normal geöffnet werden können und das entsprechende Bild oder Video abspielen. Der Geheimtext wird dementsprechend als Fehler im Quellcode interpretiert und vom Abspielprogramm ignoriert.

Die Kryptographie und Krypto-Analyse sind die beiden Bereiche der Kryptologie. Während Kryptographie sich mit Verfahren beschäftigt, um Botschaften zu verschlüsseln, beschäftigt sich die Krypto-Analyse mit Verfahren, mit denen verschlüsselte Botschaften wieder entschlüsselt werden können, wenn der Schlüssel zum Entschlüsseln der Nachricht nicht bekannt ist. Bei der Verschlüsselung wird generell zwischen der Verwendung von Codes und von Chiffren unterschieden. Bei Codes werden ganze Worte durch andere ersetzt; Chiffren ersetzen hingegen einzelne Zeichen (oder in Sonderfällen auch Zeichengruppen). Unter Berücksichtigung dieser Unter-scheidungsregel fällt auf, dass es sich beim Morsealphabet, welches umgangssprachlich auch „Morsecode“ genannt wird,  eigentlich um eine Chiffre handelt. Der Vorteil von Codes ist, dass der Geheimtext nicht unbedingt als solcher zu erkennen ist und stattdessen wie eine harmlose Botschaft erscheint. Außerdem sind Entschlüsselungs-verfahren für Chiffren wie zum Beispiel die Häufigkeitsanalyse nicht für die Entschlüsselung von Codes anwendbar. Trotz dessen werden viel häufiger Chiffren als Codes verwendet. Dies basiert auf folgendem enormen Nachteil, den Codes mit sich bringen: Zur Anwendung einer Chiffre auf einen beliebigen Klartext (der keine nicht vorher definierten Zeichen verwendet) benötigt man ein Chiffrierungsverfahren und einen entsprechenden Schlüssel; Zur Anwendung eines Codes auf einen Klartext benötigt man stattdessen ein Codebuch – eine Liste von Worten, die im Klartext vorkommen könnten und entsprechenden Worten, in die sie codiert werden sollten. Der Nachteil dieser Codebücher lässt sich im Wortteil „-bücher“ erkennen – damit die Codes auf möglichst alle möglichen Nachrichten anwendbar ist, müssen diese Listen enorm umfangreich sein und selbst dann ist nicht garantiert, dass eine Nachricht damit ohne Probleme codiert werden kann. Die grundlegende Nomenklatur bei Verschlüsselungsverfahren ist die folgende: Die ursprüngliche, nicht verschlüsselte Nachricht wird als „Klartext“ bezeichnet. Die verschlüsselte Nachricht ist dementsprechend der „Geheimtext“. Die Zeichenkombination, welche dem Verschlüsselungsverfahren vorgibt, wie genau der Klartext verändert werden muss, um zu dem Geheimtext zu gelangen (oder von Geheimtext zu Klartext), wird als der „Schlüssel“ bezeichnet.

Eine der ältesten Verschlüsselungsverfahren ist die Skytale – auch bekannt unter dem Namen Stabchiffre. Sie wurde im 5. Jahrhundert vor Christus von den Spartanern entwickelt und für die Übermittlung militärischer Nachrichten verwendet.

Das Prinzip der Skytale ist sehr einfach: Sender und Empfänger haben einen Stab gleicher Breite. Der Sender wickelt einen Streifen Papyrus oder einen Lederstreifen um den Stab herum und schreibt seine Botschaft auf den Streifen. Der Empfänger kann den Streifen einfach um seinen Stab wickeln und die Botschaft lesen; Betrachtet man den Streifen stattdessen ohne Stab einfach der Länge nach, so ist die Position der Zeichen vertauscht. Die Form des Stabes ist demzufolge der Schlüssel dieses Verschlüsselungsverfahrens. Das Prinzip der Veränderung der Zeichenposition wird als „Transposition“ bezeichnet. Das Verschlüsselungsverfahren der Skytale ist äußerst unsicher und gilt als „trivial knackbar“, was bedeutet, dass die Sicherheit des Geheimtextes nicht durch Geheimhalten des Schlüssels, sondern durch  Geheimhalten des Verschlüsselungsverfahrens gewährleistet wird. Ist dem Abfänger des Geheimtexts bewusst, dass die Nachricht mit einer Skytale verschlüsselt wurde, kann er den Streifen einfach um eine Auswahl von Stäben unterschiedlicher Breite wickeln, bis die Nachricht lesbar ist. Im 1. Jahrhundert vor Christus nutzte der römische Kaiser Gaius Julius Caesar eine genau so trivial knackbare Chiffre wie die Skytale, welche allerdings auf einem anderen der Prinzipien der Chiffrierung, der „Substitution“ basiert – die sogenannte Caesarchiffre.

Das Prinzip der „Substitution“ bedeutet, dass sich bei der Verschlüsselung nicht die Position eines Zeichens verändert, sondern das Zeichen durch ein anderes im Alphabet ersetzt wird.
Bei der Caesarchiffre wird das Prinzip der Substitution in seiner einfachsten Form umgesetzt: der Schlüssel beträgt nur ein Zeichen, was bedeutet, dass jedes Zeichen im Klartext um die gleiche Anzahl an Zeichen im Alphabet verschoben wird, um den Geheimtext zu erhalten.
Die Caesarchiffre ist trivial knackbar, da es nur so viele mögliche Schlüssel wie Zeichen im Alphabet gibt. Wurde also das griechische Alphabet verwendet, so kann man nach maximal 26 einfachen Verschiebungen den Klartext aus dem Geheimtext gewinnen. Solch einen Versuch, den Geheimtext durch ausprobieren aller Möglichkeiten zu entschlüsseln, bezeichnet man im Allgemeinen als Brute-Force-Methode.
Bei einem ausreichend langem Geheimtext kann eine elegantere, jedoch nicht unbedingt schnellere, Methode zur Entschlüsselung einer Caesarchiffre verwendet werde – die Häufigkeitsanalyse. Da bei der Caesarchiffre jedes Zeichen um die gleiche Anzahl an Positionen verschoben wird, kann analysiert werden, wie häufig jedes Zeichen des Alphabets im Geheimtext verwendet wird. Da die Buchstaben der meisten Texte einer Sprache nahe an einer durchschnittlichen Standardverteilung sind, kann die Häufigkeitsverteilung der Geheimtextzeichen mit der Standardverteilung verglichen werden.

Sollte die Häufigkeitsverteilung des Geheimtextes bis auf eine Verschiebung der  Standardverteilung ähneln, so ist diese Verschiebung höchst Wahrscheinlich der Schlüssel, mit dem der Klartext in den Geheimtext verschoben wurde.

Im 16. Jahrhundert nach Christus entwickelte Blaise de Vigenère die auf der Caesarchiffre basierende Vigenère-Verschlüsselung. Dieses Verschlüsselungsverfahren ist die erste Chiffre, welche nicht trivial knack bar ist, also bei der das Verfahren nicht geheim gehalten werden muss, sondern bei der die Sicherheit durch den Schlüssel gewährleistet wird – Deshalb galt die Vigenèrechiffre bis Mitte des 19. Jahrhunderts als „unknackbar“.

Der Grundgedanke hinter der Vigenère-Verschlüsselung ist geradezu trivial: Die Schwachstelle der Caesarchiffre ist, dass sämtliche Zeichen um die gleiche Anzahl an Positionen verschoben werden.

Die Lösung dieser Schwachstelle ist es, einfach die Schlüssellänge, welche bei der Caesarchiffre nur ein Zeichen beträgt, zu erhöhen.

Die Schlüssellänge der Vigenère-Verschlüsselung ist variabel. Das erste Zeichen des Klartexts wird anhand des ersten Zeichens des Schlüssels verschlüsselt, das zweite nach dem zweiten und dementsprechend weiter. Ist der Klartext länger als der Schlüssel, so wird nach dem letzten Schlüsselzeichen wieder vom Anfang des Schlüssels angefangen.

Erst 1863 veröffentlichte der preußische Offizier Friedrich Kasiski eine Lösung der Vigenère-Verschlüsselung. Diese Entschlüsselungs-methode ist eine Weiterentwicklung der Häufigkeitsanalyse entsprechend, wie die Vigenère-Verschlüsselung eine Weiter-entwicklung der  Caesarchiffre ist:

Ist der Schlüssel ausreichend kürzer als die Nachricht, so kann man, wie im Bild oben zu sehen, Muster von Zeichenkombinationen im Geheimtext finden, die auf Mustern im Klartext basieren. Nach der Suche dieser Muster betrachtet man den Abstand der gleichen Kombinationen zueinander. Unter Berücksichtigung, dass manche dieser Muster zufällig entstanden sein könnten, kann anhand dieser Abstände die Schlüssellänge ermittelt werden. Nun müssen so viele Häufigkeitsanalysen durchgeführt werden, wie die Schlüssellänge beträgt – getrennt nach den Zeichen des Geheimtextes, welche durch unterschiedliche Zeichen des Schlüssels verschlüsselt wurden. Durch Vergleich dieser Häufigkeitsanalysen mit der Standardverteilung kann nun, bei ausreichend vielen Zeichen für eine repräsentative Verteilung, der Schlüssel ermittelt und damit die Nachricht entschlüsselt werden. Somit ist selbst mit diesem Entschlüsselungs-verfahren die Entschlüsselung einer mit der Vigenère-Verschlüsselung verschlüsselten Nachricht nicht garantiert, sondern abhängig von Schlüssellänge und Nachrichtenlänge.

Hat man, warum auch immer, nur ein verhältnismäßig kurzen Schlüssel, so kann man dem Angreifer auch dadurch die Entschlüsselung erheblich erschweren, indem man ab und zu bei häufig vorkommenden Mustern wie z.B. „ie“ oder „er“ Rechtschreibfehler und Buchstabendreher einbaut, die das Lesen der Klartextnachricht zwar nicht sonderlich erschweren, aber die Muster im Geheimtext unkenntlich machen. Ist der Schlüssel allerdings wie im Beispiel keine zufällige Zeichenkombination sondern ein Wort oder Satz, so kann auf dieses verhältnismäßig umständliche Verfahren verzichtet werden. Stattdessen kann man versuchen, die Nachricht mittels einer „Wörterbuch-Attacke“ oder durch raten von Wörtern, welche für den, der die Nachricht verschlüsselt hat, typisch sind, zu entschlüsseln.

1883 formulierte der niederländische Kryptologe Auguste Kerckhoff das sogenannte Kerckhoff’sche Prinzip (auch bekannt als Kerckhoff’s Maxime) als Teil seiner sechs Grundsätze der modernen Kryptographie. Darin legt Kerckhoff fest, dass ein gutes Verschlüsselungsverfahren im Wesentlichen nicht entzifferbar sein soll, auch wenn dem Angreifer das benutzte Verfahren bekannt sein sollte. Wie bereits weiter oben in meinem Vortrag beschrieben, gelten Verschlüsselungsverfahren, die diesen Grundsatz nicht einhalten, als trivial knack bar. Weiter legte Herr Kerckhoff fest, dass die Nutzung des Verschlüsselungsverfahrens nicht mehr als eine Person erfordern darf und dass es mit moderner Kommunikation (zu dieser Zeit der Telegraf) kompatibel sein muss.

1918 meldete der deutsche Elektroingenieur Arthur Scherbius sein erstes Patent zu der Chiffriermaschine „Enigma“ an. Diese wohl bekannteste historische Chiffriermaschine ermöglicht die Verwendung von komplexen Verschlüsselungsalgotihmen und sehr langen Schlüsselwörtern, welche bei der reinen Bearbeitung durch einen Menschen durch die entstehende enorme Bearbeitungszeit inpraktikabel wäre.

Das Ziel war es, dass der Kerckhoff’schen Maxime entsprechend selbst bei bekannten Verfahren (also dem Aufbau und der Funktionsweise der Enigma) die Nachrichten unknackbar sein sollten, solange dem Angreifer der Schlüssel nicht bekannt ist.

Als Kernstück der ursprünglichen Enigma dienten Plätze für 3 Walzen (Später wurde die Anzahl erhöht, um eine größere Sicherheit zu gewährleisten). Jede Walze enthielt ein eigenes Geheimalphabet. Durch die Auswahl der entsprechenden Walzen und der Verdrahtung der Walzen wird der Tagesschlüssel bestimmt.

Die Enigma galt mehr als 10 Jahre als praktisch unknackbar, konnte aber während des zweiten Weltkrieges unter hohem personellen und Rechenaufwand nahezu kontinuierlich von den Alliierten entschlüsselt werden. Dies war möglich, da sowohl die Enigma konzeptuelle Schwachstellen hatte, als auch die deutschen, in ihrem Sinn für Ordnung, einige schwere Fehler machten.

Durch die Verwendung einer „Umkehrwalze“, welches die Bedienung und Konstruktion der Maschine enorm vereinfachte, da nicht mehr zwischen Ver- und Entschlüsselung unterschieden wird, wurde niemals ein Buchstabe im Klartext zum gleichen Buchstaben im Geheimtext verschlüsselt. Dies hat allerdings als Ergebnis, dass statt der 26! (also 26 x 25 x 24 x … = ca. 4 x 10^26) möglichen Alphabete nur noch 25!! (also 25 x 23 x 21 x …= ca. 4 x 10^12) Alphabete genutzt werden können. Schlimmer noch ermöglichen klare Aussagen wie „Nichts ist jemals es selbst“ Angreifern, Abkürzungen zur Entschlüsselung zu finden. Auch viel den deutschen ihr Ordnungssinn zum Verhängnis, so gelang es einem Polen, die Verdrahtungs-reihenfolge der Eintrittswalze als „ABCDEF…“ zu erraten. Auch wurde zu Anfang des zweiten Weltkrieges noch die Auswahl der 3 Walzen als sogenannter Spruchschlüssel doppelt und verschlüsselt an den Anfang jeder Nachricht gehängt. Somit war klar, dass der erste und vierte, der zweite und fünfte sowie der dritte und sechste Geheimtextbuchstabe jeweils demselben Klartextbuchstaben zuzuordnen war.

Auch, nachdem eine neue Version der Enigma mit 3 statt 5 Walzen erschien und die deutschen darauf verzichteten den Spruchschlüssel vorne anzuhängen, ermöglichten die täglich vom selben Ort zur selben Zeit geschickten verschlüsselten Routinemeldungen (z.B. „WETTERBERICHT…“) eine Identifizierung der jeweils gewählten Tagesschlüssel. Sollten diese regelmäßigen Nachrichten den Alliierten nicht zur Entschlüsselung des jeweiligen Tagesschlüssels ausreichen, so provozierten sie einfach Vorfälle, die die Deutschen mit vorhersehbaren Funksprüchen weitergeben würden. So legten die Alliierten zum Beispiel in der Nacht Minen in der Nordsee an bestimmte Stellen aus, welche die Deutschen zu bestimmten Zeiten entdecken würden.

Seit den 1970er Jahren wurden immer wieder neue „moderne“ Verfahren wie DES und RSA entwickelt, welche hauptsächlich für eine Benutzung an Computern konzipiert waren.

Der Verschlüsselungsalgotihmus DES („Data Encryption Standard“, übersetzt „Datenverschlüsselungsstandard“) wurde als Standard-algorithmus aller US-amerikanischen Bundesbehörden entwickelt.

Um eine Optimale computergestützte Bearbeitung des DES zu gewährleisten, wurde er als  Blockchiffre konzipiert. Dies bedeutet, dass die Nachricht in Blöcke zerteilt wird, welche einzeln chiffriert werden. Dabei benutzt DES eine Blockgröße von 64 Bit. Da jeder Buchstabe und jedes Zeichen in binärer Schreibweise mit 8 Bit dargestellt wird, enthält jeder Block 8 Zeichen.

Entsprechend besteht der Schlüssel aus 64 Bit. Da pro Byte ein Bit zum Paritäts-Check benötigt wird, beträgt die effektive Schlüssellänge jedoch nur 56 Bit. Jedoch wird der Klartext-Block nicht einfach nur direkt mit dem Schlüssel-Block verschlüsselt. Stattdessen wird mittels der sogenannten Feistel-Funktion in 16 Runden unter anderem die Position der Blöcke vertauscht, Die Position der einzelnen Bits innerhalb eines Blockes vertauscht und die Klartextblöcke mit dem Schlüssel-Block chiffriert (Permutation, Transposition, Substitution). Im Schritt der Substitution wird der Klartext-Block mit dem Schlüssel-Block mittels eines logischen XOR verknüpft. Dies bedeutet, dass das entsprechende Ergebnis-Bit den Wert „1“ hat, wenn die Bits des Klartext-Blocks und des Schlüssel-Blocks an der gleichen Position unterschiedliche Werte haben.

Für den Bearbeitungsschritt der Substitution gibt es mehrere Betriebsmodi (Diese werden auch bei anderen Verschlüsselungs-algorithmen wie DES genutzt).

Der einfachste und unsicherste Modus ist der ECB-Modus. Dabei wird der Klartext-Block direkt mit dem Schlüssel chiffriert. Der Nachteil hiervon ist, dass ein Angreifer mit dem durchprobieren der möglichen Schlüssel alle Blöcke gleichzeitig bearbeiten kann. Diese Schwachstelle bestand zwar schon bei den älteren Algorithmen, ist allerdings erst durch den Einzug der Rechenleistung von Computern so relevant geworden.

Als Lösung dieser Schwachstelle wurden unterschiedliche Modi entwickelt, bei denen der Klartext-Block je nach Modus vor oder nach der Verschlüsselung mit dem vorhergegangenen Block verknüpft. Ein Beispiel hierfür ist der CBC-Modus. CBC steht für „Cipher Block Chaining“ was übersetzt so viel wie Chiffre Blockverkettung bedeutet.

Der Asymmetrische Algorithmus wie RSA wurde ursprünglich entwickelt, um das sogenannte „Schlüsselträgerproblem“ zu lösen. Er nutzt eine mathematische Formel mit Modulo, die nur von einer Seite eindeutig aufgelöst werden kann. Dadurch erhält man zwei Schlüssel, die nach öffentlichem und privatem Schlüssel unterschieden werden. Der öffentliche Schlüssel des Empfängers von Nachrichten wird entweder dem Versender von Nachrichten direkt übergeben, oder an offizieller und frei zugänglicher Stelle gespeichert. Der Versender kann nun mit dem öffentlichen Schlüssel des Empfängers die Nachricht verschlüsseln und dem Empfänger zuschicken. Der Geheimtext kann dann nur mit Hilfe des privaten Schlüssels wieder entschlüsselt werden.

Abschließend lässt sich sagen, dass die historische Entwicklung der Kryptographie und Krypto-Analyse eine Art Krieg mit verschwom-menen Seiten ist, bei der es vermutlich nie einen endgültigen Sieger geben wird. Mittels Krypto-Analyse wird versucht, Schwachstellen bei bisherigen Verschlüsselungsverfahren zu finden. In der Kryptographie wird wiederum versucht, diese Schwachstellen zu beheben.

Kein Verfahren ist wirklich sicher. Auch bei modernen Verfahren spricht man bei ihrer Sicherheit von der Zeit, die ein Angreifer zum Entschlüsseln einer Nachricht bei bestimmter Schlüssellänge benötigt. Diese Zeit wird an der Rechenleistung aktuell verfügbarer Hochleistungsrechner gemessen und befindet sich meist in einer Größenordnung von mindestens einigen Jahren bis in die Jahrmillionen, was eine Entschlüsselung nutzlos machen soll. Allerdings entwickeln sich Computer stetig weiter. Laut Mooreschem Gesetz kommt es zu einer Verdopplung der Rechenleistung pro Jahr. Auch wird von Forschern gesagt, dass es „in zehn bis hundert“ Jahren den ersten Quantencomputer geben wird. Laut theoretischen Studien sollten bestimmte Probleme der Informatik, z. B. die Suche in extrem großen Datenbanken und die Produktzerlegung extrem langer Zahlen wesentlich effizienter gelöst werden können als mit klassischen Computern, was mathematische Probleme, welche die Basis für die Sicherheit weit verbreiteter kryptographischer Verfahren sind, leicht lösbar und diese damit unbrauchbar machen. Allerdings gibt es bereits jetzt schon andere moderne Kryptoverfahren, welche zwar weniger effizient (langsamer / längerer Schlüssel für gleiche Sicherheit notwendig) und deshalb weniger verbreitet sind, jedoch auch mit der Entwicklung eines Quantencomputers theoretisch nicht trivial knack bar wären.

Auch wenn ich persönlich als Privatanwender nur mit moderner Kryptographie in Berührung komme, sehe ich der Entwicklung von Quantencomputern positiv entgegen und hoffe, dass ich es noch erleben darf, da ich gespannt darauf bin, welche Auswirkungen diese auf unsere Gesellschaft haben werden.

Von Bbr. Paul Hopf v/o Roooy

Dieser Beitrag wurde unter FUZ-Artikel veröffentlicht. Setze ein Lesezeichen auf den Permalink.