CyberGlossary

Cryptographie

Twofish

Définition

Chiffrement symétrique à blocs de 128 bits et clés 128/192/256 bits conçu par Schneier et al., finaliste du concours AES ; solide mais peu utilisé, AES s'étant imposé.

Twofish est un chiffrement par blocs de type Feistel à 16 tours, blocs de 128 bits et clés de 128, 192 ou 256 bits, conçu par Bruce Schneier, Niels Ferguson, John Kelsey, Doug Whiting, David Wagner et Chris Hall. Il fut l'un des cinq finalistes du concours AES (1997-2000) et combine des boîtes S dépendantes de la clé, une transformation pseudo-Hadamard et un ordonnancement de clés complexe. Libre de brevets et de redevances, Twofish reste cryptanalytiquement intact mais a perdu face à Rijndael principalement sur des critères de performance et de simplicité. On le retrouve aujourd'hui dans des outils comme TrueCrypt/VeraCrypt ou GnuPG en tant qu'algorithme alternatif. Les nouveaux systèmes choisissent généralement AES, éventuellement complété par un chiffrement de flot comme ChaCha20.

Exemples

  • VeraCrypt permet d'empiler Twofish avec AES et Serpent en chiffrement en cascade.
  • GnuPG propose Twofish comme l'une de ses options de chiffrement symétrique.

Termes liés