Le problème avec le chiffrement seul

Imaginez que vous gardez vos secrets dans un coffre-fort. C'est une bonne protection, mais ça crie à tous ceux qui passent devant chez vous qu'il y a un coffre-fort. Un attaquant, ou même simplement une personne curieuse, sait qu'il y a quelque chose d'important à l'intérieur.

C'est exactement le problème du chiffrement seul. Un fichier chiffré est reconnaissable. Il a une entropie élevée et uniforme, une structure caractéristique selon l'algorithme utilisé, et il est généralement nommé ou stocké de façon à signaler sa nature sensible.

La stéganographie ne rend pas vos données plus difficiles à déchiffrer, elle les rend impossibles à trouver sans savoir qu'elles existent.

La stéganographie (du grec steganos : caché, et graphia : écriture) est l'art de dissimuler l'existence même d'un message. Combinée au chiffrement, elle offre deux couches de protection indépendantes : même si quelqu'un découvre que votre image contient quelque chose, il ne peut rien en faire sans le mot de passe.

La technique LSB : modifier 1 bit par pixel

La méthode LSB (Least Significant Bit, bit de poids faible) est la technique de stéganographie d'image la plus répandue. Son principe est d'une élégance redoutable dans sa simplicité.

Comment un pixel est représenté

Une image numérique est une grille de pixels. Chaque pixel contient trois valeurs : rouge (R), vert (G), bleu (B), chacune encodée sur 8 bits : un nombre entre 0 et 255. Un pixel orange pourrait être R=232, G=122, B=58.

Représentation binaire d'un pixel
Pixel orange :
  R = 232 → 11101000  (bit LSB = 0)
  G = 122 → 01111010  (bit LSB = 0)
  B = 58  → 00111010  (bit LSB = 0)

Après embedding du bit "1" dans R :
  R = 233 → 11101001  (bit LSB = 1)
  → différence visuelle : 232 vs 233 = 0.4%

La modification du bit de poids faible change la valeur d'un pixel de 1 sur 255, soit moins d'un demi pour cent. À titre de comparaison, la compression JPEG introduit des variations bien plus importantes, et personne ne distingue un JPEG de l'original à l'œil nu.

La capacité de stockage

Avec 3 bits cachables par pixel (un dans R, G, B chacun), une image de 1000×800 pixels offre 300 000 bits de capacité, soit environ 37 500 octets. Largement suffisant pour une seed phrase de 24 mots (~200 caractères) ou une clé privée complète.

💡
Pourquoi PNG et pas JPEG ? Le JPEG utilise une compression avec perte qui modifie les valeurs de pixels lors de la sauvegarde, détruisant irrémédiablement les bits LSB. Le PNG est un format sans perte : chaque bit est conservé exactement. C'est pourquoi ImageCypher exporte toujours en PNG.

Le chiffrement AES-256 : pourquoi il précède l'embedding

La stéganographie seule a une faiblesse : si on sait qu'il y a un message, et qu'on connaît la méthode d'embedding, on peut extraire les données. C'est là qu'intervient le chiffrement.

ImageCypher chiffre le message avant de l'embarquer dans l'image. Concrètement :

1
Dérivation de clé (PBKDF2)

Votre mot de passe est transformé en clé cryptographique de 256 bits via PBKDF2-HMAC-SHA256 avec 100 000 itérations et un sel aléatoire de 128 bits. Même mot de passe → clé différente à chaque utilisation.

2
Chiffrement AES-256-GCM

Le message est chiffré avec AES en mode GCM (Galois/Counter Mode). Ce mode authentifié garantit confidentialité ET intégrité : si l'image est modifiée après l'embedding, le déchiffrement échoue et vous êtes alerté.

3
Embedding LSB du ciphertext

Les données chiffrées (qui ressemblent à du bruit aléatoire pur) sont dispersées dans les LSB des pixels. Le résultat : même un analyste forensique ne peut distinguer les bits cachés du bruit de compression normal.

