Data Encryption Standard

Der Data Encryption Standard (DES; deutsch „Datenverschlüsselungsstandard“) ist ein weit verbreiteter symmetrischer Verschlüsselungsalgorithmus, eine sogenannte Blockchiffre.

DES
DES
DES
Eine Feistel-Runde (F-Funktion)
Entwickler IBM
Veröffentlicht 1975
Abgeleitet von Lucifer
Zertifizierung als FIPS PUB 46 durch NBS
Schlüssellänge 56 Bit
Blockgröße 64 Bit
Struktur Feistelchiffre
Runden 16
Beste bekannte Kryptoanalyse
Bester analytischer Angriff ist die lineare Kryptoanalyse mit 243 bekannten Klartextblöcken. Brute-Force-Angriffe finden den verwendeten Schlüssel nach wenigen Stunden.

Der DES-Algorithmus wurde als offizieller Standard für die US-Regierung (siehe FIPS 46) im Jahr 1977 bestätigt und wird seither international vielfach eingesetzt. Seine Entstehungsgeschichte hat wegen der Beteiligung der NSA am Design des Algorithmus immer wieder Anlass zu Spekulationen über seine Sicherheit gegeben. DES wurde schon kurz nach seiner Veröffentlichung aufgrund der verwendeten Schlüssellänge von nur 56 Bits als nicht ausreichend sicher erachtet.

Die Schlüssellänge kann durch Mehrfachanwendung des DES jedoch auf einfache Weise vergrößert werden. Als Triple-DES, auch als TDES, 3DES oder DESede bezeichnet, wird der DES weiterhin am häufigsten, zum Beispiel von Banken in Chipkartenanwendungen, eingesetzt, obwohl der TDES als offizieller Standard für die USA durch den Advanced Encryption Standard (AES) abgelöst wurde.

Geschichte

Zu 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) – sah Bedarf für einen einheitlichen Standard für die behördenübergreifende Verschlüsselung vertraulicher Daten. Nach Beratungen mit der NSA veröffentlichte es am 15. Mai 1973 im Federal Register eine Ausschreibung. Insbesondere sollte die Sicherheit des Algorithmus nach Kerckhoffs’ Prinzip nur von der Geheimhaltung des Schlüssels, nicht aber von der Geheimhaltung des Algorithmus abhängen. Keiner der eingereichten Kandidaten erfüllte jedoch die gestellten Bedingungen, was zu einer neuerlichen Ausschreibung am 27. August 1974 führte.

IBM lieferte einen vielversprechenden Vorschlag, der auf einer Weiterentwicklung des wenige Jahre zuvor unter der Mitarbeit von Horst Feistel entwickelten Algorithmus „Lucifer“ beruhte. Dieser Algorithmus zeichnete sich dadurch aus, dass er einfache logische Operationen auf kleinen Bitgruppen nutzte und dadurch leicht in Hardware implementierbar war. Neben Feistel selbst waren auch Walter Tuchman, Don Coppersmith, Alan Konheim, Carl Meyer, Mike Matyas, Roy Adler, Edna Grossman, Bill Notz, Lynn Smith und Bryant Tuckerman Mitglieder des IBM-Entwicklungsteams.

Die Rolle der NSA

NBS und IBM beschlossen eine Kooperation mit Unterstützung der National Security Agency (NSA). Welchen Einfluss die NSA auf die Entwicklung des Algorithmus hatte, ist umstritten. Vor allem die Schlüssellänge von 56 Bits und das Design der für Substitution zuständigen „S-Boxen“ gab Anlass zu Spekulation über mögliche Hintertüren, die eventuell durch die NSA eingeführt wurden. Nach eigenen Angaben stärkte die NSA die S-Boxen gegen differentielle Kryptoanalyse, wollte aber gleichzeitig die Schlüssellänge auf 48 Bits beschränken, während IBM 64 Bits wollte. Als Kompromiss einigten sich NSA und IBM auf eine Schlüssellänge von 56 Bits.[1]

Am 17. März 1975 wurde der Algorithmus im „Federal Register“ veröffentlicht. Die NBS bat zudem um öffentliche Stellungnahme. Im folgenden Jahr wurden zwei Workshops zum vorgeschlagenen Standard abgehalten. Durch die unklare Rolle der NSA zogen die Veränderungen des Algorithmus von verschiedenen Seiten Kritik auf sich, unter anderem von den Pionieren asymmetrischer Kryptosysteme Martin Hellman und Whitfield Diffie. Es wurde gemutmaßt, die NSA habe eine Hintertür eingebaut, welche das Verfahren dergestalt schwächt, dass sie damit verschlüsselte Nachrichten lesen konnte. Alan Konheim, einer der DES-Entwickler, gab an, die S-Boxen nach Washington gesendet und stark verändert wiedererhalten zu haben.[2]

