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:
Bom pessoal, até a próxima!
7 Comentários »
RSS feed for comments on this post · URI do TrackBack
Este site é escrito por Tulio Faria, analista de sistemas, apaixonado por web, jogos e por qualquer cacareco tecnológico.
Bill said,
Junho 6, 2008 @ 09:14
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.
Allan Schmitt said,
Junho 6, 2008 @ 09:22
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!
Tulio Faria said,
Junho 6, 2008 @ 11:07
Valeu Bill
Allan, qual das duas versões você testou?
Att,
JoaoJose said,
Junho 6, 2008 @ 17:45
Muito bom,
Nunca tinha visto isso. Achei interessante!
Só um toque, o sistema de Imagem parece ter problema com encoding (sempre eles).
Abraços.
Allan Schmitt said,
Junho 9, 2008 @ 08:41
A versão demo online..
Tem como vc me enviar um email para conversarmos sobre o assunto?
Abraços
Marcelo Linhares said,
Junho 11, 2008 @ 21:12
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
Tulio Faria said,
Junho 12, 2008 @ 00:10
Allan,
desculpe não entendi… :S
Marcelo,
obrigado pela consideração… Realmente não está 100% :).
Forte abraço a todos!