Phrases de passe mémorisables de 4 à 8 mots aléatoires tirés de la liste anglaise BIP39.
Chiffrement / déchiffrement AES-GCM
L'outil lui-même est en anglais ; cette page vous l'explique dans votre langue.
Utilisez Chiffrement / déchiffrement AES-GCM
Fonctionnalités
Chiffrez un texte avec AES-256-GCM et une phrase de passe, ou déchiffrez une chaîne Base64 produite par cet outil. La clé est un seul hachage SHA-256 de la phrase de passe : utilisez-en donc une longue et aléatoire.
Tout se passe entièrement dans votre navigateur : aucune des données que vous saisissez n'est transmise.
Comment utiliser Chiffrement / déchiffrement AES-GCM
- Saisissez une phrase de passe. Tapez une phrase de passe longue et aléatoire dans Password / Key. Le champ accepte aussi une valeur vide, qui ne protège rien.
- Collez le texte. Placez le texte à chiffrer, ou une chaîne Base64 produite par cet outil, dans Plaintext / Ciphertext.
- Chiffrez ou déchiffrez. Appuyez sur Encrypt pour obtenir une chaîne Base64, ou sur Decrypt (déchiffrer) pour reconvertir une telle chaîne en texte.
- Copiez et partagez en sécurité. Appuyez sur Copy et envoyez le Base64 par un canal. Communiquez la phrase de passe par un autre, par exemple en personne ou par téléphone.
- Corrigez un déchiffrement échoué. Si Decrypt affiche Error: wrong key or invalid data, vérifiez la phrase de passe lettre par lettre et assurez-vous que toute la chaîne Base64 a été copiée.
Exemple
Message court
Meet at the usual place at 10:00.sc/i5ncy6JbuW/+WPWQo6pboxhwf1K3tR7fOW49jHPXbZOVhlKrJEXqGkWJ31PqgI7moKwETaLovN0/tlA==Encrypt (chiffrer) renvoie en Base64 un IV aléatoire de 12 octets, le texte chiffré et le tag de 16 octets, différents à chaque exécution. Saisissez d'abord une phrase de passe dans Password / Key : l'outil en accepte aussi une vide, qui ne protège rien.
Ce qu'il vérifie
| Signal | Ce que cela signifie |
|---|---|
| Clé | Le SHA-256 de la phrase de passe, utilisé comme clé AES-256. Il n'y a ni sel ni dérivation lente : la même phrase de passe donne donc toujours la même clé. |
| 16 premiers caractères Base64 | L'IV de 12 octets. Encrypt tire un nouvel IV aléatoire à chaque fois : le même texte donne donc une sortie différente à chaque exécution. |
| Longueur de la sortie | IV de 12 octets, puis les octets du texte, puis un tag de 16 octets, le tout en Base64. Un texte vide donne 40 caractères ; un texte de 23 octets en donne 68. |
| Error: wrong key or invalid data | La phrase de passe diffère (la casse et les espaces comptent), la chaîne a été modifiée ou tronquée, ou ce n'est pas du Base64. GCM ne renvoie aucun texte lorsque la vérification échoue. |
| Pas d'en-tête de format | La sortie ne comporte aucun marqueur de version ou d'algorithme ni aucune donnée associée : un autre logiciel a donc besoin exactement de cette disposition et de cette dérivation de clé pour la lire. |
| Entrée Base64 | Decrypt attend du Base64 standard tel que produit par Encrypt. Les espaces et sauts de ligne ajoutés par un logiciel de messagerie sont ignorés, mais un caractère manquant ou modifié fait échouer le déchiffrement. |
| Phrase de passe vide acceptée | La clé est alors le SHA-256 d'une chaîne vide, que n'importe qui peut calculer : en pratique, le texte n'est donc pas chiffré. |
D'autres exemples
Déchiffrer un échantillon
Password / Key: example passphrase, not a real secret; Ciphertext: AAAAAAAAAAAAAAAAmdUgeZatb2KYwe2btQ+qgA3xKNnswXrrQ6AeKTDSu03TnrvNXygfDecrypt affiche Hello from PhishDestroy. L'échantillon a été créé avec un IV entièrement nul, le AAAAAAAAAAAAAAAA initial, à titre d'illustration uniquement ; Encrypt utilise toujours un IV aléatoire.
Une lettre de la phrase de passe modifiée
The same ciphertext with Password / Key: Example passphrase, not a real secretError: wrong key or invalid data (clé erronée ou données invalides)
Chiffrer un texte vide
Plaintext / Ciphertext empty, any passphrase, EncryptUne chaîne Base64 de 40 caractères (IV de 12 octets plus tag de 16 octets), différente à chaque appui.
FAQ
Comment la clé est-elle obtenue à partir de ma phrase de passe ?
La clé AES-256 est un seul hachage SHA-256 de la phrase de passe, sans sel et sans dérivation lente de clé comme PBKDF2 ou Argon2. Une phrase de passe courte ou devinable peut donc être cassée rapidement par force brute hors ligne : utilisez-en une longue et aléatoire, par exemple issue de Passphrase Generator.
Que contient la sortie, et d'autres logiciels peuvent-ils la déchiffrer ?
Du Base64 composé d'un IV aléatoire de 12 octets, puis du texte chiffré et du tag d'authentification GCM de 16 octets. Le déchiffrement affiche Error: wrong key or invalid data si la phrase de passe est erronée ou si un seul octet a changé, et d'autres logiciels ne peuvent la déchiffrer qu'avec la même clé SHA-256 et la même disposition des octets.
Mon texte ou ma phrase de passe sont-ils envoyés quelque part ?
Non. Le chiffrement s'exécute dans votre navigateur avec l'API Web Crypto ; la phrase de passe et le texte ne sont jamais téléversés ni enregistrés.
Dois-je chiffrer ma phrase de récupération ici ?
Non. Ne tapez jamais la phrase de récupération (seed phrase) d'un portefeuille dans un site web ; de plus, une clé issue d'un seul hachage SHA-256 sans sel permet de casser hors ligne une phrase de passe faible par force brute. Conservez les phrases de récupération hors ligne, par exemple sur papier ou sur métal, ou dans un portefeuille matériel.
D'autres logiciels peuvent-ils déchiffrer la sortie ?
Oui, s'ils suivent la même disposition : clé = SHA-256 de la phrase de passe en UTF-8, IV = 12 premiers octets, tag = 16 derniers octets, aucune donnée associée. Le paquet Python cryptography et d'autres bibliothèques AES-GCM en sont capables.
Puis-je réutiliser une même phrase de passe pour plusieurs messages ?
Chaque message reçoit un nouvel IV aléatoire de 12 octets : en pratique, la réutilisation ne répète donc pas l'IV. Le vrai risque est la phrase de passe elle-même : quiconque la connaît peut lire tous les messages chiffrés avec elle.
Qu'apporte GCM par rapport à AES seul ?
Un tag d'authentification. Toute modification de l'IV, du texte chiffré ou du tag est détectée, et le déchiffrement échoue au lieu de renvoyer un texte altéré.