Deux grandes familles de chiffrement existent, avec des rôles complémentaires — la plupart des systèmes réels (dont TLS) utilisent les deux ensemble, jamais un seul des deux.
Chiffrement symétrique
Une seule clé, partagée, sert à la fois à chiffrer et déchiffrer.
Alice ──► Chiffre("message", clé_PARTAGÉE) ──► [données illisibles]
Bob ──► Déchiffre([données illisibles], clé_PARTAGÉE) ──► "message"
| Détail | |
|---|---|
| Algorithmes courants | AES-256-GCM, ChaCha20-Poly1305 |
| Vitesse | Très rapide — utilisable sur de gros volumes de données |
| Problème à résoudre | Comment les deux parties obtiennent-elles la même clé, sans jamais l’avoir échangée en clair ? |
Chiffrement asymétrique
Une paire de clés mathématiquement liées : ce que l’une chiffre, seule l’autre peut le déchiffrer.
Alice ──► Chiffre("message", clé_PUBLIQUE_de_Bob) ──► [données illisibles]
Bob ──► Déchiffre([données illisibles], clé_PRIVÉE_de_Bob) ──► "message"
| Détail | |
|---|---|
| Algorithmes courants | RSA, ECC (ECDSA, ECDHE) |
| Vitesse | Beaucoup plus lent que le symétrique — coûteux sur de gros volumes |
| Avantage | Pas besoin d’avoir déjà un secret partagé — la clé publique peut être distribuée librement |
L’asymétrique a un second usage, différent du chiffrement : la signature (authentifier plutôt que cacher) — même paire de clés, sens inverse. Voir le détail complet dans Comprendre les certificats — Exemple détaillé.
Pourquoi TLS utilise les deux, jamais un seul
| Étape | Type utilisé | Pourquoi |
|---|---|---|
| Authentifier le serveur (certificat) | Asymétrique — signature | Prouver une identité sans partager de secret au préalable |
| Établir un secret partagé (handshake) | Asymétrique — Diffie-Hellman — Échange de clés | Se mettre d’accord sur une clé sans jamais l’envoyer en clair |
| Chiffrer les données de la conversation | Symétrique — AES-256-GCM | Rapide, adapté à de gros volumes (toute une session de navigation) |
Handshake (asymétrique) : authentifie + établit un secret partagé
│
▼
Session (symétrique) : chiffre tout le trafic réel avec ce secret
Utiliser l’asymétrique pour tout le trafic serait beaucoup trop lent — il ne sert qu’à la phase de mise en place (authentification + accord sur une clé), rapide et peu fréquente. Le gros du travail (chiffrer chaque octet échangé) revient au symétrique, bien plus rapide.
En relation avec
- Diffie-Hellman — Échange de clés — comment le secret partagé est établi, sans jamais être transmis
- TLS et SSL — application complète dans le handshake TLS/mTLS
- Comprendre les certificats — Exemple détaillé — chiffrement vs signature, les deux usages de l’asymétrique
- Algorithmes — Vue d’ensemble — détail de chaque algorithme (AES, RSA, ECC…)