Stéganographie & Chiffrement

Cachez vos secrets
dans n'importe
quelle photo.

AES-256 militaire + stéganographie LSB indétectable. Tout se passe dans votre navigateur. Rien n'est jamais envoyé nulle part.

↓ Utiliser l'outil gratuit Comment ça marche →
AES‑256 Chiffrement militaire
0 Ko Données transmises
LSB Stéganographie
100% Privé & gratuit
L'outil

Encodez & décodez
en un clic

🖼

Glissez votre image ici ou cliquez pour choisir

PNG, JPG, WEBP · L'image sera convertie en PNG

Aperçu de l'image choisie

Entrez un mot de passe

✅ Message caché avec succès dans l'image.

⬇ Télécharger l'image
AES-256-GCM LSB Stéganographie Web Crypto API native Aucun serveur 100% local

Comment ça marche exactement ?

Étape 1
01

Chiffrement AES-256-GCM

Votre message est chiffré avec AES-256-GCM via la Web Crypto API native du navigateur. Une clé de 256 bits est dérivée de votre mot de passe avec PBKDF2 (100 000 itérations, SHA-256) et un sel aléatoire.

Étape 2
02

Stéganographie LSB

Le message chiffré est converti en bits et dispersé dans le bit de poids faible (LSB) des canaux rouge, vert et bleu de chaque pixel. La modification est imperceptible à l'œil nu.

Étape 3
03

Export PNG lossless

L'image est exportée au format PNG (sans perte). Contrairement au JPEG, le PNG préserve chaque bit, garantissant que votre message caché reste intact.

Sécurité
04

Rien ne quitte votre appareil

Tout le traitement s'effectue dans votre navigateur via Canvas API et Web Crypto API. Aucun pixel, aucun bit de votre mot de passe ou de votre message ne transite par un réseau.

Avantages

Conçu pour la vraie sécurité

🔐

AES-256-GCM authentifié

Le mode GCM (Galois/Counter Mode) garantit à la fois la confidentialité et l'intégrité du message. Toute tentative de falsification de l'image est détectée.

🧂

PBKDF2 + sel aléatoire

Votre mot de passe est renforcé par PBKDF2 avec 100 000 itérations et un sel cryptographiquement aléatoire. Chaque encodage est unique, même avec le même mot de passe.

🌐

Web Crypto API native

Aucune bibliothèque tierce. Toutes les opérations cryptographiques utilisent l'API standard du navigateur, auditée et maintenue par les éditeurs de navigateurs.

👁‍🗨

Indétectable sans le mot de passe

Sans votre mot de passe, même un analyste forensique ne peut pas prouver l'existence d'un message. Le chiffrement précède l'embedding : les bits dans l'image sont du bruit aléatoire.

🚫

Zéro donnée envoyée

Aucune requête réseau n'est effectuée lors du chiffrement ou déchiffrement. Vérifiable en ouvrant les DevTools → Network pendant l'utilisation.

📄

Open-source & auditable

Le code source est entièrement lisible dans la page (Ctrl+U). Pas de minification opaque, pas de dépendances cachées. Vous pouvez auditer chaque ligne.

Sous le capot :
crypto-grade

Le chiffrement utilise AES-256 en mode GCM (Galois/Counter Mode), un mode authentifié qui protège simultanément la confidentialité et l'intégrité des données. Le tag d'authentification de 128 bits détecte toute modification de l'image.

La dérivation de clé est assurée par PBKDF2-HMAC-SHA256 avec 100 000 itérations et un sel de 128 bits généré aléatoirement. Cela rend les attaques par dictionnaire et par force brute prohibitivement coûteuses.

L'embedding LSB modifie 1 seul bit par canal RGB par pixel, soit une modification maximale de ±1 sur une valeur de 0-255. Cela représente une différence de 0,4%... imperceptible visuellement et indétectable sans connaître l'existence du message.

L'image finale est encodée en PNG sans perte pour garantir que les bits modifiés sont préservés exactement.

