Principes fondamentaux du chiffrement par blocs
Le chiffrement par blocs consiste à transformer un bloc d'entrée de taille fixe en un bloc de même taille à l'aide d'une clé réutilisable. Chaque bloc du message est traité séparément, ce qui garantit que la taille du texte chiffré est identique à celle du texte clair.
Confusion et diffusion
Deux propriétés essentielles assurent la sécurité d'un algorithme :
- Confusion : rend la relation entre le texte clair, le texte chiffré et la clé aussi complexe que possible. Elle est généralement obtenue grâce à des substitutions (S‑boxes).
- Diffusion : répartit l'influence de chaque bit du texte clair sur de nombreux bits du texte chiffré, souvent via des permutations ou des mélanges linéaires.
Algorithmes de chiffrement par blocs classiques
DES (Data Encryption Standard)
DES utilise des blocs de 64 bits et une clé effective de 56 bits. Le schéma de DES comprend 16 tours Feistel. Chaque tour applique les opérations suivantes :
- Expansion E du demi‑bloc de 32 bits en 48 bits.
- XOR avec la sous‑clé du tour.
- Passage à travers 8 S‑boxes (conversion 6→4 bits).
- Permutation P du résultat.
La propriété « Nice » du chiffrement Feistel indique que le même circuit est utilisé pour le chiffrement et le déchiffrement, même si la fonction de ronde n’est pas inversible.
AES (Advanced Encryption Standard)
AES travaille sur des blocs de 128 bits avec trois tailles de clé possibles : 128, 192 ou 256 bits. Le nombre de tours dépend de la taille de la clé :
- 10 tours pour une clé de 128 bits.
- 12 tours pour une clé de 192 bits.
- 14 tours pour une clé de 256 bits.
Les transformations d’un tour AES sont :
- Confusion → SubBytes (S‑box).
- Diffusion → ShiftRows et MixColumns.
- AddRoundKey ajoute la sous‑clé mais ne crée ni confusion ni diffusion.
Modes d'opération des chiffrements par blocs
ECB (Electronic Codebook)
ECB chiffre chaque bloc indépendamment. Cette simplicité rend le mode insecure pour les images, car les blocs identiques produisent des ciphertexts identiques, révélant la structure de l’image.
CBC (Cipher Block Chaining)
Chaque bloc clair est XORé avec le ciphertext du bloc précédent avant d’être chiffré. Le vecteur d'initialisation (IV) doit être aléatoire ou imprévisible afin d’empêcher les attaques par répétition.
CTR (Counter)
Le chiffrement d’un bloc s’exprime par la formule :
Ci = Pi ⊕ E(k, nonce‖i)
où nonce‖i constitue le compteur unique pour chaque bloc. Ce mode transforme le bloc en un flux, offrant parallélisme et randomisation.
XTS (XEX-based Tweaked-codebook mode with ciphertext stealing)
Recommandé pour le chiffrement de disques durs, XTS utilise un « tweak » dérivé de l’adresse du secteur, permettant un accès aléatoire tout en conservant la même taille de texte chiffré que le texte clair.
Constructions génériques d'authenticated encryption
Trois schémas sont présentés :
- Encrypt‑then‑MAC (ex. IPsec) – toujours sécurisé.
- MAC‑then‑Encrypt (ex. anciennes versions de TLS/SSL) – considéré comme insecure.
- Encrypt‑and‑MAC (ex. SSH) – également insecure.
Le texte recommande la construction Encrypt‑then‑MAC comme la seule sûre parmi les trois.
Comparaison des tailles de clé
Les tailles de clé influencent directement la résistance aux attaques :
| Algorithme | Taille de clé |
|---|---|
| DES | 56 bits |
| AES | 128 / 192 / 256 bits |
La plus grande taille de clé (256 bits) offre la meilleure sécurité, mais augmente le nombre de tours (14 pour AES).
Statut actuel de 3‑DES
Le texte indique que 3‑DES est obsolescent et ne doit plus être utilisé pour de nouvelles implémentations. Les standards modernes privilégient AES ou d’autres algorithmes plus récents.
Résumé des points clés
- Le chiffrement par blocs transforme des blocs de taille fixe en blocs de même taille à l'aide d'une clé.
- DES : 64‑bit blocs, 56‑bit clé, 16 tours Feistel.
- AES : 128‑bit blocs, 10/12/14 tours selon la clé, confusion via SubBytes, diffusion via ShiftRows et MixColumns.
- ECB est dangereux pour les données structurées comme les images.
- CBC nécessite un IV aléatoire ; CTR utilise un compteur pour chaque bloc.
- XTS est le mode recommandé pour le chiffrement de disques.
- Encrypt‑then‑MAC est la construction d'authenticated encryption la plus sûre.
- 3‑DES est considéré comme obsolète et ne doit pas être choisi pour de nouveaux systèmes.


