Devmind.
Menu

Apprendre, à votre rythme

Tous les cursus sont accessibles sans compte.

Chapitre 11 / Notion

Chiffrement : symétrique, asymétrique, usages

« C'est chiffré » ne veut rien dire sans : quoi, avec quelle clé, gérée comment.

◷ 12 minutesTravail sur votre machine

Prérequis : cours précédent ; hash, encodage, chiffrement.

Pourquoi

« C'est chiffré » ne veut rien dire sans : quoi, avec quelle clé, gérée comment. 90 % des échecs crypto viennent de la gestion des clés, pas des algorithmes.

Concepts

  • Symétrique (AES-GCM) : même clé pour chiffrer/déchiffrer, rapide. Usage : données au repos (disques, backups, champs sensibles). Avec nonce unique (jamais réutilisé !) et mode authentifié (GCM : chiffre + détecte la modification).
  • Asymétrique (RSA, X25519) : paire publique/privée. Usage : échange de clés, signatures, TLS. Jamais pour chiffrer des volumes (lent !).
  • Hybride (réel) : asymétrique pour échanger une clé de session, symétrique pour le flux. C'est TLS, c'est Signal, c'est partout.
  • Clés : générées aléatoirement (openssl rand), stockées en coffre (Vault, KMS, gestionnaire), jamais dans le code/env en clair en prod sérieuse, rotation prévue.

Exemple : chiffrer un backup (cf. DevOps 4.2)

age -r age1ql3z7hj... -o backup.sql.gz.age backup.sql.gz
# -r = clé publique du destinataire ; seul sa privée déchiffre

Cas réel

Clé AES en dur dans le repo « temporaire » + repo devenu public 2 ans plus tard : backups chiffrés… déchiffrables par tous. Le chiffrement sans gestion des clés = théâtre. Coffre + rotation depuis.

Pièges

  • ECB (le mode qui dessine le pingouin !) : motifs visibles. GCM (ou ChaCha20-Poly1305) toujours.
  • Nonce réutilisé en GCM : catastrophe cryptographique (clé récupérable). Aléatoire unique à chaque fois.
  • « On a inventé notre algo » : non. Jamais. Bibliothèques éprouvées (libsodium) uniquement.

À retenir

Symétrique = données (GCM + nonce unique), asymétrique = clés/signatures, clés en coffre avec rotation.

Pas de correction en ligneConfrontez votre code aux résultats attendus du cours.