Carregue uma imagem para ver a capacidade.
O que faz
A Esteganografia em Imagens esconde uma mensagem secreta dentro de uma imagem PNG comum - e lê uma de volta. Ela usa codificação por bit menos significativo (LSB): os canais vermelho, verde e azul de cada pixel mantêm seus valores, exceto o bit final, que armazena um bit da sua mensagem. Uma imagem de 1000 × 1000 consegue carregar cerca de 375 KB dessa forma e ainda parecer idêntica pixel por pixel ao original, porque uma mudança de ±1 no valor de um canal é invisível ao olho.
Opcionalmente, a mensagem é criptografada primeiro com AES-256-GCM (chave derivada de senha via PBKDF2, 100k iterações), então mesmo quem souber que a imagem carrega dados não consegue lê-los sem a senha. A ferramenta roda 100% no cliente: sua imagem, mensagem e senha nunca saem do navegador.
Como usar
- Escolha um modo com o alternador Ocultar / Extrair (canto superior esquerdo).
- Ocultar: arraste e solte (ou clique para escolher) um PNG portador. A ferramenta mostra o tamanho e a capacidade - “Esta imagem comporta até N caracteres”.
- Digite sua mensagem secreta e, opcionalmente, uma senha (AES-256-GCM). A linha de capacidade acompanha quantos bytes você já usou.
- Pressione Ocultar mensagem na imagem. O PNG estego é baixado automaticamente, com uma comparação antes/depois mostrando que os dois são visualmente idênticos.
- Extrair: troque de modo, solte o PNG estego, informe a senha se uma foi usada, pressione Extrair mensagem oculta. A mensagem aparece com um botão Copiar.
Exemplos
Ocultar uma mensagem
Portador: photo.png (800 × 600) · mensagem: Meet me at the airlock at 21:00 · sem senha
Capacity: 179,996 characters → downloads photo-stego.png
Pixels changed: 244 of 1.44M channels, each by exactly 1
Ocultar a mesma mensagem com uma senha
Mensagem: Meet me at the airlock at 21:00 · senha: reactor-key
Extract without a password →
"This image contains an encrypted message - a password is required"
Extract with reactor-key → "Meet me at the airlock at 21:00"
Extract with wrong-key →
"Decryption failed - wrong password or corrupted data"
Extrair de uma imagem limpa
Solte um PNG que não carrega dados ocultos:
"No hidden message found in this image"
Bom saber
- Por que PNG: esteganografia precisa de um formato lossless. O PNG armazena valores exatos de pixel, então os LSBs sobrevivem a salvar, copiar e reenviar. O JPEG é com perdas - sua recompactação reescreve os dados de pixel e destrói a mensagem oculta. Sempre compartilhe a imagem estego como PNG.
- Capacidade: floor(largura × altura × 3 / 8) bytes, menos um cabeçalho de 4 bytes (e 44 bytes de
saltsaltRandom data mixed into each password before hashing, so identical passwords produce different digests and precomputed tables become useless.
+ IV + tag GCM quando você usa senha). Fotos e imagens ruidosas escondem dados de forma mais convincente do que gráficos chapados, onde ruído LSB pode ser detectado estatisticamente. - A criptografia é autenticada: o AES-GCM detecta senha errada e pixels adulterados em vez de devolver lixo.
- Não substitui a criptografia sozinha: a esteganografia LSB esconde a existência de uma mensagem; análise estatística ainda pode sinalizar imagens suspeitas. Para sigilo forte, use uma senha - então mesmo um payload descoberto fica ilegível.
- Privado: roda 100% no cliente - seguro para segredos.
- Ferramentas relacionadas: Text Encryptor (criptografia de mensagem simples), File Encryptor (AES-256-GCM de arquivo inteiro), EXIF Stripper.