Schlagwort-Archive: Hochschule

Schachcomputer, Computerschach und Systemarchitektur, Teil 1

Da ich mich in meiner Eigenschaft als Professioneller Klugscheißer ja unter anderem mit maschinellem Lernen und Systemarchitektur beschäftige und privat gerne (wenn auch nicht unbedingt gut) Schach spiele, liegt eigentlich nichts näher, einmal das Thema Computerschach und die Schachcomputer zu betrachten.

Weißer Springer

Dedizierte Computer, die nichts anderes können als nur Schach spielen, sind heute doch sehr aus der Mode gekommen, aber zumindest die Schachspieler ab Mitte 30 können sich vielleicht noch an die Blütezeit der Schachcomputer Ende der 80er Jahre erinnern. Damals hat man mit D-Mark bezahlt, es gab noch die DDR, ich war 10 Jahre alt und hatte einen Mephisto Super Mondial geschenkt bekommen.

Mephisto Super Mondial
Mephisto Super Mondial

Aus heutiger Sicht muss man sich natürlich fragen: Warum kam man damals überhaupt auf die Idee, Computer zu bauen, die nur zum Schach spielen gut sind und warum waren diese Spezialrechner auch noch erfolgreich?

Komfort und Stil

Ein wichtiger Grund ist selbstverständlich, dass es einfach viel mehr Spaß macht, auf einem richtigen Schachbrett zu spielen anstatt am Bildschirm. Die Züge kann man dadurch eingeben, dass man schlicht die Figuren zieht. Die Figuren sind magnetisch und Sensoren reagieren darauf, ob auf einem Feld eine Figur steht oder nicht. Bei vielen Computern, wie auch beim Super Mondial, musste man mit der Figur noch kurz das Feld „antippen“, da diese nur mit Drucksensoren und nicht mit Magnetkontakten ausgestattet waren. Die Züge des Computers werden über LEDs am Rand oder in den Ecken der Felder angezeigt, nur die Figuren muss der Mensch dann doch für den Computer bewegen.

Komfortabler als am Bildschirm ist es allemal, denn die Bildqualität auf dem Monitor der damaligen Homecomputer war bei weitem nicht so gut wie heute und konnte auch mal ziemlich stark flimmern. Außerdem hatten die Computer nicht unbedingt eine Maus.

Ein Schachcomputer ist sofort nach dem Einschalten spielbereit, ein Schachprogramm auf einem normalen Computer muss man erst einmal laden. Das bedeutete damals, als die meisten Rechner für den Hausgebrauch noch keine Festplatte hatten, von Diskette oder sogar noch langsamer von der „Datasette“, also vom Band.

Aber vor allem: Damals hatte längst nicht jeder Schachspieler einen Computer zuhause!

Und stilvoller als Schach am Bildschirm zu spielen ist es auf einem schönen Holzbrett wie dem Mephisto Exclusive allemal.

Mephisto Exclusive
Mephisto Exclusive

Systemarchitektur

Die Gründe für den Erfolg dedizierter Schachcomputer sind aber auch technischer Natur. An dieser Stelle kommt jetzt die Systemarchitektur ins Spiel, so dass für den folgenden Abschnitt ein wenig Wissen in dem Bereich von Vorteil ist. Der damals am weitesten verbreitete Homecomputer war der C64 von Commodore mit einem Prozessor (CPU) vom Typ 6510 (eine Variante des 6502) und einer Taktfrequenz von etwa 1 MHz. Dieser Prozessor kann 64 Kilobyte adressieren. Dieser Adressraum steht aber nicht komplett für Arbeitsspeicher (RAM) zur Verfügung. Ein Teil wird für den Nur-Lese-Speicher (ROM) mit dem Betriebssystem gebraucht und ein Teil für die Ansteuerung der Peripherie, also zum Beispiel Bildschirm, Diskettenlaufwerk und Tastatur. Nach dem Einschalten bleiben so nur wenig mehr als die Hälfte der 64 KB für RAM übrig. Tatsächlich hatte der C64 aber volle 64 KB RAM, die über sogenanntes Bank Switching angesteuert werden konnten. Dabei wird der 64 KB Adressraum in mehrere Bereiche, die sogenannten Bänke, unterteilt, in die jeweils in einer umschaltbaren Zuordnung ein Teil des RAM, ROM oder der Peripherie eingeblendet wird. Der komplette Speicher ist somit niemals gleichzeitig nutzbar und die Umschaltung kostet Zeit.

