Aller au contenu
Sommaire

Fiche mémo Chiffrement et cryptographie

Fiche mémo · environ 5 min de lecture

Validé

Validé. Ce site n’exécute aucune commande. Sources

Choisir le bon outil

BesoinOutilÀ retenir
Garder un contenu secretchiffrement symétrique AEAD (AES-GCM, ChaCha20-Poly1305)une clé partagée, rapide
Partager sans secret préalableasymétrique / accord de cléclé publique diffusable, privée secrète
Gros volume vers un tiershybride (clé de session + clé publique)principe de TLS et d'OpenPGP
Détecter une modificationhachage (SHA-256)pas d'authenticité seul
Authentifier entre deux partiesHMAChachage + clé partagée
Prouver l'auteursignatureclé privée signe, publique vérifie
Stocker un mot de passeArgon2id, scrypt, bcrypt, PBKDF2lent, avec sel unique

Algorithmes : bon, à éviter

StatutExemples
CourantAES (128 ou 256 bits), SHA-256, RSA 2048 bits minimum, Ed25519, P-256, X25519, TLS 1.3 / 1.2
Déprécié ou à proscrireMD5, SHA-1, DES, 3DES, RC4, SSLv2, SSLv3, TLS 1.0 et 1.1 (RFC 8996), mode ECB
Avec réserveAES-CBC et CTR sans authentification ; openssl enc (pas d'AEAD) ; bcrypt (héritage)
Transitionpost-quantique (ML-KEM, FIPS 203) : état non vérifié

TLS 1.3 en cinq lignes

  1. Le client envoie sa part publique ECDHE.
  2. Le serveur répond avec la sienne.
  3. Le serveur présente son certificat et une signature.
  4. Les deux calculent le même secret (jamais transmis) et dérivent les clés.
  5. Les données passent en chiffrement symétrique authentifié.

Secret avant (confidentialité persistante) ; serveur authentifié, client seulement sur demande.

Certificats

  • Contiennent identité, clé publique, validité, extensions, signature de l'AC (RFC 5280).
  • Vérifier : chaîne vers une racine de confiance, dates, nom dans subjectAltName, usage, révocation.
  • Auto-signé : laboratoire seulement. Jamais d'exception « ignorer l'erreur de certificat ».

Clés : règles d'or

  1. Générer avec un aléa cryptographique.
  2. Ne jamais mettre de clé ni de secret dans le code, un commit, une URL, un journal.
  3. Clé de données chiffrée par une clé de clés, rangée ailleurs.
  4. Droits 600 sur un fichier de clé privée ; phrase secrète sur toute clé réelle.
  5. Tourner en cas de fuite, de fin de cryptopériode ou d'algorithme affaibli.
  6. Sauvegarder et tester la récupération ; une clé perdue = données perdues.
  7. Une clé qui a fuité est compromise : la remplacer, pas seulement la retirer.

Commandes de démonstration (dossier jetable)

ActionCommandeEffet
Versionsopenssl version ; gpg --versionlecture
Empreinteopenssl dgst -sha256 f ; shasum -a 256 flecture
Chiffrer (démo)openssl enc -aes-256-cbc -pbkdf2 -salt -in f -out f.encécrit ; sans authentification
Déchiffreropenssl enc -d -aes-256-cbc -pbkdf2 -in f.enc -out f.outécrit
Clé de signatureopenssl genpkey -algorithm ED25519 -out k.pem puis chmod 600 k.pemécrit une clé privée
Signer / vérifieropenssl pkeyutl -sign -inkey k.pem -rawin -in f -out f.sig ; -verify -pubin -inkey pub.pem -rawin -in f -sigfile f.sigécrit / lit
Certificat de démoopenssl req -x509 -newkey rsa:2048 -noenc -keyout d.key -out d.crt -days 30 -subj "/CN=demo.example.test"écrit une clé non chiffrée
Lire un certificatopenssl x509 -in d.crt -noout -subject -issuer -dates -fingerprintlecture
Tester un serveuropenssl s_client -connect HOTE:443 -servername HOTE -brief < /dev/nullconnexion réseau
GnuPG symétriquegpg --symmetric --armor f ; gpg --decrypt f.ascécrit / lit
Signature GnuPGgpg --detach-sign f ; gpg --verify f.sig fexige une paire OpenPGP
État de FileVaultfdesetup statuslecture (non vérifié)

Avant : DEMO="$(mktemp -d)" ; cd "$DEMO" ; pour GnuPG : export GNUPGHOME="$DEMO/gnupg" (trousseau temporaire, jamais le personnel). Après : unset GNUPGHOME ; cd ~ ; rm -r "$DEMO" (suppression définitive : relire la commande).

Attention : sous macOS, openssl peut être LibreSSL : options (-noenc, -pbkdf2) à contrôler avec openssl version et man openssl (non vérifié). Ne jamais passer une phrase secrète en argument de ligne de commande.

Mots de passe : paramètres OWASP

  • Argon2id : 19 MiB de mémoire minimum, 2 itérations, 1 de parallélisme.
  • PBKDF2-HMAC-SHA-256 : 600 000 itérations ou plus (conformité FIPS).
  • bcrypt : facteur 10 ou plus, limite de 72 octets.
  • Sel aléatoire unique par mot de passe.

Mac : repères

  • FileVault : AES-XTS, clés dans le Secure Enclave (Apple silicon, T2), clé de récupération de 24 caractères.
  • Garder la clé de récupération hors du Mac.
  • Chiffrer le disque ne protège pas une session ouverte ni les données envoyées sur le réseau.

Avant de lancer une commande

  1. Lecture ou écriture ? Qui lit les fichiers produits ?
  2. Données et clés de démonstration seulement.
  3. La commande touche-t-elle le réseau ou un trousseau réel ?
  4. Retour arrière prévu (suppression du dossier jetable).

Sources — consultées le 17 octobre 2026