Skipjack fut conçu par la NSA durant les années 1980 dans le cadre d'un projet du gouvernement américain relatif à une puce contenant des primitives cryptographiques, le Clipper chip. Elle était notamment destinée aux appareils électroniques vendus au grand public. La clé de chiffrement devait être fournie au gouvernement qui devenait ainsi capable d'écouter les communications si nécessaire.
Skipjack était l'algorithme employé pour le chiffrement au sein du Clipper chip, la puce était conçue pour résister aux modifications externes et permettait au gouvernement d'accéder aux données en clair grâce à un mécanisme nommé Law Enforcement Access Field (LEAF).
Le chiffrement de bloc était à l'origine secret. Cette attitude du gouvernement (qui va à l'encontre de ce qui se fait habituellement en cryptologie où la transparence est primordiale) alimentait la suspicion de la communauté scientifique à son égard. Devant les doutes des cryptologues, l'algorithme fut déclassifié le .
Évaluation
Pour confirmer la robustesse de l'algorithme alors qu'il était encore secret, plusieurs chercheurs académiques sans lien avec des agences gouvernementales furent mandatés afin de procéder à une évaluation en 1993. Les experts ne décelèrent pas de problèmes dans l'algorithme et l'évaluation se fit correctement. Le rapport de Breckell et al. donnait quelques indications sur l'algorithme classifié :
Skipjack est représentatif de la famille d'algorithmes de chiffrement développés en 1980 dans le cadre des algorithmes de la NSA de Type I. Skipjack fut conçu grâce à des techniques et des constructions remontant à plus de 40 ans. Plusieurs de ces techniques sont liées à des travaux qui furent évalués par des experts qui comptent parmi les meilleurs et les plus célèbres en combinatoire et en théorie des nombres. L'héritage le plus direct de Skipjack remonte à environ 1980 et sa structure initiale à 1987. Les structures spécifiques présentes dans Skipjack ont un long historique d'évaluations et les propriétés cryptographiques de ces structures avaient derrière elles plusieurs années d'études intenses avant que le processus de formalisation ne commence en 1987. -- traduction libre de « SKIPJACK Review, Interim Report, 1993. »
Description
Skipjack utilise une clé de chiffrement de 80 bits et travaille sur un bloc de 64 bits. Sa structure est basée sur un réseau de Feistel non-équilibré avec 32 tours.
Cryptanalyse
Eli Biham et Adi Shamir ont découvert en moins d'un jour une attaque sur 16 des 32 tours dès que la spécification fut déclassée. Avec l'appui d'Alex Biryukov, l'attaque a été étendue à 31 des 32 tours grâce à une cryptanalyse différentielle impossible. Il s'agit de la meilleure attaque à ce jour.
Biham, E., Biryukov, A., Shamir, A. (1999). « Cryptanalysis of Skipjack reduced to 31 rounds using impossible differentials. » EUROCRYPT 1999, pp12–23.