Der Super Mondial dagegen hat eine 6502-CPU mit 4 MHz, das Herz schlägt also schon einmal bedeutend schneller als das des C64. Außerdem schleppt ein Schachcomputer wesentlich weniger Ballast mit sich herum, der für das Schachspielen nicht gebraucht wird, zum Beispiel braucht es keine aufwändige Grafik und keine BASIC-Programmiersprache. Die 64 KB Adressraum stehen somit fast komplett für das Schachprogramm und RAM zur Verfügung. Ein bisschen geht natürlich trotzdem für Peripherie ab, schließlich hat auch ein Schachcomputer eine Tastatur, eine Anzeige und Sensoren im Brett für die Zugeingabe. Aber so etwas wie Bank Switching braucht man nicht. Abgesehen davon braucht sich das Schachprogramm nicht darum zu kümmern, Schachfiguren auf den Bildschirm zu malen, was kostbare Rechenzeit spart.

Ein Schachprogramm läuft also auf einem dedizierten Schachcomputer unter deutlich besseren Bedingungen als auf einem Homecomputer, die gleiche Schach-Engine spielt also allein schon deswegen auf einem Schachcomputer besser als auf einem normalen Homecomputer dieser Zeit.

Außerdem hatten damals die kommerziellen Schachcomputer-Hersteller auch die besseren Programme, aber über die Software soll es dann im zweiten Teil gehen.

Kryptographie, Teil 4: Enigma

Im dritten Teil der Serie über Kryptographie wurde unter anderem die Vigenère-Chiffre besprochen. Die große Gefahr und die Anfälligkeit dieses Algorithmus für Angriffe, bei denen ein Teil des Klartextets bekannt ist, begründeten sich durch die verhältnismäßig kurze Schlüssellänge. Bei der One-Time-Pad-Verschlüsselung wird das Problem dadurch umgangen, dass der Schlüssel genau so lang wie der Klartext gewählt wird. Bei allen damit verbundenen praktischen Problemen ist dies jedoch in den meisten Fällen kein anwendbares Verfahren.

Enigma
Detailaufnahme einer Enigma-Maschine mit Tastatur, Ausgabe-Lämpchen und Steckbrett

Ein Lösungsansatz ist der Versuch, vereinfacht gesprochen aus einem kurzen Schlüssel einen langen zu machen. Das One-Time-Pad ist deswegen sicher, weil eine lange Folge von Zufallswerten als Schlüssel dient. Ein praxistaugliches Verschlüsselungsverfahren nach diesem Prinzip muss also darauf basieren, aus einem kurzen Schlüssel eine lange Folge von Pseudo-Zufallszahlen zu generieren. Diese müssen sich deterministisch aus dem Schlüssel ergeben, sonst wäre auch mit Kenntnis des Schlüssels ein Dechiffrieren unmöglich.

Anfang des 20. Jahrhunderts gab es erste Entwicklungen, dieses Problem elektromechanisch zu lösen. Bei diesen elektrisch betriebenen Maschinen wurde über eine Schreibmaschinentastatur der Klartext eingegeben und über Lämpchen bei jedem Tastendruck der entsprechende Buchstabe des Geheimtexts angezeigt. Die Maschinen sind mit elektrisch betriebenen Walzen, sogenannten Rotoren, ausgestattet, die sich bei jedem Tastendruck weiter drehen, bei jeder Stellung eine andere Verdrahtung haben und somit für jeden Tastendruck eine andere Zuordnung von Klartext- zu Geheimtext-Buchstaben hervorrufen. In Abhängigkeit von der Stellung der Rotoren vor Beginn des Verschlüsselungsvorgangs ergibt sich bei diesen Rotormaschinen eine verschiedene, sehr lange Folge von unterschiedlichen Verdrahtungen. Aus einem kurzen Schlüssel, nämlich der Grundstellung der Rotoren, ergibt sich quasi eine Vigenère-Verschlüsselung mit einem sehr langen Schlüssel.

Engima
Zwei Varianten der Enigma-Maschine im Museum für Kommunikation in Frankfurt am Main

Eine Vertreterin dieser Klasse ist die 1918 entwickelte Enigma-Maschine, die ihre große Bekanntheit ihrer Verwendung durch die deutsche Wehrmacht, insbesondere der Marine, im 2. Weltkrieg verdankt. Die Enigma wurde in mehreren Varianten mit 3 oder 4 Rotoren und einer zusätzlichen Verwürfelung über die freie Verkabelung eines Steckbretts eingesetzt.

Schon bei der Ausführung mit 3 Rotoren erzeugt die Enigma eine Verschlüsselung, die sich erst nach über 17.000 Zeichen wiederholt. Dies stellt einen erheblichen Sicherheitsgewinn gegenüber einer simplen Vigenère-Chiffre dar. Dennoch konnte die Enigma-Verschlüsselung durch die Briten (nach Vorarbeit durch Polen) unter Führung des Mathematikers Alan Turing gebrochen werden.

