Vorherige Seite Nächste Seite Inhalt

5. Beschreibung des DES (Data Encryption Standard)

Der DES wurde in den 70er-Jahren von IBM entwickelt und ist ein internationaler Standard. Dadurch ist er sehr weit verbreitet, ist deshalb aber auch das am besten untersuchte Chiffrierverfahren.

DES ist eine Blockchiffrierung, die Daten in Blöcken von 64 Bit verschlüsselt. Der Algorithmus erhält als Eingabe einen Block von 64 Bit Klartext und liefert als Ausgabe 64 Bit Chiffretext. DES ist ein symmetrischer Algorithmus: Ver- und Entschlüsselung benutzen den gleichen Algorithmus und den gleichen Schlüssel. Die Schlüssellänge beträgt 56 Bit. Der Schlüssel wird zwar gewöhnlich als 64-Bit-Zahl ausgedrückt, doch dabei dient jedes achte Bit einer Paritätsprüfung und wird ignoriert. Diese Paritätsbits sind jeweils die niederwertigsten Bits der einzelnen Bytes des Schlüssels. Als Schlüssel kommt jede 56 Bit lange Zahl in Frage. Außerdem kann der Schlüssel jederzeit geändert werden. Einige Zahlen gelten als schwache Schlüssel, doch diese kann man leicht vermeiden. Die gesamte Sicherheit des Verfahrens beruht auf dem Schlüssel. Der Grundbaustein von DES basiert auf einer Substitution gefolgt von einer Permutation. Ein solcher Vorgang wird als Runde bezeichnet. DES arbeitet mit 16 Runden. Die gleiche Kombination von Verfahren wird sechzehnmal auf den Klartextblock angewandt.

DES arbeitet auf einem 64 Bit langen Block des Klartextes. Nach einer Eingangspermutation wird dieser Block in eine jeweils 32 Bit lange rechte und linke Hälfte zerlegt. Jetzt folgen 16 Runden identischer Operationen - die sogenannte Funktion f - in denen die Daten mit dem Schlüssel kombiniert werden. Nach der sechzehnten Runde werden rechte und linke Hälfte zusammengefügt. Eine Schlußpermutation, die zur Eingangspermutation invers ist, schließt den Algorithmus ab.

In jeder Runde werden die Bits des Schlüssels verschoben. Dann werden 48 Bit aus den 56 Bits des Schlüssels ausgewählt. Die rechte Hälfte der Daten wird mit Hilfe einer Expansionspermutation auf 48 Bit verbreitert, mittels XOR mit 48 Bits eines verschobenen und rotierten Schlüssels kombiniert, durch acht S-Boxen gesandt, die 32 neue Bits erzeugen, und schließlich wieder permutiert. Diese vier Operationen bilden zusammen die Funktion f. Die Ausgabe der Funktion f wird daraufhin mittels XOR mit der linken Hälfte kombiniert. Das Ergebnis dieser Operationen wird die neue rechte Hälfte, und die alte rechte Hälfte wird zur neuen linken Hälfte. Diese Operationen werden sechzehnmal wiederholt, woraus sich die 16 Runden von DES ergeben.

DES besitzt 64 schwache, halbschwache und möglicherweise schwache Schlüssel. Betrachtet man aber die Zahl der möglichen Schlüssel, so ist diese Zahl zu vernachlässigen.


Vorherige Seite Nächste Seite Inhalt