Ein nachrichtendienstliches Komitee des US-Senats untersuchte die Einflussnahme des NSA. In der nicht als Verschlusssache gehandhabten Zusammenfassung des Berichts gaben sie 1978 an:[3]

“In the development of DES, NSA convinced IBM that a reduced key size was sufficient; indirectly assisted in the development of the S-box structures; and certified that the final DES algorithm was, to the best of their knowledge, free from any statistical or mathematical weakness. […]
NSA did not tamper with the design of the algorithm in any way. IBM invented and designed the algorithm, made all pertinent decisions regarding it, and concurred that the agreed upon key size was more than adequate for all commercial applications for which the DES was intended.”

„Während der Entwicklung von DES überzeugte die NSA IBM davon, dass eine reduzierte Schlüssellänge ausreichend sei; half indirekt bei der Konstruktion der S-Boxen; und zertifizierte den entstehenden DES-Algorithmus als nach bestem Gewissen frei von statistischen und mathematischen Schwächen. […]
Die NSA veränderte das Design des Algorithmus in keiner Weise. IBM entwarf und entwickelte diesen, traf alle sachdienlichen Entscheidungen und stimmte darin überein, dass die verkürzte Schlüssellänge mehr als adäquat für die vorgesehenen kommerziellen Verwendungen sei.“

Walter Tuchman, ein weiterer DES-Entwickler, wird mit den Worten zitiert “We developed the DES algorithm entirely within IBM using IBMers. The NSA did not dictate a single wire!” (deutsch: „Wir haben den DES-Algorithmus vollständig innerhalb von IBM unter Nutzung von IBMern entwickelt. Die NSA hat nicht ein einziges Memo diktiert!“).[4]

Durch die Veröffentlichung der differentiellen Kryptoanalyse durch Adi Shamir und Eli Biham im Jahr 1990 wurden einige der Befürchtungen einer Hintertür aus dem Wege geräumt. DES zeigte sich durch die Gestaltung der S-Boxen deutlich widerstandsfähiger gegen diese generische Angriffsmethode, als dies bei einer zufälligen Anordnung der Fall gewesen wäre.[5] 1994 veröffentlichte Don Coppersmith die ursprünglichen Designkriterien für die S-Boxen.[6] Es zeigte sich, dass IBM die differentielle Kryptoanalyse bereits in den 1970er Jahren entdeckt hatte und nach Umgestaltung der S-Boxen von der NSA zur Geheimhaltung instruiert worden war.

Coppersmith erklärte “that was because [differential cryptanalysis] can be a very powerful tool, used against many schemes, and there was concern that such information in the public domain could adversely affect national security.” (deutsch: „dies geschah, da die [differentielle Kryptoanalyse] ein mächtiges Werkzeug gegen viele Verfahren sein kann und es Bedenken gab, die nationale Sicherheit könne durch eine Veröffentlichung gefährdet werden.“).[7]

Shamir selbst kommentierte “I would say that, contrary to what some people believe, there is no evidence of tampering with the DES so that the basic design was weakened.” (deutsch: „Anders als manche glauben, sehe ich selbst keine Hinweise auf Manipulation von DES, welche das grundlegende Design geschwächt hat.“)

Die Kritik an der Länge des Schlüssels blieb jedoch bestehen und wurde durch die Begründung der NSA, 8 der 64 Schlüsselbits könnten als Paritätsbits verwendet werden, noch weiter gestützt. Es wird weithin vermutet, dass die Reduzierung der NSA die Möglichkeit eines Angriffs mit der Brute-Force-Methode schaffen sollte.

Heute gilt der DES aufgrund seiner geringen Schlüssellänge als nicht mehr sicher genug. Durch die Mehrfachanwendung des DES mit unterschiedlichen Schlüsseln wie zum Beispiel beim TDES kann die effektive Schlüssellänge erhöht werden.

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.[8]

Standardisierung

