Der Data Encryption Standard (DES)

Das erste moderne Verfahren, das hier in seinen Grundzügen vorgestellt wird, ist der Data Encryption Standard.

Mit Aufkommen der Computer und des Internet wurde die Notwendigkeit von Verschlüsselung immer dringlicher und es sollte ein Standard geschaffen werden. Am National Institute of Standards and Technologie (NIST) gab es deshalb eine Ausschreibung für einen Verschlüsselungs-Algorithmus, der Standard für die Verschlüsselung werden sollte.

Die Ausschreibung gewann der Algorithmus, den wir heute "Data Encryption Standard" (DES) nennen.

Funktionsweise von DES

Das Verfahren benutzt die zwei Grundprinzipien Substitution und Transposition, die wir bei den klassischen Verfahren kennengelernt haben. Diese werden in Kombination in 16 Runden angewandt. Für die Substitution dient in jeder Runde ein sogenannter Rundenschlüssel.

Warum so kompliziert mit 16 Runden?

Konfusion

Eine Hauptforderung an moderne Verschlüsselung ist die Konfusion. Dies bedeutet zwei ähnliche Klartexte sollen im Geheimtext nicht ähnlich sein. Hat man ein Verfahren, das diese Bedingung erfüllt, sind damit statistische Analysen wertlos. Wir hatten gesehen, dass statistische Analysen der Angriffspunkt der klassischen Substitutionsverfahren waren!

Deshalb wird Konfusion gefordert, was, wie wir in den Übungen sehen werden, durch die vielen Runden erreicht wird.

Diffusion

Die andere Hauptforderung an ein modernes Verschlüsselungsverfahren ist die Diffusion. Hiermit wird gefordert, dass jedes Zeichen im Klartext eine Auswirkung auf viele Zeichen im Geheimtext hat.

Diese Forderung ist u.a. eine Lehre aus der Enigma. Diese wurde auf diesen Seiten nicht erklärt, aber man kann an vielen Stellen im Netz nachlesen, dass beim Knacken der Enigma eine große Hilfe war, dass es stereotype Meldungen wie verschlüsselte Wetterberichte gab. Dadurch kannte man einige Zeichen des Klartextes - man wusste, das Wort "Wetter" kommt im Klartext vor. Dies hat beim Entschlüsseln geholfen.

Ist die Forderung der Diffusion jedoch erfüllt, sind solch stereotype Texte, bei denen Teile des Klartextes bekannt sind, kein solches Sicherheitsrisiko.

Die 16 Runden sind also nötig, um die beiden Forderungen nach Konfusion und Diffusion zu erfüllen. Bildlich gesprochen können wir uns das Verfahren wie eine Getreidemühle vorstellen: In jeder Runde wird das Korn (der Klartext) immer feiner gemahlen, immer mehr vermischt. Am Schluss weiß keiner mehr, welches winzige Mehlteilchen aus welchem Korn stammt.

Das Entschlüsseln

Man kann es sich kaum vorstellen, so wie der Klartext hier in 16 Runden "gemahlen, gemischt, gemahlen, wieder gemischt usw." wird, dass man aus diesem Kauderwelsch je wieder den Klartext bekommt. Aber es ist tatsächlich so, dass das gleiche Verfahren auf den Geheimtext angewandt, die Rundenschlüssel in umgekehrter Reihenfolge, wieder den Klartext ergibt.

Und ist das jetzt sicher?

DES ist leider so gebaut, dass es eine feste Schlüssellänge von 56 Bit gibt. Der Algorithmus ist also nicht skalierbar, d.h. der Anwender kann nicht entscheiden, welches Maß an Sicherheit er wünscht.

DES wurde 1977 standardisiert und galt lange Zeit als sicher. Die Leistungsfähigkeit von Computern hat sich jedoch immer weiter entwickelt, sodass Brute-Force-Angriffe, die 1977 aussichtslos waren, bereits 1994 erfolgreich waren.

Aufgabe 1
Klicke in Cryptool einen Workspace zusammen aus einem Texteingabefeld, in das du den Klartext schreibst, einer Texteingabe für den Schlüssel (8 Byte = 64 Bit, also 8 ASCII-Zeichen), einem DES-Tool und einer Textausgabe für den Geheimtext. Experimentiere mit einem Klartext, den du nur geringfügig abänderst, nur in einem Zeichen. Wie viele Bytes ändern sich im Geheimtext?
Aufgabe 2
DES ist eine Blockchiffre mit 64 Bit. Was heißt das und wie lassen sich damit deine Beobachtungen aus Aufgabe 1 erklären?
Aufgabe 3
Schickt euch gegenseitig verschlüsselte Nachrichten zu und entschlüsselt diese. Spielt das ganze Szenario wirklich so, dass kein Dritter in Kenntnis des Schlüssels gelangen darf!
Aufgabe 4
Die Erkenntnisse aus Aufgabe 1 und 2 bedeuten im Grunde, dass DES monoalphabetisch (!!) ist, d.h. kommen zwei gleiche Blöcke von 8 Byte vor, werden diese auf die gleiche Weise verschlüsselt. Erläutere, warum dennoch eine Häufigkeitsanalyse ausgeschlossen ist. Hierzu musst du dich fragen, wie viele verschiedene 8-Byte-Blöcke es geben kann und wie viele Blöcke wohl mit dem gleichen Schlüssel verschlüsselt werden. Nehmen wir mal an, jemand verschlüsselt 1GByte mit dem gleichen Schlüssel.

Es geht weiter mit dem Advanced Encryption Standard.