Esteganografia em texto e em imagem – escondendo informações

Olá pessoal,

estou meio sumido, mas não sei se todos sabem, último ano de faculdade, trabalhos a mil, projeto final de curso e muito serviço deixam qualquer um louco…rs…

Neste post vou falar sobre uma técnica que foi o tema proposto em um trabalho na faculdade: Esteganografia (Steganography), que é a arte de esconder uma mensagem em outra, ou no meio digital, esconder um arquivo em outro.

O primeiro trabalho que foi proposto foi esconder um texto em um texto (HIT – Hide in Text). Foi o que mais deu trabalho, pois não há nada na internet falando sobre isso nem mesmo no Google 🙂 . A técnica que desenvolvi não deve ser tão inovadora, mas resolveu o problema, com a restrição do texto “cobaia”, que irá abrigar (esconder) a mensagem, tem que ser muito, mas muito grande!

O que fiz foi trocar todos os espaços do texto pelos caracteres 0, 32 e 160 (códigos ASCII). Simples né? Mais ou menos…

Tive que fazer uma conversão de cada caracter ASCII da mensagem a ser escondida nesses 3 caracteres. Ou seja, haja espaços para conseguir esconder uma mensagem nem tão grande.

A implementação foi feita em ANSI C. Os fontes dos arquivos podem ser baixados aqui:

A implementação do HIP – Hide in Picture me consumiu um pouco mais de tempo, já que eu teria que ler sobre como funciona o formato BMP. Desta vez a implementação foi em PHP 🙂 , por falta de tempo mesmo…

Os fontes podem ser encontrados aqui:

O link para o demo online.

Bom pessoal, até a próxima!

8 Comment

  1. Legal isto Tulio…acho mto itneressante. Cheguei uma epoca usar programas desktop pra fazer isto de esconder textos em imagens.
    Fui vaculhar na net, e achei 2 classes no phpclasses q fazem isto, uma, usando bmp como o teu exemplo(BmpCrypt), a outra, usa gif, jp ou png de entrada, e a saída faz em png, bem legal tb(Stegger).
    Abraços e bons trabalhos de facul.

  2. Tulio,
    Tentei fazer o teste aqui e não funcionou pra mim, será que fiz algo errado ?
    Gostaria de ver isto mais a fundo .. Parabéns pela sua explanação sobre o assunto, foi show debola!! Parece ser algo muito interessante.

    Abraços!

  3. Valeu Bill 😉

    Allan, qual das duas versões você testou?

    Att,

  4. Muito bom,

    Nunca tinha visto isso. Achei interessante!

    Só um toque, o sistema de Imagem parece ter problema com encoding (sempre eles).

    Abraços.

  5. A versão demo online..

    Tem como vc me enviar um email para conversarmos sobre o assunto?

    Abraços

  6. Opa Túlio,
    Bem interessante o trabalho, parabéns, só dá uma olhada aí no código porquê isto não é definitivamente C-Ansi – falta o int na função main, return 0, system(‘pause’), e algumas coisas mais –

    []s

  7. Allan,

    desculpe não entendi… :S

    Marcelo,

    obrigado pela consideração… Realmente não está 100% :).

    Forte abraço a todos!

  8. Bom Dia Tulio, os 2 arquivos em PHP são iguais, o arquivo que faz a estegano e o arquivo que le?

    ABC

Deixe uma resposta