Uma marca dagua as cegas e uma mensagem - geralmente texto ou outra imagem - escondida secretamente dentro de uma foto “portadora” de forma que a foto continua parecendo identica a olho nu. A palavra as cegas significa que a imagem original nao e necessaria para recuperar a mensagem: voce entrega a foto ao extrator e os dados voltam.
Se voce ja se perguntou como isso funciona, voce esta no lugar certo. O truque e uma das ideias mais simples do processamento de imagens, e voce pode testar sozinho em 30 segundos com a ferramenta de marca dagua as cegas do Piick.
A analogia do envelope e do selo
Pense em um cartao postal. A imagem da frente e a foto portadora. A mensagem que voce quer esconder e um bilhete pequeno que voce enfia embaixo do selo - invisivel ate que alguem saiba levantar. Uma marca dagua as cegas faz exatamente a mesma coisa com uma foto digital: esconde o bilhete debaixo de uma camada que o seu olho nunca inspeciona.
LSB: escondendo um bit no ruido
Cada pixel de uma foto colorida tem tres canais - R, G, B - cada um guardado como um numero de 0 a 255. Esse numero e o brilho daquele canal de cor.
Aqui esta o insight chave: mudar o valor em ±1 e invisivel para o olho humano. 124 contra 125 em vermelho? Ninguem percebe. 200 contra 201 em verde? Identico. Entao, se quisermos enfiar um 0 ou 1 em cada canal, basta substituir o ultimo bit do numero pelo bit que queremos enviar. Esse ultimo bit e chamado de bit menos significativo, ou LSB.
Um unico pixel nos da 3 canais x 1 bit = 3 bits secretos por pixel. Uma foto modesta de 500x500 tem 250.000 pixels, entao 750.000 bits = cerca de 91 KB de espaco escondido. Suficiente para um paragrafo de texto. Nao suficiente para uma foto de 16 MB (mais sobre isso abaixo).
Como a mensagem entra
O embutidor converte sua mensagem em um fluxo de bits:
- Escreve o tamanho da mensagem nos primeiros 32 bits (assim o extrator sabe quando parar).
- Anexa os bytes reais da mensagem.
- Preenche o resto com bits aleatorios para que o espaco nao usado nao denuncie onde termina a mensagem.
- Percorre os pixels em alguma ordem (opcionalmente embaralhada por uma senha) e, para cada um, substitui o LSB de R, depois G, depois B pelo proximo bit do fluxo.
Para recuperar a mensagem, o extrator faz o mesmo percurso ao contrario, le 32 bits para saber o tamanho e depois le esse numero de bytes.
Por que o PNG e obrigatorio
Se voce pega uma foto com marca dagua e salva como JPEG, a marca dagua desaparece. Por que?
JPEG e um formato com perda - ele reduz o tamanho do arquivo descartando detalhes que o olho provavelmente nao notaria. Arredonda 124 para 123, arredonda 200 para 199, tira media de pixels vizinhos… exatamente o tipo de pequenas mudancas no LSB que fizemos. JPEG esta, na pratica, apagando nossa mensagem escondida.
PNG, por outro lado, e sem perda. Cada byte que entra sai inalterado. E por isso que ferramentas de marca dagua as cegas sempre exportam em PNG, e por isso voce precisa re-exportar para PNG toda vez que quiser manter a marca dagua.
Copie um cartao postal -> ainda legivel. Fotocopie um cartao postal -> o carimbo do correio fica borrado. PNG e o original; JPEG e a fotocopia.
Por que a cobertura precisa ser enorme
LSB nos da 3 bits por pixel. Para embutir 1 MB de conteudo voce precisa de pelo menos 1.000.000 x 8 / 3 ≈ 2,7 milhoes de pixels - cerca de 1650x1650. Para embutir 16 MB (um PNG 2048x2048 com alfa) voce precisa de aproximadamente 44 megapixels de cobertura, e por isso que uma cobertura 500x500 falha de cara: ela so tem 91 KB de capacidade, tres ordens de grandeza a menos.
Quando voce sobe uma imagem de cobertura na ferramenta do Piick, o cartao carregado mostra a capacidade da cobertura em tempo real, assim voce pode conferir antes de clicar em Ocultar.
Uma senha nao e criptografia
Se voce marcar o campo de senha, o Piick embaralha a ordem dos pixels usando uma sequencia aleatoria deterministica derivada da sua senha. Sem a senha, os bytes extraidos parecem ruido - o cabecalho de tamanho de 32 bits nao faz sentido, entao o extrator avisara “nenhuma marca dagua encontrada”.
Isso e ofuscacao, nao criptografia. Qualquer pessoa que conheca a tecnica ainda pode tirar os bits um por um e tentar cada senha possivel offline. Para compartilhamento casual (guardar uma nota privada dentro de uma imagem publica) e mais que suficiente. Para algo sensivel, use criptografia de verdade antes.
Teste voce mesmo
A tecnica inteira roda no seu navegador em algumas centenas de linhas de JavaScript. Abra a ferramenta de marca dagua as cegas do Piick, solte qualquer PNG, escreva uma nota curta e clique em Ocultar. O PNG de saida parece identico - mas abra a aba de extrair e a nota volta certinha.
Prefere um passo a passo pratico? Leia o guia de uso.
Tudo descrito acima acontece localmente no seu navegador. O Piick nunca faz upload das suas imagens.