Pourquoi c'est réellement sécurisé

La question légitime est : est-ce que ça résiste à une analyse sérieuse ? La réponse courte est oui, sous deux conditions.

Scénario Détectable ? Déchiffrable ?
Attaquant voit l'image Non Non
Attaquant sait qu'il y a un message (sans MP) Peut-être Non (AES-256)
Attaquant a le mot de passe Oui Oui
Attaquant modifie l'image - Non (GCM auth)

La stéganographie assure la dissimulation. Le chiffrement AES-256 assure la confidentialité même si la présence d'un message est découverte. Le mode GCM assure l'intégrité. Ces trois propriétés sont indépendantes et complémentaires.

100% local : pourquoi c'est crucial

La plupart des outils de chiffrement en ligne envoient vos données sur un serveur pour les traiter. C'est un problème fondamental : vous ne pouvez pas savoir ce qui se passe réellement avec votre message ou votre mot de passe côté serveur.

ImageCypher fonctionne entièrement dans votre navigateur via deux API natives :

APIs natives utilisées - zéro bibliothèque tierce
Web Crypto API  → chiffrement AES-256-GCM, PBKDF2
Canvas API      → lecture/écriture des pixels LSB

// Vérification en temps réel :
// DevTools → Onglet Réseau → 0 requête pendant l'opération

Vous pouvez vérifier cela vous-même en quelques secondes : ouvrez les outils de développement de votre navigateur (F12), allez dans l'onglet « Réseau », et utilisez ImageCypher. Vous constaterez qu'aucune requête réseau n'est émise.

Essayez ImageCypher maintenant

Gratuit, open-source, aucune inscription. Tout se passe dans votre navigateur.

Cacher un message dans une image →

Cas d'usage concrets

Au-delà de la théorie, voici des applications pratiques qui illustrent la valeur réelle de cette approche.

Sauvegarder une seed phrase crypto

24 mots BIP39 représentent souvent l'accès à une fortune en cryptomonnaies. Les stocker dans un fichier texte, même chiffré, est risqué : le fichier est identifiable, il peut être détruit, oublié, découvert. Le cacher dans une photo de vacances est une sauvegarde qui passe inaperçue.

Communication sécurisée

Envoyer un message chiffré par email ou Signal attire l'attention. Envoyer une photo de votre chat n'attire aucun regard. Pourtant, cette photo peut contenir un message de plusieurs milliers de caractères, invisible à toute inspection superficielle.

Testament numérique

Des informations critiques à transmettre à vos proches (accès à des comptes, documents importants, instructions) peuvent être cachées dans une photo de famille partagée avec eux, avec le mot de passe communiqué séparément.

Les limites à connaître

Aucune technologie n'est parfaite. Voici les limites importantes à avoir en tête.

Le PNG est obligatoire. Si vous partagez l'image sur Instagram, WhatsApp ou tout service qui recompresse les images, les bits LSB sont détruits et le message est irrécupérable. Utilisez des canaux qui préservent les fichiers intacts (email avec pièce jointe, clé USB, cloud privé).

La stéganalyse statistique. Des outils spécialisés peuvent parfois détecter la présence de données cachées dans une image via l'analyse statistique des LSB. ImageCypher réduit ce risque en chiffrant les données (qui ont une distribution aléatoire uniforme), mais cette limite existe.

Le mot de passe est irremplaçable. Si vous perdez votre mot de passe, le message est mathématiquement irrécupérable. AES-256 sans la clé est inviolable même pour les supercalculateurs actuels.

Conclusion

La combinaison stéganographie LSB + chiffrement AES-256 offre quelque chose qu'aucune des deux techniques seule ne peut garantir : vos données sont à la fois invisibles et indéchiffrables. L'une protège contre la découverte, l'autre contre la compromission.

Le tout fonctionnant intégralement dans votre navigateur, sans aucune donnée transmise à un serveur, c'est une des rares solutions de sécurité numérique qui est à la fois accessible à tous et réellement robuste.