Skulptur Alan Turings
Skulptur Alan Turings, Foto von Jon Callas, CC BY 2.0

Die Enigma hatte einige Schwächen, die für Angriffe ausgenutzt werden konnten. So wurde zum Beispiel niemals ein Klartext-Buchstabe im Geheimtext auf den selben Buchstaben abgebildet, also ein „A“ im Klartext wurde niemals ein „A“ im Geheimtext, ein „B“ niemals ein „B“, und so weiter. Was auf den ersten Blick wie eine gute Idee aussieht, ermöglicht in Wahrheit einen Angriff über eine sogenannte negative Mustersuche. Ist beispielsweise bekannt, dass das Wort „UBOOT“ irgendwo im Klartext stehen muss, kann man versuchen, die Stelle im Geheimtext zu bestimmten, an der dieses Wort steht. Man muss dazu wie im folgenden Beispiel nach Übereinstimmungen von Klartext- und Geheimtext-Buchstaben suchen und kann bestimmte Positionen ausschließen.

 Geheimtext: NVGOXUBNKSLTPT
Wahrscheinliches Wort: UBOOT
 UBOOT 
  UBOOT 
   UBOOT 
    UBOOT 
     UBOOT 
      UBOOT 
       UBOOT 
        UBOOT 
         UBOOT

Nur an den bestimmten Stellen, hier kursiv dargestellt, kann das Wort „UBOOT“ im Klartext stehen, an den anderen Stellen gibt es mindestens eine Übereinstimmung eines Klartext- mit einem Geheimtextbuchstaben, was bei der Konstruktion der Enigma aber nicht vorkommen kann.

Durch diese Schwachstelle allein kann die Verschlüsselung der Enigma noch nicht gebrochen werden, allerdings kann, wenn die Position eines Wortes erst einmal bekannt ist, mit anderen Angriffen fortgefahren werden, zum Beispiel mit der im 3. Teil gezeigten known-plaintext-Angriff. Dieser gestaltet sich immer noch schwieriger als bei Vigenère, da sich, wie schon gesagt, der Schlüssel erst nach über 17.000 Zeichen wiederholt, aber da die Erzeugung der Verschlüsselung über die Rotoren auch wieder bestimmten Gesetzmäßigkeiten unterliegt, konnte sich die Gruppe um Turing Schritt für Schritt zur Entschlüsselung vorarbeiten. Turing konstruierte zur vollständigen Entschlüsselung des Geheimtextes elektromechanische Maschinen, die einen Schlüsselraum systematisch durchsuchten. Diese Maschinen wurden wegen ihres charakteristischen Tickens auch als Turing-Bomben bezeichnet. Die Menge der auszuprobierenden Schlüssel konnte durch Analysen wie die eben beschrieben negative Mustersuche stark eingeschränkt werden, was ein effektives Brechen der Verschlüsselung erst ermöglichte.

Enigma mit drei Walzen
Detail einer Enigma-Maschine mit drei Rotoren

Übrigens wurden teilweise von den Allierten sogar gezielt Maßnahmen durchgeführt, um bestimmte Funksprüche auszulösen, die dann einen bekannten Klartext beinhalteten, der dann für Angriffe wie die oben beschriebenen ausgenutzt wurde. So wird berichtet, dass gezielt Leuchtbojen bombardiert wurden, um Funksprüche wie „Leuchttonne ist erloschen“ zu provozieren. [1] [2] Ein solches Vorgehen führt zu einem in der Kryptologie auch als chosen plaintext attack bezeichneten Angriff; also ein Angriff basierend auf durch den Angreifer ausgesuchten Klartext.

Doch was können wir aus diesen Betrachtungen über Rotormaschinen wie die Enigma für heute ableiten? Folgende Punkte haben nach wie vor Gültigkeit:

  • Viele Verschlüsselsalgorithmen basieren darauf, aus einem relativ kurzen Schlüssel eine lange Folge von Pseudo-Zufallszahlen zu erzeugen.
  • Nicht jede vermeintliche Verbesserung führt tatsächlich zu einer Erhöhung der Sicherheit, sondern manchmal sogar zu einer Verschlechterung.
  • Ein Verschlüsselungsalgorithmus ist schlecht, wenn es Angriffe gibt, die bedeutend effektiver sind als ein banales Ausprobieren aller möglichen Schlüssel. Gute Verschlüsselungsverfahren müssen gegen viele Arten von Angriffen resistent sein, darunter auch chosen plaintext attacks.

