🔐 NSI – Sécurisation des communications : symétrique, asymétrique, hybride
0) Problématique : Alice, Bob… et un réseau hostile
Dans ce chapitre, on modélise une situation classique en sécurité informatique : Alice veut envoyer un message à Bob en passant par Internet. Or Internet est un réseau public : un attaquant peut potentiellement observer et manipuler les données qui circulent. On introduit donc un adversaire (souvent nommé Eve ou Carole) capable de :
- écouter (interception) : Eve lit ce qui passe sur le réseau ;
- modifier (altération) : Eve change un message en cours de route ;
- se faire passer pour quelqu’un d’autre (usurpation) : Eve prétend être Bob, ou prétend être Alice ;
- rejouer (replay) : Eve renvoie plus tard un ancien message, comme si c’était un nouveau.
Question centrale (problématique) : comment Alice et Bob peuvent-ils échanger des informations sur un réseau hostile tout en garantissant à la fois la confidentialité, l’intégrité et l’authentification ?
On vise (au minimum) :
• Confidentialité (confidentiality) : seul le destinataire légitime doit pouvoir lire le message.
• Intégrité (integrity) : le message reçu ne doit pas avoir été modifié.
• Authentification (authentication) : Alice et Bob doivent être sûrs de l’identité de l’autre.
(Remarque : la non-répudiation (non-repudiation) arrive surtout avec la signature numérique, abordée à part.)
📌 Menu
- Notions de base : cryptologie / codage / chiffrement
- 1) Chiffrement symétrique
- 2) Chiffrement asymétrique
- 3) Chiffrement hybride : HTTPS/TLS
- Exercices
- Corrigés (volet)
- Problématiques Grand Oral
- Sources
Notions de base : cryptologie, cryptographie, cryptanalyse
La cryptologie (cryptology) est la « science du secret ». Elle regroupe deux domaines complémentaires :
- cryptographie (cryptography) : concevoir des méthodes pour protéger les informations ;
- cryptanalyse (cryptanalysis) : étudier les attaques et la robustesse de ces méthodes.
• Cryptologie = cryptographie + cryptanalyse.
• Cryptographie : on construit un système pour protéger (confidentialité, intégrité, authentification).
• Cryptanalyse : on cherche à “casser” un système (attaques, failles, mauvaises pratiques).
Codage vs chiffrement : ne pas confondre
On confond souvent deux idées pourtant très différentes :
- Codage (encoding) : règle publique pour représenter une information (ASCII, UTF-8, Base64…). Le but est la compatibilité et la transmission, pas le secret.
- Chiffrement (encryption) : transformation qui dépend d’une clé. Sans la clé, l’attaquant ne doit pas pouvoir retrouver le message.
• Base64 n’est pas un chiffrement : c’est un codage (règle publique).
• Un chiffrement implique une clé et vise la confidentialité.
1) Chiffrement symétrique
Le chiffrement symétrique (symmetric encryption) utilise une même clé secrète \(K\) pour chiffrer et déchiffrer. Il est très rapide, donc adapté au chiffrement de gros volumes de données (fichiers, trafic Web une fois la session établie, flux vidéo, sauvegardes…).
1.1 Modélisation (MathJax)
On note \(\mathcal{M}\) l’ensemble des messages en clair (plaintext) et \(\mathcal{C}\) l’ensemble des messages chiffrés (ciphertext). Un cryptosystème symétrique définit deux fonctions : \[ E_K : \mathcal{M}\rightarrow\mathcal{C} \qquad\text{et}\qquad D_K : \mathcal{C}\rightarrow\mathcal{M} \] telles que : \[ \forall M\in\mathcal{M},\quad D_K\!\big(E_K(M)\big)=M. \]
• Même clé secrète \(K\) pour chiffrer et déchiffrer.
• Condition : \(D_K(E_K(M)) = M\).
• Très rapide → excellent pour chiffrer “beaucoup de données”.
1.2 Schéma (symétrique)
1.3 Exemple pédagogique : chiffre de César
César est un chiffrement par décalage de l’alphabet. On code \(A\mapsto 0,\ldots,Z\mapsto 25\). Avec une clé \(k\) (décalage) : \[ c \equiv m + k \pmod{26} \qquad\text{et}\qquad m \equiv c - k \pmod{26}. \]
Pourquoi César est-il faible ? Parce que l’espace des clés est minuscule : on peut essayer \(k=1,2,\ldots,25\) en quelques secondes (force brute). De plus, une analyse de fréquence (lettres les plus fréquentes) casse très vite les substitutions simples sur des textes longs.
• Utile pour comprendre “clé / chiffrement / déchiffrement”.
• Pas sûr : 25 clés + analyse de fréquence.
1.4 Exemple plus “informatique” : XOR
On représente le message sous forme binaire. L’opération XOR (notée \(\oplus\)) a une propriété clé : \(x\oplus y\oplus y=x\). D’où : \[ C=M\oplus K \qquad\text{et}\qquad M=C\oplus K. \]
Mini-exemple : \[ M=10110010,\quad K=01101100 \quad\Rightarrow\quad C=11011110. \]
Attention : si on réutilise la même clé \(K\) pour deux messages, \[ C_1=M_1\oplus K,\quad C_2=M_2\oplus K \quad\Rightarrow\quad C_1\oplus C_2 = M_1\oplus M_2. \] Autrement dit : réutiliser une clé peut “faire fuiter” des informations.
• \(M\oplus K\) chiffre, et \((M\oplus K)\oplus K\) déchiffre.
• Danger : réutiliser la même clé sur plusieurs messages peut casser la confidentialité.
1.5 Chiffrement symétrique moderne : AES
Le standard moderne le plus connu est AES (Advanced Encryption Standard). Contrairement à César, AES n’est pas un “jeu de lettres” : c’est un algorithme conçu pour résister aux attaques modernes et pour être efficace sur les machines.
1.5.1 Ce que fait AES (niveau NSI)
AES chiffre des données par blocs (block cipher) : un message est découpé en blocs (par exemple 128 bits), puis chaque bloc subit plusieurs “tours” (rounds) de transformations qui dépendent de la clé secrète. L’objectif est que le lien entre le clair et le chiffré devienne inexploitable pour un attaquant.
• AES = Advanced Encryption Standard (standard NIST).
• Chiffrement symétrique moderne, très utilisé (disques, Wi-Fi, VPN, HTTPS…).
• Rapide et robuste… si on l’utilise avec une bonne clé et un mode correct.
1.5.2 Pourquoi on parle de “modes” (ECB, CBC, CTR, GCM…)
Un chiffrement par blocs a besoin d’un “mode d’utilisation” pour chiffrer un message long (plusieurs blocs). Ces modes indiquent comment enchaîner les blocs et gérer l’aléa (vecteur d’initialisation, compteur…).
- IV = Initialization Vector : valeur initiale (souvent publique) qui doit être choisie correctement.
- nonce = number used once : valeur “utilisée une seule fois” (sinon on affaiblit la sécurité).
- ECB = Electronic Codebook : à éviter (révèle des motifs si des blocs se répètent).
- GCM = Galois/Counter Mode : mode moderne avec chiffrement + contrôle d’intégrité (tag).
• AES seul ne suffit pas : il faut un mode.
• ECB est dangereux (motifs visibles).
• GCM est courant car il apporte aussi l’intégrité (tag).
1.5.4 Lien direct avec HTTPS/TLS
Dans une connexion HTTPS (HyperText Transfer Protocol Secure), le chiffrement asymétrique sert principalement à établir un secret partagé (clé de session). Ensuite, le trafic est chiffré en symétrique, typiquement avec AES (souvent en mode GCM), car c’est beaucoup plus rapide.
• En HTTPS/TLS : asymétrique pour démarrer (échange de secrets), puis symétrique (AES) pour les données.
• Raison : performance + sécurité (si mode correct + clé de session).
2️⃣ Chiffrement asymétrique
2.1 Pourquoi le chiffrement symétrique ne suffit-il pas ?
Nous avons vu que le chiffrement symétrique est rapide et efficace. Mais il pose un problème fondamental : comment Alice et Bob peuvent-ils partager une clé secrète \(K\) si le réseau est surveillé ?
Si Alice envoie la clé secrète en clair, Eve peut la lire. Si elle la chiffre… il faut déjà une clé pour la chiffrer : on retombe sur le même problème.
• Symétrique = rapide.
• Mais il faut partager la clé secrète (problème “d’échange de clé”).
• Asymétrique = solution pour échanger un secret sans l’avoir partagé avant.
2.2 Principe général de RSA (explication plus simple et plus claire)
RSA est un chiffrement asymétrique : chaque personne possède deux clés liées :
- une clé publique (public key) : on peut la diffuser à tout le monde ;
- une clé privée (private key) : on la garde secrète, elle ne doit jamais circuler.
L’idée (côté usage) est très simple :
- Pour envoyer un message à Alice, Bob récupère la clé publique d’Alice et chiffre le message avec cette clé. Il obtient un message chiffré \(C\).
- Pour lire le message, Alice utilise sa clé privée (qu’elle est la seule à posséder) pour déchiffrer \(C\), et retrouver le message \(M\).
En notation (niveau modèle) : \[ C = E_{\text{pub}}(M) \qquad\text{puis}\qquad M = D_{\text{priv}}(C). \]
Point crucial : connaître la clé publique ne permet pas (en pratique) de retrouver la clé privée. C’est ce qui rend le système utilisable : Alice peut publier sa clé publique sans “se mettre en danger”.
• Deux clés : publique (diffusée) / privée (secrète).
• Pour écrire à Alice : on chiffre avec la clé publique d’Alice.
• Pour lire : Alice déchiffre avec sa clé privée.
• Sécurité : impossible en pratique de retrouver la clé privée depuis la clé publique.
Bob veut envoyer un message secret \(M\) à Alice.
1️⃣ Alice publie sa clé publique \((n,e)\).
2️⃣ Bob chiffre le message avec la clé publique d’Alice : \[ C = M^e \pmod{n} \] 3️⃣ Alice reçoit le message chiffré \(C\).
4️⃣ Alice déchiffre avec sa clé privée \((n,d)\) : \[ M = C^d \pmod{n} \] Propriété mathématique essentielle : \[ (M^e)^d \equiv M \pmod{n} \] Autrement dit : appliquer d’abord la clé publique puis la clé privée permet de retrouver exactement le message initial.
2.3 Schéma conceptuel

