Data Encryption Standard
Der Data Encryption Standard (kurz: DES) ist ein weit verbreiteter symmetrischer Verschlüsselungsalgorithmus. Seine Entstehungsgeschichte hat immer wieder großen Anlass zu Spekulationen gegeben und sei hier kurz wiedergegeben.
Das National Bureau of Standards (NBS) der USA, heute National Institute of Standards and Technology (NIST), gab 1973 in einer öffentlichen Ausschreibung den Anstoß zur Entwicklung eines einheitlichen und standardisierten kryptografischen Algorithmus'.
Von IBM wurde ein vielversprechender Vorschlag geliefert, der auf dem wenige Jahre zuvor entwickelten Algorithmus namens Lucifer beruhte.
NBS und IBM beschlossen eine Kooperation mit Unterstützung der NSA (National Security Agency), unter deren Einfluss - die NSA dient den Sicherheitsinteressen der US-Regierung! - der Algorithmus modifiziert wurde. Unter anderem, und das ist die gravierendste Änderung, wurde die Schlüssellänge von 128 Bits auf 56 Bits gesenkt. Ferner beeinflusste die NSA das Design der so genannten S-Boxen.
Heute gilt der DES aufgrund seiner geringen Schlüssellänge als nicht mehr sicher genug. Dennoch ist und bleibt er ein wichtiges Vorbild für andere Algorithmen.
Die undurchschaubare Rolle der NSA gab viel Anlass zu Argwohn und Spekulationen, insbesondere darüber, ob die NSA eine Hintertür in den Algorithmus eingebaut haben könnte mit dem Ziel, mittels ihres überlegenen Kenntnisstandes in der Kryptografie chiffrierte Nachrichten relativ einfach entschlüsseln zu können.
Von dem Vorwurf, auf unzulässige Art und Weise auf die Entwicklung des Algorithmus Einfluss genommen zu haben, wurde die NSA erst einige Jahre später durch ein nachrichtendienstliches Komitee des US-Senats freigesprochen.
Wissenschaftliche Untersuchungen haben mittlerweise erwiesen, dass des DES trotz seiner Schlüssellänge von nur 56 Bits sicherer ist als der Lucifer-Algorithmus mit seinen 128 Bits.
Der Data Encryption Standard wurde als Standard für alle amerikanischen Bundesbehörden am 15. Januar 1977 publiziert; verpflichtend für sie wurde er 6 Monate später. Weiterhin befasste sich die Standardisierungsorganisation ISO (International Organization for Standardization) mit dem Algorithmus unter der Bezeichnung Sata Encipherment No.1 (DEA1).
1981 wurde der DES-Algorithmus vom ANSI (American National Standards Institute) als Standard für den privaten Sektor anerkannt.
Bereits Anfang der 90er Jahre äußerten Kryptografen erste Zweifel, ob der DES-Algorithmus noch als sicher anzusehen sei. Zum einen hatte sich die Hardware im Vergleich zu 1970 stark weiter entwickelt, zum anderen glaubte man auch Schwächen im Algorithmus zu erkennen. Mitte 1998 trat dann die Electronic Frontier Foundation (EFF) den endgültigen Beweis an, dass DES nicht mehr zu trauen ist. Die Gesellschaft baute eine spezielle Hardware und konnte dort einen Schlüssel in weniger als drei Tagen brechen. Die Arbeiten am Nachfolgestandard AES hatten zu diesem Zeitpunkt schon begonnen.
Bei DES handelt es sich um einen symmetrischen Algorithmus, d.h. zur Ver- und Entschlüsselung wird derselbe Schlüssel verwendet. DES funktioniert als Blockchiffre, d.h. jeder Block wird unter Verwendung des Schlüssels einzeln chiffriert, wobei die Daten in 16 Iterationen bzw. Runden von Substitutionen und Transpositionen (Permutation) nach dem Schema von Feistel "verwürfelt" werden. Die Blockgröße beträgt 64 Bits, d.h. ein 64-Bit-Block Klartext wird in einen 64-Bit-Block Chiffretext transformiert. Auch der Schlüssel, der diese Transformation kontrolliert, besitzt 64 Bits. Jedoch stehen dem Benutzer von diesen 64 Bits nur 56 Bits zur Verfügung; die übrigen 8 Bits (jeweils ein Bit aus jedem Byte) werden zum Paritäts-Check benötigt. Die wirkliche Schlüssellänge beträgt daher 56 Bits. Schlüssel, die man als schwache Schlüssel bezeichnet, sollten vermieden werden!
Für den DES Algorithmus wurden 4 Betriebsmodi entworfen. Prinzipiell lassen sich diese Modi auf jedes Blockchiffre anwenden.
ECB - Electronic Code Book. Die 64-bit Klartextblöcke werden nacheinander und getrennt voneinander verschlüsselt. Dies ist die einfachste Anwendungsmöglichkeit eines Blockchiffre.
CBC - Cipher Block Chaining Mode. Vor der Verschlüsselung eines Klartextblockes wird der bereits verschlüsselte vorhergehende Block hinzuaddiert. Auf den ersten Klartextblock, der ja keinen Vorgänger besitzt, wird statt dessen ein Initialisierungsvektor addiert. Dadurch entsteht eine Verkettung (engl. chain) der Blöcke. Der Vorteil dieses Verfahrens ist, dass bei einer Beschädigung oder absichtlichen Manipulation eines Blockes der Empfänger dieses höchstwahrscheinlich bemerkt, da alle nachfolgenden Blöcke ebenfalls beschädigt sind.
OFB - Output Feedback Mode. In diesem Modus werden die Klartextblöcke nicht direkt mit DES verschlüsselt, sondern DES erzeugt einen pseudozufälligen Bitstrom, der dann auf den Klartext addiert wird. Dazu muss DES mit einem kontinuierlichen Eingabestrom gefüttert werden. Als Eingabe von DES dient hier ein Schieberegister, dass zunächst mit einem Initialisierungsvektor geladen wird. Anschließend wird immer ein Teil der Ausgabe von DES in dieses Register hineingeschoben und so als Eingabe wiederverwendet (daher output feedback).
CFB - Cipher Feedback Mode. Identisch mit OFB, aber statt die Ausgabe des DES wieder als Eingabe zu verwenden, wird der Kryptotextstrom als Eingabe wiederverwendet.
Weil die Schlüssellänge nur 56 bit beträgt, konnte DES bereits durch Brute Force-Angriffe gebrochen werden, indem systematisch alle Schlüssel getestet wurden. Es gibt die Vermutung, dass diese kleine Schlüssellänge absichtlich gewählt wurde, weil die NSA bereits in den 1970er Jahren genug Rechenkapazität besaß, um diese Verschlüsselung zu brechen. Heutzutage kann dank der Fortschritte bei der Computerhardware fast jeder über eine solche Kapazität verfügen.
Die EFF baute 1998 eine etwa 250.000 Dollar teure Maschine mit dem Namen "DES-Cracker". Dieser Superrechner enthielt 1536 chips und konnte pro Sekunde etwa 88 Milliarden Schlüssel testen. Im July 1998 gelang es mit dieser Maschine, einen DES Code in 56 Stunden zu knacken und damit die "DES Callenge II-2" zu gewinnen, die vom RSA Laboratory ausgeschrieben worden war. 1999 gewann die gleiche Maschine die "DES Challenge III"; dazu arbeitete sie mit dem weltweiten Netzwerk von distributed.net von etwa 100.000 Rechnern zusammen. Der DES Schlüssel wurde in 22 Stunden und 15 Minuten gefunden, mehr als 245 Milliarden Schlüssel wurden pro Sekunde getestet.
Wie sich später herausstellte, ist DES gegen Angriffe wie die Differentielle Kryptoanalyse aufgrund des Designs der S-Box relativ gut geschützt. Diese Analysetechnik wurde erst Anfang der 90er Jahre veröffentlicht, war den Designern von DES jedoch bereits bekannt.
Viele frühere DES-Nutzer benutzen jetzt Triple DES (3DES), ein Verfahren, das
von einem der DES-Patentinhaber beschrieben und analysiert wurde (siehe FIPS 46-3). Dabei wird jeder Datenblock dreimal mit DES und verschiedenen Schlüsseln chiffriert. 3DES wird momentan als ausreichend sicher angesehen, obwohl er relativ langsam ist. Man beachte im übrigen, dass es mehrere Methoden gibt, DES dreimal anzuwenden; Tuchman's 3DES ist nur eine davon.
Durch einen weiteren Wettbewerb wurde 2001 der Advanced Encryption Standard (AES) ausgewählt, um DES zu ersetzen. AES wurde von seinen Entwicklern unter dem Namen Rijndael eingereicht.
Andere Konkurrenzalgorithmen sind z.B. RC5 und Twofish; man sollte aber bedenken, dass Algorithmen, die für geringen Datendurchsatz auf normalen Rechnern geeignet sind (z.B. für SSH oder Emailverschlüsselung), nicht unbedingt für eingebettete Systeme oder Smartcards geeignet sein müssen.Geschichte
Funktionsweise
Betriebsmodi
Schwächen
Ersatz-Algorithmen