Wegen des zweiten Punktes gelten aktuelle Verschlüsselungsalgorithmen nur dann als sicher, wenn sie offengelegt sind und jahrelang von Wissenschaftlern auf mögliche Schwachstellen untersucht wurden.

In den kommenden Folgen werden wir uns neueren Verschlüsselungsverfahren der Gegenwart widmen.

Quellen und weiterführende Literatur:

[1] Reinhard Wobst: „Abenteuer Kryptologie“

[2] Friedrich L. Bauer: „Kryptologie : Methoden und Maximen“

 

Kryptographie, Teil 3: Vigenère und One-Time-Pad

In der vorherigen Folge haben wir uns zunächst mit Chiffren beschäftigt, bei denen die Buchstaben der Klartext-Nachricht nicht geändert, sondern lediglich anders angeordnet wurden: den Transpositionschiffren. Außerdem ging es um klassische Geheimschriften, bei denen die Buchstaben des Klartextes durch andere Zeichen ersetzt wurden: Substitutionschiffren.

Bei der Substitution, die bisher betrachtet wurde, handelt es sich um eine eingeschränkte Form: Jedes bestimmte Zeichen des Klartexts wird im Geheimtext stets durch das selbe Geheim-Zeichen ersetzt. Aus „A“ wird immer „C“, aus „B“ wird immer „D“ und so weiter. Man spricht daher von einer monoalphabetischen Substitution. Wie bereits besprochen, lässt sich eine solche Chiffre leicht durch eine statistische Analyse aushebeln.

Verschlüsselung
Ein verschlüsselter Rechner

Eine Verbesserung lässt sich nun dadurch erreichen, dass ein Klar-Zeichen nicht immer durch das gleiche, sondern durch verschiedene Geheim-Zeichen ersetzt wird. Man spricht dann von einer polyalphabetischen Substitution. Die einfachste Variante ist, häufig vorkommenden Buchstaben wie dem „E“ oder anderen Vokalen mehr als nur ein Geheimzeichen zuzuordnen und nach dem Zufallsprinzip mal das eine und mal das andere zu verwenden. Ziel ist es, eine all zu einfache statistische Analyse auszuhebeln. Dieses Verfahren wird homophone Chiffre genannt. Aber auch mit diesem Verfahren gibt es immer noch genügend Möglichkeiten, allein durch eine statistische Analyse des Geheimtextes den Klartext wiederherzustellen. Es gibt schließlich nicht nur eine Statistik über die Häufigkeit einzelner Buchstaben, man kann auch Buchstabenpaare, Besonderheiten am Wortanfang oder -ende und häufig vorkommende Worte oder Phrasen zur Analyse heranziehen.

Ein Weg, der etwas mehr bringt, ist in Abhängigkeit von der Position eines Klartextzeichens jeweils ein anderes Geheimtextzeichen zu verwenden. Beim Vigenère-Verfahren, benannt nach Blaise de Vigenère (1523–1596), wird in Abhängigkeit eines Passworts für jeden Buchstaben des Klartexts eine andere Caesar-Chiffre verwendet. Ist der Klartext länger als das Passwort, wird das Passwort wiederholt. Am deutlichsten wird das anhand eines Beispiels:

Klartext:   UND DAS WAR ES WORUEBER SIE SPRACHEN
Passwort:   HANSHANSHANSHANSHANSHANSHANSHANSHANS
Geheimtext: COR LBW EBF MT PWSIXJFF AJS AQPTKISG

Zu jedem Klartext-Buchstaben wird beim Verschlüsseln sozusagen ein Buchstabe des Passworts addiert, zum Entschlüsseln geht man umgekehrt vor.

Besonders sicher ist dieser Algorithmus aber immer noch nicht. Der Geheimtext lässt sich nämlich immer noch statistisch analysieren. Ist erst einmal die Länge des Passworts bekannt, ist das sogar sehr leicht, denn dann folgen alle Zeichen, die mit dem selben Passwort-Buchstaben verschlüsselt wurden (im Beispiel also jeder vierte Buchstabe), wieder der selben charakteristischen Häufigkeitsverteilung. Die Länge des Passworts lässt sich durch andere statistische Verfahren, die hier aber nicht erklärt werden sollen (wer möchte, kann nachschlagen, zum Beispiel in dem bereits in der letzten Folge erwähnten Buch von Beutelspacher), oder ganz simpel durch Ausprobieren herausbekommen.

