Hi,
Was passiert denn in den einzelnen Runden (16 Runden)?
Meinst du was in der F Funktion oder in der Runde passiert? Die Rundenstruktur ist ja ganz schön hier dargestellt. Wenn du da etwas nicht verstehst solltest du das konkretisieren.
Was hat das mit den S-Boxen auf sich?
Eine Sbox ist nichts anderes als eine Tabelle, die alle Zahlen einer bestimmte Länge auf eine andere Zahl einer bestimmten Länge abbildet.
Wenn ich z.B. alle 2 Bit Zahlen auf 1 Bit Zahlen abbilden will, könnte das so aussehen:
00->0
01->1
10->1
11->0
Im Fall der DES Sboxen werden immer 6 Bit auf 4 Bit abgebildet.
Da man mit 6 Bit 64 verschiedene Zahlen darstellen kann, bestehen die SBoxen aus 64x4 Bit, so dass für jeden möglichen Eingangswert ein 4 Bit Ausgangswert vorhanden ist.
Angeordnet sind die SBoxen in einer Tabelle mit 16 Spalten und 4 Zeilen. Möchtest du einen 6 Bit Wert substituieren, musst mit den mittleren 4 Bit des Wertes die Spalte und mit den äußeren 2 Bit die Zeile auswählen. Die Ausgabe ist dann der 4 Bit Wert der an dieser Stelle in der Tabelle steht.
Es existieren 8 verschiedene Sboxen. In der F Funktion werden die 32 Eingangsbit erst auf 48 Bits erweitert (s. hier) und dann werden jeweils 6 Bit mit den Sboxen substituiert, so dass der Ausgang der F Funktion wieder 8x4=32 Bit sind.
Was bedeutet IP hoch -1
(IP=Intital Permutation)?
IP ist eine Permutation, also eine Funktion die die Positionen einzelner Bits vertauscht.
Während wir für die Substitution für jeden möglichen Eingabewert einen Ausgabewert zugeordnet haben, wird hier jeder Position an der ein Bit steht eine Ausgangsposition zugeordnet.
Das kann dann für 4 Bit Zahlen so aussehen:
Pos0->:stuck_out_tongue_winking_eye:os3
Pos1->:stuck_out_tongue_winking_eye:os2
Pos2->:stuck_out_tongue_winking_eye:os0
Pos3->:stuck_out_tongue_winking_eye:os1
Aus 0110 würde dann 1010
Das „hoch -1“ beschreibt die inverse Permutation, also die Funktion, die die erste Funktion rückgängig macht.
Für das Beispiel sähe die inverse Permutation so aus:
Pos0->:stuck_out_tongue_winking_eye:os2
Pos1->:stuck_out_tongue_winking_eye:os3
Pos2->:stuck_out_tongue_winking_eye:os1
Pos3->:stuck_out_tongue_winking_eye:os0
Aus 1010 würde dann wieder 0110
Gruß
rantanplan
P.S.: Finde den Wikipedia Artikel zu dem Thema übrigens gar nicht so schlecht. Wobei die Bilder im englischen Wiki Artikel meiner Meinung nach besser sind. Wenn du konkrete Fragen zu dem Artikel hast, kannst du ja auch nochmal hier nachfragen.