Cryptography Reference
In-Depth Information
2.2.3
Triple-DES
Der DES-Algorithmus mit einer Schlüssellänge von 56 Bit kann nicht mehr empfohlen wer-
den, nicht wegen seiner Qualität, sondern wegen seiner Schlüssellänge. Durch einen Brute-
Force-Angriff, d.h. durch Ausprobieren von maximal 2
56
Schlüsseln, konnte im Jahr 1998 ein
56-Bit-DES-Schlüssel innerhalb von 56 Stunden (bzw. 1999 in 22 Stunden) gebrochen werde.
Um den DES-Algorithmus doch noch weiter verwenden zu können, wurde der Triple-DES
(auch „3DES“ genannt) eingeführt. Dabei werden drei DES-Verschlüsselungen mit den Stufen
1, 2 und 3 kaskadiert. Diese Kaskadierung wird auch als Mehrfachverschlüsselung bezeichnet.
Zwei DES-Schlüssel k
left
und k
right
bilden einen Triple-DES-Gesamtschlüssel k = (k
left
, k
right
),
der 2·56 = 112 Bit umfasst. In Stufe 2 wird k
right
verwendet und k
left
wird in Stufe 1 und 3 dop-
pelt verwendet, Abb. 2-6.
64 Bit Klartext m
i
k
left
1
DES
c1
i
2
k
right
DES
-1
c2
i
3
k
left
DES
Abb. 2-6: Triple-DES,
Klartext m
i
,
Verschlüsselung mit den drei Stufen 1,
2 und 3, der Chiffre-Text ist c
i
3=c
i
.
64 Bit Chiffre c 3 = c
i
i
k
left
3*
DES
-1
Entschlüsselung mit den drei Stufen 3*,
2*, 1*, es entsteht wieder der Klartext
m
i
*=m
i
.
c2*
i
k
right
2*
DES
c1*
i
DES und DES
1
mit jeweils dem glei-
chen Schlüssel sind zueinander inverse
Algorithmen, z.B. gilt für die Stufen 3
bzw. 3*:
DES
1
(k
left
, DES(k
left
, x))=x.
1*
k
left
DES
-1
_____
112 Bit
64 Bit Klartext m * = m
i
i
Die Algorithmen DES
1
und DES mit jeweils dem gleichen Schlüssel k
left
oder k
right
, sind zuei-
nander inverse Algorithmen. Bei der Entschlüsselung werden die drei Stufen in inverser Rei-
henfolge und mit den inversen Algorithmen durchlaufen. Z.B. heben sich DES(k
left
) in Stufe 3
der Verschlüsselung und DES
1
(k
left
) in Stufe 3* der Entschlüsselung gegenseitig auf, so dass
die Werte c
i
2 und c
i
2* in Abb. 2-6 gleich sind. Entsprechendes gilt für die Werte von c
i
1 und
c
i
1*.
Verschlüsselung und Entschlüsselung für Triple-DES lauten entsprechend formal:
1
c
3DES(k, m )
DES(k
, DES
(k
, DES(k
, m )))
(2.2-7)
i
i
left
right
left
i