Das Feistel-Netzwerk geht auf den IBM-Entwickler Horst Feistel zurück und wurde in den 70'er Jahren im Rahmen des Projektes `Lucifer' (aus dem später das DES-Verfahren hervorging) entwickelt.
Zuerst wird der Klartext in Blöcke zerlegt. Jeder Block wird dann in zwei Teilblöcke zerlegt, in mehreren Runden verschlüsselt und anschließend wieder zusammengesetzt. Für jede Runde wird dabei ein neuer Schlüssel generiert. Ausgangspunkt für die Generierung ist der geheime Schlüssel S. Die Zusammensetzung aller Geheimtextblöcke ergibt den Geheimtext (Chiffre).
Grafisch läßt sich ein Feistel-Netzwerk so darstellen:
Der gelbe Bereich stellt die i-te Runde eines Feistel-Netzwerkes für die Verschlüsselung eines Blockes aus dem Klartext dar. Für eine effektive Implementierung wird für die Verknüpfungsfunktion in der Regel die XOR-Funktion gewählt, die sich leicht in Hardware realisieren läßt. Die Transformationsfunktion f bildet in Abhängigkeit vom Schlüssel für die jeweilige Runde einen Halbblock auf einen Halbblock ab.
Bei der richtigen Wahl von f und K genügen schon wenige Runden (5 Runden bei DES), um jedes Bit aus dem Klartextblock von jedem Bit des Schlüssels abhängig zu machen. Diesen Effekt nennt man `Lawineneffekt'. Er bewirkt, daß kein Bit des Klartextes oder des Schlüssels ohne gravierende Änderungen des Geheimtextes variiert werden kann.
Die hervorragende Eigenschaft eines Feistel-Netzwerkes ist dabei, daß Verschlüsselung und Entschlüsselung nicht getrennt implementiert werden müssen, da die Verschlüsselung mit f durch Vertauschung der Rundenschlüssel umkehrbar ist.
Die bekanntesten Verschlüsselungsverfahren, die Feistel-Netzwerke verwenden sind: