Você está na página 1de 4

ISSN 2317-3297

LSB Word-Hunt: Um Método de Esteganografia para Imagens


Digitais Utilizando Chave Simétrica

João Rafael C. Tavares ∗ , J. Bandeira Lima ∗ , F. Madeiro ∗



Programa de Pós-Graduação em Engenharia de Sistemas, POLI, UPE,
50720-001, Recife, PE
E-mail: jrt ppges@poli.br, juliano.bandeira@poli.br, madeiro@poli.br.

Palavras-chave: processamento de sinais, ocultação de dados, esteganografia LSB

Resumo: Esteganografia do Bit Menos Significativo (LSB - Least Significant Bit) é uma aborda-
gem popular para esconder informações em imagens digitais no domı́nio espacial. Este trabalho
apresenta um esquema de ocultação de dados baseado na premissa do método LSB. Foi inspirado
no jogo de caça-palavras e há a utilização de uma chave simétrica. São apresentados resultados
de simulações que contemplam o Ataque Visual e o teste do Qui-Quadrado, os quais atestam o
bom desempenho do método proposto.

1 Introdução
Esteganografia é uma técnica de segurança da informação que tem a função de ocultar dados em
um objeto de cobertura. Para diversos tipos de aplicações, sobretudo as militares, comunicações
seguras são de suma importância. Uma vez que o objeto de cobertura oculte a informação, ele
passa a ser denominado estego-objeto [1].
Em contraponto às técnicas de Esteganografia, estão as técnicas de Esteganálise, que são
métodos desenvolvidos com o intuito de identificar a presença de dados ocultos. O teste do
Qui-Quadrado é um identificador de anomalia estatı́stica. Consiste em determinar
N
X (ei − E(ei ))2
X2 = , (1)
E(ei )
i=1

em que ei representa o número de ocorrências de um evento i, E(ei ) representa o valor esperado de


ei e N representa a quantidade de eventos considerados na análise. Um exemplo de evento pode
ser a aparição de um LSB igual a zero, enquanto seu bit vizinho tenha o valor um. Resultados
de X2 próximos a zero indicam que anomalias não foram identificadas; valores muito altos
podem indiciar o uso da Esteganografia [2, 5]. O método do Ataque Visual consiste em exibir
visualmente o plano LSB, utilizando cores distintas para representar a magnitude do bit. Esse
método pode identificar anomalias de maneira gráfica [5].
O algoritmo LSB provê pouca segurança quando são aplicadas técnicas de Esteganálise [5].
Sua forma de ocultação consiste em uma substituição direta dos bits menos significativos presen-
tes na imagem de cobertura, pelos bits dos dados a serem ocultados, de maneira sequencial [1].
Sua premissa deu origem a diversos outros métodos, como o LSB Matching (LSB M) [4], e o LSB
Matching Revisited (LSB MR) [3]. Ambos utilizam dados criptografados e comprimidos para
facilitar a ocultação, porém, se esses passos forem ignorados, ou se forem utilizados métodos
pouco eficientes, a qualidade da ocultação é afetada.

158
ISSN 2317-3297

