Rechnernetze
Home Nach oben Stichworte

Chiffrierung und Dechiffrierung beim DES

Die Chiffrierung und Dechiffrierung beim DES Verfahren setzt sich im wesentlichen aus den folgenden Schritten zusammen.

DES.WMF (13810 Byte)

Der 64 Bit-Eingabeblock B wird zuerst einer initialen Permutation IP unterworfen. Man erhält B0 = IP(B).

Anschließend durchläuft B0 eine Folge von 16 Iterationen einer Funktion f; dazu wird B0 zunächst in zwei gleich lange Hälften B0=L0R0 zerlegt und in jeder Iteration gerechnet
    Li=Ri-1
    Ri = Li-1 Ä f(Ri-1,ki)

Die linke Hälfte wird durch eine logische Antivalenz (XOR: Ä) mit dem Ergebnis einer aus mehreren Substitutionen und Permutationen bestehenden Funktion f verknüpft, die sowohl von der rechten Hälfte Ri-1 als auch von einem 48 Bits langen Schlüssel ki abhängt. Der Schlüssel wird in jedem Iterationsschritt durch eine Auswahlfunktion aus dem 56 Bits langen Gesamtschlüssel ausgewählt.

Zuletzt wird die inverse Transposition des ersten Schritts auf die resultierende Zeichenreihen angewendet.

Zur Umkehrung einer Verschlüsselung wird im wesentlichen der gleiche Algorithmus angewendet, wobei jedoch die Schlüssel ki in umgekehrter Reihenfolge verwendet werden. Dazu sind lediglich die letzten Formeln umzustellen.

Ri-1 = Li

Li-1 = Ri Ä f(Li,ki)

wobei verwendet wurde, daß (aÄb=c)<=>(a=bÄc) ist. Da hier R und L vertauschte Rollen übernehmen, ist am Ende der letzten Verschlüsselungsoperation eine Vertauschung durchzuführen. Genaueres hierzu findet man in den Grundlagen.

Beim DES wurde auf die Auswahl einer geeigneten Funktion f sehr großen Wert gelegt. Die 56 Bits des Schlüssels werden zunächst in zwei 28 Bit-Schieberegistern permutiert, und diese dann in ein 48 Bit Register übergeben. In jeder der 16 Stufen werden die Schieberegister um eine bestimmte, jedoch unterschiedliche Anzahl von Bits zyklisch verschoben, so dass jedes Mal ein neuer Schlüssel ki entsteht. Die 32 Bits von Ri-1 werden durch eine entsprechende Schaltung auf 48 Bits expandiert und permutiert, und diese mit dem Schlüssel ki verknüpft (XOR). Jeweils sechs Bits werden dann einer von 8 Substitutionsboxen zugeführt, welche feste Abbildungen auf 4 Bits an ihrem Ausgang liefern. Die so entstehenden 4.8=32 Bits bilden nach einer weiteren festen Permutation das Ergebnis der Funktion f.