Twofish
Twofish est un chiffrement par blocs symétrique conçu par Bruce Schneier et d'autres pour le concours AES ; il utilise des blocs de 128 bits avec des clés de 128/192/256 bits et fut l'un des finalistes de l'AES.
Objectif
Il offrait une alternative sûre au concours AES, adoptant une structure différente (Feistel + boîtes S dépendantes de la clé) pour diversifier l'analyse.
Mécanisme
C'est un réseau de Feistel à 16 tours sur des blocs de 128 bits. Il utilise quatre boîtes S dépendantes de la clé (déterminées par la clé), combinées à une matrice MDS et à une transformée pseudo-Hadamard. L'ordonnancement de clés est relativement complexe mais fournit un blanchiment (XOR de clés en entrée/sortie).
Cas d’usage
- Recherche historique sur le concours AES
- Une option dans certaines bibliothèques cryptographiques
- Enseignement de la cryptographie
- Une alternative haute sécurité
Exemples
- entrée
key=256bit, data=16bytesOutput16-byte ciphertextAES finalist
Erreurs courantes
- Mistaking Twofish for the AES standard
- AES ultimately selected Rijndael
Termes associés
AES
AES (Advanced Encryption Standard) est un chiffrement par blocs symétrique établi par NIST en 2001, prenant en charge les clés de 128/192/256 bits, standard de facto du chiffrement moderne. GLOSSAIRE
Blowfish
Blowfish est un chiffrement symétrique par blocs conçu par Bruce Schneier en 1993, utilisant des clés de longueur variable (32-448 bits) et des blocs de 64 bits ; il est rapide et libre de tout brevet. GLOSSAIRE
Serpent
Serpent est un chiffrement par blocs symétrique conçu par Ross Anderson et d'autres pour le concours AES, utilisant des blocs de 128 bits et des clés de 128/192/256 bits, réputé pour sa large marge de sécurité. GLOSSAIRE
Block Cipher
Un chiffrement par blocs est un chiffrement symétrique qui chiffre et déchiffre des blocs de longueur fixe (p. ex. 128 bits) et nécessite un mode d'opération pour traiter des données de longueur arbitraire. GLOSSAIRE