Cryptography Reference
In-Depth Information
Die Teilschlüssel
Die Teil-Schlüssel k 1 , k 2 , … k 16 werden aus dem DES-Schlüssel k abgeleitet. Dazu wird die
Position der Binärstellen des DES-Schlüssels k zunächst vertauscht (Permutation). Die 56
wesentlichen Stellen werden in 2 mal 28 Bit aufgeteilt. Von Runde zu Runde erfolgt ein Links-
Shift zyklisch um eine oder zwei Stellen. Die Kästchen C i und D i bezeichnen nur Werte und
haben keine Funktion. In der „Bit-Selektion“ werden 48 von 56 Bit nach einem rundenspezifi-
schen Schema ausgewählt.
Verschlüsselung in 16 Runden
Die Verschlüsselung erfolgt mit den 16 Teilschlüsseln k 1 , k 2 , … k 16 . Der zu verschlüsselnde
Klartextblock wird nach einer Eingangs-Permutation P in einen linken Block L 0 und einen
rechten Block R 0 mit je 32 Bit aufgeteilt.
Der linke Block L r der nächsten Runde ist je gleich dem rechten Block R r1 seiner vorangehen-
den Runde.
L
R
r
1, 2, ...16
(2.2-4)
r
r
1
Die Kästchen L r und R r bezeichnen nur Werte und haben keine Funktion. Der rechte Block R r
der nächsten Runde ergibt sich aus dem linken Block L r1 und dem rechten Block R r1 seiner
vorangehenden Runde sowie dem Teil-Schlüssel k r .
RL
(R, k)
r
, , ... 6
(2.2-5)
r
r
1
r
1
r
Das Symbol
bezeichnet eine stellenweise (bitweise) Addition modulo 2 (ist identisch dem
Boole'schen Operator XOR). Die Funktion F bildet die 32 Binärstellen von R r1 und die 48
Binärstellen von k r auf 32 Binärstellen am Ausgang von F ab. Diese 32 Binärstellen am Aus-
gang F und die 32 Binärstellen von L r1 werden dann stellenweise modulo 2 addiert. Ein
Schema entsprechend (2.2-4) und (2.2-5) wird als „Feistel-Netzwerk“ [Fe73] bezeichnet. Die
Sicherheit des Verfahrens hängt jedoch hauptsächlich von den Nicht-Linearitäten in den S-
Boxen ab (siehe unten).
Nach der 16. Runde liefert eine Ausgangs-Permutation P i1 (invers zu P) den Chiffreblock. Er
umfasst, ebenso wie der Klartext-Block, 64 Binärstellen.
Entschlüsselung
Die Entschlüsselung (mit bekanntem DES-Schlüssel k) könnte in umgekehrter Reihenfolge,
d.h. in Abb. 2-4 vom Chiffre-Text unten zum Klartext oben durchgeführt werden. Die Aus-
gangs-Permutation wird dabei invers durchlaufen und ergibt die Blöcke L 16 und R 16 . Der Block
R 15 ist gleich L 16 . Damit sind die Eingänge und folglich der Ausgang der Funktion F der Run-
de 16 bekannt. R 16 entstand beim Verschlüsseln aus L 15 , indem der Ausgang von F modulo 2
addiert wurde. Wenn wir auf R 16 wiederum den Ausgang von F modulo 2 addieren, dann er-
halten wir wieder L 15 , (für Addition modulo 2 gilt a
a=0, (2.1-12) in Kap. 2.1). Formal erhal-
ten wir aus (2.2-5) für den Fall i=16:
R
F(R,k) L
F(R,k) F(R,k) L
(2.2-6)
16
15
16
15
15
16
15
16
15
Damit haben wir L 15 und R 15 aus L 16 und R 16 gewonnen. Für die weiteren Runden verfahren
wir entsprechend bis zu den Werten L 0 und R 0 . Wenn wir noch die Eingangs-Permutation
Search WWH ::




Custom Search