
Chiffrement par blocs et modes d'opération
Le chiffrement par blocs constitue le socle des algorithmes symétriques modernes. Il transforme des blocs de texte clair de taille fixe en blocs de texte chiffré à l’aide d’une clé secrète.…

Quel principe de sécurité décrit Shannon par les termes de confusion et diffusion ?
Quel est l'avantage principal du mode de chiffrement CTR par rapport à CBC ?
Dans le diagramme du tour DES, combien de S‑boxes sont utilisées ?
Quel type d'attaque rend le mode ECB totalement inacceptable ?
Dans le diagramme du tour DES, quelle est la largeur de sortie de la fonction d'expansion E ?
Quel schéma de composition garantit toujours la sécurité lorsqu'on combine chiffrement et MAC ?
Quel est le principal risque d'utiliser un IV prévisible dans le mode CBC ?
Quel mode d'opération est recommandé pour le chiffrement de disque dur, selon les normes ANSSI ?
Introduction au chiffrement par blocs
Le chiffrement par blocs constitue le socle des algorithmes symétriques modernes. Il transforme des blocs de texte clair de taille fixe en blocs de texte chiffré à l’aide d’une clé secrète. Cette approche permet d’appliquer des techniques de diffusion et de confusion sur l’ensemble du message, rendant l’analyse cryptographique très difficile.
Les principes fondamentaux : confusion et diffusion
Claude Shannon, le père de la théorie de l’information, a introduit deux concepts clés pour mesurer la sécurité d’un chiffre :
- Confusion : chaque bit du texte chiffré dépend de plusieurs bits de la clé, rendant la relation entre clé et texte chiffré complexe.
- Diffusion : chaque bit du texte clair influence plusieurs bits du texte chiffré, de sorte que de petites modifications se propagent largement.
Dans les algorithmes modernes, ces deux propriétés sont réalisées grâce à des S‑boxes (substitution) et à des permutations linéaires.
AES‑128 : structure et nombre de tours
L’Advanced Encryption Standard (AES) est le standard de chiffrement par blocs le plus utilisé aujourd’hui. La version AES‑128 utilise une clé de 128 bits et se compose de 10 tours (rounds). Chaque tour ajoute 4 bits de clé via l’expansion de clé, ce qui explique le nombre de tours proportionnel à la taille de la clé.
À retenir : 10 tours = clé de 128 bits.
Le mode de chiffrement CTR : parallélisme et absence de padding
Le mode Counter (CTR) transforme le chiffrement par blocs en un flux de chiffrement. Chaque bloc est chiffré indépendamment en combinant le résultat du chiffrement d’un compteur avec le texte clair. Les avantages majeurs sont :
- Chiffrement parallèle : chaque bloc peut être traité simultanément, ce qui accélère le processus sur les architectures multi‑cœurs.
- Pas de remplissage (padding) : le dernier bloc peut être de taille quelconque, car le compteur fournit un flux de bits de longueur arbitraire.
Ces propriétés font du mode CTR un choix privilégié pour les applications nécessitant haute performance et flexibilité, comme le chiffrement de gros volumes de données ou le streaming.
À retenir : parallélisme = pas de remplissage.
Le mode ECB et son problème de répétition de blocs
Le mode Electronic Codebook (ECB) chiffre chaque bloc de façon indépendante avec la même clé. Cette simplicité entraîne un problème majeur : les blocs de texte clair identiques produisent des blocs de texte chiffré identiques. Un attaquant peut ainsi exploiter l’attaque de répétition de blocs identiques pour révéler des motifs dans le texte clair, rendant le mode ECB inacceptable pour la plupart des usages.
En pratique, on évite ECB au profit de modes comme CBC, CTR ou GCM, qui introduisent un vecteur d’initialisation (IV) ou un compteur pour briser cette corrélation.
Le mode CBC : importance d’un IV imprévisible
Le Cipher Block Chaining (CBC) combine chaque bloc de texte clair avec le bloc chiffré précédent avant de le chiffrer. Le premier bloc utilise un vecteur d’initialisation (IV). Si cet IV est prévisible, un attaquant peut récupérer le premier bloc du texte clair en exploitant la relation linéaire entre le texte clair, le texte chiffré et l’IV. Ainsi, un IV aléatoire et unique pour chaque chiffrement est indispensable pour garantir la confidentialité.
À retenir : un IV prévisible permet la récupération du premier bloc du texte clair.
DES : architecture du tour et S‑boxes
Le Data Encryption Standard (DES) repose sur un réseau de Feistel à 16 tours. Chaque tour utilise 8 S‑boxes qui prennent 6 bits en entrée et produisent 4 bits en sortie. Ces S‑boxes assurent la confusion en substituant les bits de façon non linéaire. En outre, la fonction d’expansion E transforme les 32 bits du demi‑bloc droit en 48 bits avant l’opération XOR avec la sous‑clé du tour.
- Nombre de S‑boxes par tour : 8
- Largeur de sortie de la fonction d’expansion : 48 bits
Ces paramètres sont essentiels pour comprendre comment DES introduit la diffusion et la confusion à chaque itération.
Combinaison chiffrement et authentification : le schéma Encrypt‑then‑MAC
Lorsque l’on veut à la fois la confidentialité (chiffrement) et l’intégrité/authenticité (MAC), le choix du schéma de composition est crucial. Le modèle Encrypt‑then‑MAC (chiffrer puis appliquer le MAC) garantit la sécurité dans la plupart des modèles de menace. En effet, le MAC est calculé sur le texte chiffré, ce qui empêche un attaquant de modifier le texte chiffré sans être détecté.
Les autres schémas, comme Encrypt‑and‑MAC ou MAC‑then‑Encrypt, présentent des faiblesses potentielles et ne sont pas recommandés dans les standards modernes (ex. : TLS 1.2 utilise Encrypt‑then‑MAC).
À retenir : Encrypt‑then‑MAC = meilleure garantie d’authenticité.
Résumé des concepts clés
- AES‑128 utilise 10 tours, chaque tour ajoute 4 bits de clé.
- Shannon : confusion (dépendance à la clé) + diffusion (propagation des bits).
- CTR offre parallélisme et supprime le besoin de padding.
- ECB est vulnérable aux attaques de répétition de blocs identiques.
- CBC nécessite un IV aléatoire pour éviter la récupération du premier bloc.
- DES utilise 8 S‑boxes par tour et une fonction d’expansion de 48 bits.
- Encrypt‑then‑MAC est le schéma recommandé pour combiner chiffrement et MAC.
FAQ – Questions fréquentes
Pourquoi le mode CTR ne nécessite‑t‑il pas de padding ?
Le compteur génère un flux de bits de longueur arbitraire. Le texte clair est simplement XORé avec ce flux, quel que soit le nombre de bits du dernier bloc. Aucun remplissage n’est donc requis.
Quel est le risque principal d’un IV fixe en CBC ?
Un IV fixe crée une relation déterministe entre le texte clair et le texte chiffré du premier bloc, permettant à un attaquant de déduire ou de confirmer des parties du texte clair lorsqu’il possède plusieurs messages chiffrés avec le même IV.
Comment la fonction d’expansion E de DES contribue‑t‑elle à la sécurité ?
En étendant 32 bits à 48 bits, la fonction E introduit des bits redondants qui, combinés avec la sous‑clé, augmentent la diffusion avant l’étape de substitution dans les S‑boxes.
Conclusion
Maîtriser les différents modes d’opération et les principes de confusion/diffusion est indispensable pour concevoir des systèmes de chiffrement robustes. En appliquant les bonnes pratiques – choisir le bon mode (CTR ou CBC avec IV aléatoire), utiliser le schéma Encrypt‑then‑MAC, et comprendre les spécificités des algorithmes comme AES ou DES – vous renforcez la confidentialité et l’intégrité de vos communications.
