Skipjack
# Skipjack

Skipjack gehört wie DES zu den symmetrischen Blockchiffren. Der Schlüssel besitzt eine feste Länge von 80 Bit. SkipJack wurde von der NSA in der Clipper-Initiative entwickelt und im Clipper-Chip (zur Sprachverschlüsselung) und Capstone-Chip (zur Datenverschlüsselung) implementiert. Die Forschungen, deren Resultat SkipJack darstellt, begannen etwa Anfang der 80er Jahre. 1987 wurde ein erstes Design erstellt, 1993 war der Algorithmus fertig.

Die Spezifikationen des Algorithmus wurden lange Zeit geheim gehalten und erst am 24. Juni 1998 freigegeben.

Der Skipjack-Algorithmus verwendet zur Verschlüsselung 32 Runden. Dabei finden zwei unterschiedliche Rundenfunktionen „Rule A“ und „Rule B“ Verwendung. Jede Runde ist als linear rückgekoppeltes Schieberegister mit einer zusätzlichen schlüsselabhängigen nichtlinearen G-Funktion definiert. Zusätzlich findet ein Counter Verwendung, welcher in jeder Runde hochgezählt wird. Der gesamte Algorithmus besteht aus 8 Runden nach „Rule A“, dann 8 Runden nach „Rule B“, gefolgt von abermals 8 Runden nach „Rule A“ und 8 Runden nach „Rule B“. Die schlüsselabhängige, nichtlineare G-Funktion bildet das Herzstück des Algorithmus. G bildet 16 Ein- auf 16 Ausgabe- bits ab. Hierbei wird ein vierrundiges Feistel-Netz mit einer als F-table bezeichneten festen Substitution (S-Box) verwendet, welche eine Permutation der Zahlen von 0 bis 255 enthält.

Wenige Stunden nach der Veröffentlichung publizierten mehrere Wissenschaftler – darunter Eli Biham und Adi Shamir – eine erste Analyse. Schon in ihrem ersten Beitrag „Initial Observations on the SkipJack Encryption Algorithm“ vom 25. Juni 1998 demonstrierten sie einen Angriff auf eine SkipJack-Variante mit auf 16 reduzierter Rundenzahl, welche schneller ist als das vollständige Absuchen des Schlüsselraumes. In den folgenden Tagen wurden die Angriffe weiter verbessert. Bereits nach dieser kurzen Analyse ergaben sich mehrere Kritikpunkte wie z. B. geringe Schlüssellänge von 80 Bit, erfolgreiche differentielle und lineare Angriffe gegen SkipJack mit reduzierter Rundenzahl und statistische Schwächen gegen Related-Key-Kryptoanalyse.

