
Chiffrement symétrique et flux
Le chiffrement symétrique par flux est au cœur de la cybersécurité moderne . Dans ce cours, nous décortiquons les notions essentielles : le One‑Time Pad, les keystreams, les générateurs de…

Dans un flux de chiffrement, pourquoi la réutilisation d'un même keystream est dangereuse ?
Quel critère caractérise un PRG imprévisible selon la définition donnée ?
Combien de fois la fonction « h » est‑elle appliquée dans le processus de génération du keystream ChaCha20 ?
Quel est le rôle du nonce (r) dans les chiffrements par flux modernes comme ChaCha20 ?
Selon le théorème de Shannon, quelle relation doit vérifier la taille de l'ensemble des clés |K| pour obtenir une parfaite confidentialité ?
Quel élément doit être linéaire dans un LFSR pour que le registre reste un LFSR et non un NLFSR ?
Quel test statistique simple pourrait révéler qu'un PRG est prévisible si la moitié supérieure du bit le plus significatif est 1 pour 2/3 des clés ?
Dans le cadre de la sécurité sémantique, que signifie un avantage (AdvSS) négligeable pour un adversaire ?
Chiffrement symétrique et flux : concepts clés
Le chiffrement symétrique par flux est au cœur de la cybersécurité moderne. Dans ce cours, nous décortiquons les notions essentielles : le One‑Time Pad, les keystreams, les générateurs de nombres pseudo‑aléatoires (PRG), le fonctionnement de ChaCha20, le rôle du nonce, le théorème de Shannon, les registres à rétroaction linéaire (LFSR) et les tests statistiques de qualité des PRG. Chaque section s’appuie sur les questions d’un quiz afin de renforcer la compréhension et d’optimiser le référencement naturel (SEO) grâce à des mots‑clés ciblés.
1. Le One‑Time Pad : sécurité parfaite mais contraintes pratiques
Le One‑Time Pad (OTP) est le seul système de chiffrement qui offre une confidentialité parfaite lorsqu’il respecte deux conditions strictes :
- La clé doit être aléatoire et au moins aussi longue que le message.
- La clé ne doit jamais être réutilisée.
Le principal inconvénient de l’OTP réside donc dans la nécessité d’une clé aléatoire aussi longue que le message. Cette exigence rend le stockage, la distribution et la gestion des clés très coûteux, surtout pour les communications de grande taille.
À retenir : clé = message ; sinon le système devient impraticable.
2. Risques de la réutilisation d’un keystream dans les chiffrements par flux
Dans un chiffrement par flux, le texte chiffré C = M ⊕ K utilise un keystream K. Si deux messages M₁ et M₂ sont chiffrés avec le même keystream, on obtient :
C₁ ⊕ C₂ = (M₁ ⊕ K) ⊕ (M₂ ⊕ K) = M₁ ⊕ M₂
Le keystream disparaît, révélant le XOR des deux messages clairs. Un attaquant peut alors exploiter des connaissances partielles sur l’un des messages pour récupérer l’autre, ou appliquer des techniques de cryptanalyse statistique.
À retenir : même keystream → XOR des clairs, donc jamais réutiliser le même keystream.
3. PRG imprévisible : définition et importance
Un générateur de nombres pseudo‑aléatoires (PRG) est imprévisible lorsqu’aucun algorithme polynomial en temps ne peut prédire le bit suivant avec une probabilité supérieure à ½ + ε, où ε est négligeable. Cette propriété garantit que le keystream dérivé du PRG se comporte comme une séquence aléatoire, indispensable pour la sécurité des chiffrements par flux.
À retenir : imprédictibilité > ½ + ε, sinon le PRG est vulnérable.
4. ChaCha20 : le rôle de la fonction h et le nombre d’itérations
ChaCha20 est un algorithme de chiffrement par flux largement utilisé (ex. TLS, VPN). Son cœur repose sur une fonction de mélange h (souvent appelée « quarter‑round »). Cette fonction est exécutée 10 fois au cours d’un tour complet, ce qui correspond à 10 itérations de la boucle interne. Chaque itération augmente la diffusion et la confusion du keystream, rendant la cryptanalyse très difficile.
À retenir : ChaCha20 = 10 tours de h.
5. Le nonce (r) dans les chiffrements par flux modernes
Le nonce (ou number used once) est une valeur publique, généralement aléatoire ou séquentielle, qui garantit que chaque chiffrement produit un keystream unique, même si la même clé secrète est réutilisée. Dans ChaCha20, le nonce r est combiné avec la clé et le compteur pour dériver le keystream. Ainsi, le nonce empêche la réutilisation accidentelle du même flux, condition qui, comme vu précédemment, serait catastrophique.
À retenir : le nonce assure l’unicité du keystream.
6. Théorème de Shannon et taille de l’ensemble des clés
Claude Shannon a démontré que pour atteindre une confidentialité parfaite, l’ensemble des clés |K| doit être au moins aussi grand que l’ensemble des messages |M|. En d’autres termes, chaque message possible doit pouvoir être chiffré avec une clé distincte, rendant toute attaque par force brute impossible tant que la clé reste secrète.
À retenir : |K| ≥ |M| pour une confidentialité parfaite.
7. LFSR vs NLFSR : la linéarité de la fonction de rétroaction
Un registre à rétroaction linéaire (LFSR) génère une séquence pseudo‑aléatoire en appliquant une fonction de rétroaction f linéaire (XOR de bits sélectionnés). Si f devient non linéaire, le registre devient un NLFSR, qui possède des propriétés cryptographiques différentes. La linéarité de f est donc le critère déterminant pour qu’un registre reste un LFSR.
À retenir : fonction de rétroaction linéaire = LFSR.
8. Test statistique simple : biais du bit le plus significatif (MSB)
Un PRG peut être détecté comme prévisible en mesurant la fréquence du bit le plus significatif (MSB) sur un grand nombre de sorties. Si le MSB apparaît à 1 dans environ 2/3 des cas au lieu de 1/2, le PRG présente un biais exploitable. Ce test de fréquence est rapide, facile à implémenter et constitue une première étape de validation de la qualité d’un PRG.
À retenir : MSB bias ≠ 50 % indique un PRG faible.
9. Synthèse et bonnes pratiques
Pour concevoir ou analyser un chiffrement symétrique par flux, il faut respecter plusieurs principes fondamentaux :
- Clé unique et aléatoire : la taille de la clé doit couvrir l’ensemble des messages possibles (théorème de Shannon).
- Keystream unique : jamais réutiliser le même keystream, même avec la même clé, grâce à un nonce approprié.
- PRG robuste : imprévisible selon la définition
½ + ε, et testé avec des métriques simples comme le biais du MSB. - Algorithmes éprouvés : ChaCha20, AES‑CTR, etc., qui intègrent des fonctions de mélange (ex.
h) et des paramètres de sécurité bien étudiés. - Gestion sécurisée des clés : stockage, distribution et rotation conformes aux meilleures pratiques (PKI, KMS).
En appliquant ces règles, vous assurez la robustesse de vos systèmes de chiffrement par flux et réduisez les risques de compromission.
10. FAQ – Questions fréquentes
- Pourquoi le One‑Time Pad n’est‑il pas utilisé en pratique ? Parce que la gestion d’une clé aussi longue que le message est impraticable pour la plupart des applications.
- Comment choisir un bon nonce ? Le nonce doit être unique pour chaque chiffrement avec une même clé ; il peut être généré aléatoirement ou être un compteur monotone.
- Quel est l’avantage d’un LFSR par rapport à un NLFSR ? Les LFSR sont simples, rapides et possèdent des propriétés mathématiques bien comprises, mais ils sont moins résistants aux attaques linéaires que les NLFSR.
- Quel test statistique supplémentaire peut‑on appliquer ? Des tests NIST SP 800‑22, le test de monobit, le test de runs, ou le test de corrélation spectral permettent d’évaluer plus finement la qualité d’un PRG.
En maîtrisant ces concepts, vous serez capable d’évaluer, de concevoir ou d’auditer des systèmes de chiffrement symétrique par flux, tout en respectant les exigences de sécurité et les meilleures pratiques du domaine.
