Twofish

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Twofish
Résumé
Concepteur(s) Bruce Schneier, Niels Ferguson, John Kelsey, Doug Whiting, David Wagner et Chris Hall
Première publication 2000
Dérivé de Blowfish
Chiffrement(s) basé(s) sur cet algorithme Aucun
Caractéristiques
Taille(s) du bloc 128 bits
Longueur(s) de la clé 128, 192, 256 bits
Structure schéma de Feistel, pseudo-transformation de Hadamard
Nombre de tours 16 tours
Meilleure cryptanalyse
Attaques sur des versions de 5, 6 et 7 tours.

Twofish est un algorithme de chiffrement symétrique par bloc inventé et analysé par Bruce Schneier, Niels Ferguson, John Kelsey, Doug Whiting, David Wagner et Chris Hall.

Il chiffre des blocs de 128 bits avec une clé de 128, 192 ou 256 bits. Twofish était l'un des cinq finalistes du concours AES mais il n'a pas été sélectionné pour le standard. Il reprend en partie des concepts présents dans le populaire Blowfish, du même auteur.

Les particularités de Twofish sont :

  • une préparation des clés internes relativement complexe
  • un calcul des boîtes de substitution (S-Box) en fonction de la clé
  • utilisation d'une diffusion efficace via la pseudo-transformation de Hadamard (PHT), celle-ci provient de la famille des chiffrements SAFER.
  • utilisation d'un schéma de Feistel comme celui de DES avec 16 rondes

Cryptanalyse et performances[modifier | modifier le code]

Twofish est légèrement plus lent que Rijndael mais plus rapide que les autres finalistes d'AES. Il surpasse Rijndael avec une clé de 256 bits. Twofish a été conçu pour être implanté dans des cartes à puce et d'autres systèmes embarqués. Sur un Pentium, une implémentation optimisée en assembleur permet de chiffrer un bloc de 128 bits en 18 coups d'horloge (16,1 coups d'horloge sur un Pentium Pro).

En 2005, aucune attaque n'a pu être appliquée sur la version complète de Twofish. La recherche exhaustive reste le seul moyen pour le casser. Il semble en tout cas plus résistant que ce qui avait été initialement annoncé durant le concours AES. De par sa complexité, la cryptanalyse de cet algorithme reste délicate. Ses concepteurs ont eux-mêmes publié des attaques sur des versions à 6 et 7 rondes. Une attaque sur 5 rondes a une complexité de 251. Malgré ses atouts, il reste relativement peu utilisé et a été supplanté par le gagnant de AES, Rijndael. Il n'en demeure pas moins une alternative séduisante à l'actuel AES si celui-ci devenait vulnérable.

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]