Esteganografia
Esconder uma mensagem dentro de outro arquivo, como uma foto, de modo que ninguém perceba que ela existe.
Criptografia esconde o conteúdo de uma mensagem; esteganografia esconde a existência dela. A técnica mais comum em imagens é o LSB (least significant bit): cada pixel tem valores de 0 a 255 para vermelho, verde e azul, e trocar o último bit (200 vira 201) muda a cor de um jeito que o olho não vê. Juntando esses bits, cabe uma mensagem inteira.
| Variante | Como achar |
|---|---|
| LSB em sequência, sem senha | zsteg -a foto.png testa planos de bits, canais e ordens; o Aperi'Solve (abre em nova aba) faz o mesmo no navegador |
| LSB com senha (posições sorteadas e dados cifrados) | só a ferramenta certa com a senha certa: OpenStego (abre em nova aba), steghide (para JPEG e BMP) |
| Dados depois do fim do arquivo | binwalk ou um editor hexadecimal depois do IEND (PNG) ou do FF D9 (JPEG) |
Em Python, ler o LSB do canal vermelho é uma linha com numpy e Pillow: bits = np.array(Image.open("f.png"))[:, :, 0] & 1.
Quando a mensagem foi escondida com senha, ferramentas de força bruta de LSB não acham nada: os bits parecem ruído. Aí a pergunta é onde está a senha, e muitas vezes ela está perto, nos metadados do próprio arquivo (exiftool), no nome dele ou no enunciado.