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é.
Objectif
Il offrait une marge de sécurité plus conservatrice que Rijndael (32 tours contre 10), échangeant de la vitesse contre la confiance face à la cryptanalyse.
Mécanisme
C'est un réseau de substitution-permutation (SPN) à 32 tours. Chaque tour applique huit boîtes S 4×4 en parallèle, une transformation linéaire et un XOR avec la clé de tour. Les boîtes S sont implémentées par bitslicing pour éviter les attaques temporelles ; le calendrier de clés produit 33 sous-clés de 128 bits.
Cas d’usage
- Recherche sur le concours AES
- Exigences de marge de sécurité élevée
- Enseignement de la cryptographie
- Analyse de conceptions conservatrices
Exemples
- entrée
key=256bit, data=16bytesOutput16-byte ciphertextAES finalist
Erreurs courantes
- Misusing an unoptimized software implementation yields poor performance
- Use bitslice-optimized implementations
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
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. 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