Feistel-Netzwerke: Bausteine moderner Chiffren
Verstehen Sie die Feistel-Struktur, auf der DES und viele moderne Blockchiffren aufbauen.
Feistel-Netzwerke: Bausteine moderner Chiffren ist eine kostenlose Cryptology Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cryptology Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
Die Erkenntnis von Horst Feistel bei IBM
Anfang der 1970er-Jahre arbeitete Horst Feistel bei IBM Research an der Lucifer-Chiffre, als er eine grundlegende Erkenntnis entwickelte: Man kann eine umkehrbare Chiffre mit einer nicht umkehrbaren Rundenfunktion aufbauen.
Das war revolutionär, weil es schwierig ist, Funktionen zu entwerfen, die zugleich umkehrbar und sicher sind. Feistels Konstruktion umgeht diese Anforderung vollständig und ermöglicht den Einsatz beliebig komplexer, einseitiger Rundenfunktionen.
Die Teilen-und-Mischen-Struktur
Bei einer Feistel-Chiffre wird der Eingabeblock in zwei gleich große Hälften geteilt: L (links) und R (rechts). In jeder Runde wird die Rundenfunktion F auf R angewendet, das Ergebnis mit L per XOR verknüpft und anschließend werden die Hälften vertauscht.
Nach n Runden werden die beiden Hälften wieder zusammengefügt, um den Geheimtext zu erzeugen. Durch das Vertauschen werden beide Hälften in abwechselnden Runden verarbeitet und gründlich durchmischt.
Die Rundenfunktion F
Die Rundenfunktion F in einem Feistel-Netzwerk nimmt die rechte Hälfte und den Rundenschlüssel als Eingaben und erzeugt eine Ausgabe, die per XOR mit der linken Hälfte verknüpft wird. Entscheidend ist, dass F nicht umkehrbar sein muss.
F kann beliebig komplex sein: Jede Kombination aus Substitutionen, Permutationen, XOR-Operationen und modularer Arithmetik ist möglich. Je komplexer und nichtlinearer F ist, desto stärker ist die Chiffre, da die Entschlüsselung F niemals umkehren muss.
So funktioniert die Entschlüsselung bei Feistel
Die Entschlüsselung einer Feistel-Chiffre verwendet exakt dieselbe Struktur wie die Verschlüsselung, wendet die Rundenschlüssel jedoch in umgekehrter Reihenfolge an. Das ist möglich, weil XOR seine eigene Umkehrung ist: Wenn A XOR B = C gilt, dann gilt C XOR B = A.
Da die Entschlüsselung niemals F^-1, also die Umkehrung von F, aufruft, kann die Rundenfunktion ein irreversibler Hash, eine Nachschlagetabelle oder eine beliebig komplexe Operation sein, ohne die Umkehrbarkeit der Chiffre zu beeinträchtigen.
Warum sich Feistel-Netzwerke leicht umkehren lassen
Die mathematische Eleganz von Feistel-Netzwerken besteht darin, dass die XOR-Struktur unabhängig von der Funktionsweise von F die Umkehrbarkeit garantiert. Selbst wenn F eine Einwegfunktion wie SHA-256 ist, bleibt die gesamte Feistel-Chiffre umkehrbar.
Das macht Feistel-Chiffren äußerst flexibel. Kryptografen können sich vollständig darauf konzentrieren, F möglichst verwirrend und diffusiv zu gestalten, da die Umkehrbarkeit bereits durch die Netzwerkstruktur selbst gewährleistet wird.
DES als Feistel-Chiffre mit 16 Runden
Der 1977 veröffentlichte Data Encryption Standard (DES) ist eine Feistel-Chiffre mit 16 Runden, die auf 64-Bit-Blöcken mit einem 56-Bit-Schlüssel arbeitet. Jede Runde verwendet einen anderen 48-Bit-Unterschlüssel, der aus dem Hauptschlüssel abgeleitet wird.
Die Rundenfunktion von DES umfasst eine Expansionspermutation, eine XOR-Verknüpfung mit dem Unterschlüssel, acht S-Boxen für die Nichtlinearität und eine P-Box-Permutation. Diese Kombination liefert sowohl Konfusion als auch Diffusion, wie es die Prinzipien von Shannons Chiffrenentwurf verlangen.
Blowfish und Twofish
Blowfish, 1993 von Bruce Schneier entwickelt, ist eine Feistel-Chiffre mit variabler Schlüssellänge (32–448 Bit) und 16 Runden. Sie verwendet schlüsselabhängige S-Boxen, wodurch vorberechnete Angriffe unpraktikabel werden.
Twofish, ein Finalist im AES-Wettbewerb, erweitert die Ideen von Blowfish um 128-Bit-Blöcke und 16 Runden. Beide gelten weiterhin als ungebrochen und werden in Anwendungen wie dem Passwort-Hashing mit bcrypt verwendet, das eine modifizierte Version von Blowfish nutzt.
Ausgeglichene und unausgeglichene Feistel-Netzwerke
Eine ausgeglichene Feistel-Chiffre teilt den Block in zwei gleich große Hälften. Bei einem unausgeglichenen Feistel-Netzwerk sind die Hälften unterschiedlich groß, etwa im Verhältnis 3/4 zu 1/4.
Unausgeglichene Feistel-Netzwerke können in bestimmten Kontexten Sicherheitsvorteile bieten und werden in einigen spezialisierten Chiffren eingesetzt. Die Chiffrenfamilie CAST verwendet eine ausgeglichene 64-Bit-Feistel-Struktur.
Der Satz von Luby und Rackoff
Michael Luby und Charles Rackoff bewiesen 1988, dass ein Feistel-Netzwerk mit drei Runden und pseudorandomisierten Rundenfunktionen eine sichere pseudorandomisierte Permutation (PRP) ist und eine Version mit vier Runden eine starke PRP darstellt.
Dieses theoretische Ergebnis gab Feistel-Netzwerken eine solide, beweisbare Sicherheitsgrundlage statt lediglich empirischer Zuverlässigkeit. Es bestätigte, dass die Feistel-Struktur selbst über die Rundenfunktion hinaus zur Sicherheit beiträgt.
Feistel und SPN: Warum AES SPN verwendet
Das von AES verwendete Substitutions-Permutations-Netzwerk (SPN) wendet Substitution und Permutation gleichzeitig auf den gesamten Block an, statt in jeder Runde nur auf eine Blockhälfte. Dadurch wird eine schnellere Diffusion erreicht.
AES erreicht bereits nach vier Runden eine vollständige Diffusion, während die Feistel-Struktur von DES für eine vergleichbare Diffusion mehr Runden benötigt. AES' SPN eignet sich außerdem besser für moderne Prozessorarchitekturen mit SIMD-Befehlen.
Sicherheitsbeweise und das Random-Oracle-Modell
Der Satz von Luby und Rackoff behandelt die Rundenfunktion F als eine wirklich zufällige Funktion. In der Praxis ist F jedoch eine pseudorandomisierte Funktion, also eine schlüsselabhängige Chiffre oder ein Hash, und kein echtes Random Oracle.
Diese Lücke zwischen theoretischen Beweisen und praktischen Implementierungen ist ein wiederkehrendes Thema in der Kryptografie. Beweise schaffen Vertrauen, beruhen jedoch auf idealisierten Modellen. Die Sicherheit in der Praxis hängt außerdem von sicheren Implementierungen ohne Seitenkanal-Schwachstellen ab.
Quiz zur Feistel-Struktur
Testen Sie Ihr Verständnis des Entwurfs von Feistel-Netzwerken.
Wichtigste Erkenntnisse: Feistel-Netzwerke
Feistel-Netzwerke sind Strukturen für Blockchiffren, die eine Rundenfunktion verwenden, die nicht umkehrbar sein muss. Die Entschlüsselung erfolgt, indem dieselbe Struktur mit den Unterschlüsseln in umgekehrter Reihenfolge ausgeführt wird.
DES, Blowfish und Twofish sind allesamt Feistel-Chiffren. Der Satz von Luby und Rackoff liefert theoretische Sicherheitsgarantien. AES verwendet stattdessen eine SPN-Struktur und bietet pro Runde eine bessere Diffusion.
Häufig gestellte Fragen
Ist die Lektion „Feistel-Netzwerke: Bausteine moderner Chiffren“ kostenlos?
Ja — der vollständige Text von „Feistel-Netzwerke: Bausteine moderner Chiffren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cryptology Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cryptology Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Feistel-Netzwerke: Bausteine moderner Chiffren“?
Verstehen Sie die Feistel-Struktur, auf der DES und viele moderne Blockchiffren aufbauen. Du übst Cryptology Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cryptology Academy zu starten?
Keine Vorkenntnisse erforderlich. Cryptology Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Feistel-Netzwerke: Bausteine moderner Chiffren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cryptology Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cryptology Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Die Playfair-Chiffre
- ADFGVX und Fraktionierung
- Beaufort- und Running-Key-Chiffren
- Feistel-Netzwerke: Bausteine moderner Chiffren