2.4 Exemple emblématique : RSA
RSA signifie Rivest–Shamir–Adleman (1977). Il repose sur l’arithmétique modulaire et sur une idée de sécurité : il est facile de multiplier deux grands nombres premiers, mais très difficile de factoriser le produit quand les nombres sont immenses.
2.5 Idée mathématique simplifiée (optionnel)
RSA s’appuie sur des calculs modulo \(n\). On choisit deux nombres premiers \(p\) et \(q\), puis on calcule : \[ n = pq. \] On définit : \[ \varphi(n) = (p-1)(q-1). \] On choisit un entier \(e\) premier avec \(\varphi(n)\), puis on calcule \(d\) tel que : \[ ed \equiv 1 \pmod{\varphi(n)}. \] La clé publique est \((n,e)\) et la clé privée est \((n,d)\).
📐 Exemple mathématique complet simplifié (cliquer pour ouvrir)
Choix :
\[ p = 3,\quad q = 11 \] \[ n = 33 \] \[ \varphi(n) = (3-1)(11-1)=2\times 10 = 20 \]Choisissons :
\[ e = 3 \]On cherche \(d\) tel que :
\[ 3d \equiv 1 \pmod{20} \]On trouve :
\[ d = 7 \]Clé publique : \((33,3)\)
Clé privée : \((33,7)\)
Chiffrement de \(M=4\) :
\[ C = 4^3 \pmod{33} = 64 \pmod{33} = 31 \]Déchiffrement :
\[ M = 31^7 \pmod{33} = 4 \]✔ On retrouve bien le message initial.
• Sécurité basée sur la difficulté de factoriser un grand nombre \(n=pq\).
• RSA est plus lent que le symétrique → plutôt utilisé pour échanger une clé de session.
• En pratique, \(p\) et \(q\) sont énormes (centaines / milliers de bits).
2.6 Limite du chiffrement asymétrique : le problème d’authentification (développé)
Le chiffrement asymétrique assure une propriété de confidentialité : si Bob chiffre un message avec la clé publique d’Alice, alors seule la clé privée correspondante permet de le lire.
Mais il reste une question essentielle : comment Bob est-il certain que la “clé publique d’Alice” qu’il a récupérée est bien celle d’Alice ?
Sur Internet, Bob obtient la clé publique via un réseau ouvert. Un attaquant peut donc :
- intercepter la demande de Bob ;
- envoyer à Bob une fausse clé publique (celle d’Eve) en prétendant que c’est celle d’Alice ;
- Bob chiffre alors le message… mais avec la clé d’Eve.
Résultat : le chiffrement fonctionne (donc Bob ne voit rien d’anormal), mais il chiffre en réalité pour Eve, qui peut déchiffrer, lire, modifier, puis rechiffrer vers Alice. Autrement dit : RSA protège contre l’écoute, mais si la clé publique n’est pas authentifiée, RSA ne protège pas contre l’usurpation et l’homme du milieu.