2 Método Proposto
O método a ser apresentado tem inspiração em um passatempo muito conhecido, o caça-palavras,
no qual o objetivo do jogador é encontrar determinadas palavras em uma matriz de letras. O
desafiante é guiado por um conjunto de regras, que geralmente são simples: as palavras podem
ser formadas em uma linha horizontal, vertical ou diagonal, e em algumas versões podem ser
formadas na ordem inversa.
Considerando uma imagem digital, temos uma quantidade massiva de bits, que podem ser
organizados em um formato de matriz. Um número enorme de palavras binárias pode ser
formado, quando utilizadas as regras do caça-palavras. Diferente da versão para jogadores
humanos, regras mais complexas podem ser descritas e, mesmo assim, o computador será capaz
de usá-las em sua busca de maneira ágil.
O conjunto de regras utilizado funcionará como a chave de codificação e decodificação. Para
cada regra do conjunto, estarão associados dois bytes, que representarão incrementos nas coor-
denadas X e Y da matriz de bits da imagem. Os incrementos serão aplicados sistematicamente
ao inı́cio de cada iteração. Cada byte representa um inteiro entre -128 e 127.
Para o processo de ocultação, o dado a ser ocultado será dividido em feixes, de tamanho
fixado f. A imagem de cobertura será dividida em blocos de P pixels, onde em cada bloco serão
dedicados L bits LSB para a referência da localização espacial do inı́cio do feixe dentro do bloco
e R bits LSB para indicar o ı́ndice da regra da chave utilizada. L e R compreendem todos os
bits de grafia presentes no bloco. Cada bloco poderá guardar até um feixe da informação.
Caso um bloco não seja capaz de ocultar um feixe, um marcador especial é escrito nos bits
de grafia. O mesmo pode ser formado pelos L + R primeiros bits da chave operados com o
código formado no bloco anterior, se houver, através de uma operação de “Ou Exclusivo”. Um
marcador de final de processo também pode ser definido. O mesmo pode ser formado pelo código
inverso bit-a-bit do marcador de bloco sem feixe.
O algoritmo está dividido em duas partes principais, o Processamento dos Blocos e a Busca
do Feixe. A primeira é a parte mais externa; para cada bloco deve-se seguir os passos:

1. Ler combinação atual dos bits que compõem L e R.

2. Selecionar melhor combinação e enviar para o processo de busca do feixe.

3. Atualizar os bits que compõem L e R.

No primeiro passo, são armazenados os valores atuais dos bits LSB do bloco.
O passo seguinte tem a função de identificar uma possı́vel combinação desses bits para que
o teste de busca de feixe seja realizado com êxito. Esse passo é repetido até que se tenha
obtido sucesso na busca, ou as possibilidades terem se esgotado. As melhores combinações são
tomadas como as que tem uma menor distância de Hamming da combinação original, os seja,
as que possuem menos bits diferentes. As combinações que empatarem em qualidade deverão
ser selecionadas em uma ordem aleatória.
Por fim, o último passo contempla a escrita dos valores atualizados de L e R nos bits LSB
do bloco, podendo representar um feixe da informação ou um marcador especial.
O processo de busca do feixe é denotado pelos passos:

1. Atualizar coordenada da matriz de bits.

2. Comparar bit da matriz com o bit do feixe.

No Passo 1 é utilizada a chave do algoritmo. A partir do referenciamento de bit atual, incre-


mentos deverão ser aplicados, com base em um dos ı́ndices da chave, para que seja referenciado
outro bit da matriz. Nesse passo, alguns pontos precisarão ser levados em consideração. Primei-
ramente, o valor atualizado precisa ser uma coordenada válida. Uma solução é a utilização de
aritmética modular. A coordenada também não pode apontar para uma região de grafia, pois
159
ISSN 2317-3297

esses bits são mutáveis, podendo ter um valor diferente ao final do processo. Um decremento na
coordenada X resolve essa situação.
Atualizada a coordenada da matriz, o passo 2 verifica se o primeiro bit do feixe corresponde
ao bit da coordenada atual. Caso difira, o processo de busca não obteve êxito. Caso confira,
o processo se repete para cada bit conseguinte do feixe. Se todos os bits conferirem, a busca
obteve êxito. A Figura 1 ilustra o processo de busca para o feixe F, utilizando a chave K no
ı́ndice I, que não obteve êxito durante a 3a iteração.

Figura 1: Busca do feixe F, utlizando a chave K no ı́ndice I.

A decodificação consiste em, para cada bloco, ler os bits que compõem L e R, identificar a
sequência como marcador ou feixe da informação e, no segundo caso, recuperar o feixe.

3 Resultados
Para os experimentos, foi usada a configuração P = 16, L = 7, R = 9, o que provê 65.534
tentativas possı́veis de busca, por bloco. Os resultados foram obtidos utilizado a imagem de
cobertura Lena.pgm, que pode ser visualizada na Figura 2(a). A imagem tem dimensões 256×256
pixels, e é monocromática, possuindo 256 nı́veis de cinza.
A Tabela 1 apresenta resultados de carga útil em bits por pixels (bpp), quando variado o
tamanho do feixe. A maior carga obtida ocorreu com f = 14 bits. O maior resultado que
não utilizou marcador especial, para blocos sem informação ocultada, foi quando definiu-se o
tamanho do feixe em 12 bits. Outro dado interessante é que, definindo f = 9, o número de bits
modificados durante o processo foi relativamente mais baixo, sendo pouco mais de um terço da
informação esteganografada. Os resultados são inferiores à carga útil dos métodos LSB, LSB M
e LSB MR, que possuem uma carga de 1bpp.

