I. Le concept en 3 minutes
La stéganographie consiste à cacher un message dans un fichier anodin — image, audio, texte — de façon à ce que personne ne soupçonne qu'un message existe. Ce n'est pas du chiffrement (qui rend un message illisible) : c'est de l'invisibilité.
Analogie — Comment ça fonctionne
Fichier porteur
Une photo de vacances, un fichier audio, un texte — n'importe quel fichier d'apparence normale.
Message secret
Un texte, un mot de passe, des coordonnées GPS — n'importe quel contenu à dissimuler.
Résultat
Une image identique à l'œil nu, mais contenant le message dans ses données binaires.
LSB — La technique la plus simple
Chaque pixel d'une image est défini par 3 valeurs (Rouge, Vert, Bleu) entre 0 et 255. En binaire, c'est un nombre de 8 bits. Le bit de poids faible (LSB) — le dernier bit — ne change la couleur que d'1/255e. L'œil humain ne voit pas la différence.
Une image 800×600 contient 1 440 000 pixels × 3 canaux = 4 320 000 LSB disponibles → ~540 000 octets → environ 540 Ko de données cachables.
II. Choisir le bon outil
Le choix dépend de votre support (image / audio / texte) et de votre contrainte principale (facilité, robustesse à la compression, indétectabilité).
| Besoin | Support recommandé | Outil du site | Remarque |
|---|---|---|---|
| Cacher un texte court (< 1 Ko) | Image PNG | Outil LSB Image | Simple, rapide, efficace |
| Cacher un fichier volumineux | Image PNG haute résolution | Outil LSB Image | Choisir une grande image source |
| Résistance à la compression JPEG | Image JPEG | Steghide (logiciel) | L'outil du site utilise PNG |
| Canal invisible dans du texte | Texte Unicode | Outil Zero-Width | Fonctionne partout, même Twitter |
| Support audio | Fichier WAV | Outil LSB Audio | MP3 détruit le message — utiliser WAV |
| Maximum de sécurité | Image + chiffrement | Steghide (logiciel) | Chiffrer avant de cacher |
Outils interactifs disponibles sur le site
LSB Image
Cacher un message texte dans les bits de poids faible de chaque pixel. Outil le plus utilisé, résultat invisible à l'œil nu.
LSB Audio
Encoder un message dans les LSB d'un fichier audio WAV. Inaudible à l'oreille humaine.
III. Cacher votre premier message — Tutoriel
Suivez ces étapes pour cacher un message dans une image PNG en moins de 5 minutes, directement dans votre navigateur.
Choisir une image source
Bonne pratique : une photo de nature, un paysage, une texture. Les zones de bruit naturel absorbent mieux les modifications LSB.
Ouvrir l'outil LSB Image
Saisir votre message
Pour un premier test : commencez par un message court comme « Bonjour, message caché ! » pour vérifier que l'encodage et le décodage fonctionnent avant de cacher quelque chose d'important.
Encoder et télécharger
Important : sauvegardez toujours en PNG. Si vous reconvertissez en JPEG, la compression détruira le message encodé.
Vérifier le décodage
Envie de pratiquer ?
Les exercices du site proposent des challenges progressifs : retrouver un message caché dans un fichier fourni, avec indices si besoin. Idéal pour tester ses acquis.
IV. Erreurs courantes à éviter
Sauvegarder en JPEG après encodage LSB
La compression JPEG est lossy — elle modifie les bits de poids faible pour réduire la taille du fichier. Votre message sera irrémédiablement détruit. Toujours sauvegarder le fichier porteur en PNG (lossless).
✓ Utiliser exclusivement PNG comme format de sortie pour le LSB.
Envoyer via WhatsApp, Instagram ou Messenger
Ces plateformes recompressent automatiquement toutes les images à l'upload. Le message LSB est détruit avant même d'atteindre le destinataire.
✓ Envoyer le fichier PNG en pièce jointe directe (email, Signal, Telegram en mode "fichier"), pas comme image intégrée.
Utiliser une image source trop petite
Si votre message fait 500 caractères et votre image fait 100×100 pixels (90 000 bits = ~11 Ko disponibles), ça peut passer — mais un taux de remplissage élevé rend la stéganographie plus facilement détectable par chi-square.
✓ Garder le taux de remplissage sous 30% de la capacité maximale. Une image 800×600 pour un message de 1 Ko = ~2% de remplissage.
Oublier que les métadonnées EXIF restent dans le fichier
Votre image stéganographiée contient toujours vos métadonnées EXIF d'origine : appareil photo, date, géolocalisation GPS, logiciel utilisé. Un récepteur curieux peut les lire avec ExifTool.
✓ Supprimer les métadonnées avant ou après encodage : exiftool -all= photo.png
Ne pas tester le décodage avant d'envoyer
Toujours vérifier que le décodage fonctionne avec le fichier effectivement téléchargé — pas avec la prévisualisation du navigateur. Certains navigateurs ou OS peuvent appliquer des transformations à la sauvegarde.
✓ Workflow : encoder → télécharger → rouvrir le fichier téléchargé → décoder → vérifier.
Confondre stéganographie et sécurité
La stéganographie cache l'existence d'un message mais ne le protège pas. Si quelqu'un sait qu'il faut chercher (et utilise zsteg), votre message en clair sera trouvé immédiatement.
✓ Pour une vraie confidentialité : chiffrer le message (AES-256) avant de le cacher. Steghide le fait automatiquement.
V. La suite — Progresser
Une fois les bases maîtrisées, voici les étapes suivantes pour approfondir.
Combiner stéganographie et chiffrement
Utiliser Steghide qui chiffre en AES-128 avant d'encoder. Même détecté, le message reste inaccessible sans la passphrase.
Comprendre la stéganalyse
Apprendre à détecter les messages cachés : chi-square attack, RS analysis, utilisation de zsteg et stegdetect. Comprendre les limites de ses propres encodages.
FAQ — Questions débutants
Faut-il des compétences en programmation pour utiliser la stéganographie ?▾
Non pour l'usage basique. Les outils interactifs du site fonctionnent directement dans le navigateur sans aucun code. Pour les logiciels comme Steghide ou zsteg, il suffit de copier-coller des commandes dans un terminal. La programmation n'est nécessaire que pour créer ses propres outils ou comprendre les algorithmes en profondeur.
Quelle est la capacité maximale d'une image ?▾
En LSB 1-bit sur les 3 canaux RGB : 3 bits par pixel. Une image 1920×1080 = 2 073 600 pixels × 3 bits = 6 220 800 bits = ~777 Ko. Pratiquement, pour rester indétectable, ne dépasser pas 30% de la capacité maximale — soit ~233 Ko pour une image Full HD.
Comment le destinataire sait-il qu'il y a un message ?▾
C'est le principe de Kerckhoffs : la sécurité ne repose pas sur le secret de la méthode mais sur la clé. En pratique, vous communiquez au préalable par un canal sécurisé (rencontre physique, appel téléphonique) : (1) qu'une image spécifique contiendra un message, (2) l'outil utilisé pour décoder, (3) éventuellement une passphrase si chiffrement.
La stéganographie fonctionne-t-elle avec des images colorées ou en niveaux de gris ?▾
Les deux. Une image en niveaux de gris a 1 canal (luminosité), une image couleur en a 3 (RGB) — voire 4 avec la transparence (RGBA). Une image couleur offre donc 3× plus de capacité. Le canal alpha (transparence) est souvent ignoré par les détecteurs, ce qui en fait un canal discret.
Puis-je cacher une image dans une autre image ?▾
Oui. C'est même une technique courante en CTF. Une image 800×600 peut contenir une image secrète de 400×300 en utilisant les 2 bits de poids faible de chaque canal. L'outil Stegsolve permet de visualiser et extraire les images cachées dans les bit planes. Les techniques basées sur le deep learning (SteganoGAN) permettent de cacher une image complète dans une autre avec une distorsion quasi nulle.
Quelle différence entre les outils du site et Steghide ?▾
Les outils du site fonctionnent dans le navigateur, sans installation, et sont parfaits pour apprendre et pratiquer. Steghide est un logiciel en ligne de commande qui ajoute une couche de chiffrement AES-128 automatique — le contenu est protégé même si la présence du message est détectée. Pour un usage sérieux nécessitant confidentialité, Steghide est plus adapté.