Aller au contenu
uencoder

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=16bytes
    Output
    16-byte ciphertext

    AES finalist

Erreurs courantes

Mistaking Twofish for the AES standard
AES ultimately selected Rijndael

Termes associés

Outils associés

References