Ein anderer Angriff ist jedoch viel gefährlicher und führt einen Bösewicht, der eine verschlüsselte Nachricht abfangen will, auf einem viel schnelleren Weg zum Ziel. In der Praxis ist es nämlich oft so, dass einem Angreifer Teile des Klartextes schon bekannt sind. Vielleicht ist es der Name eines Ortes oder einer Person oder sonst irgendein Wort, das im Text vorkommt. Hält man sich noch einmal vor Augen, wie beim Vigenère-Verfahren der Geheimtext aus Klartext und Passwort berechnet wird, so wird klar, dass sich umgekehrt aus Geheim- und Klartext auch das Passwort trivial durch Subtraktion berechnen lässt. Im folgenden Beispiel sind die dem Angreifer bisher unbekannten Zeichen des Klartexts noch Fragezeichen, ein Wort und der dazugehörige Geheimtext sind ihm aber bekannt. Das Passwort kann dann an der fraglichen Stelle leicht zurückberechnet werden:

Klartext:   ??? ??? ??? ?? WORUEBER ??? ????????
Passwort:                  SHANSHAN 
Geheimtext: COR LBW EBF MT PWSIXJFF AJS AQPTKISG

Da das Passwort üblicherweise kürzer als der Klartext ist, kann man schon an der entscheidenen Stelle erkennen, dass es sich hier wiederholt. Ist dem Angreifer das Passwort erst einmal bekannt, kann er natürlich jetzt auch den Rest des Geheimtextes entziffern.

Diese Art des Angriffs, bei der dem Angreifer ein Teil des Klartexts bekannt ist, nennt man known plaintext attack. Im Gegensatz dazu heißt ein Angriff, bei dem nur der Geheimtext abgefangen wurde, known ciphertext attack oder auch ciphertext only attack. Bis hier können wir also zusammenfassen, dass sich die einfache monoalphabetische Codierung bereits mit einem known ciphertext-Angriff auf Basis von Statistik sehr leicht brechen lässt. Auch die Vigenère-Chiffre ist anfällig für einen solchen statistischen Angriff, wenn er auch etwas schwieriger durchzuführen ist. Bei einem known plaintext-Angriff dagegen bricht die Sicherheit beider Verfahren direkt zusammen.

Würde man eine Vigenère-Chiffre heutzutage einsetzen und dabei ganze Dateien verschlüsseln, haben wir übrigens geradezu trivialerweise eine known plaintext-Situation vorliegen: Dateien vieler bekannter Dateiformate starten mit sogenannten magic numbers oder sonstigen Zeichenfolgen, die die Art der Datei oder die Versionsnummer des Formats oder ähnliches beschreiben. Ist das Dateiformat der zu entschlüsselnden Datei bekannt, ist also sofort auch ein Teil des Klartextes bekannt und das Vigenère-Verfahren somit völlig wertlos.

Doch warum sind die bisher besprochenen Angriffe bei der Vigenère-Chiffre so gefährlich? Wie bereits erwähnt, besteht die Gefahr darin, dass das Passwort, also der Schlüssel, im Vergleich zum Klartext recht kurz ist und sich daher wiederholen muss. Nur durch die Wiederholung konnten die statistische Analyse und auch der oben gezeigte known plaintext-Angriff überhaupt erst erfolgreich sein: Ist der Schlüssel an einer Stelle berechnet, kann er an allen anderen Stellen eingesetzt werden.

Blaise de Vigenère
Blaise de Vigenère

Doch was wäre, wenn sich das Schlüsselwort nicht wiederholt, wenn also der Schlüssel genau so lang wie der Klartext ist?

In diesem Fall hätten wir durch unsere obigen Angriffe rein gar nichts gewonnen! Eine statistische Analyse wäre nicht möglich, da die einzelnen Zeichen im Geheimtext keiner Häufigkeitsverteilung mehr folgen und eine Zurückberechnung des Schlüsselworts an einer Stelle wie beim known plaintext-Angriff würde zu nichts führen, eben weil sich der Schlüssel ja nirgends wiederholt!

Auf diese Art wird aus dem unsicheren Vigenère-Algorithmus das einzige Verschlüsselungsverfahren, das wirklich unknackbar ist, was man sogar mathematisch beweisen kann: Das One-Time-Pad!

Damit die Sicherheit des One-Time-Pads gewährleistet ist, müssen aber einige Bedinungen erfüllt sein: Zunächst einmal muss der Schlüssel mindestens genau so lang wie der Klartext sein, damit an keiner Stelle eine Wiederholung auftritt. Der Schlüssel selbst sollte außerdem kein Wort oder natürlicher Text sein. Der Grund ist simpel: Die Buchstaben eines Textes folgen ja wie schon bereits besprochen einer statistischen Verteilung und die kann man für einen Angriff ausnutzen.