// 1. Dérivation de clé
salt = crypto.getRandomValues(16 bytes)
key = PBKDF2(password, salt, 100000, SHA-256)

// 2. Chiffrement AES-256-GCM
iv = crypto.getRandomValues(12 bytes)
ciphertext = AES-256-GCM.encrypt(message, key, iv)
// → inclut tag GCM 128-bit

// 3. Payload = salt + iv + ciphertext
payload = [salt | iv | ciphertext]
bits = toBitArray(payload)

// 4. LSB embedding dans les pixels
for each pixel(R,G,B):
  R_new = R & 0xFE | bit[i]
  G_new = G & 0xFE | bit[i+1]
  B_new = B & 0xFE | bit[i+2]

// 5. Export PNG lossless
canvas.toBlob('image/png')

Ce que vous pouvez
protéger

Seed phrases crypto

Cachez vos 12 ou 24 mots BIP39 dans une photo banale. Sauvegarde physique indétectable.

🔑

Clés privées

Ledger, MetaMask, hardware wallets. Plus sûr qu'une clé USB ou un gestionnaire de mots de passe.

🛡

Mots de passe critiques

Codes de récupération 2FA, mots de passe de coffres, accès d'urgence.

📜

Documents confidentiels

Testaments, procurations, informations sensibles à transmettre à vos proches.

🗞

Journalisme & activisme

Transmission sécurisée d'informations dans des contextes à haut risque.

💬

Messages privés

Envoyez un message chiffré caché dans une photo partagée sur n'importe quelle plateforme.

FAQ

Questions fréquentes

Est-ce vraiment indétectable ?
Oui. Le message est d'abord chiffré en AES-256-GCM, puis les données chiffrées (qui ressemblent à du bruit aléatoire) sont dispersées dans les bits de poids faible des pixels. Sans votre mot de passe, même les outils d'analyse stéganographique les plus avancés ne voient que du bruit statistique normal, ils ne peuvent pas prouver l'existence d'un message.
Mes données sont-elles envoyées sur un serveur ?
Non. Absolument rien. Toutes les opérations (chiffrement, déchiffrement, modification des pixels) se font entièrement dans votre navigateur via les API natives (Web Crypto API et Canvas API). Vous pouvez vérifier cela en temps réel dans les DevTools de votre navigateur (onglet Réseau) : aucune requête n'est envoyée.
Combien de caractères puis-je cacher dans une image ?
La capacité dépend de la taille de l'image. Une image de 800×600 pixels offre 480 000 pixels × 3 canaux = 1 440 000 bits disponibles, soit environ 180 000 octets utilisables. Une seed phrase de 24 mots (~200 caractères) ou une clé privée (~64 caractères hex) est largement accommodée même dans une petite photo.
Pourquoi doit-on utiliser le format PNG ?
Le JPEG est un format avec perte (lossy) : sa compression modifie les valeurs des pixels, ce qui détruirait les bits LSB où est caché votre message. Le PNG est un format sans perte (lossless) qui préserve exactement chaque valeur de pixel. C'est pourquoi ImageCypher exporte toujours en PNG et que vous devez utiliser ce PNG pour décoder.
Que se passe-t-il si je perds mon mot de passe ?
Le message est irrécupérable. C'est le principe même du chiffrement AES-256 : sans la clé, les données sont mathématiquement inaccessibles même avec tous les ordinateurs du monde. Conservez votre mot de passe dans un endroit sûr.
Est-ce légal ?
Oui, en France et dans la grande majorité des pays pour un usage personnel. La stéganographie et le chiffrement à usage privé sont légaux. Comme tout outil de sécurité, l'usage illégal à des fins criminelles reste bien sûr interdit par la loi.

Vos secrets méritent mieux.

ImageCypher est gratuit, open-source, et ne collecte rien. Protégez ce qui compte vraiment, en quelques secondes.

↑ Utiliser l'outil maintenant