• RSA garantit la confidentialité… si la clé publique est la bonne.
• Problème : sur un réseau hostile, une clé publique peut être remplacée par un attaquant.
• Il faut donc un mécanisme d’authentification de la clé publique.
🔐 La solution : les certificats numériques
Pour résoudre ce problème, on introduit une tierce partie de confiance : une Autorité de Certification (CA – Certification Authority).
Le serveur fournit un certificat numérique contenant :
- son identité (nom de domaine),
- sa clé publique,
- une signature numérique de l’autorité de certification.
Le navigateur vérifie cette signature. Si elle est valide, il peut faire confiance à la clé publique. C’est précisément ce mécanisme qui est utilisé dans HTTPS.
3) Chiffrement hybride : HTTPS / TLS
Dans la vraie vie, on veut le meilleur des deux mondes :
- asymétrique au début, pour établir un secret sans l’avoir partagé avant ;
- symétrique ensuite, pour chiffrer vite tout le trafic.
C’est exactement le principe d’un chiffrement hybride, utilisé par HTTPS.
3.1 Acronymes : HTTP, HTTPS, TLS
- HTTP = HyperText Transfer Protocol : protocole du Web, non chiffré.
- HTTPS = HyperText Transfer Protocol Secure : HTTP + sécurité.
- TLS = Transport Layer Security : protocole cryptographique qui sécurise la connexion (confidentialité, intégrité, authentification).
• HTTPS = HTTP sécurisé par TLS.
• TLS fournit : chiffrement + intégrité + authentification (via certificats).
• On parle souvent “HTTPS” côté utilisateur, mais techniquement c’est “TLS” qui fait la sécurité.
3.2 Déroulement simplifié (niveau NSI)
- Le client (navigateur) demande une connexion sécurisée au serveur.
- Le serveur envoie un certificat contenant sa clé publique.
- Le client vérifie ce certificat (chaîne de confiance).
- Le client génère une clé de session symétrique \(K_{\text{sym}}\) (aléatoire).
- Le client chiffre \(K_{\text{sym}}\) avec la clé publique du serveur (asymétrique) et l’envoie.
- Le serveur déchiffre \(K_{\text{sym}}\) avec sa clé privée.
- Ensuite, client et serveur chiffrent toutes les données avec \(K_{\text{sym}}\) (souvent AES).
• Asymétrique : uniquement pour établir \(K_{\text{sym}}\) (clé de session).
• Symétrique : pour chiffrer toutes les données (rapide).
• Le certificat répond à : “la clé publique est-elle bien celle du serveur ?”
3.3 Schéma visuel (HTTPS hybride)