Der Schlüssel muss also zufällig erzeugt werden. Das ist gar nicht so leicht, wie es sich auf den ersten Blick anhört. Denn wie erzeugt man eine so große Menge an Zufallswerten? Wer etwas programmieren kann, könnte vielleicht auf die Idee kommen, den Zufallsgenerator des Computers in der favorisierten Programmiersprache zu benutzen. Aber Vorsicht: Die Zahlen, die dieser ausspuckt, sind alles andere als zufällig. Sie wiederholen sich irgendwann und folgen einem – wenn auch auf den ersten Blick schwer zu durchschauenden – Muster, sind also für ein Verschlüsselungsverfahren nicht geeignet. Der einzige Weg, echte Zufallszahlen zu erzeugen, ist, sich physikalische Effekte zu nutze zu machen. Man könnte zum Beispiel das Rauschen eines Wasserfalls aufnehmen.

Und der entscheidende Punkt ist: Der Schlüssel des One-Time-Pads darf nur ein einziges Mal verwendet werden! Daher kommt schließlich auch das „One Time“ im Namen des Algorithmus. Das Verfahren hat einen Einmalschlüssel.

Hat man endlich einen Schlüssel, der den Anforderungen entspricht, muss man diesen zu guter letzt noch vor der eigentlichen Kommunikation dem Gesprächspartner zukommen lassen. Das muss über einen sicheren Kanal geschehen, es muss absolut ausgeschlossen sein, dass ein Angreifer eine Kopie des Schlüssels anfertigen kann. Es führt also kein Weg daran vorbei, den Schlüssel vor Ort und persönlich zu übergeben.

Diese vier Anforderungen, die erfüllt sein müssen, um die Sicherheit zu gewährleisten, zeigen eines: Nachweisbar unknackbare Verschlüsselung ist zwar in der Theorie nicht kompliziert, aber in der Durchführung ausgesprochen unhandlich. Und das ist auch der Grund, warum die One-Time-Pad-Verschlüsselung im Internet so gut wie keine Rolle spielt: Sie ist in der Praxis kaum durchführbar. Es gibt allerdings Ausnahmen, nämlich im militärischen Hochsicherheitsbereich. So war zum Beispiel das „rote Telefon“ zwischen den USA und den UdSSR zu Zeiten des kalten Krieges mit einem One-Time-Pad gesichert.

Das grüne Telefon
Das rote Telefon (Abbildung ähnlich)

Trotz der bekannten Unsicherheiten des Vigenère-Verfahrens wurden übrigens Abwandlungen davon noch sehr lange eingesetzt, zum Beispiel Ende der 1990er-Jahre im populären Textverarbeitungsprogramm WordPerfect. Und wahrscheinlich gibt es auch heute noch die ein oder andere von Ahnungslosen geschriebene Software, die diese „Verschlüsselung“ nutzt. Natürlich gibt es heutzutage besseres, aber dazu kommen wir in einer der nächsten Folgen.

Die wichtigsten Punkte der heutigen Folge noch einmal zusammengefasst:

  • Es gibt sogenannte polyalphabetische Verschlüsselungen, zu denen das Vigenère-Verfahren gehört.
  • In der Praxis spielen known plaintext-Angriffe eine große Rolle.
  • Die Vigenère-Chiffre ist äußerst unsicher gegen known plaintext-Angriffe.
  • Das One-Time-Pad oder Einmalschlüssel-Verfahren ist das einzige beweisbar sichere Verfahren, aber in der Praxis nur schwer durchzuführen.

In den nächsten Folgen werden wir uns immer weiter in Richtung Gegenwart bewegen und dabei auch das interessante Thema der Verschlüsselung zu Zeiten des zweiten Weltkriegs betrachten.

 

Kryptographie, Teil 2: Griechisch-Römisch

Was bedeutet eigentlich Kryptographie? Das Wort kommt aus dem griechischen und bedeutet „geheim schreiben“. Geheimschriften im Schein der Lampe sind also angesagt. Schon die alten Griechen haben sich damit beschäftigt, wie man Nachrichten so verschlüsseln kann, dass ein Feind, dem diese Nachricht in die Hände fällt, nichts damit anfangen kann. Bei den alten Griechen soll auch dieser Artikel anfangen, denn tatsächlich sind einige Grundbegriffe und Prinzipien immer noch die selben, auch wenn sich selbstverständlich die Methoden bedeutend verändert haben.

Doch nun zu dem, was die alten Griechen seinerzeit getan haben, um geheim zu schreiben. Diese benutzten das älteste bekannte Verschlüsselungsinstrument: Die sogenannte „Skytale„. Eine Skytale ist letztlich nichts anderes als ein Stab, allerdings mit einem genau definierten Durchmesser. Auf diesen Stab wurde nun spiralförmig ein Pergamentstreifen aufgezogen. Auf den Streifen auf der Rolle wurde nun von links nach rechts der zu verschlüsselnde Text geschrieben, so dass auf jeder Streifenbahn jeweils ein Buchstabe des zu verschlüsselnden Textes stand. Die Abbildung illustriert eine solche Skytale, auf deren Pergament „Dieser Text …“ geschrieben wurde.

