Chapitre 10 — Chiffrement Symétrique & Asymétrique
La cryptographie protège la confidentialité. Ce module couvre AES (symétrique), RSA et ECC (asymétriques), et l'échange de clés Diffie-Hellman. Ces algorithmes sont omniprésents sur l'examen.
Mémorisez ! Symétrique = même clé pour chiffrer ET déchiffrer. Rapide, adapté aux grandes quantités de données. Problème : comment partager la clé de façon sécurisée ? (Key distribution problem). Solution : utiliser l'asymétrique pour échanger la clé symétrique (hybride).
| Algorithme | Taille de clé | Statut | Détails |
|---|---|---|---|
| AES | 128, 192, 256 bits | ✅ Standard actuel | Chiffrement par blocs (128 bits). AES-256 = recommandé. Remplace DES/3DES. |
| DES | 56 bits | ❌ Cassé | 56 bits insuffisants — cassé en moins de 24h (EFF DES Cracker 1998) |
| 3DES | 112 ou 168 bits | ⚠️ Déprécié | 3× DES en séquence. Lent. Interdit par NIST après 2023. |
| ChaCha20 | 256 bits | ✅ Moderne | Chiffrement par flux (stream cipher). Utilisé dans TLS 1.3, WireGuard. |
| Blowfish/Twofish | Jusqu'à 448 bits | ⚠️ Legacy | Prédécesseurs d'AES. Encore utilisés dans certains contextes (bcrypt utilise Blowfish). |
Modes d'opération AES :
- ECB (Electronic Codebook) : chaque bloc chiffré indépendamment. Dangereux — les patterns restent visibles (la célèbre image Linux Tux chiffrée en ECB reste reconnaissable).
- CBC (Cipher Block Chaining) : chaque bloc XOR avec le bloc précédent. Nécessite un IV (vecteur d'initialisation). Plus sécurisé qu'ECB.
- GCM (Galois/Counter Mode) : chiffrement + authentification intégrée (AEAD). Mode recommandé. Utilisé dans TLS 1.3.
Mémorisez ! Asymétrique = paire de clés (publique + privée). Ce que la clé publique chiffre, seule la privée peut déchiffrer. Ce que la clé privée signe, la clé publique vérifie. La clé privée ne quitte JAMAIS le propriétaire.
| Algorithme | Taille de clé | Usages |
|---|---|---|
| RSA | 2048 bits min. (4096 recommandé) | Chiffrement, signatures, échange de clés. Plus lent mais universel. |
| ECC (Elliptic Curve) | 256 bits ≈ RSA 3072 bits | Signatures (ECDSA), échange de clés (ECDH). Plus rapide, clés plus courtes = idéal mobile/IoT. |
| DSA | 1024-3072 bits | Signatures numériques uniquement. Standard FIPS. |
| Diffie-Hellman (DH) | Variable | Échange de clés uniquement (pas de chiffrement ni signature). Base de nombreux protocoles. |
- Diffie-Hellman (DH) : permet à deux parties d'établir une clé secrète partagée sur un canal public sans jamais s'envoyer la clé. Repose sur la difficulté du logarithme discret.
- ECDH (Elliptic Curve DH) : variante ECC de Diffie-Hellman. Plus efficace.
- Forward Secrecy / PFS (Perfect Forward Secrecy) : utiliser des clés de session éphémères (DHE ou ECDHE). Si la clé privée à long terme est compromise dans le futur, les sessions passées restent protégées (les clés de session sont perdues). TLS 1.3 impose le PFS.
- Chiffrement hybride : utiliser l'asymétrique pour échanger une clé symétrique (rapide), puis utiliser la clé symétrique pour chiffrer les données. C'est ce que fait TLS/HTTPS.
Astuce Examen
Sur l'examen : ECC avec une clé de 256 bits offre une sécurité équivalente à RSA avec une clé de ~3072 bits. ECC = plus court, plus rapide = idéal pour mobile et IoT. Si la question demande "algorithme asymétrique le plus efficace pour les appareils à faibles ressources" → répondre ECC.
- Menace des ordinateurs quantiques : l'algorithme de Shor pourrait casser RSA et ECC en temps polynomial. Les hashes (SHA-256) sont moins vulnérables mais SHA-512 recommandé pour post-quantum.
- Post-Quantum Cryptography (PQC) : NIST a standardisé des algorithmes résistants aux ordinateurs quantiques (2024) : CRYSTALS-Kyber (encapsulation de clé), CRYSTALS-Dilithium (signature).
- QKD (Quantum Key Distribution) : utilise les propriétés quantiques de la lumière pour détecter toute interception. Théoriquement indéchiffrable. Actuellement limité en distance.