Rechnernetze
Home Nach oben Stichworte

Mathematische Grundlagen

Wir betrachten hier das DES-Verfahren für 4 Stufen (tatsächlich wird es für 16 Stufen durchgeführt). Der zu verschlüsselnde Text von 64 Bits wird in zwei Worte L und R zu jeweils 32 Bits zerlegt. Mit diesen Worten werden dann bitweise die folgenden Xor-Verknüpfungen durchgeführt.

Register L

Register R

P = IP(B) (Initiale Permutation)

L0 = P|links
L1 = R0
L2 = R1
L3 = R2
L4 = R3

Ro = P|rechts
R1 = L0 Ä f(R0,k1)
R2 = L1 Ä f(R1,k2)
R3 = L2 Ä f(R2,k3)
R4 = L3 Ä f(R3,k4)

C = IP-1(R4 L4)
P' = IP(C) = R4 L4

L'0 = R4
L'1 = R'0 = L4 = R3
L'2 = R'1 = L3 = R2
L'3 = R'2 = L2 = R1
L'4 = R'3 = L1 = R0

R'0 = L4
R'1 = L'0 Ä f(R'0,k4) = R4 Ä f(L4,k4) = L3
R'2 = L'1 Ä f(R'1,k3) = R3 Ä f(L3,k3) = L2
R'3 = L'2 Ä f(R'2,k2) = R2 Ä f(L2,k2) = L1
R'4 = L'3 Ä f(R'3,k1) = R1 Ä f(L1,k1) = L0

B = IP-1(L0 R0)

Hier ist C der Chiffretext; die gestrichenen Größen L'0 usw. erscheinen in der Dechiffrierung und haben dort die genannten Werte, die bereits während der Chiffrierung, wenn auch in entgegengesetzter Reihenfolge, aufgetreten sind. Dieses gilt wegen R4 Ä f(R3,k4) = L3 <=> L3 Ä f(R3,k4) = R4, wie man leicht nachprüft.

Die Funktion f hängt außer von dem Schlüssel auch von dem Zwischenstand der Kodierung (den Ri) ab; der Grund hierfür ist, dass sowohl kleine Änderungen im Schlüssel als auch kleine Änderungen im Klartext bereits große Änderungen im Chiffre bewirken sollen, um eine Analyse zu erschweren. Tests haben ergeben, dass dieses in der Regel der Fall ist. Ein mathematischer Beweis für dieses Verhalten ist jedoch nicht bekannt.