Zum Inhalt springen

Data Encryption Standard

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. Dezember 2005 um 15:44 Uhr durch 192.35.241.134 (Diskussion) (Schwächen). Sie kann sich erheblich von der aktuellen Version unterscheiden.

DES (Data Encryption Standard) ist ein Begriff aus der Informatik.

Der Data Encryption Standard (ausgesprochen: dee-ee-ess oder dez) ist ein weit verbreiteter symmetrischer Verschlüsselungsalgorithmus. Der Algorithmus wurde als offizieller Standard für die USA im Jahr 1976 bestätigt. Seine Entstehungsgeschichte hat wegen der Beteiligung der NSA am Design des Algorithmus immer wieder Anlass zu Spekulationen über seine Sicherheit gegeben.

Heute wird DES aufgrund der Schlüssellänge von nur 56Bit für viele Anwendungen als nicht ausreichend sicher erachtet. In verschiedenen Dokumentationen wird DES auch als DEA (Data Encryption Algorithm) bezeichnet.

Geschichte

Am Beginn der 1970er Jahre war zwar die militärische Kryptologie auf einem hohen Niveau, für nichtmilitärische Anwendungen waren jedoch kaum brauchbare Produkte verfügbar. Das National Bureau of Standards (NBS) der USA, heute National Institute of Standards and Technology (NIST), gab am 15. Mai 1973 mit einer öffentlichen Ausschreibung den Anstoß zur Entwicklung eines einheitlichen und standardisierten kryptografischen Algorithmus dessen Sicherheit nur durch den geheimen Schlüssel und nicht durch Geheimhaltung des Algorithmus gegeben sein sollte (Kerckhoffs-Prinzip).

Keiner der eingereichten Kandidaten erfüllt jedoch die gestellten Bedingungen was zu einer neuerlichen Ausschreibung am 27.August 1974 führte.

Von IBM wurde ein vielversprechender Vorschlag geliefert, der auf dem wenige Jahre zuvor unter der Mitarbeit von Horst Feistel entwickelten Algorithmus namens Lucifer beruhte. NBS und IBM beschlossen eine Kooperation mit Unterstützung der National Security Agency (NSA), 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 verringert. Ferner beeinflusste die NSA das Design der so genannten S-Boxen.

Wie sich später herausstellte, ist DES gegen Angriffe wie der differentiellen Kryptoanalyse aufgrund des Designs der S-Box relativ gut geschützt. Diese Analysetechnik wurde erst Anfang der 1990er Jahre veröffentlicht, war den Entwicklern von DES jedoch bereits bekannt.

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 Verschlüsselungsalgorithmen.

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 Kryptoanalyse chiffrierte Nachrichten relativ einfach entschlüsseln zu können. Trotz intensiver Suche vieler Kryptologen konnte aber kein solches Backdoor gefunden werden.

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 mittlerweile erwiesen, dass 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 International Organization for Standardization (ISO) mit dem Algorithmus unter der Bezeichnung Data Encipherment No.1 (DEA1).

1981 wurde der DES-Algorithmus vom American National Standards Institute (ANSI) als Standard für den privaten Sektor anerkannt.

Bereits Anfang der 1990er 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.

Funktionsweise

DES Funktionsweise

Bei DES handelt es sich um einen symmetrischen Algorithmus, das heißt zur Ver- und Entschlüsselung wird derselbe Schlüssel verwendet. DES funktioniert als Blockchiffre, das heißt jeder Block wird unter Verwendung des Schlüssels einzeln chiffriert, wobei die Daten in 16 Iterationen beziehungsweise Runden von Substitutionen und Transpositionen (Permutation) nach dem Schema von Feistel "verwürfelt" werden. Die Blockgröße beträgt 64 Bits, das heißt 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 nur 56 Bits. Die Entschlüsselung wird mit dem gleichen Algorithmus durchgeführt wobei die einzelnen Rundenschlüssel in umgekehrter Reihenfolge verwendet werden.

Betriebsmodi

Für den DES Algorithmus wurden 4 Betriebsmodi entworfen. Prinzipiell lassen sich diese Modi auf jede Blockchiffre anwenden.

