Comment chiffrer et déchiffrer du texte avec DES

Un champ de texte et un champ de phrase secrète : cliquez sur Chiffrer pour transformer le texte en un conteneur salé de style OpenSSL, ou collez un texte chiffré DES existant et cliquez sur Déchiffrer pour le relire. Le résultat apparaît sous les boutons.

Tout s’exécute dans la page avec CryptoJS : le texte et la phrase secrète ne sont pas envoyés. DES est un chiffrement à clé de 56 bits des années 1970 ; cette page sert donc à relire et reproduire des données DES anciennes, pas à protéger de nouveaux secrets.

  1. Collez dans le champ du haut le texte à chiffrer, ou un texte chiffré DES existant qui commence par U2FsdGVkX1.
  2. Saisissez la phrase secrète dans le champ de clé. Elle sera nécessaire plus tard pour relire le texte chiffré ; elle n’est stockée nulle part.
  3. Cliquez sur Chiffrer. La sortie est en Base64 : le marqueur Salted__, huit octets de sel aléatoires, puis le texte chiffré.
  4. Pour relire un texte chiffré, collez-le dans le même champ, gardez la phrase secrète et cliquez sur Déchiffrer.

Ce que contient réellement le résultat

Le conteneur salé et son sel aléatoire

La sortie est le conteneur que produisent CryptoJS et openssl enc : les huit octets Salted__ (U2FsdGVkX1 en Base64), huit octets de sel aléatoires, puis le texte chiffré. DES est un chiffrement par blocs de 8 octets, en mode CBC avec remplissage PKCS#7 : le dernier bloc ajoute donc 1 à 8 octets — des entrées de 2 et de 3 octets donnent toutes deux des conteneurs de 24 octets.

Le sel est aléatoire à chaque exécution : le même texte avec la même phrase secrète produit une chaîne différente à chaque fois ; une sortie identique serait un défaut.

Relire le résultat avec OpenSSL

La clé et l’IV sont dérivés de la phrase secrète et du sel par EVP_BytesToKey basé sur MD5, la même dérivation qu’utilise openssl enc avec -md md5. Un conteneur produit ici se déchiffre avec openssl enc -d -des-cbc -md md5 -a -k "phrase secrète", et un texte chiffré produit par cette commande OpenSSL se colle dans la page : les deux sens ont été vérifiés.

DES utilise une clé de 56 bits et OpenSSL signale déjà que cette dérivation est obsolète ; la page la conserve volontairement, car c’est celle des données DES existantes.

Échecs et ce qu’un résultat ne prouve pas

Une phrase secrète erronée, un texte qui n’est pas un conteneur et un texte chiffré modifié échouent au contrôle de remplissage : la page vide la sortie et affiche un message au lieu de laisser le résultat précédent. Un champ vide ou une phrase secrète vide sont refusés de la même façon, avant toute exécution.

Le conteneur n’a ni MAC ni étiquette d’authentification : une valeur déchiffrée est une donnée, pas une preuve d’authenticité. N’utilisez DES ici que pour relire ou reproduire des données anciennes, et un chiffrement authentifié moderne pour le reste.

Outils récents :