Tamanho do feixe (f ) Carga máxima Carga obtida Bits ocultados Bits modificados Marcadores
9 bits 0,56 bpp 0,56 bpp 36864 12436 0
10 bits 0,63 bpp 0,63 bpp 40960 14288 0
11 bits 0,69 bpp 0,69 bpp 45056 16571 0
12 bits 0,75 bpp 0,75 bpp 49152 19131 0
13 bits 0,81 bpp 0,80 bpp 53183 22173 5
14 bits 0,88 bpp 0,84 bpp 54852 26029 178
15 bits 0,94 bpp 0,75 bpp 48915 29408 835

Tabela 1: Resultados de carga obtida para diferentes variações de tamanho do feixe.

A Figura 2 apresenta ataques visuais quando um texto em ASCII de 4000 caracteres é


escondido na imagem de cobertura em questão, por diferentes métodos. Visualmente, apenas
o método LSB ocasionou anomalia visual no plano de bits LSB. As modificações indicadas nos
métodos LSB M e LSB MR consistem em ignorar o uso de métodos de criptografia e compressão
durante a preparação da mensagem.
A Tabela 2 apresenta o X2 das estego-imagens da Figura 2. As geradas pelos métodos LSB,
LSB M Modificado e LSB MR Modificado apresentaram uma alta anomalia estatı́stica. As
geradas pelos métodos LSB WH, LSB M e LSB MR permaneceram seguras a esse teste.
160
ISSN 2317-3297

Figura 2: (a) Imagem de cobertura. (b) Ataque Visual na imagem de cobertura. (c)-(j) Ataques Visuais
em estego-imagens geradas a partir da imagem de cobertura, ocultando um texto em ASCII de 4000
caracteres através do método: (c) LSB Word-Hunt (LSB WH), f = 9; (d) LSB WH, f = 12; (e) LSB
WH, f = 14; (f) LSB; (g) LSB M; (h) LSB MR; (i) LSB M Modificado; (j) LSB MR Modificado.

Estego-imagem (c) (d) (e) (f) (g) (h) (i) (j)


Resultado do Qui-Quadrado 0,505 1,067 5,187 179,995 3,210 2,220 171,242 187,122

Tabela 2: Resultados do Qui-Quadrado nas estego-imagens da Figura 2.

4 Conclusão
Neste trabalho foi apresentado um novo método de esteganografia LSB em imagens digitais.
O método, denominado LSB Word-Hunt, é inspirado no jogo caça-palavras. Os resultados
demonstraram que o método foi capaz de permanecer seguro para os ataques Visual e do Qui-
Quadrado, sem que, para isso, os dados a serem ocultados precisassem ser criptografados ou
comprimidos, como ocorre em outros métodos da literatura. Os resultados demonstraram, ainda,
que a definição da variável f do método LSB Word-Hunt exerce grande influência na carga útil
do sistema.

5 Agradecimentos
Os autores expressam os agradecimentos à FACEPE e ao CNPq pelo apoio financeiro.

Referências
[1] J. Fridrich, Steganography in Digital Media: Principles, Algorithms, and Applications,
Cambridge University Press, Cambridge, 2009.
[2] E. Julio, W. Brazil, C. Albuquerque, Esteganografia e Suas Aplicações, In: L. Pirmez, F.
Delicato, (Org. ), Livro de minicursos do SBSEG, (2007) 54-102.
[3] J. Mielikainen, LSB Matching Revisited, IEEE Signal Processing Letters, 13 (2006) 285-287.
[4] T. Sharp, An Implemention of Key-based Digital Signal Steganography, Proc. Information
Hiding Workshop, 5020 (2003) 131-142.
[5] A. Westfeld, A. Pfitzmann, Attacks on Steganographics Systems, Springer-Verlag Lecture
Notes in Computer Science, 1768 (2000) 1-16.
161

Você também pode gostar