Der Data Encryption Standard (DES) ist eine symmetrische-Schlüssel-Blockchiffre, die vom National Institute of Standards and Technology (NIST) veröffentlicht wurde.
DES ist eine Implementierung einer Feistel-Chiffre. Sie verwendet eine 16-Runden-Feistel-Struktur. Die Blockgröße beträgt 64 Bit. Obwohl die Schlüssellänge 64 Bit beträgt, hat DES eine effektive Schlüssellänge von 56 Bit, da 8 der 64 Bit des Schlüssels nicht vom Verschlüsselungsalgorithmus verwendet werden (sie dienen nur als Prüfbits). Die allgemeine Struktur von DES ist in der folgenden Abbildung dargestellt –
Da DES auf der Feistel-Chiffre basiert, ist alles, was benötigt wird, um DES zu spezifizieren –
- Rundungsfunktion
- Schlüsselplan
- Zusätzliche Verarbeitung – Anfängliche und abschließende Permutation
Anfängliche und abschließende Permutation
Die anfänglichen und abschließenden Permutationen sind gerade Permutationsboxen (P-Boxen), die invers zueinander sind. Sie haben bei DES keine kryptografische Bedeutung. Die Anfangs- und Endpermutationen sind wie folgt dargestellt –
Rundfunktion
Das Herzstück dieser Chiffre ist die DES-Funktion f. Die DES-Funktion wendet einen 48-Bit-Schlüssel auf die äußersten rechten 32 Bits an, um eine 32-Bit-Ausgabe zu erzeugen.
-
Erweiterungs-Permutationsfeld – Da die rechte Eingabe 32-Bit und der Rundungsschlüssel 48-Bit ist, müssen wir zunächst die rechte Eingabe auf 48 Bits erweitern. Die Permutationslogik wird in der folgenden Abbildung grafisch dargestellt –
-
Die grafisch dargestellte Permutationslogik wird allgemein als Tabelle in der DES-Spezifikation wie abgebildet beschrieben –
-
XOR (Whitener). – Nach der Expansionspermutation führt DES eine XOR-Verknüpfung zwischen dem expandierten rechten Teil und dem Rundschlüssel durch. Der runde Schlüssel wird nur bei dieser Operation verwendet.
-
Substitutionsboxen. – Die S-Boxen führen die eigentliche Vermischung (Konfusion) durch. DES verwendet 8 S-Boxen, jede mit einem 6-Bit-Eingang und einem 4-Bit-Ausgang. Siehe folgende Abbildung –
-
Die S-Box-Regel ist unten dargestellt –
-
Es gibt insgesamt acht S-Box-Tabellen. Die Ausgabe aller acht S-Boxen wird dann zu einem 32-Bit-Teil zusammengefasst.
-
Gerade Permutation – Die 32-Bit-Ausgabe der S-Boxen wird dann der geraden Permutation mit der in der folgenden Abbildung gezeigten Regel unterzogen:
Schlüsselgenerierung
Der Rundschlüsselgenerator erzeugt aus einem 56-Bit-Chiffrierschlüssel sechzehn 48-Bit-Schlüssel. Der Prozess der Schlüsselerzeugung ist in der folgenden Abbildung dargestellt –
Die Logik für Paritätsabfall, Verschiebung und Komprimierung ist in der DES-Beschreibung angegeben.
DES-Analyse
Der DES erfüllt die beiden gewünschten Eigenschaften einer Blockchiffre. Diese beiden Eigenschaften machen die Chiffre sehr stark.
-
Lawineneffekt – Eine kleine Änderung im Klartext führt zu einer sehr großen Änderung im Chiffretext.
-
Vollständigkeit – Jedes Bit des Chiffretextes hängt von vielen Bits des Klartextes ab.
In den letzten Jahren hat die Kryptoanalyse einige Schwachstellen im DES gefunden, wenn schwache Schlüssel gewählt werden. Diese Schlüssel sollen vermieden werden.
DES hat sich als eine sehr gut konzipierte Blockchiffre erwiesen. Es gab keine nennenswerten kryptoanalytischen Angriffe auf DES, außer der erschöpfenden Schlüsselsuche.