Skytale
Eine Skytale

Nimmt man nun den Streifen wieder von der Skytale ab, kann man den Text nicht mehr lesen, sondern sieht nur eine auf den ersten Blick unsinnige Buchstabenfolge, die von oben nach unten verläuft. Nur wenn der Streifen wieder auf eine Skytale mit genau dem selben Durchmesser aufgezogen wird, kann man die Nachricht wieder von links nach rechts ablesen. Schon kleinere Abweichungen führen dazu, dass zusammengehörige Buchstaben auf der Rolle nicht mehr nebeneinander stehen. Ein Versuch unter Verwendung neuzeitlicher Klopapierrollen als Skytale verdeutlicht das Prinzip: Rollen verschiedener Marken haben einen unterschiedlichen Durchmesser, mit Hakle kann man keinen Charmin-Code entschlüsseln und mit Zewa schon gar nicht. Der Durchmesser ist der Schlüssel!

Eine moderne Skytale
Eine Klopapierrolle neuzeitliche Skytale

Und damit haben wir auch schon gleich einen der Grundbegriffe genannt, nämlich eben diesen Schlüssel. Nur mit Kenntnis des Schlüssels können wir verschlüsseln und nur mit Kenntnis des Schlüssels können wir einen verschlüsselten Text, den Geheimtext also, entschlüsseln und wieder zurück in Klartext umwandeln.

Kryptosystem
Ein allgemeines Kryptosystem mit Klartext, Schlüssel und Geheimtext

Was genau hat man also jetzt mit der Verschlüsselung gewonnen? Die Skytale versetzte die alten Griechen in die Lage, Nachrichten über unsichere Kanäle auszutauschen. Fällt die übermittelte Nachricht dem Feind in die Hände, so kann dieser nichts damit anfangen, da er den Schlüssel nicht kennt. Anders als der Name vielleicht nahelegt braucht der Geheimtext, auch Kryptogramm genannt, nämlich gerade nicht geheim gehalten zu werden! Ebenso wenig geheim sollte das verwendete Verschlüsselungsverfahren sein. Man sollte als jemand, der Nachrichten verschlüsselt verschicken will, stets davon ausgehen, dass einem Angreifer das verwendete Verfahren bekannt ist oder dass es zumindest irgendwann bekannt wird. Fanden die Feinde der alten Griechen bei einem abgefangenen Reiter einen Pergamentstreifen, so konnten sie wohl wissen, dass es sich um einen mit einer Skytale verschlüsselten Geheimtext handelte. Ohne Kenntnis des Schlüssels nutzte ihnen das dennoch nichts. Dieser Grundsatz hat sich bis heute gehalten: Es gibt keine „security through obscurity“! Ein vernünftiges Kryptosystem darf seine Sicherheit nicht darauf aufbauen, dass das genaue Verfahren unbekannt ist.

Doch gehen wir erst mal wieder zurück in die Antike und schauen uns an, was wir da eigentlich gerade mit unserem Klartext gemacht haben und was es noch so gibt. So geheim haben wir doch eigentlich gar nicht geschrieben: Die Buchstaben im Geheimtext sind immer noch die selben, sie sind nur durch das Abrollen von der Skytale auf eine andere Position gerutscht. Man spricht also bei solchen Verfahren wie der Skytale von einer Transpositionschiffre: Die Buchstaben bleiben was sie sind, sie bleiben nur nicht, wo sie sind. Viel einfacher als mit einer Skytale kann man übrigens eine Transpositionschiffre auch aufbauen, indem man einen Klartext auf einem Blatt Papier einfach mal von oben nach unten aufschreibt und dann von links nach rechts überträgt. Genau das haben wir hier gemacht. Der Schlüssel ist dabei die Anzahl der Zeilen. Alles klar?

Adsrepdesaek
lisq,eir d n
seeu re FeSa
 Se kt iastd
stürleRhh re
irbtanärrwil
eaetp dericn

Aber nicht nur die Griechen, auch die Römer haben natürlich fleißig verschlüsselt. Und einem der bekanntesten Römer wird eins der bekanntesten und simpelsten Verschlüsselungsverfahren zugeschrieben.

Gaius Iulius Caesar
Büste von Gaius Iulius Caesar, Altes Museum Berlin

