Lena (ou Lenna, finalmente um rosto bonito no blog!), imagem realmente original aqui. |
Para entender esse processo é melhor olhar mais de perto uma imagem digitalizada. Para simplificar, vamos analisar uma imagem no formato "bmp" e em 256 tons de cinza como, por exemplo, a imagem de Lena acima (a escolha foi pura coincidência?). Para saber a interessante história de como essa senhorita (do início dos anos 1970) se tornou uma das imagens padrões para processamento de imagens, ver a história aqui e aqui.
Uma imagem digital é formada por um conjunto de pixels, cada pixel é representado por um byte (8 bits). Cada bit leva uma parte da informação de intensidade cor do pixel (do preto ao branco), como mostram os mapas de bits abaixo:
Os quatro bits mais significativos. |
Bits menos significativos da imagem de Lena. |
A mensagem que se deseja ocultar precisa ser quebrada em bits e esses bits inseridos como o bit menos significativo de cada pixel. Ok, concordo, isso dá um certo trabalho, mas é perfeitamente possível de ser feito. Para provar isso, mostro as imagens abaixo (trechos do mapa de bits menos significativos) uma "original", a outra com a informação (texto com 400 bits, 80 caracteres) escondida.
Acima, a imagem com a informação adicionada; abaixo a imagem original. Aparentemente temos um "código de barras" na borda da imagem, mas a informação não está escondida lá. |
Preto: não houve mudança de bit, branco indica mudança de bit. |
Um cálculo rápido: essa imagem de teste tem 512 x 512 = 262144 pixels, logo podemos inserir um texto com mais de 32 mil caracteres. O código Scilab para ler a imagem bmp, extrair os bits, inserir a informação e todos os outros cálculos pode ser solicitado por e-mail. Para saber mais sobre esteganografia, ver aqui.
Para concluir, uma imagem mais bem comportada e mais atual da senhora Lena Söderberg:
Nenhum comentário:
Postar um comentário