3.4 Certificats et autorités de certification
Un certificat (digital certificate) associe une identité (ex. un nom de domaine) à une clé publique. En pratique, le navigateur accepte un certificat car il fait confiance à une autorité de certification (CA = Certification Authority) qui l’a signé.
• Un certificat sert à authentifier la clé publique du serveur.
• Sans certificat : risque majeur de man-in-the-middle.
• Le navigateur s’appuie sur une chaîne de confiance (CA reconnues).
Exercices
Exercice 1 – César (mise en route)
- En codant \(A\mapsto 0,\ldots,Z\mapsto 25\), chiffrer NSI avec \(k=5\).
- Combien de clés possibles ? Conclure sur la sécurité.
- Expliquer pourquoi l’analyse de fréquence aide à casser César sur un texte long.
Exercice 2 – XOR
- Calculer \(C=M\oplus K\) avec \(M=10110010\) et \(K=01101100\).
- Retrouver \(M\) à partir de \(C\) et \(K\).
- Démontrer : si la même clé est réutilisée, alors \(C_1\oplus C_2=M_1\oplus M_2\).
Exercice 3 – Symétrique vs asymétrique
- Donner un avantage et un inconvénient du chiffrement symétrique.
- Donner un avantage et un inconvénient du chiffrement asymétrique.
- Expliquer pourquoi “asymétrique puis symétrique” est une bonne stratégie.
Exercice 4 – HTTPS (raisonnement)
- Pourquoi ne chiffre-t-on pas tout le trafic avec RSA ?
- Décrire l’attaque man-in-the-middle dans le cas où Eve remplace la clé publique du serveur.
- Quel est le rôle du certificat dans HTTPS ?
Corrigés
✅ Corrigés des exercices (cliquer pour ouvrir / fermer)
Corrigé Exercice 1
- \(N\mapsto 13,\;S\mapsto 18,\;I\mapsto 8\).
Chiffrement : \(c\equiv m+5\pmod{26}\).
\(13+5=18\Rightarrow S\), \(18+5=23\Rightarrow X\), \(8+5=13\Rightarrow N\).
Donc NSI \(\to\) SXN. - Il y a 25 clés non triviales. Une attaque par force brute teste toutes les valeurs de \(k\) rapidement.
Conclusion : César n’est pas sécurisé. - Dans une langue, certaines lettres sont plus fréquentes (en français, e, a, s, t…).
Dans une substitution simple, ces fréquences “se déplacent” mais restent visibles : on peut deviner la correspondance.
Corrigé Exercice 2
- \(C=10110010\oplus 01101100 = 11011110\).
- \(M=C\oplus K=11011110\oplus 01101100=10110010\).
- \[ C_1=M_1\oplus K,\quad C_2=M_2\oplus K \] alors \[ C_1\oplus C_2=(M_1\oplus K)\oplus(M_2\oplus K)=M_1\oplus M_2. \]
Corrigé Exercice 3
- Symétrique :
• avantage : très rapide ;
• inconvénient : il faut partager la clé secrète \(K\). - Asymétrique :
• avantage : pas besoin de secret partagé avant ;
• inconvénient : plus lent / plus coûteux. - Hybride : on utilise l’asymétrique juste pour établir une clé de session, puis on chiffre toutes les données en symétrique (rapide).
Corrigé Exercice 4
- RSA est gourmand en calcul : chiffrer tout un flux (pages, images, vidéo) serait trop lent.
- Eve remplace la clé publique du serveur par la sienne : le client chiffre \(K_{\text{sym}}\) pour Eve. Eve déchiffre, lit/modifie, puis rechiffre vers le serveur : le client croit parler au serveur.
- Le certificat permet de vérifier que la clé publique reçue appartient bien au serveur (chaîne de confiance).
🎓 Problématiques Grand Oral (questions ouvertes)
- Comment HTTPS parvient-il à concilier sécurité et performance alors que le chiffrement asymétrique est lent ?
- Dans quelle mesure le “cadenas” HTTPS garantit-il réellement la sécurité d’un internaute (et quelles menaces restent possibles) ?
- Pourquoi l’authentification de la clé publique (certificats) est-elle aussi cruciale que le chiffrement lui-même dans une communication sécurisée ?
- Comment une attaque “homme du milieu” peut-elle fonctionner malgré l’usage du chiffrement, et comment TLS cherche-t-il à l’empêcher ?
- Le chiffrement protège-t-il davantage la vie privée… ou peut-il aussi compliquer la lutte contre certaines formes de cybercriminalité ?
- Si l’informatique quantique devient opérationnelle à grande échelle, que faudrait-il changer dans les protocoles comme TLS pour rester sécurisé ?
- Peut-on concevoir un système de chiffrement “parfait” en pratique, ou existe-t-il toujours un compromis entre sécurité, coût et usages ?
Sources
- Support de cours fourni : NSI_Securisation_des_communications.pdf.
- Support complémentaire : LDM Terminale – Sécurisation
- NIST – FIPS 197 : Advanced Encryption Standard (AES) : PDF
- IETF – RFC 8446 : TLS 1.3 : RFC
- Rivest, Shamir, Adleman – A Method for Obtaining Digital Signatures and Public-Key Cryptosystems : PDF

