Chiffrement et déchiffrement Blowfish
Chiffrez ou déchiffrez avec Blowfish (clés de 4 à 56 octets) en CBC, CFB, OFB ou ECB. Phrase secrète OpenSSL bf-cbc ou clé et IV hex. Gratuit, dans le 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 -bf-cbc -md md5 -a -A -provider legacy -provider default -k '…'S'exécute entièrement dans votre navigateur. Vos données ne sont jamais envoyées.
Qu'est-ce que Chiffrement et déchiffrement Blowfish ?
Chiffre et déchiffre des données avec Blowfish, le chiffrement par blocs de Bruce Schneier (1993) à bloc de 64 bits et clé de longueur variable (4 à 56 octets). Utilisez les onglets Chiffrer / Déchiffrer pour changer de sens : vous pouvez ainsi déchiffrer votre propre sortie ou des données issues d’OpenSSL bf-cbc.
Comment utiliser Chiffrement et déchiffrement Blowfish
- Choisissez l’onglet Chiffrer ou Déchiffrer.
- Sélectionnez Phrase secrète (compatible OpenSSL) et saisissez une phrase secrète, ou Clé + IV bruts (hex) avec une clé de 4 à 56 octets et un IV de 8 octets.
- Choisissez le Mode et le Remplissage (CBC + PKCS#7 correspond à OpenSSL bf-cbc).
- Saisissez le texte en clair ou le texte chiffré, cliquez sur le bouton et copiez le résultat.
Exemple
Clé brute 0000000000000000, mode ECB, remplissage Aucun, texte en clair hex 0000000000000000
4ef997456198dd78
Premier vecteur de test Blowfish de Schneier, sortie Hex.
Quand utiliser Chiffrement et déchiffrement Blowfish
Utilisez-le pour lire ou produire des données pour un logiciel hérité qui utilise Blowfish, ou pour générer des vecteurs de test. Son bloc de 64 bits le rend inadapté aux grands volumes de données (Sweet32). Pour tout nouveau projet, utilisez AES. Notez que les hachages de mot de passe bcrypt reposent sur Blowfish mais ne sont pas des données chiffrées : ils ne peuvent pas être déchiffrés ici.
Comment fonctionne Chiffrement et déchiffrement Blowfish
Blowfish étend la clé en 18 entrées du tableau P et quatre S-boxes de 256 entrées, puis exécute 16 tours de Feistel sur chaque bloc de 8 octets. Les clés de toute longueur de 4 à 56 octets sont parcourues cycliquement octet par octet dans le tableau P comme dans l’implémentation de référence (vérifié avec les vecteurs de test à clé variable d’Eric Young). Le mode phrase secrète dérive une clé de 16 octets et un IV de 8 octets de la phrase secrète et d’un sel aléatoire (EVP_BytesToKey MD5 ou PBKDF2-SHA256) et écrit le format OpenSSL Salted__ compatible avec openssl enc -bf-cbc. CBC/ECB utilisent le remplissage PKCS#7, vérifié au déchiffrement.
Cas d'utilisation courants
- Déchiffrer une sortie
openssl enc -bf-cbc - Créer des vecteurs de test Blowfish avec des clés de longueur inhabituelle
- Interagir avec d’anciens codes PHP mcrypt ou Java Blowfish
- Enseigner les chiffrements de Feistel avec un algorithme classique
Note de Sécurité
Blowfish n’est pas cassé, mais son bloc de 64 bits est vulnérable aux attaques des anniversaires au-delà de quelques gigaoctets sous une même clé. Préférez AES pour les nouvelles données.
Questions Fréquentes
Puis-je déchiffrer avec cette page ?
Oui : cliquez sur l’onglet Déchiffrer, saisissez la même phrase secrète ou la même clé/IV et les mêmes réglages, puis collez le texte chiffré.
Peut-il déchiffrer un hachage bcrypt ?
Non. bcrypt est un hachage de mot de passe à sens unique qui n’utilise Blowfish qu’en interne ; il ne peut pas être déchiffré, seulement vérifié.
La sortie est-elle compatible avec OpenSSL ?
Oui. En mode phrase secrète, le résultat est exactement celui de openssl enc -bf-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.
Quelles longueurs de clé sont autorisées ?
De 4 à 56 octets (8 à 112 caractères hex). Le mode phrase secrète dérive toujours une clé de 128 bits, comme OpenSSL.