Gehen beim Mappen von 6-Bit-Werten auf 4-Bit-Werte in den S-Boxen von DES keine Daten verloren? Wenn ja, wie können wir es umkehren, damit die richtige Ausgabe angezeigt wird?
Gehen beim Mappen von 6-Bit-Werten auf 4-Bit-Werte in den S-Boxen von DES keine Daten verloren? Wenn ja, wie können wir es umkehren, damit die richtige Ausgabe angezeigt wird?
Antworten:
DES ist eine Feistel-basierte Chiffre . In solchen Chiffren muss die Funktion nicht invertierbar sein. Hier ist der Grund:
In jeder Runde wird die folgende Operation angewendet:
Für
Die Entschlüsselung wird wie folgt durchgeführt:
Ohne auf das mathematische Hokuspokus über Feistel einzugehen (was ich noch nicht zu 100% verstehe), wenn man sich dieses Bild von Wikipedia anschaut:
Sie können sehen, dass die 8 s-Boxen zwar 48 Bit auf 32 komprimieren, aber nur 32 Bit Entropie aus dem Klartext stammen . Daher können Sie die anderen 16 Bit beim Entschlüsseln aus dem Schlüssel abrufen, was die Magie ist, die von ausgeführt wird zuvor erwähnte Feistelfunktionen.