Erzeugung der Rundenschlüssel
Wir benötigen für die Erzeugung der Rundenschlüssel folgende
Bausteine:
- Eine Funktion v(i),
v(i)=1 für i=1,2,9,16, v(i)=2 sonst.
- Eine Abbildung PC1, die einen Bitstring k der Länge 64 auf zwei
Bitstrings der Länge 28 abbildet.
Diese Abbildung wird gebildet gemäß der Tabelle PC1.
-
Eine Abbildung PC2, die zwei Bitstrings der Länge 28 auf eine Bitstring der Länge
48 abbildet.
Diese Abbildung wird gebildet gemäß der Tabelle PC2. Die Zahlen 29 bis 56 repräsentieren den zweiten String.
Man erhält die Rundenschlüssel aus dem 64-Bit Schlüssel k so:
-
Setze (C(0), D(0))=PC1(k)
-
Für i=1,...,16 setze C(i) auf den String, den man durch einen zirkulären Linksshift um v(i) Stellen aus
C(i-1) erhält. Analog setze D(i). Dann sei K(i):=PC2(C(i), D(i)).