Das DES-Verschlüsselungsverfahren wurde 1976 als Federal Information Processing Standard (FIPS 46-3)
für die USA ausgewählt und wurde danach weltweit als Standard genutzt (siehe auch http://de.wikipedia.org/wiki/Data_Encryption_Standard).
Am 26. Mai 2002 wurde DES durch AES ersetzt. Am 19. Mai 2005 wurde der
FIPS 46-3 außer Kraft gesetzt (zurückgezogen).
Der DES ist ein symmetrisches Verschlüsselungsverfahren, das auf Klartextblöcken der Länge 64 Bits (= 8 Bytes) operiert und Blöcke mit verschlüsseltem Text der Länge 64 Bits erzeugt. Die Länge des Schlüssels beträgt ebenfalls 64 Bits; effektiv jedoch werden nur 56 Bits benutzt, da 8 Bits als Paritätsbits verwendet werden. Da die amerikanische NSA bei der Entwicklung von DES beteiligt war, wurde seine Sicherheit lange Zeit in Frage gestellt, man hat jedoch bis heute keinen effektiven Angriff auf DES gefunden. Allerdings kann man heutzutage mittels einer vollständigen Schlüsselraumsuche mit einigem Aufwand eine mit DES verschlüsselte Nachricht in weniger als 25 Stunden knacken (Quelle: http://www.eff.org/descracker/
). Aus diesem Grund ist der DES nicht mehr als sicher anzusehen.
Durch das Hintereinanderausführen von drei DES-Verschlüsselungen unter Verwendung von zwei oder drei verschiedenen 56 Bit DES-Schlüsseln erhält man das sogenannte Triple-DES-Verfahren (zwei oder drei Schlüssel Triple-DES). Durch diesen Trick erhält man eine effektive Schlüssellänge von 112 oder 168 Bit. Triple-DES hat sich heute als quasi-Standard für die symmetrische Verschlüsselung durchgesetzt.
Aufgrund seiner schlechten Performance wird Triple-DES nach und nach durch das modernere AES-Verfahren ersetzt.
Bemerkung:
Beim Verschlüsseln mit dem DES-Verschlüsselungsverfahren wird für die Ver-/Entschlüsselung von jedem Schlüssel-Byte das niederwertigste Bit nicht verwendet, da es als Paritätsbit genutzt wird. Dadurch kann es bei der Brute-Force-Analyse passieren, dass ein Schlüssel gefunden wird, der nicht mit dem Schlüssel, mit dem das Dokument verschlüsselt ist, identisch ist. Dennoch sind die beiden Schlüssel äquivalent, falls sie sich immer nur im niederwertigsten Bit jedes Bytes unterscheiden. Also sind die Bytes 00 und 01, 02 und 03, ..., 0C und 0D, 0E und 0F jeweils zueinander äquivalent. Dasselbe gilt auch, wenn statt der führenden 0 ein anderes hexadezimales Zeichen 1, 2, 3, ..., 9, A, B, ..., F vorhanden ist.
Beispiel: Die DES-Schlüssel
00 22 44 66 88 AA CC EE (hex) =
00000000 00100010 01000100 01100110 10001000 10101010 11001100 11101110 (binär) und
01 23 45 67 89 AB CD EF (hex) =
00000001 00100011 01000101 01100111 10001001 10101011 11001101 11101111 (binär)
sind äquivalent.