Feistelchiffre

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

Arbeitsweise

Struktur eines Feistelchiffre

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 (L1 und R1) geteilt und in n Runden mit verschiedenen Rundenschlüsseln verschlüsselt. Nach den Runden werden die Teile wieder zusammengesetzt. Innerhalb der i-ten Runde (i läuft von 1 bis n) wird folgende Formel angewendet:

L_{i+1} \!\, = R_i
R_{i+1} \!\, = L_i \oplus F(R_i, K_i)

Dabei bildet F die sog. Runden- oder Transformationsfunktion und K1 bis Kn sind die Rundenschlüssel. \oplus 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 2e, die zur Entschlüsselung gegeneinander ausgetauscht werden. e ist dabei die Breite der Teile Li bzw. Ri. Der verschlüsselte Text am Ende der Runden ist die Zusammenführung C = \left(L_{n+1},R_{n+1}\right).

Feistelnetzwerke ermöglichen eine Entschlüsselung, ohne dass die Umkehrfunktion von F benötigt wird. Will man einen Geheimtext dechiffrieren, wendet man die Umkehrung der obigen Formel an, wobei man i von n bis 1 laufen lässt:

R_i \!\, = L_{i+1}
L_i \!\, = R_{i+1}\ominus F(L_{i+1}, K_i)

\ominus ist dabei die Umkehrung zu \oplus.

Variante

Manche Verfahren verknüpfen auch die Rundenschlüssel direkt mit den Textteilen, und die Rundenfunktion F ist dann (meist) nicht vom Schlüssel abhängig:

L_{i+1} \!\, = R_i \circ K_i
R_{i+1} \!\, = L_i \oplus F(L_{i+1})

\oplus und \circ stehen wiederum für (nicht unbedingt verschiedene) einfach invertierbare Verknüpfungen.

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.

Anwendungen

Feistelnetzwerke kommen u. a. in folgenden Chiffren zum Tragen:

Weblinks

Literatur


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР
Synonyme:

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Feistel-Chiffre — 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… …   Deutsch Wikipedia

  • Feistelnetzwerk — 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… …   Deutsch Wikipedia

  • Blockverschlüsselung — Eine Blockverschlüsselung, auch Blockchiffre genannt, ist ein Verschlüsselungsverfahren, bei dem der Klartext in eine Folge gleichlanger Blöcke zerlegt wird, wobei die Blöcke anschließend unabhängig voneinander mit dem gleichen Schlüssel… …   Deutsch Wikipedia

  • XTEA — Zwei Feistel Runden (ein Zyklus) von XTEA Entwickler Roger Needham, David Wheeler Veröffentlicht 1997 Abgeleitet von …   Deutsch Wikipedia

  • 3DES — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • DEA1 — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • DESede — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • Data Encryption Algorithm — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • Deep Crack — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

  • FIPS 46 — DES Eine Feistel Runde (F Funktion) Entwickler IBM Veröffentlicht 1975 Abgeleitet von Lucifer …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”