S-Box
Eine S-Box (Kurzbezeichnung für substitution box, Substitionsbox) ist ein Verfahren, mit dem ein Block aus einer bestimmten Anzahl von Eingangs-Bits durch dieselbe Anzahl von Ausgangs-Bits nach einem bestimmten Schema ersetzt wird. Dazu kann man sich eine Ersetzungstabelle vorstellen, welche entweder statisch definiert und hinterlegt oder dynamisch z. B. anhand des Schlüssels berechnet wird.Beispiel Ersetzungstabelle S-Box:
------------------- Mittlere 4 Bits (2., 3., 4., 5.) des Eingabewertes -----------------------
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
00 0010 1100 0100 0001 0111 1010 1011 0110 1000 0101 0011 1111 1101 0000 1110 1001
01 1110 1011 0010 1100 0100 0111 1101 0001 0101 0000 1111 1100 0011 1001 1000 0110
10 0100 0010 0001 1011 1100 1101 0111 1000 1111 1001 1100 0101 0110 0011 0000 1110
11 1011 1000 1100 0111 0001 1110 0010 1101 0110 1111 0000 1001 1010 0100 0101 0011
^---- 1. Bit
^--- 6. Bit
Beispielhafter Ablauf mit Eingangs-Bits 100110:Man zerteilt den Klartext in Blöcke zu je 4 Bit (1 Halbbyte). Dann nimmt man z. B. zu jedem 4-Bit Block das letzte Bit des Vorgängers und das erste Bit des Nachfolgers, um 6 Bits zu erhalten. Nun schaut man in der Tabelle in der Zeile dieser zwei aüßeren Bits 10 und sucht dort die 4 mittleren Bits 0011 und erhält so 1011 als Ausgangs-Bits.
S-Boxen werden z. B. angewendet in: