Skipjack (cryptographie)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Skipjack.
Skipjack
Résumé
Concepteur(s) NSA
Première publication déclassification en 1998
Dérivé de Aucun
Chiffrement(s) basé(s) sur cet algorithme Aucun
Caractéristiques
Taille(s) du bloc 64 bits
Longueur(s) de la clé 80 bits
Structure réseau de Feistel non-équilibré
Nombre de tours 32
Meilleure cryptanalyse
cryptanalyse différentielle impossible par Eli Biham, Adi Shamir et Alex Biryukov

Skipjack est un algorithme de chiffrement par bloc conçu par la NSA durant les années 1980 et resté secret jusqu'en 1998 où il fut déclassifié. Il était destiné à un usage au sein de la controversée puce Clipper.

Histoire[modifier | modifier le code]

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 24 juin 1998.

Évaluation[modifier | modifier le code]

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[modifier | modifier le code]

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[modifier | modifier le code]

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.

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  • Biham, E., Biryukov, A., Shamir, A. (1999). « Cryptanalysis of Skipjack reduced to 31 rounds using impossible differentials. » EUROCRYPT 1999, pp12–23.
  • E.F.Brickell, D.E.Denning, S.T.Kent, D.P.Mahler, W.Tuchman, "SKIPJACK Review ", Interim Report, July 28, (1993), 8 pages. Disponible sur : http://www.cs.georgetown.edu/~denning/crypto/clipper/SKIPJACK.txt

Liens externes[modifier | modifier le code]