AES-256-GCM : le chiffrement symétrique authentifié, en détail
Pourquoi AES-GCM et pas seulement AES ? Le rôle du nonce, du tag d’authentification, et les pièges à éviter.
AES-256-GCM est le standard de fait pour chiffrer des données. Comprendre ses composants, c’est comprendre pourquoi un coffre moderne est sûr — et où sont les pièges.
AES : le chiffrement symétrique
AES (Advanced Encryption Standard) chiffre par blocs de 128 bits avec une clé secrète. « 256 » désigne la taille de la clé : 256 bits, soit un espace de clés qu’aucune force brute connue ne peut parcourir. La même clé chiffre et déchiffre — d’où « symétrique ».
Le mode GCM : chiffrer ET authentifier
Chiffrer ne suffit pas : il faut aussi garantir que les données n’ont pas été modifiées. Le mode GCM (Galois/Counter Mode) ajoute un tag d’authentification qui détecte toute altération. On parle de chiffrement authentifié (AEAD).
- Si un seul bit du chiffré est modifié, le déchiffrement échoue au lieu de produire des données corrompues silencieusement.
- On peut aussi authentifier des métadonnées non chiffrées (associated data).
Le nonce : à usage unique
GCM exige un nonce (number used once) pour chaque chiffrement. Règle absolue : ne jamais réutiliser un nonce avec la même clé. Le faire casse complètement la sécurité de GCM. En pratique, on génère un nonce aléatoire (96 bits) à chaque opération.
nonce = random(12 octets) # unique par chiffrement
chiffré, tag = AES_GCM_encrypt(clé, nonce, message)
// on stocke : nonce + chiffré + tag
Les pièges classiques
- Réutiliser un nonce (le pire).
- Ignorer l’échec de vérification du tag au déchiffrement.
- Confondre la clé et le mot de passe (la clé se dérive — voir Argon2).
Bien employé, AES-256-GCM offre confidentialité et intégrité : la fondation sur laquelle repose un coffre zero-knowledge.
Envie d’aller plus loin avec SecretVault ?
Découvrir SecretVault