DES wurde als Standard für alle amerikanischen Bundesbehörden zugelassen und am 15. Januar 1977 als FIPS PUB 46 publiziert; verpflichtend für sie wurde er sechs Monate später. Der Standard enthielt die Auflage, alle fünf Jahre neu bestätigt werden zu müssen. Weiterhin befasste sich die Internationale Organisation für Normung (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 Kryptographen 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. 1994 wurde ein theoretischer Angriff mittels linearer Kryptoanalyse publiziert. Mitte 1998 führte die Electronic Frontier Foundation (EFF) einen erfolgreichen Angriff über die Brute-Force-Methode durch. Die Gesellschaft baute hierzu eine spezielle Hardware mit insgesamt über 1800 Mikroprozessoren[9] und konnte mit dieser einen Schlüssel in weniger als drei Tagen brechen. Die Arbeiten am Nachfolgestandard AES hatten zu diesem Zeitpunkt schon begonnen. Am 26. Mai 2002 wurde DES schließlich durch AES ersetzt.

Die Einführung von DES gilt als Auslöser einer Vielzahl kryptographischer Studien, besonders solcher, die sich mit dem Angriff auf Blockchiffrierungen befassen. Bruce Schneier schreibt in seinem Buch Angewandte Kryptographie:

„Inoffiziell bezeichnete die NSA den DES als einen ihrer größten Fehler. Hätte die Behörde gewußt, daß die Einzelheiten herausgegeben und Softwareimplementierungen möglich wurden, hätte sie niemals zugestimmt. Mehr als alles andere revolutionierte DES die gesamte Kryptoanalyse. Jetzt gab es einen Algorithmus, den man untersuchen konnte – sogar einen, den die NSA als sicher bezeichnete.“[10]

Chronologie

Datum Ereignis
15. Mai1973Das NBS veröffentlicht eine erste Ausschreibung für ein standardisiertes Verschlüsselungsverfahren
27. August1974Das NBS veröffentlicht eine zweite Ausschreibung für ein standardisiertes Verschlüsselungsverfahren
17. März1975DES wird im „Federal Register“ veröffentlicht
August1976Erster Workshop zu DES
September1976Zweiter Workshop, welcher die mathematischen Grundlagen von DES behandelt
November1976DES wird als Standard zugelassen
15. Januar1977DES wird als FIPS-Standard „FIPS PUB 46“ veröffentlicht
Juni1977Diffie und Hellman argumentieren, dass DES per brute force geknackt werden kann[11]
1983DES wird das erste Mal neu bestätigt
1986Videocipher II, ein auf DES basierendes Verschlüsselungssystem für Fernsehsatelliten wird von der HBO verwendet
22. Januar1988DES wird als „FIPS 46-1“ revalidiert, welches FIPS PUB 46 ersetzt
1992Biham und Shamir publizieren den ersten theoretischen Angriff mit gegenüber der Brute-Force-Methode verminderter Komplexität: die differentielle Kryptanalyse. Dieser Angriff erfordert jedoch unrealistische 247 frei gewählte Klartexte.
30. Dezember1993DES wird ein drittes Mal bestätigt, diesmal als „FIPS 46-2“
1994Die erste experimentelle Kryptoanalyse von DES wird mittels linearer Kryptoanalyse durchgeführt (Matsui, 1994)
Juni1997Das DESCHALL-Projekt bricht erstmals öffentlich eine mit DES verschlüsselte Nachricht
Juli1998Der DES-Knacker „Deep Crack“ der Electronic Frontier Foundation bricht einen DES-Schlüssel binnen 56 Stunden
Januar1999Deep Crack und distributed.net brechen in einer Kooperation einen DES-Schlüssel in 22 Stunden und 15 Minuten
25. Oktober1999DES wird ein viertes Mal in Gestalt des „FIPS 46-3“ bestätigt. Dieser gibt als bevorzugte Anwendung 3DES an und erlaubt DES selbst nur für den Einsatz in veralteten Systemen
26. November2001Der Advanced Encryption Standard (AES) wird als „FIPS 197“ publiziert
26. Mai2002Der AES tritt in Kraft
26. Juli2004Im „Federal Register“ wird die Absetzung des FIPS 46-3 und verwandter Standards empfohlen
19. Mai2005NIST setzt den FIPS 46-3 außer Kraft
März2006Der FPGA-basierte Parallelrechner COPACOBANA kostet weniger als 10.000 Dollar (Materialkosten) und bricht DES in weniger als 9 Tagen
Nov.2008Die Weiterentwicklung des FPGA-basierten Parallelrechners COPACOBANA, die RIVYERA, bricht DES erstmals in weniger als einem Tag

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, jeder Block wird also 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 effektive 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.

Auf den 64-Bit-Block wird eine initiale Permutation angewandt. Danach wird der Block in zwei Teile aufgeteilt und jeder Teil in ein 32-Bit-Register gespeichert. Die beiden Blockhälften werden in Folge als linke und rechte Hälfte (siehe Skizze) bezeichnet. Auf die rechte Blockhälfte wird die Feistel-Funktion angewandt. Danach wird die rechte Hälfte mit der linken Hälfte XOR verknüpft und das Ergebnis im Register der nächsten Runde für die rechte Hälfte gespeichert. In das linke Register der nächsten Runde wird die ursprüngliche rechte Blockhälfte kopiert. Nach Ende der letzten Runde werden die beiden Hälften vertauscht zusammengeführt und eine finale Permutation durchgeführt. Dabei handelt es sich um die inverse Permutation zur initialen Permutation.

Betriebsmodi

Der DES-Algorithmus beschreibt zunächst nur, wie ein Datenblock mit 64 Bits verarbeitet wird. Zur Verarbeitung einer Nachricht beliebiger Länge lässt sich der DES wie auch jede andere Blockchiffre in verschiedenen Betriebsmodi verwenden. Für bestimmte Betriebsmodi, wie zum Beispiel ECB oder CBC, ist ein Auffüllen des Klartextes auf ein Vielfaches der vollen Blocklänge notwendig (Padding). Dies geschieht, indem die Bitfolge 1000… angehängt wird.

Die Feistel-Funktion

Die F-Funktion von DES arbeitet auf Halbblöcken zu je 32 Bits und besteht aus vier Phasen:[12]

  1. Die R-Blöcke werden mittels einer geeigneten Permutation E (Expansion) auf 48 Bits Länge expandiert, indem einzelne Bits mehrfach verwendet werden.
  2. Das Ergebnis wird mit einem Teilschlüssel XOR-verknüpft. Für jede Runde wird hierzu nach einer festen Vorschrift ein anderer 48-Bit-Teilschlüssel aus dem Hauptschlüssel generiert.
  3. Die resultierenden Blöcke werden in acht 6-Bit-Stücke zerteilt und diese mittels Substitution durch S-Boxen auf eine Länge von 4 Bits komprimiert. Diese nicht-lineare Transformierung in den S-Boxen stellt das Herzstück der Sicherheit von DES dar, ohne sie wäre DES linear und trivial zu brechen.
  4. Die 32 Bits Ausgabe der S-Boxen werden mittels einer festen Permutation P rearrangiert.

Diese Kombination aus Permutationen und Substitutionen entspricht dem von Claude Shannon aufgestellten Prinzip der Diffusion und Konfusion.

Die Expansion

Um den Halbblock in der Feistel-Funktion von 32 Bits auf 48 Bits zu erweitern, wird der Halbblock in 4-Bit-Gruppen aufgeteilt. Die Bits am Rand jeder 4-Bit-Gruppe werden vorn, beziehungsweise hinten an die benachbarte 4-Bit-Gruppe angehängt.[13]

Expansion: Permutation mit Verdoppelung bestimmter Bits

Die Substitution

Die Substitutionsboxen (S-Boxen) beim DES sind standardisiert. Um aus den folgenden Tabellen den Ausgabewert zu erhalten, wird der Eingabewert gesplittet. So bildet das erste und letzte Bit zusammen die Zeile, und die Spalte ergibt sich aus den übrigen Bits (siehe Beispiel).[14] Eine Änderung dieser Boxen reduziert die Sicherheit drastisch! Daher sollten die folgenden Tabellen für die Substitutionsboxen verwendet werden:

S1Mittlere 4 Bits des Eingabewertes
0000000100100011010001010110011110001001101010111100110111101111
Äußere Bits 00 1110010011010001001011111011100000111010011011000101100100000111
01 0000111101110100111000101101000110100110110010111001010100111000
10 0100000111101000110101100010101111111100100101110011101001010000
11 1111110010000010010010010001011101011011001111101010000001101101
S2Mittlere 4 Bits des Eingabewertes
0000000100100011010001010110011110001001101010111100110111101111
Äußere Bits 00 1111000110001110011010110011010010010111001011011100000001011010
01 0011110101000111111100101000111011000000000110100110100110110101
10 0000111001111011101001001101000101011000110001101001001100101111
11 1101100010100001001111110100001010110110011111000000010111101001
S3Mittlere 4 Bits des Eingabewertes
0000000100100011010001010110011110001001101010111100110111101111
Äußere Bits 00 1010000010011110011000111111010100011101110001111011010000101000
01 1101011100001001001101000110101000101000010111101100101111110001
10 1101011001001001100011110011000010110001001011000101101011100111
11 0001101011010000011010011000011101001111111000111011010100101100
S4Mittlere 4 Bits des Eingabewertes
0000000100100011010001010110011110001001101010111100110111101111
Äußere Bits 00 0111110111100011000001101001101000010010100001011011110001001111
01 1101100010110101011011110000001101000111001011000001101011101001
10 1010011010010000110010110111110111110001001111100101001010000100
11 0011111100000110101000011101100010010100010110111100011100101110
S5Mittlere 4 Bits des Eingabewertes
0000000100100011010001010110011110001001101010111100110111101111
Äußere Bits 00 0010110001000001011110101011011010000101001111111101000011101001
01 1110101100101100010001111101000101010000111110100011100110000110
10 0100001000011011101011010111100011111001110001010110001100001110
11 1011100011000111000111100010110101101111000010011010010001010011
S6Mittlere 4 Bits des Eingabewertes
0000000100100011010001010110011110001001101010111100110111101111
Äußere Bits 00 1100000110101111100100100110100000001101001101001110011101011011
01 1010111101000010011111001001010101100001110111100000101100111000
10 1001111011110101001010001100001101110000010010100001110110110110
11 0100001100101100100101011111101010111110000101110110000010001101
S7Mittlere 4 Bits des Eingabewertes
0000000100100011010001010110011110001001101010111100110111101111
Äußere Bits 00 0100101100101110111100001000110100111100100101110101101001100001
01 1101000010110111010010010001101011100011010111000010111110000110
10 0001010010111101110000110111111010101111011010000000010110010010
11 0110101111011000000101001010011110010101000011111110001000111100
S8Mittlere 4 Bits des Eingabewertes
0000000100100011010001010110011110001001101010111100110111101111
Äußere Bits 00 1101001010000100011011111011000110101001001111100101000011000111
01 0001111111011000101000110111010011000101011010110000111010010010
10 0111101101000001100111001110001000000110101011011111001101011000
11 0010000111100111010010101000110111111100100100000011010101101011

Schwächen

„Deep Crack“-Hardware, die zur DES-Entschlüsselung diente

Weil die Schlüssellänge nur 56 Bit beträgt, konnte DES bereits durch Brute-Force-Angriffe gebrochen werden, indem systematisch alle möglichen Schlüssel (256 = ca. 72 Billiarden) 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.

Deep Crack

Die EFF baute 1998 eine etwa 250.000 Dollar teure Maschine mit dem Namen „Deep Crack“. Dieser Superrechner enthielt 1536 spezielle Krypto-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.

COPACOBANA

Die einzige andere öffentlich bekannte Maschine zum Brechen von DES ist COPACOBANA. Sie wurde 2006 von zwei Arbeitsgruppen an den Universitäten Bochum und Kiel gebaut. Im Gegensatz zu Deep Crack besteht eine COPACOBANA aus rekonfigurierbaren Hardware-Bausteinen, sogenannten FPGAs. 120 FPGAs vom Typ Xilinx Spartan-3-1000 sind in einer Maschine auf 20 DIMM-Modulen zusammengefasst, wobei jedes DIMM-Modul sechs FPGAs enthält. COPACOBANA kann 65 Milliarden DES-Schlüssel pro Sekunde testen, woraus sich eine durchschnittliche Suchzeit von 6,4 Tagen für eine DES-Attacke ergibt. Durch den Einsatz rekonfigurierbarer Hardware kann COPACOBANA auch zum Brechen anderer Chiffren wie A5 eingesetzt werden. Die Material- und Herstellungskosten von COPACOBANA belaufen sich auf etwa 10.000 Dollar. Der Kostenvorteil gegenüber Deep Crack um einen Faktor 25 ist ein beeindruckendes Beispiel für das Mooresche Gesetz. Hiernach wäre ein Kostenvorteil von etwa 32 = 25 zu erwarten gewesen, da acht Jahre zwischen dem Bau der beiden Maschinen verstrichen sind (das Mooresche Gesetz sagt eine Halbierungen der Kosten digitaler ICs alle 1,5 Jahre voraus, so dass bei acht Jahren etwa 5 Halbierungen stattgefunden haben sollten).

Der derzeitige Rekord wurde 2008 von der Firma SciEngines GmbH (einem SpinOff der COPACOBANA-Arbeitsgruppen) aufgestellt und auf einem Workshop 2009 erneut verbessert. Mit 128 Xilinx-FPGAs lag der Durchsatz bei über 292 Milliarden Schlüsseln pro Sekunde.[15]

Geringfügige Schwächen

DES besitzt eine Komplement-Eigenschaft, das heißt, es gilt

für alle Schlüssel und alle Klartexte ,

wobei das bitweise Komplement von bezeichnet. Dadurch lässt sich mit einem Chosen-Plaintext-Angriff bei einer vollständigen Schlüsselsuche der Suchraum auf 255 Schlüssel halbieren.

Es existieren vier schwache Schlüssel mit der Eigenschaft, dass

für alle Klartexte .

Des Weiteren gibt es sechs semi-schwache Schlüsselpaare mit der Eigenschaft, dass

für alle Klartexte .

In der Praxis ist dies jedoch kein Problem, da die Wahrscheinlichkeit für einen (semi-)schwachen Schlüssel bei zufälliger Auswahl eines Schlüssels nur 16:256 beträgt. Außerdem lässt sich die Verwendung dieser Schlüssel leicht vermeiden, indem sie bei der Erzeugung explizit ignoriert werden.

Anwendungen

Breite Anwendung findet der DES-Algorithmus bei Geldautomaten: Mit Hilfe des DES-Algorithmus und eines geheimen Schlüssels wird bereits in der Tastatur eine sogenannte PAC berechnet. Diese wird zusammen mit den Daten des Magnetstreifens (Kontonummer, Bankleitzahl, Gültigkeitszeitraum, …) zum Host des kontoführenden Instituts geschickt, dort wird die PIN entschlüsselt und verifiziert.

In der Anfangszeit der Geldautomaten wurde aus den Daten des Magnetstreifens (Kontonummer, Bankleitzahl, Gültigkeitszeitraum, …) und dem geheimen Schlüssel die PIN berechnet und das Ergebnis mit der Eingabe des Benutzers verglichen. Diese sogenannte Offline-PIN-Prüfung wird seit mehreren Jahren nicht mehr verwendet.

Bis zum heutigen Tage wird DES für die Sprachverschlüsselung von sicherheitskritischen Sprechfunkaussendungen verwendet. In Deutschland gehören zu den Anwendern diverse polizeiliche Sondereinheiten sowie die Verfassungsschutzbehörden des Bundes und der Länder. Verbreitet sind zu diesem Zweck Sprechfunkgeräte von Motorola aus den Modellreihen MX3000 und MTS2000. Die Sprache wird mittels Delta-Modulation digitalisiert und durch ein zertifiziertes Steckmodul im Inneren des Sprechfunkgerätes zur Verschlüsselung geschleust. Das Modul ist gegen Manipulationen geschützt, der Schlüssel ist nicht auslesbar und wird bei Manipulationsversuchen gelöscht. Auch bei Verwendung von Relaisstellen zur Reichweitenerhöhung ist das Konzept dergestalt, dass im Inneren der Relaisstelle das Signal nie unverschlüsselt vorliegt. Die Schlüsselverwaltung erfolgt entweder dezentral im direkten Zugriff auf das Gerät mit einem sog. key variable loader (KVL), oder über Funk zentral von einem key management centre per OTAR, „Over The Air Rekeying“. Für diese Anwendung ist auch DES nach heutigem Stand der Technik mehr als ausreichend sicher, sofern für jedes Einsatzgeschehen (bzw. regelmäßig während längerer Einsätze) die Schlüssel gewechselt werden, da das gesprochene Wort in solchen Anwendungsfällen nur aktuell für die Gegenseite von Bedeutung ist. Eine mögliche Entschlüsselung nach Stunden oder Tagen ist für den Einsatz in der Regel irrelevant, da dann bereits „alles gelaufen ist“. Sowohl der technisch relativ hohe Aufwand als auch das benötigte Fachwissen senkt zusätzlich die Wahrscheinlichkeit, dass tatsächlich versucht wird, die Funkkommunikation nachträglich zu entschlüsseln.

Die US-Exportbeschränkung für den DES mit voller 56-Bit-Schlüssellänge wurde aufgehoben.

Ersatz-Algorithmen

Aufgrund seiner geringen Schlüssellänge war DES bald nicht mehr ausreichend sicher und es musste ein Ersatz gefunden werden.

Triple-DES

Der erste Ersatz für DES war Triple-DES (auch 3DES oder DESede genannt). Die Idee der mehrfachen Ausführung von DES mit zwei verschiedenen Schlüsseln ist ein Verfahren, das vom DES-Mitentwickler Walter Tuchman beschrieben und analysiert wurde (siehe FIPS 46-3). Ralph Merkle und Martin Hellman schlugen nach einer weiteren Analyse 1981 die Dreifachverschlüsselung mit drei unabhängigen, voneinander verschiedenen Schlüsseln vor.[16]

Bei der am häufigsten verwendeten Methode wird jeder Datenblock mit einem DES-Schlüssel chiffriert, dann mit dechiffriert und mit chiffriert:

Dieses Verfahren wird auch als EDE (Encrypt-Decrypt-Encrypt) bezeichnet. Eine einfache DES-Verschlüsselung ist somit ein Spezialfall von 3DES:

Ein für die Verschlüsselungsstärke von 3DES wichtiges mathematisches Problem war die Frage, ob die Hintereinanderausführung von DES-Operationen die Sicherheit erhöht; dies wäre nicht der Fall, wenn DES eine Gruppe ist. Campell und Wiener fanden heraus, dass die Menge der DES-Verschlüsselungen unter Hintereinanderausführung nicht abgeschlossen ist. Das bedeutet, dass es Schlüssel und gibt, sodass für alle Schlüssel . Anders ausgedrückt ist die Anzahl der Permutationen von der Form bedeutend größer als die Zahl der -Permutationen. Damit lässt sich die effektive Schlüssellänge tatsächlich steigern. Dies konnte allerdings erst 1992 gezeigt werden.[17]

Die Schlüssellänge von 3DES ist mit 168 Bits dreimal so groß wie bei DES (56 Bits), die effektive Schlüssellänge liegt aber nur bei 112 Bits. Dies ist bedingt durch die Möglichkeit eines sogenannten Meet-in-the-middle-Angriff: Ist der Angreifer im Besitz eines Paares aus Klartext und Chiffre, so kann er die Verschlüsselung von beiden Seiten angreifen. Der Klartext wird mit sämtlichen möglichen Schlüsseln für Stufe 1 verschlüsselt (256 Möglichkeiten). Die so entstandenen Texte werden ebenfalls jeweils mit allen möglichen Schlüsseln für Stufe 2 entschlüsselt (2112 Möglichkeiten). Deren Ergebnisse vergleicht man mit den Ergebnissen der Entschlüsselung des Chiffretextes mit sämtlichen Schlüsseln (256Möglichkeiten). So müssen insgesamt nur 2112+256≈2112 Ver- bzw. Entschlüsselungen durchgeführt werden, anstatt 2168 bei Verwendung der Brute-Force-Methode.

Aufgrund dieses Missverhältnisses zwischen Schlüssellänge und effektivem Sicherheitsniveau wird oft gewählt. Dies liefert für eine Schlüssellänge von 112 Bits ein theoretisches Sicherheitsniveau von 112 Bits, da kein Meet-in-the-middle-Angriff möglich ist. Es gibt jedoch weitere Angriffe,[18] so dass 3DES mit zwei Schlüsseln vom National Institute of Standards and Technology mit einem Sicherheitsniveau von 80 Bits bewertet wird.[19]

AES

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.

3DESE – Triple DES im Bereich PPP

Die im RFC 2420[20] definierte Protokollerweiterung 3DESE (Triple-DES Encryption Protocol Extension) ermöglicht über PPP (Point-to-Point Protocol) die gewohnte Triple-DES-Verschlüsselung.

Literatur

  • Bruce Schneier: Applied Cryptography. Protocols, Algorithms, and Source Code in C. 2. Auflage. John Wiley and Sons, New York NY 1996, ISBN 0-471-11709-9.
  • Bruce Schneier: Angewandte Kryptographie. Protokolle, Algorithmen und Sourcecode in C. Addison-Wesley, Bonn u. a. 1996, ISBN 3-89319-854-7, S. 267 (Informationssicherheit).
  • Klaus Schmeh: Codeknacker gegen Codemacher. Die faszinierende Geschichte der Verschlüsselung. 2. Auflage. W3l-Verlag, Herdecke u. a. 2008, ISBN 978-3-937137-89-6, S. 263–274.
  • Dossier Kryptographie. In: Spektrum der Wissenschaft, 24, 4, 2001, S. 42–47.

Einzelnachweise

  1. Tom R. Johnson: American Cryptology during the Cold War, 1945–1989. Book III: Retrenchment and Reform, S. 232. NSA, DOCID 3417193, FOIA-Veröffentlichung auf cryptome.org, 18. Dezember 2009; abgerufen am 2. Januar 2010.
  2. Bruce Schneier: Applied Cryptography. Protocols, Algorithms and Source Code in C. 2. Auflage. John Wiley & Sons, New York 1996, ISBN 0-471-11709-9, S. 280.
  3. Unclassified Summary: Involvement of NSA in the Development of the Data Encryption Standard. (PDF) United States Senate Select Committee on Intelligence, November 1978, S. 55, archiviert vom Original (nicht mehr online verfügbar) am 18. Dezember 2015; abgerufen am 6. August 2010.  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.lkn.fe.uni-lj.si
  4. Paul Kinnucan: Data encryption gurus: Tuchman and Meyer. In: Cryptologia. Band 2, Nr. 4, Oktober 1978, S. 371381, doi:10.1080/0161-117891853270 (informaworld.com [PDF; abgerufen am 6. August 2010]).
  5. Adi Shamir, Eli Biham: Differential cryptanalysis of DES-like cryptosystems. In: Journal of Cryptology. Band 4, Nr. 1, Januar 1991, S. 372, doi:10.1007/BF00630563 (psu.edu [PDF]).
  6. Don Coppersmith: The Data Encryption Standard (DES) and its strength against attacks. In: IBM Journal of Research and Development. Band 38, Nr. 3, Mai 1994, S. 243 (rub.de [PDF]).
  7. Don Coppersmith: The Data Encryption Standard (DES) and its strength against attacks. In: IBM Journal of Research and Development. Band 38, Nr. 3, Mai 1994, S. 247 (rub.de [PDF]).
  8. Eli Biham & Ishai Ben-Aroya: Differential cryptanalysis of Lucifer. In: Journal of Cryptology. Band 9, Nr. 1, März 1996, S. 2134, doi:10.1007/BF02254790.
  9. cryptography.com
  10. Bruce Schneier: Applied Cryptography, Protocols, Algorithms, and Source Code in C. 2. Auflage. John Wiley and Sons, New York 1996, S. 267
    Angewandte Kryptographie, Protokolle, Algorithmen und Sourcecode in C. Pearson Studium, 2006.
  11. Whitfield Diffie, Martin E. Hellman: Exhaustive Cryptanalysis of the NBS Data Encryption Standard. In: Computer. 10. Jahrgang, Nr. 6, Juni 1977, S. 74–84, doi:10.1109/C-M.1977.217750 (englisch, origin-computer.org (Memento des Originals vom 26. Februar 2014 im Internet Archive)).
  12. Alfred H. Menezes, Paul C. van Oorschot, Scott A. Vanstone, „Handbook of Applied Cryptography“, CRC Press, 1996, ISBN 0-8493-8523-7.
  13. Bruce Schneier: Applied Cryptography. Protocols, Algorithms and Source Code in C. 2. Auflage. John Wiley & Sons, New York 1996, ISBN 0-471-11709-9, S. 274.
  14. Klaus Irmscher: DES – Data Encryption Standard. (PDF; 42 kB) Uni Leipzig, 2009, archiviert vom Original (nicht mehr online verfügbar) am 4. November 2009; abgerufen am 18. März 2010.
  15. Break DES in less than a single day (Memento vom 24. April 2010 im Internet Archive) Presseseite der Firma zu den Workshop Ergebnissen 2009.
  16. R. C. Merkle, M. E. Hellman: On the Security of Multiple Encryption. In: Communications of the ACM, Vol. 24, Nr. 7, Juli 1981.
  17. K.W. Campbell, M.J. Wiener: DES is not a group. In: Advances in Cryptology – CRYPTO ’92 (LNCS 740). Springer-Verlag, 1993, S. 512–520.
  18. Eli Biham: How to Forge DES-Encrypted Messages in 228 Steps (Memento vom 10. Dezember 2005 im Internet Archive) (PostScript), 1996.
  19. Elaine Barker, William Barker, William Burr, William Polk, Miles Smid: NIST Special Publication 800-57. Recommendation for Key Management – Part 1: General (Revision 3). Hrsg.: National Institute of Standards and Technology (= NIST Special Publications). 2012, Abschnitt 5.6.1 Comparable Algorithm Strengths, S. 64 (nist.gov [PDF; 535 kB; abgerufen am 21. August 2021]).
  20. RFC 2420 The PPP Triple-DES Encryption Protocol (3DESE). September 1998 (englisch).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.