Feistel

Horst Feistel entwickelte 1973 ein Schema zur Verschlüsselung, das für beinahe alle Blockverschlüsselungsverfahren angewendet wird.

Das Schema wird nach Stallings geschildert ([STA1] p. 44)

Als Eingabe dient ein Klartext der Länge 2w und ein Schlüssel K0 .

Der Schlüssel durchläuft einen Algorithmus.
Es entsteht der Unterschlüssel K1

Der Klartextblock wird in L0 und R0 aufgeteilt

R0 durchläuft die sog. Rundenfunktion F().

F() ist abhängig von Ki.

Das Ergebnis F(R0,K1) wird mit L0 kombiniert (XOR).

Diese Kombination liefert das neue L0,das als Eingabe R1 für die zweite Runde dient.

R0 dient als Eingabe L1 für die zweite Runde.

Die zweite Runde wird mit R1, L1 und K2 durchlaufen.

Die i+1-te Runde wird mit Ri, Li und Ki+1durchlaufen.


Notwendig sind also

  1. Ein Schlüssel K0
  2. Ein Algorithmus zur Erzeugung von Unterschlüsseln
  3. Eine Rundenfunktion F
  4. Eine Implementation (Hard-/Software) zur Realisierung des Ablaufs.

Die Anzahl der Runden erhöht die Sicherheit, aber auch die Rechenzeit.