Cacher un texte dans une image
Cachez un message secret dans une image par stéganographie LSB, avec chiffrement AES-256-GCM en option, puis révélez-le. Tout reste sur votre appareil.
Comment cacher un message dans une image
- Déposez une image dans la zone prévue ou cliquez pour la choisir. Le PNG est idéal, mais toute image lisible par votre navigateur convient : le résultat est toujours enregistré dans un nouveau PNG.
- Dans Cacher un message, tapez votre texte dans Message secret. La ligne Capacité indique combien d’octets le message occupe et combien l’image peut en contenir.
- Pour la confidentialité, cochez Chiffrer le message avec une phrase secrète (AES-256-GCM) et saisissez une Phrase secrète. Afficher la phrase secrète permet de vérifier votre saisie.
- Cliquez sur Cacher le message et télécharger le PNG. Le fichier est enregistré sous le nom
nom-hidden.pnget un message indique combien de valeurs de couleur ont été modifiées.
Comment révéler un message caché
- Déposez le PNG dans la même zone. S’il contient un message caché par cet outil, une note le signale dès le chargement de l’image.
- Si le message est chiffré, saisissez la phrase secrète dans Phrase secrète (seulement si le message est chiffré).
- Cliquez sur Révéler le message caché. Le texte s’affiche sous Message caché, prêt à être copié.
Tout se passe dans votre navigateur : l’image, le message et la phrase secrète ne sont jamais envoyés sur un serveur.
Le principe : le bit de poids faible (LSB)
Chaque pixel contient une valeur de rouge, de vert et de bleu comprise entre 0 et 255. Cet outil remplace le dernier bit (le bit de poids faible) de ces trois valeurs par un bit de votre message, pixel après pixel, dans le sens de la lecture. Exemple : un rouge de 200 s’écrit 11001000 en binaire ; y stocker le bit 1 donne 11001001, soit 201. Une valeur de couleur ne varie jamais de plus de 1, un écart invisible à l’œil nu.
Seuls les pixels totalement opaques sont utilisés, et le canal alpha n’est jamais modifié. Les pixels semi-transparents sont ignorés, car les navigateurs ne conservent pas leurs bits de poids faible avec exactitude. Avant le message, l’outil écrit un en-tête de 13 octets : une signature, un indicateur de chiffrement, la longueur et une somme de contrôle CRC-32 qui détecte les données abîmées.
La Capacité vaut environ (nombre de pixels opaques × 3 ÷ 8) − 13 octets. Une photo de 1000 × 1000 pixels peut ainsi contenir près de 375 000 octets, bien plus qu’il n’en faut pour un texte. Le chiffrement ajoute 49 octets (version, nombre d’itérations, sel de 16 octets, IV de 12 octets et étiquette d’authentification de 16 octets). La clé est dérivée de la phrase secrète par PBKDF2-SHA-256 (600 000 itérations), puis le texte est chiffré en AES-256-GCM, qui détecte aussi toute modification.
Ce que la stéganographie ne fait pas
La stéganographie dissimule l’existence d’un message ; ce n’est pas, à elle seule, une protection solide. Une insertion LSB séquentielle comme celle-ci se repère facilement avec des outils de stéganalyse (test du khi-deux, analyse du plan de bits de poids faible), et quiconque ouvre l’image dans cet outil peut lire un message non chiffré. Si le contenu doit rester confidentiel, activez le chiffrement avec une phrase secrète longue et unique : la protection ne vaut que ce que vaut la phrase. Même chiffré, le contenu est protégé, mais pas le fait qu’un message est caché.
Les bits cachés sont aussi fragiles. Une recompression JPEG ou WebP, un redimensionnement, un recadrage, une capture d’écran, un filtre, ainsi que la plupart des réseaux sociaux et messageries (qui recompressent et convertissent souvent les images) effacent le message. Partagez le PNG en tant que fichier : pièce jointe d’un e-mail, lien de stockage en ligne ou option « envoyer comme document » d’une messagerie.
Un usage responsable
Énigmes, escape games, épreuves de CTF, marquage de vos propres images, enseignement du fonctionnement des images numériques ou notes personnelles : les usages légitimes ne manquent pas. N’utilisez pas cet outil pour contourner le règlement de votre entreprise ou de votre établissement, ni la loi, et respectez les images d’autrui et le droit d’auteur.
Questions fréquentes
Peut-on voir qu’une image contient un message ?
Pas à l’œil nu : chaque valeur de couleur change au plus de 1. En revanche, un outil de stéganalyse détecte souvent une insertion LSB, et cet outil signale lui-même la présence d’un message dès le chargement de l’image.
Pourquoi mon message caché a-t-il disparu ?
L’image a sans doute été recompressée, redimensionnée ou convertie, par exemple par un réseau social, une messagerie ou un logiciel de retouche. Seul le fichier PNG d’origine conserve les bits intacts.
Puis-je partir d’une photo JPEG ?
Oui. La photo est décodée et le résultat est enregistré en PNG, un format sans perte. Gardez-le en PNG : un nouvel enregistrement en JPEG effacerait le message.
Que se passe-t-il si j’oublie la phrase secrète ?
Le message est alors irrécupérable. Il n’existe aucune porte dérobée, et une mauvaise phrase est rejetée par le contrôle d’authentification d’AES-GCM.
Pourquoi le PNG est-il plus lourd que l’original ?
Le PNG est un format sans perte : il pèse généralement plus qu’un JPEG de la même photo. C’est le prix à payer pour conserver chaque bit caché.
Outils similaires
- Chiffrer et déchiffrer un texte Chiffrez et déchiffrez un texte avec une phrase de passe dans votre navigateur : AES-256-GCM et PBKDF2 à 600 000 itérations. Aucun envoi, limites expliquées.
- Supprimer les données EXIF Supprimez les données EXIF et la position GPS de vos photos avant de les partager. Sans perte pour le JPEG et le PNG, par lot, sans envoi de fichier.
- Convertisseur image en Base64 Convertissez une image en Base64 ou en data URI avec le code CSS et HTML prêt à coller, ou décodez du Base64 en image avec aperçu. Gratuit, sans envoi.
- Convertisseur de format d'image Convertissez vos images entre PNG, JPG, WebP, BMP et ICO dans votre navigateur : conversion par lot, tailles de favicon et transparence, sans envoi.