De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Esteganografia em Imagens JPEG com JPEG-JSTEG

Colaboração: Diego Fiori de Carvalho

Data de Publicação: 25 de Dezembro de 2006

Esta dica complementa a Steganografia - Veja além do que os olhos permitem de colaboração de Renato Rudnicki.

Esteganografia Digital é a arte de ocultar informações no interior de arquivos como imagens, áudio e até mesmo vídeos. O foco da Esteganografia é camuflar a mensagem mascarando a sua presença.

A diferença principal entre criptografia e esteganografia, é o fato da primeira existir a presença de uma mensagem na forma codificada, enquanto que na esteganografia esta informação não é visível. Uma mensagem criptografada permite ser detectada e até mesmo modificada caso seja interceptada. Com apenas a utilização da criptografia, a informação cifrada pode ser ilegível, mas este fato remete a existência de um segredo naquela cifra.

JPEG-JSTEG

O JPEG-JSTEG é um método de esteganografia em imagens digitais, o qual permite como entrada imagens do tipo GIF, TGA, JPEG para gerar uma imagem com conteúdo oculto em JPEG.

Dessa forma, JPEG-JSTEG é um patch aplicado aos pacote jpeg-v4 para adaptar os programas cjpeg e djpeg para poderem gerar a esteganografia de conteúdo texto nos bits menos significativos das imagens.

Instalação

Para instalação do patch JPEG-JSTEG, é necessário que você faça o download dos seguintes arquivos:

  • jpeg-v4.tar.gz
  • jpeg-jsteg-v4.diff.gz

Você encotrará estes arquivos no repositório ftp://ftp.funet.fi/pub/crypt/steganography.

Muito provavelmente, sua distribuição terá o pacote de jpeg para versão 4.0, mas caso não tenha siga os seguintes passos para instalação do patch.

Levando-se em consideração que os dois arquivos .gz foram gravados no diretório /tmp, faça como superusuário (root):

  # cd /usr/local/src
  # tar xzfv /tmp/jpeg-v4.tar.gz

Você verá que o diretório jpeg-v4 foi criado, com os arquivos do formato jpeg e seus makefiles para diversas plataformas.

Agora vamos aplicar o patch do seguinte modo:

  # gzip -d /tmp/jpeg-jsteg-v4.diff.gz
  # patch -p0 < /tmp/jpeg-jsteg-v4.diff

Surgirá o diretório /usr/local/src/jpeg-v4/ o qual deveremos alterar alguns arquivos originais para futura compilação.

  # cd /usr/local/src/jpeg-v4
  # cp makefile.ansi Makefile
  # cp jmemansi.c jmemsys.c

Agora podemos compilar tranquilamente, digitando um simples...

  # make

Veremos o surgimento de dois arquivos: cjpeg e djpeg. Necessitamos ainda instalar no sistema a biblioteca libjpeg.a para que possamos utilizar a esteganografia nos binários cjpeg e djpeg. Compile a libjpeg.a com o comando..

  # make libjpeg.a

Verifique se aparece a opção de esteganografia, executando o comando "./cjpeg -h" no diretório /usr/local/src/jpeg-v4. Aparecerá a opção "-steg file", como ilustrado abaixo.

  Switches (names may be abbreviated):
  
  -quality N     Compression quality (0..100; 5-95 ...
  -optimize      Optimize Huffman table ...
  -targa         Input file is Targa format..
  -steg file     Steganography contents of file into image.

Lembre-se que você está executando localmente este programa, por isso utilize a opção "./". Para generalizar o novo CJPEG e DJPEG para todo o sistema. Proceda da seguinte maneira:

# cd /usr/local/src/jpeg-v4 # cp cjpeg /usr/bin # cp djpeg /usr/bin

Utilizando CJPEG e DJPEG para Esteganografia

Para esteganografar textos nas imagens utilizamos o comando CJPEG e para a recuperação do texto esteganografado é utilizado o comando DJPEG. Para efetuar tal operação basta usar e abusar da opção -steg, respeitando a seguinte sintaxe de execução:

  # cjpeg -steg (arquivo txt) (imagem) > (stegoimagem)

Para testar, crie com seu editor de textos preferido (vim, pico, emacs) um arquivo txt, denominado teste.txt e aplique este comando sobre uma imagem .gif seguindo o exemplo abaixo:

  # cjpeg -steg teste.txt imagem.gif > stegoimagem.jpg

Para realizar a desesteganografia, utilize o comando djpeg, como pode ser visualizado abaixo:

  # djpeg -steg messagem stegoimagem.jpg > imagem.gif

Dependendo do tamanho da imagem, você facilmente poderá incluir folhas de texto no interior das mesmas.

Dúvidas, email: dfiori at icmc.usp.br

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Diego Fiori de Carvalho