Die 6-Bit Blöcke durchlaufen verschiedene Substitutionsboxen (S-Boxen)
Jede S-Box (S1 … S8) beinhaltet 64 Einträge und erwartet einen 6-Bit Eingang und produziert einen 4-Bit Ausgang
Höchst- und Niedrigwerteste Bit bestimmen die Reihe; die vier inneren Bits die Spalte
Wichtigkeit der S-Boxen
DES NIST Standards
S-Boxen sind der kryptografische Kern von DES
Sie erzeugen Konfusion aufgrund einer nicht-linearen Abbildung, d.h.:
S(a) \oplus S(b) \neq S(a \oplus b)
Es gibt verschiedene Kriterien die eine S-Box erfüllen muss, um als sicher zu gelten
Diese Kriterien betreffen größtenteils Regeln für das Abbilden von Eingangs- zu Ausgangsbits
Alle S-Boxen einsehbar auf Seite 17 des DES NIST Standards
Permutation in der f-Funktion
Führt ebenfalls Diffusion ein, da die 4 Ausgangsbits der S-Boxen jeweils mehrere S-Boxen in der nächsten Runde beeinflussen
Durch die Diffusion der E-Box, S-Boxen, und Permutation ist garantiert, dass jedes Bit am Ende der 5. Runde eine Funktion von jedem Bit des Klartextes und des Schlüssels ist; der sogenannte Avalanche-Effekt
DES Schlüsselfahrplan
Permutated Choice 1
Ignoriert jedes 8. Bit; das 8. Bit wurde als ungerades Paritätsbit verwendet
Es wird ebenfalls gemäß vorgegebener Tabelle (s. PC-1 auf Seite 19 DES NIST Standard) permutiert
Der 56-Bit Block wird in 2 Teile aufgeteilt
Left Shift
LS1 … LS{16} verschieben um 1 oder 2 Bits:
1 Bit in Runde 1, 2, 9, 16
2 Bits in allen anderen Runden
Left shift ist etwas irreführend; tatsächlich ein left rotate
Left shift findet getrennt in Ci und Di statt
C0 = C{16} und D0 = D{16}
Wichtig für Entschlüsselung
Permutated Choice 2
Erzeugt den 48-Bit Rundenschlüssel
Es wird ebenfalls gemäß vorgegebener Tabelle (s. PC-2 auf Seite 21 DES NIST Standard) permutiert
Prinzip der DES Entschlüsselung
Im umgekehrten Schlüsselfahrplan wird rechts rotiert (statt links)
Im Wesentlichen dieselbe Operation wie die Verschlüsselung aufgrund der Feistel-Struktur:
Mittels IP wird die Ausgangspermutation rückgängig gemacht
Die 1. Runde der Entschlüsselung ist die inverse Operation der 16. Runde der Verschlüsselung
Die 2. Runde der Entschlüsselung ist die inverse Operation der 15. Runde der Verschlüsselung
…
Die 16. Runde der Entschlüsselung ist die inverse Operation der 1. Runde der Verschlüsselung
Diskussion (Entschlüsselung)
Transformation 16
L{16}, R{16}
Ausgangspermutation IP^{-1}
Chiffrat y = DES_k(x)
L{15}, R{15}
f
k_{16}
Abschließende Bemerkungen zu DES
Mathematische Schwachstellen wurden nicht gefunden, insb. die S-Boxen sind sicher und robust gewählt worden
Brute-Force-Angriff ist aber aus heutiger Sicht und mit heutiger Hardware relativ leicht (in Stunden) durchführbar
Der Schlüssel in DES ist zu kurz
Triple-DES (112 Bit effektiver Schlüssellänge) erschwert Brute-Force