Feistel Network
Ein Feistel-Netzwerk ist eine symmetrische Struktur für Blockchiffren, die die Eingabe in linke und rechte Hälften teilt und in jeder Runde eine Hälfte mit der Rundenfunktion F transformiert und vertauscht; Ver- und Entschlüsselung teilen dieselbe Struktur.
Zweck
Sie erlaubt, dass die Rundenfunktion F eine beliebige nicht-bijektive Abbildung ist, ohne die Invertierbarkeit zu verlieren, vereinfacht Entwurf und Implementierung und lässt Ver- und Entschlüsselung Code teilen.
Mechanismus
Jede Runde: L_{i+1} = R_i, R_{i+1} = L_i XOR F(R_i, K_i). Die Entschlüsselung durchläuft dieselbe Struktur mit umgekehrter Rundenschlüsselreihenfolge. DES, 3DES, Blowfish und Twofish sind Feistel-Chiffren.
Anwendungsfälle
- Struktur von DES/3DES
- Entwurf von Blowfish/Twofish
- Allgemeiner Blockchiffre-Rahmen