Der Data Encrypting Standard (DES)

Die Entwicklung des Data Encrypting Standard ist eng verwoben mit den Namen NSA, IBM, Feistel und Copperschmidt. 1973 startete das National Bureau of Standards (NBS, heute NIST) eine Ausschreibung zum Entwurf eines sicheren, einheitlichen Verschlüsselungsalgorithmus. Das Interesse an einem solchen Standard war groß. Leider genügte keine der Einsendungen auch nur annähernd den gestellten Anforderungen.

Auf eine zweite Ausschreibung vom NBS meldete sich dann 1974 ein Team von IBM, dem unter anderen Horst Feistel und der Kryptoanalytiker Don Copperschmidt angehörten. Die Grundlage für die Einsendung war das Projekt Lucifer, ein Projekt der Firma IBM, mit gleichnamigem Algorithmus. Die Sachkenntnis des National Bureau of Standard reichte allerdings nicht für die Beurteilung des Vorschlags aus. Daraufhin wurde die National Security Agency eingeschaltet.

Die Folgen dieser "Zusammenarbeit" sind sehr umstritten. Vermutlich wurde durch die NSA die Schlüssellänge von 128 Bit auf 56 Bit reduziert. Dies ist sogar im IBM Team umstritten. Wahrscheinlich hat die NSA die S-Boxen nach eigenen Entwurfskriterien nochmals völlig überarbeitet. Hierzu gibt es zwei konkurriernde Interpretationen. Zum einen wird vermutet, daß die NSA sich ein Hintertürchen aufläßt, um eventuell Geheimtext mitzulesen. Zum anderen wird vermutet, daß die NSA der IBM solch ein Hintertürchen schließen wollte.

Der DES wurde 1976 nach dieser Überprüfung durch die NSA zum offiziellen Verschlüsselungsstandard erklärt. Es wurde allerdings von vornherein festgelegt, daß dieser Standard nur für "normale" Geheimhaltung, aber nicht für Dokumente der höchsten Sicherheitskategorie, gilt. Ob man den Standard für nicht sicher genug hielt oder diese Festlegung eher eine Formsache war, darüber gibt es ebenfalls sehr unterschiedliche Meinungen.

1990 war dann nochmals ein wichtiger Einschnitt in der Geschichte des DES-Standards. In diesem Jahr entdeckten Biham und Shamir die sogenannte differentielle Kryptanalyse. Nach Bekanntwerden dieser Entdeckung wurden die Design-Kriterien der S-Boxen endlich bekanntgegeben. Dazu sagte Don Copperschmidt 1992: Durch Offenlegung dieser Kriterien wäre bereits 1977 die differentielle Kryptanalyse bekannt geworden. Das wollten weder die NSA noch IBM. Das bedeutet die öffentliche Forschung war auf diesem Gebiet den Ergebnissen von IBM und NSA um 20 Jahre hinterher.

Der Algorithmus

Der Algorithmus zum Data Encrypting Standard soll mittels der folgenden Übersicht erläutert werden:

Der Klartext- und der Schlüsselraum ist die Menge der Bitstrings mit Länge 64. Dabei wird der Schlüssel so gewählt, dass immer acht Bit eine ungerade Quersumme haben. Hierbei wird das achte Bit dementsprechend gesetzt. Daher ist die effektive Schlüssellänge nur 56 Bit.

Liegt ein 64-Bit Klartext vor, so wird am Anfang des DES-Algorithmus’ zuerst die sogenannte Initialpermutation durchgeführt. Dann werden 16 sogenannte DES-Runden durchgeführt. Für jede dieser Runden wird zu Beginn des Algorithmus’ ein sogenannter Rundenschlüssel generiert. Dieser geht dann in die Berechnung der "Rundenchiffre" mit ein. Innerhalb der Runde i wird der innerhalb dieser Runde zu verschlüsselnde Text T(i-1) in eine linke Hälfte L(i-1) und eine rechte Hälfte R(i-1) eingeteilt. Es wird ein 32-Bit String aus der rechten Hälfte und dem Rundenschlüssel K(i) gebildet via einer Abbildung f. In diese Berechnung gehen die sogenannten Substitutionsboxen mit ein. Dieser wird mittels XOR mit der linken Hälfte verknüpft. Das Ergebnis wird die rechte Hälfte und die ehemals rechte Hälfte wird die linke Hälfte des zu verschlüsselnden Textes der nächsten Runde.

Ist dann die sechzehnte Runde durchlaufen, so wird die sogenannte Abschlußpermutation durchlaufen. Diese ist invers zur Initialpermutation. Das Ergebnis ist dann der Geheimtext.

Entschlüsseln

Zum Entschlüsseln muß man lediglich die Rundenschlüssel von hinten nach vorne umdrehen und dann den DES-Algorithmus auf den Geheimtext anwenden. Zur Begründung siehe die Feistelnetzwerke.