Triple DES
| Erhöhung der Sicherheit des DES-Verfahrens
| 56 Bit langen Schlüssel vergrößern
| DES-Verfahren mit weiterem Schlüssel auf
Chiffre-Text
| Produktchiffre |
|
|
mit zwei unabhängigen Schlüsseln gesicherte Chiffre, |
| 112 Bit-Schlüssel |
|
|
| Meet-in-the-Middle
| Angriff gegen derart einfache Produktchiffren
| zwei Chiffren A und B mit jeweils M bzw. N
Schlüsseln |
| nacheinander
ausgeführt |
| gegeben sei Klartext zu Chiffretext |
| Angreifer:
|
zu Klartext und allen M ersten Schlüsseln mit Chiffre A
Zwischenwerte |
| speichert diese; der Aufwand ist O(M). |
|
| gleiches für Umkehrung des zweiten Chiffreverfahren B
| Chiffretext als Eingabe; Aufwand O(N) |
|
| beide Listen mit Aufwand log(M)*M bzw. log(N)*N sortieren
|
| Aufwand O(N+M) vergleichen u. gleiche Elemente finden. |
| Schlüssel zu gleichen Elementen sind Schlüssel
der Produktchiffre |
| Gesamtaufwand ist O(2*(M+N+log(M)*M+log(N)*N)), |
| Speichplatzkomplexität von O(N+M). |
|
| Aufwand zur Dechiffrierung des doppelten DES
| N=M=256, O(2*(2*M+log(M)*M)) = O(2*(257+56*256)) = O(116*256). |
| Aufwand zum Finden der Schlüssel nur
116-fache des einfachen DES-Verfahrens, |
| nicht wie erwartet das 256-fache. |
|
|
| dreifaches DES-Verfahren,
|
derartigen Angriff nicht möglich. |
| zwei Schlüssel k1 und
k2 auf drei Chiffrierverfahren anwenden |
|
Chiffretext = Ek1Dk2Ek1(Klartext)
Klartext = Dk1Ek2Dk1(Chiffretext
)
| E das Verschlüsseln, D Entschlüsseln mit DES |
| Reihenfolge (von IBM) eingeführt, um bei gleichen Schlüsseln das einfache DES-Verfahren einsetzen zu
können. |
| Triple-DES in verschiedenen Standards
verwendet
| HBCI (home banking computer interface) |
|
| auch gegen dieses Verfahren Angriffstechniken
entwickelt
| Aufwand gegenüber Brute-Force-Angriff deutlich
verringert |
| Bruce Schneier (Angewandte
Kryptographie) empfiehlt
| drei verschiedenen Schlüssel |
| entstehendes Verfahren so sicher wie bei doppelter
Verschlüsselung |
|
|
| weitere Variante von Knudsen
| berechne drei verschiedene Schlüssel K1, K2, K3 aus
beiden gegebenen X1 und X2: |
| |
|
| K1 = EX1(DX2(EX1(T1))) |
| K2 = EX1(DX2(EX1(T2))) |
| K3 = EX1(DX2(EX1(T3))) |
| T1, T2, T3 bekannte Konstanten
| so sicher wie Klartextangriff |
|
|