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 courantsAES-256-GCM, ChaCha20-Poly1305
VitesseTrès rapide — utilisable sur de gros volumes de données
Problème à résoudreComment 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 courantsRSA, ECC (ECDSA, ECDHE)
VitesseBeaucoup plus lent que le symétrique — coûteux sur de gros volumes
AvantagePas 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

ÉtapeType utiliséPourquoi
Authentifier le serveur (certificat)Asymétrique — signatureProuver une identité sans partager de secret au préalable
Établir un secret partagé (handshake)Asymétrique — Diffie-Hellman — Échange de clésSe mettre d’accord sur une clé sans jamais l’envoyer en clair
Chiffrer les données de la conversationSymétrique — AES-256-GCMRapide, 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