ZestCalc
Appearance
Language

Chiffrer / déchiffrer du texte

Chiffrez ou déchiffrez du texte avec AES-256-GCM directement dans votre navigateur. Aucune donnée ne quitte votre appareil.

Chiffrer / déchiffrer du texte

Saisissez votre texte et votre mot de passe, puis cliquez sur Chiffrer ou Déchiffrer.

Référence des commandes OpenSSL (AES-256-CBC)

Vous pouvez aussi chiffrer et déchiffrer du texte en ligne de commande avec OpenSSL. Les commandes ci-dessous utilisent AES-256-CBC avec dérivation de clé PBKDF2 (100 000 itérations, SHA-256).

Remplacez VOTRE_TEXTE par le texte à chiffrer et VOTRE_MOT_DE_PASSE par le mot de passe de votre choix. Pour déchiffrer, remplacez BASE64_CHIFFRE par la sortie Base64 de la commande de chiffrement.

Chiffrer

printf '%s' 'VOTRE_TEXTE' | openssl enc -aes-256-cbc -pbkdf2 -iter 100000 -pass pass:'VOTRE_MOT_DE_PASSE' -a

Déchiffrer

echo 'BASE64_CHIFFRE' | openssl enc -d -aes-256-cbc -pbkdf2 -iter 100000 -pass pass:'VOTRE_MOT_DE_PASSE' -a

Pourquoi les résultats sont-ils différents ?

L’outil Web ci-dessus utilise AES-256-GCM (chiffrement authentifié), tandis que les commandes OpenSSL utilisent AES-256-CBC, car openssl enc ne prend pas en charge le mode GCM. Ces deux algorithmes produisent des formats de sortie complètement différents : vous ne pouvez donc pas déchiffrer une sortie OpenSSL avec cet outil Web, ni l’inverse. En revanche, les deux approches dérivent la clé de chiffrement avec PBKDF2 en utilisant les mêmes paramètres (SHA-256, 100 000 itérations).

Comment utiliser cet outil

Saisissez ou collez le texte que vous souhaitez protéger dans le champ Texte en clair, choisissez un mot de passe fort, puis cliquez sur Chiffrer. L’outil renvoie une chaîne encodée en Base64 qui contient tout ce qu’il faut pour le déchiffrement : le sel, l’IV, le tag d’authentification et le texte chiffré sont regroupés dans un seul bloc.

Pour effectuer l’opération inverse, passez en mode Déchiffrer, collez la chaîne Base64, saisissez le même mot de passe, puis cliquez sur Déchiffrer. Si le mot de passe est correct et que les données n’ont pas été altérées, le texte en clair d’origine apparaît immédiatement.

Quelle est la robustesse d’AES-256-GCM ?

Tant que le mot de passe n’est pas perdu, il est extrêmement difficile de retrouver le texte en clair sans lui, même avec des ordinateurs très puissants. AES-256 possède un espace de clés de 22562^{256}, ce qui signifie qu’une attaque par force brute dépasse largement les capacités des technologies actuelles et prévisibles. Associé à l’étirement de clé PBKDF2 (100 000 itérations), même une simple tentative de devinette de mot de passe devient peu réaliste.

Cela dit, un mot de passe faible ou réutilisé réduit fortement cet avantage. Utilisez toujours une phrase secrète forte et unique.

Qu’est-ce que le chiffrement symétrique ?

Le chiffrement symétrique utilise la même clé (dérivée de votre mot de passe) pour chiffrer et déchiffrer. Contrairement au chiffrement asymétrique, qui repose sur une paire de clés publique/privée, les schémas symétriques sont simples et rapides. Ils sont donc particulièrement adaptés pour protéger des données au repos ou en transit lorsque les deux parties partagent un secret.

Pourquoi utiliser AES-256-GCM ?

  • Chiffrement authentifié : GCM (Galois/Counter Mode) assure à la fois la confidentialité et l’intégrité en une seule opération. Si un seul bit du texte chiffré est modifié, le déchiffrement échoue avec une erreur d’authentification au lieu de produire une sortie corrompue.
  • Largement reconnu : AES-256 est le standard de chiffrement utilisé par les gouvernements, les institutions financières et les logiciels critiques pour la sécurité dans le monde entier.
  • Standard du secteur : il fait partie des suites cryptographiques par défaut de TLS 1.3, il est recommandé par le NIST et pris en charge nativement par toutes les grandes plateformes via l’API Web Crypto.

Comme cet outil utilise un seul algorithme fixe, vous n’avez jamais à vous soucier d’un décalage d’algorithme entre le chiffrement et le déchiffrement.

Comment fonctionne le processus de chiffrement / déchiffrement

  1. Dérivation de clé (PBKDF2) — Votre mot de passe n’est pas utilisé directement comme clé de chiffrement. Il est envoyé dans PBKDF2 avec un sel aléatoire de 16 octets et traité par 100 000 itérations de SHA-256. Le résultat est une clé de 256 bits dont la rétro-ingénierie à partir du seul mot de passe est extrêmement coûteuse.
  1. Chiffrement — Un IV (vecteur d’initialisation) aléatoire de 12 octets est généré. AES-256-GCM chiffre ensuite le texte en clair avec la clé dérivée et l’IV, ce qui produit le texte chiffré ainsi qu’un tag d’authentification de 16 octets qui sera vérifié au déchiffrement.
  1. Assemblage — Le sel, l’IV, le tag d’authentification et le texte chiffré sont concaténés dans cet ordre, puis encodés sous la forme d’une seule chaîne Base64. Cela signifie que le destinataire n’a besoin que du mot de passe : tout le reste est déjà inclus dans la sortie.
  1. Déchiffrement — La chaîne Base64 est décodée puis séparée à nouveau en sel, IV, tag et texte chiffré. PBKDF2 redérive la même clé à partir du mot de passe et du sel, puis AES-256-GCM déchiffre les données. Si la vérification du tag échoue, l’opération s’interrompt immédiatement, ce qui protège à la fois contre les mauvais mots de passe et les textes chiffrés altérés.

Note sur la confidentialité

Tout le traitement se fait entièrement dans votre navigateur. Aucun texte en clair, mot de passe ou texte chiffré n’est jamais envoyé à un serveur. Vous pouvez le vérifier en ouvrant l’inspecteur réseau de votre navigateur : aucune requête sortante n’est effectuée pendant le chiffrement ou le déchiffrement.

À titre de référence, la zone de résultat affiche aussi des commandes OpenSSL qui réalisent un chiffrement AES-256-CBC avec le même mot de passe et le même nombre d’itérations. Ces commandes sont fournies pour vous permettre d’explorer le chiffrement en ligne de commande sur votre machine, mais leur sortie ne peut pas être déchiffrée par cet outil, et inversement. Les résultats sont incompatibles pour deux raisons :

  1. Mode de chiffrement différent — Cet outil utilise AES-256-GCM (chiffrement authentifié). L’outil openssl enc ne prend pas en charge le mode GCM, donc les commandes utilisent AES-256-CBC, qui ne fournit pas de tag d’authentification intégré.
  1. Format binaire différent — Cet outil assemble la sortie sous la forme salt (16 bytes) + IV (12 bytes) + auth tag (16 bytes) + ciphertext, le tout encodé en Base64. OpenSSL utilise son propre format d’en-tête Salted__, avec un sel de 8 octets et sans tag d’authentification.

À cause de ces différences, tout texte chiffré produit ici ne peut être déchiffré qu’ici, et tout texte chiffré produit par ces commandes OpenSSL ne peut être déchiffré que par un appel openssl enc -d correspondant.