Feistelchiffre
Feistelchiffre, auch als Feistelnetzwerk bezeichnet, ist eine allgemeine Struktur, mit der Blockchiffren realisiert werden können. Ein Mitarbeiter von IBM, Horst Feistel, gilt als der Erfinder dieser Chiffre. Er arbeitete in den 1970er Jahren mit anderen am sog. Projekt „Lucifer“, dessen Ziel es war, eine effiziente Verschlüsselungstechnologie zu entwickeln. Die Feistelchiffre war später dann die Grundlage für den DES-Algorithmus.
Viele moderne symmetrische Verschlüsselungsalgorithmen basieren auf Feistelnetzwerken. Dies rührt daher, dass Blockverschlüsselungen, welche auf Feistelnetzwerken basieren, garantiert umkehrbar (bijektiv) sind. Damit ist die notwendige Grundbedingung für Blockchiffren erfüllt, dass es bei der Abbildung von Chiffreblöcken auf Klartextblöcke bei der Entschlüsselung zu keinen Mehrdeutigkeiten kommen darf. Weiterhin wurde diese Struktur von sehr vielen Kryptografen analysiert und für gut befunden.
Inhaltsverzeichnis |
[Bearbeiten] Arbeitsweise
Wie es der Name „Blockchiffre“ schon nahelegt, wird der Klartext zuerst in einzelne Blöcke zerlegt. Die Größe dieser Blöcke hängt vom jeweiligen Verschlüsselungsverfahren ab, oft ist sie ein Vielfaches von 64 Bit. Jeder dieser Blöcke wird dann in zwei (meist gleichgroße) Teile (
und
) geteilt und in
Runden mit verschiedenen Rundenschlüsseln verschlüsselt. Nach den Runden werden die Teile wieder zusammengesetzt. Innerhalb der
-ten Runde (
läuft von 1 bis
) wird folgende Formel angewendet:
Dabei bildet
die sog. Runden- oder Transformationsfunktion und
bis
sind die Rundenschlüssel.
steht für eine einfach invertierbare Verknüpfung. Oft nimmt man dafür das bitweise XOR, das mit seiner Umkehrung identisch ist, häufig auch Addition oder Subtraktion modulo
, die zur Entschlüsselung gegeneinander ausgetauscht werden.
ist dabei die Breite der Teile
bzw.
. Der verschlüsselte Text am Ende der Runden ist die Zusammenführung
.
Feistelnetzwerke ermöglichen eine Entschlüsselung, ohne dass die Umkehrfunktion von
benötigt wird. Will man einen Geheimtext dechiffrieren, wendet man die Umkehrung der obigen Formel an, wobei man
von
bis 1 laufen lässt:
ist dabei die Umkehrung zu
.
[Bearbeiten] Variante
Manche Verfahren verknüpfen auch die Rundenschlüssel direkt mit den Textteilen, und die Rundenfunktion
ist dann (meist) nicht vom Schlüssel abhängig:
und
stehen wiederum für (nicht unbedingt verschiedene) einfach invertierbare Verknüpfungen.
[Bearbeiten] Interner Zustand
Ein balanciertes Feistelnetzwerk (BFN) liegt dann vor, wenn die beiden Hälften, die in die Rundenfunktion eingehen, gleich groß sind. Von einem unbalancierten (nicht-balancierten) Feistelnetzwerk (UFN) spricht man, wenn entweder die beiden Hälften nicht gleich groß sind oder aus einem Block für die Rundenfunktion mehr als zwei Teile gebildet werden.
[Bearbeiten] Anwendungen
Feistelnetzwerke kommen u. a. in folgenden Chiffren zum Tragen:
[Bearbeiten] Weblinks
[Bearbeiten] Literatur
- Horst Feistel: Cryptography and Computer Privacy. In: Scientific American. 228, Nr. 5, Mai 1973, S. 15-23.





