
Chiffrement symétrique et flux
Le chiffrement symétrique repose sur une même clé secrète partagée entre l’émetteur et le récepteur. Parmi les méthodes les plus étudiées, on retrouve les One‑Time Pad (OTP) , les…

Dans la définition de la sécurité sémantique, que doit deviner l'adversaire ?
Quel critère rend un PRG imprévisible ?
Quelle est la conséquence d'une réutilisation du même keystream sur deux messages ?
Quel test statistique permet de distinguer un PRG dont le bit de poids fort vaut 1 pour 2/3 des clés ?
Quel est le nombre de fois que la fonction « h » est appliquée dans le processus de génération de keystream de ChaCha20 ?
Dans le schéma LFSR, quel élément doit être une fonction linéaire booléenne pour que le registre reste linéaire ?
Quel théorème de Shannon lie la taille de l'espace des clés à celle de l'espace des messages pour une parfaite confidentialité ?
Quel avantage offre l'utilisation d'un nonce (IV) unique avec la même clé dans les chiffrements par flux modernes ?
Quel est le résultat de l'attaque « two‑time pad » lorsqu'un même keystream est utilisé pour deux messages différents ?
Introduction au chiffrement symétrique et aux flux de clés
Le chiffrement symétrique repose sur une même clé secrète partagée entre l’émetteur et le récepteur. Parmi les méthodes les plus étudiées, on retrouve les One‑Time Pad (OTP), les pseudo‑random generators (PRG), les registres à rétroaction linéaire (LFSR) et les chiffrements par flux comme ChaCha20. Ce cours développe les notions essentielles qui apparaissent dans les questions d’un quiz typique, tout en offrant un cadre pédagogique complet et optimisé pour le référencement (SEO).
1. Le One‑Time Pad : sécurité parfaite mais contraintes pratiques
Le One‑Time Pad est le seul système de chiffrement prouvé théoriquement incassable. Sa sécurité repose sur deux conditions strictes :
- La clé doit être vraiment aléatoire et connue uniquement des deux parties.
- La longueur de la clé doit être exactement égale à celle du texte clair à chiffrer.
Ces exigences rendent le OTP impraticable pour la plupart des applications modernes. Le principal inconvénient est donc la nécessité d’une clé aléatoire aussi longue que le message. En pratique, la génération, le stockage et la distribution sécurisée de telles clés sont coûteux et souvent impossibles à mettre en œuvre à grande échelle.
À retenir : le OTP offre une confidentialité parfaite, mais son coût en termes de gestion de clés le limite à des scénarios très spécifiques (ex. communications diplomatiques ou militaires très sensibles).
2. Sécurité sémantique et jeu d’indistinguabilité
La sécurité sémantique est une notion moderne qui formalise l’idée qu’un adversaire ne doit pas pouvoir extraire d’information utile à partir du texte chiffré. Le modèle le plus répandu est le jeu d’indistinguabilité (IND‑CPA). Dans ce jeu, l’adversaire reçoit le chiffrement d’un des deux messages choisis par le challenger et doit deviner le bit $b$ qui indique quel message a été utilisé.
- Si l’adversaire ne peut pas deviner $b$ avec une probabilité significativement supérieure à $1/2$, le schéma est considéré comme sémantiquement sûr.
Il ne s’agit donc pas de retrouver la clé ou le texte clair, mais simplement de ne pas pouvoir distinguer les deux possibilités proposées par le challenger.
À retenir : Deviner le bit choisi, pas la clé.
3. Pseudo‑Random Generators (PRG) : imprévisibilité et critères de sécurité
Un PRG transforme une petite graine (seed) en une longue séquence de bits qui doit « ressembler » à une suite aléatoire. Le critère d’imprévisibilité est central :
- Aucun algorithme polynomial‑temps ne doit pouvoir prédire le prochain bit avec une probabilité supérieure à $1/2 + \varepsilon$, où $\varepsilon$ est négligeable.
Cette définition garantit que même si un adversaire possède une partie de la séquence, il ne peut pas exploiter de biais pour deviner les bits suivants. D’autres propriétés, comme la pseudorandomness (indistinguabilité de la sortie d’un PRG par rapport à une vraie source aléatoire), découlent de l’imprévisibilité.
À retenir : imprévisibilité = aucune prédiction > ½ + ε.
4. Risques liés à la réutilisation d’un keystream
Dans les chiffrements par flux, le même keystream (suite de bits générée par le PRG) ne doit jamais être utilisé pour chiffrer deux messages distinctes. Si cela se produit, on obtient le phénomène suivant :
- Le XOR des deux textes chiffrés annule le keystream, révélant le XOR des deux textes clairs : $C_1 \oplus C_2 = (M_1 \oplus K) \oplus (M_2 \oplus K) = M_1 \oplus M_2$.
Connaissant $M_1 \oplus M_2$, un analyste peut exploiter des connaissances contextuelles (langage, format) pour récupérer les deux messages originaux. C’est le même principe qui rend le OTP vulnérable lorsqu’on réutilise la même clé.
À retenir : keystream identique → XOR des chiffrés = XOR des clairs.
5. Tests statistiques pour détecter les biais d’un PRG
Un PRG peut présenter des biais subtils, comme un bit de poids fort (MSB) qui vaut 1 avec une probabilité de $2/3$ au lieu de $1/2$. Le test statistique le plus direct consiste à :
- Calculer la fréquence du MSB sur un grand nombre de sorties et la comparer à $1/2$ à l’aide d’un test du chi‑carré ou d’un test de proportion.
Ce type de test détecte rapidement les écarts de distribution, alors que d’autres tests (longue suite de 1, corrélation entre bits consécutifs) sont moins pertinents pour ce biais particulier.
À retenir : msb vs ½, pas moyenne globale.
6. ChaCha20 : architecture et nombre d’applications de la fonction h
ChaCha20 est un chiffre de flux moderne largement utilisé (ex. TLS, VPN). Son cœur repose sur une fonction de permutation h appliquée à un état de 16 mots de 32 bits. Chaque tour du algorithme consiste en quatre opérations de type « quarter‑round », et le processus complet comprend dix tours. Ainsi, la fonction h est exécutée exactement 10 fois pour chaque bloc de keystream généré.
À retenir : dix tours = dix applications de h.
7. Registres à rétroaction linéaire (LFSR) et linéarité
Les LFSR sont des composants fondamentaux dans la génération de séquences pseudo‑aléatoires, notamment dans les systèmes embarqués. La linéarité du registre dépend de la fonction de rétroaction f :
- Cette fonction doit être une combinaison linéaire (XOR) des bits du registre.
Si f reste linéaire, la séquence produite possède des propriétés analytiques (période maximale, prédictibilité). En revanche, introduire une fonction non linéaire augmente la complexité cryptographique mais sort du cadre LFSR pur.
À retenir : seule la rétroaction doit rester linéaire.
8. Théorème de Shannon sur la confidentialité parfaite
Claude Shannon a formalisé la notion de confidentialité parfaite. Le théorème stipule que, pour qu’un système de chiffrement offre une confidentialité parfaite, l’ensemble des clés |K| doit être au moins aussi grand que l’ensemble des messages |M| :
- Formellement, |K| ≥ |M|.
Cette condition assure que chaque message possible possède au moins une clé distincte capable de le produire, empêchant ainsi un adversaire de déduire le texte clair à partir du texte chiffré.
À retenir : Clés ≥ messages, sinon on ne couvre pas tout.
Conclusion et bonnes pratiques
Les concepts présentés – OTP, sécurité sémantique, PRG, keystream, tests statistiques, ChaCha20, LFSR et le théorème de Shannon – constituent le socle du chiffrement symétrique moderne. Pour garantir une sécurité robuste, il convient de :
- Éviter toute réutilisation de keystream ou de clé.
- Utiliser des PRG certifiés imprévisibles et tester leurs sorties avec des batteries statistiques (NIST SP 800‑22, TestU01).
- Choisir des algorithmes éprouvés comme ChaCha20, qui offrent un bon compromis entre performance et sécurité.
- Respecter les exigences de Shannon en dimensionnant correctement l’espace de clés.
En suivant ces recommandations, les développeurs et les ingénieurs en sécurité peuvent concevoir des systèmes de chiffrement symétrique fiables, résilients aux attaques modernes et conformes aux standards internationaux.