Beim Caesar-Code handelt es sich um eine Substitutionschiffre: Jeder Buchstabe wird durch einen anderen ersetzt! Beim original Caesar-Code wird einfach das Alphabet um drei Buchstaben verschoben: Aus A wird C, aus B wird D, aus C wird E und so weiter. Der schöne Satz von oben mit den Stricknadeln würde dann mit dieser Ersetzungstabelle verschlüsselt werden:

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
C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

Das Ergebnis lautet dann:

Cnu ukg fkg Uvtcuug wgdgtswgtvgp, mncrrgtgp
fkg Tcgfgt kjtgu Hcjttcfgt ykg Uvtkempcfgnp.

Natürlich ist man nicht gezwungen, diese Ersetzung genau so vorzunehmen, ist es ist auch möglich, die Buchstaben irgendwie anders zu tauschen oder gleich ganz andere Zeichen zu verwenden. Dann haben wir eine ganz klassische Geheimschrift. Der Schlüssel dieses Kryptosystems ist die jeweilige Ersetzungsvorschrift.

Geheimschrift
Eine Geheimschrift

Wirklich sicher ist das ganze aber nicht. Wenn man weiß, dass der meist verwendete Buchstabe das „E“ ist, kommt man schon recht schnell darauf, welchem Zeichen das wohl entsprechen muss. Überhaupt folgt jede Sprache einer ganz charakteristischen Buchstabenverteilung. Auch Buchstabenpaare wie „en“ am Wortende oder dergleichen kommen häufig vor und können zur Entschlüsselung ausgenutzt werden.

Bevor wir uns in der nächsten Folge etwas moderneren Verfahren zuwenden, seien hier noch einmal die wichtigsten Grundsätze zusammengefasst, die sich seit der Antike nicht geändert haben:

  • Ein Kryptosystem besteht aus dem Klartext, dem Geheimtext, dem Schlüssel und dem Verschlüsselungsverfahren.
  • Nur der Klartext und der Schlüssel sind geheim, das verwendete Verfahren nicht (keine „security through obscurity“).

Wer sich bis zur nächsten Folge weiterbilden will, dem sei das Buch „Kryptologie: eine Einführung in die Wissenschaft vom Verschlüsseln, Verbergen und Verheimlichen; ohne alle Geheimniskrämerei, aber nicht ohne hinterlistigen Schalk, dargestellt zum Nutzen und Ergötzen des allgemeinen Publikums“ von Albrecht Beutelspacher ans Herz gelegt.

Kryptographie, Teil 1

Verschlüsselte Kommunikation spielt heute eine große Rolle. Im Internet benutzen wir sie allerorten, oft ohne dass wir uns überhaupt Gedanken darüber machen und manchmal auch ohne dass wir uns dessen überhaupt bewusst sind. Im Homebanking-Bereich wird noch am ehesten für Jedermann sichtbar, wie wichtig verschlüsselte Kommunikation ist, denn niemand möchte seine Bankzugangsdaten der Gefahr des Missbrauchs aussetzen. Aber auch sonst sollten wir uns überlegen, ob es eine gute Idee ist, Passwörter über eine unsichere Verbindung zu übermitteln. Nicht zuletzt im aktuellen Kontext der Ausspähaffären ist gelegentlich von Verschlüsselung als einem Werkzeug des Schutzes gegen Abhören und Mitlesen die Rede. Dennoch beschäftigen sich nur sehr wenige Internetnutzer mit der Verschlüsselung von privater Kommunikation und noch sehr viel weniger haben ein Verständnis davon, was dabei eigentlich vor sich geht. Mit der kommenden Serie von Artikeln soll versucht werden, das zu ändern! Dabei sollen folgende Fragen beantwortet werden:

  • Was ist überhaupt Kryptographie?
  • Wie kann man die verschiedenen Verfahren grob einteilen und
    welche Bedeutung hat dies für die heutige Praxis?
  • Wie kann man sichere von unsicheren Verfahren
    auseinanderhalten und wo bestehen Angriffsmöglichkeiten?
  • Welche Verfahren und welche Software kann man konkret zum Schutz
    der Privatsphäre einsetzen?

Geraffel2w

Damit dabei der Spaß nicht zu kurz kommt, wird es auch ein kleines Rätsel und ein wenig historisches Hintergrundwissen geben. Mit letzterem soll es heute los gehen, ganz nebenbei werden dabei auch noch ein paar Grundbegriffe erklärt. Diese Artikelreihe basiert zum Teil auf einer Vorlesung, die ich im Rahmen der Erstsemesterveranstaltung „Einführung in die Wirtschaftsinformatik“ zuletzt im Wintersemester 2012/2013 gehalten habe sowie auf einer Seminararbeit, die ich 1998 verfasst habe, als mein Platz im Hörsaal noch auf der anderen Seite war.