ECB - Electronic Code Book. Die 64-Bit Klartextblöcke werden nacheinander und getrennt voneinander kontextfrei 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, der nicht geheim gehalten werden muss, addiert. Dadurch entsteht eine Verkettung (engl. chain) der Blöcke. Trotz dieser Verkettung ist die CBC-Verschlüsselung "selbstkorrigierend": Fehler/Manipulationen in einem Block wirken sich bei der Entschlüsselung nur auf den fehlerhaften/manipulierten und den nächsten Block aus. Man kann relativ einfach beliebige Blöcke des Geheimtextes einzeln entschlüsseln, da zusätzlich zum Schlüssel nur der vorhergehende (verschlüsselte) Block benötigt wird.

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 ohne Übertrag (vgl. XOR-Verknüpfung) mit dem Klartext addiert wird. Dazu muss DES mit einem kontinuierlichen Eingabestrom gefüttert werden. Als Eingabe von DES dient hier ein Schieberegister, das 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.

GREEDY

Schwächen

Hardware, die zur Entschlüsselung des DES dient

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 Rechnerkapazitä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 "Deep Crack". Dieser Superrechner enthielt 1.536 Chips und konnte pro Sekunde etwa 88 Milliarden Schlüssel testen. Im Juli 1998 gelang es mit dieser Maschine, einen DES Code in 56 Stunden zu knacken und damit die "DES Challenge II-2" zu gewinnen, die von der Firma RSA Security ausgeschrieben worden war. 1999 gewann die gleiche Maschine die "DES Challenge III"; dazu arbeitete sie mit dem weltweiten Netzwerk von distributed.net bestehend aus 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.

Ersatz-Algorithmen

Viele frühere DES-Nutzer benutzen jetzt Triple-DES auch (3DES) genannt, ein Verfahren, das von einem der DES-Mitentwickler beschrieben und analysiert wurde (siehe FIPS 46-3). Dabei wird jeder Datenblock mit dem ersten Schlüssel chiffriert, mit dem zweiten dechiffirert und wieder mit dem ersten chiffriert. Die Schlüssellänge von 3DES ist mit 168 Bit drei mal so groß wie bei DES (56 Bit), wodurch die Schlüsselkomplexität um den Faktor gesteigert wird. 3DES wird momentan als ähnlich sicher wie moderne Verschlüsselungsverfahren bei 128 Bit Schlüssellänge angesehen. Es ist dabei aber relativ langsam, da der Rechenaufwand durch die dreimalige Verschlüsselung hoch ist. Man beachte im übrigen, dass es mehrere Methoden gibt, DES dreimal anzuwenden; Tuchmans 3DES ist nur eine davon.

Durch einen Wettbewerb des NIST wurde im Oktober 2000 der Advanced Encryption Standard (AES) gewählt, um DES offiziell zu ersetzen. Das jetzt als AES bezeichnete Verschlüsselungsverfahren, das den Wettbewerb gewann, war von seinen belgischen Entwicklern Vincent Rijmen und Joan Daemen unter dem Namen Rijndael zu diesem Wettbewerb eingereicht worden.

Anwendungen

Breite Anwendung findet der DES-Algorithmus bei Geldautomaten: Mithilfe des DES-Algorithmus und einem geheimen Schlüssel errechnet dieser aus den Daten des Magnetstreifens (Kontonummer, Bankleitzahl, Gültigkeitszeitraum,...) die PIN und vergleicht das Ergebnis mit der Eingabe des Benutzers.

Die bis vor kurzem gültige US-Exportbeschränkung für den DES mit voller 56-Bit-Schlüssellänge wurde inzwischen aufgehoben.

3DESE Triple DES im Bereich PPP

Die Protokoll Erweiterung 3DESE (Triple-DES Encryption Protocol Extension) ermöglicht über PPP (Point-to-Point Protocol) die gewohnte Triple DES Verschlüsselung.

Sobald das ECP (Encryption Control Protocol) den geöffneten Zustand erreicht hat, DARF der Absender NICHT das Verschlüsselungverfahren an den LCP (Link Control Protocol) Paketen noch an den ECP Paketen anwenden.

3DESE ist im RFC 2420 definiert.


Siehe auch: Wikipedia:WikiProjekt Kryptologie