Outil de chiffrement AES (AES-128/192/256)
Chiffrez du texte en AES-128/192/256 (CBC, GCM, CTR, CFB, OFB, ECB). Phrase secrète compatible OpenSSL ou clé + IV en hex. Tout s’exécute dans votre navigateur.
La sortie utilise le format OpenSSL « Salted__ » en Base64 : un sel aléatoire de 8 octets suivi du texte chiffré. La clé et l’IV sont dérivés de la phrase secrète et du sel : le même texte donne donc un résultat différent à chaque fois. Commande équivalente :
openssl enc -aes-256-cbc -md md5 -a -A -k '…'S'exécute entièrement dans votre navigateur. Vos données ne sont jamais envoyées.
Qu'est-ce que Chiffrement AES ?
Chiffre du texte ou des données hex avec AES, le chiffrement par blocs standard (FIPS 197). Vous pouvez dériver la clé d’une phrase secrète au format OpenSSL « Salted__ », de sorte que openssl enc et CryptoJS puissent déchiffrer le résultat, ou fournir une clé et un IV bruts en hex pour l’interopérabilité avec votre code. Les modes CBC, CFB, CTR, OFB, ECB et GCM (authentifié) sont pris en charge.
Comment utiliser Chiffrement AES
- Laissez Source de la clé sur Phrase secrète (compatible OpenSSL) et saisissez une Phrase secrète, ou passez à Clé + IV bruts (hex) et entrez la clé et l’IV exacts en hex.
- Choisissez le Mode et le Remplissage (CBC avec PKCS#7 est la valeur par défaut d’OpenSSL) ; avec une clé brute, vous pouvez aussi choisir GCM et des données authentifiées supplémentaires facultatives.
- Saisissez ou collez le Texte en clair (ou passez l’encodage de l’entrée sur Hex pour des données binaires).
- Cliquez sur Chiffrer, choisissez Base64 ou Hex comme Encodage de la sortie et copiez le texte chiffré.
Exemple
Clé 2b7e151628aed2a6abf7158809cf4f3c, IV 000102030405060708090a0b0c0d0e0f, mode CBC, remplissage Aucun, texte en clair hex 6bc1bee22e409f96e93d7e117393172a
7649abac8119b246cee98e9b12e9197d
Vecteur de test NIST SP 800-38A F.2.1, encodage de sortie Hex.
Quand utiliser Chiffrement AES
Utilisez-le pour produire des données de test pour une application qui emploie AES, chiffrer un extrait que vous déchiffrerez avec OpenSSL ou CryptoJS, ou comprendre comment les modes et le remplissage modifient le résultat. Préférez GCM (ou CBC avec un MAC séparé) pour des données réelles, car CBC/CTR/CFB/OFB seuls ne détectent pas les modifications. Évitez ECB : des blocs identiques donnent un texte chiffré identique. Pour des fichiers ou des secrets à long terme, utilisez un outil dédié comme age, GnuPG ou les API de chiffrement de votre plateforme.
Comment fonctionne Chiffrement AES
AES chiffre des blocs de 16 octets avec une clé de 128, 192 ou 256 bits (10, 12 ou 14 tours). En mode phrase secrète, un sel aléatoire de 8 octets est généré et la clé et l’IV sont dérivés avec EVP_BytesToKey d’OpenSSL (MD5, une itération – la valeur par défaut de openssl enc -md md5 et de CryptoJS) ou avec PBKDF2-HMAC-SHA256 (openssl enc -pbkdf2) ; la sortie est le Base64 de Salted__ + sel + texte chiffré. En mode brut, votre clé et votre IV en hex sont utilisés directement et seul le texte chiffré est renvoyé. CBC et ECB utilisent le remplissage PKCS#7 (ou nul/aucun) ; CFB, OFB et CTR sont des modes flux sans remplissage. GCM utilise l’API Web Crypto du navigateur avec un nonce de 12 octets et ajoute la balise d’authentification de 16 octets. L’implémentation passe les vecteurs de test NIST SP 800-38A et GCM.
Cas d'utilisation courants
- Créer un texte chiffré compatible
openssl enc -aes-256-cbcsans terminal - Reproduire la sortie de
CryptoJS.AES.encrypt(text, passphrase)pour le débogage - Générer des vecteurs de test AES-GCM (texte chiffré + balise) pour une implémentation côté serveur
- Chiffrer un court secret avec une clé de 256 bits et un IV bruts à coller dans un fichier de configuration
- Montrer pourquoi le mode ECB révèle des motifs, contrairement à CBC ou CTR
Note de Sécurité
Tout s’exécute localement dans votre navigateur ; rien n’est envoyé. EVP_BytesToKey avec MD5 est une dérivation de clé faible et rapide, conservée pour la compatibilité : choisissez PBKDF2 avec de nombreuses itérations, ou une clé brute aléatoire, pour tout usage important. Un chiffrement sans authentification (CBC, CTR, CFB, OFB) ne détecte pas les modifications.
Questions Fréquentes
La sortie est-elle compatible avec OpenSSL ?
Oui. En mode phrase secrète, le résultat est exactement celui de openssl enc -aes-256-cbc -md md5 -a -A -k <passphrase> (EVP_BytesToKey avec MD5), ou de -pbkdf2 -iter N si vous choisissez PBKDF2-HMAC-SHA256. Ajoutez -d pour déchiffrer. La page affiche la commande correspondante sous le champ de phrase secrète.
Pourquoi obtiens-je un texte chiffré différent à chaque fois ?
Le mode phrase secrète utilise un nouveau sel aléatoire à chaque chiffrement, donc la clé, l’IV et le texte chiffré changent. C’est voulu : chacune des sorties se déchiffre avec la même phrase secrète. Le mode clé brute est déterministe pour une même clé, un même IV et une même entrée.
Quel mode choisir ?
GCM, car il authentifie aussi les données (le déchiffrement échoue si quelque chose a été modifié). Si le destinataire ne prend en charge que openssl enc, utilisez CBC – openssl enc ne gère pas GCM. Ne réutilisez jamais un nonce GCM ou un compteur CTR avec la même clé.
Quelle différence entre phrase secrète et clé brute ?
Une phrase secrète est transformée en clé par une fonction de dérivation de clé et un sel qui est stocké dans la sortie. Une clé brute est utilisée exactement telle que saisie (16, 24 ou 32 octets pour AES-128/192/256), avec un IV que vous devez transmettre séparément.