Вы находитесь на странице: 1из 4

Transmisso de Informao Codificada em Imagens Digitais Utilizando Substituio de LSB

Jnata N. Cunha, Marcelo C. M. Lima1, Johelden C. Bezerra2


Avenida Gov. Jos Malcher, 1148 - Nazar - Belm-PA - Brasil.

Resumo Em sistemas informatizados, arquivos digitais, principalmente de imagem e udio, so timas opes para portarem uma mensagem escondida quando se pensa em usar esteganografia. Isso acontece porque, com ou sem perdas, as alteraes efetuadas pelo uso desta tcnica nos arquivos usados como portadores da informao escondida geralmente mnima (com relao ao tamanho total do arquivo) e imperceptvel aos sentidos humanos. Este artigo apresenta um mtodo de aplicao de esteganografia em imagens digitais, o qual insere uma mensagem predeterminada na referida imagem atravs de um algoritmo feito no software Matlab, e extrai a mensagem da imagem, atravs de outro algoritmo feito no Matlab. Palavras chave - Esteganografia, Criptografia, Segurana de Dados, Processamento de Imagens.

I. INTRODUO Segurana de dados algo de extrema importncia. Em todas as esferas da sociedade as pessoas querem manter sigilo sobre as informaes, e melhores e mais eficientes maneiras de guardar e proteger essas informaes so buscadas constantemente [1,2]. Muitas dessas informaes que se almeja proteger so dados digitais, que trafegam constantemente por sistemas informatizados, sujeitos, em no poucas ocasies, a ataques de pessoas e softwares malintencionados. Esteganografia um ramo da criptografia que consiste na ocultao de uma informao dentro de outra informao, com o intuito de tornar a sua existncia desconhecida por terceiros [8]. Essa informao portadora pode ser de qualquer natureza, contanto que tenha a capacidade de esconder algo. A esteganografia uma alternativa criptografia convencional [3,4]. Na criptografia, utilizada uma determinada chave, e a mensagem fica ilegvel para qualquer pessoa ou sistema que no possua a chave. Entretanto, qualquer pessoa ou sistema inteligente saber que naqueles dados h uma informao relevante. Com a esteganografia acontece diferente. Uma vez que usa-se uma espcie de portadora para transportar a mensagem a ser transmitida, e essa portadora alguma outra mensagem que faz sentido sozinha, a probabilidade da transmisso causar qualquer suspeita mnima. Obviamente, pode-se usar primeiro a criptografia na mensagem a ser transmitida, e em seguida inseri-la na mensagem portadora, tornando o sistema ainda mais seguro, uma vez que alia a segurana contra interceptao (esteganografia) segurana contra acesso informao (criptografia) [5].
Curso de Engenharia de Computao, jonata.cunha@com.iesam-pa.edu.br, Tel: 91 32734823M. C. M. Lima, marcelo@comp.iesam-pa.edu.br. Tel; 91 32722935. 2 M.Sc., Orientador, johelden@yahoo.com.br
1

As tcnicas de esteganografia podem ser empregadas em vrias situaes no campo da informtica. Seu uso mais comum para a transmisso de informaes confidenciais, desde as mais simples at as mais complexas. Entretanto, tem se tornado comum o uso de esteganografia para outras aplicaes, principalmente na proteo a direitos autorais. Nesses casos, quando um indivduo detm direito sobre determinado arquivo, ele insere nesse arquivo uma informao que define o mesmo como sua propriedade. Desta maneira, com a devida chave, pode-se extrair a informao escondida e autenticar o arquivo como pertencente ao seu dono legtimo [2]. A Seo II deste artigo apresenta uma viso geral do sistema, abordando-o de uma maneira genrica e didtica. A Seo III explana o referencial terico em processamento de imagens utilizado para o desenvolvimento do trabalho. A Seo IV descreve o funcionamento detalhado dos algoritmos no software Matlab. A Seo V mostra os resultados obtidos com os testes experimentais realizados como os algoritmos, e por fim a Seo VI apresenta as concluses a que se chegou com a realizao desse trabalho. II. VISO GERAL DO SISTEMA Neste trabalho foram desenvolvidos dois algoritmos no Matlab. O primeiro capaz de reservar os LSB (Least Significant Bit) [6] de cada pixel de uma imagem, apagar seu contedo, e depois inserir a informao adequada, ou seja, a mensagem a ser transmitida. Dessa forma, obtm-se como resultado uma imagem - ao olho humano - idntica imagem original, mas com uma informao secreta nela embutida. O outro algoritmo desenvolvido tem a funo de realizar a operao inversa: a imagem que possui uma mensagem nela embutida selecionada, tem seus LSB separados e organizados de maneira previamente estabelecida, e ento a mensagem secreta revelada ao seu destinatrio [7]. Nas Figuras 1 e 2 temos uma representao esquemtica do funcionamento dos dois algoritmos:

Fig. 1 Esquema de funcionamento do algoritmo 1.

Algumas imagens so melhores do que outras para fins de esteganografia. O que estabelece essa diferena a freqncia da imagem, ou a quantidade de detalhes. Se uma imagem x de alta freqncia e uma imagem y de baixa freqncia, a imagem x mais adequada aplicao proposta nesse artigo do que a imagem y. Isso porque a imagem de alta freqncia possui maior probabilidade de variao nos seus pixels em uma pequena poro da imagem, em virtude da grande quantidade de detalhes nela presente. Isso dificulta a deteco de um padro por um software de esteganlise. Na figura 4 pode-se ver um exemplo de imagem de alta freqncia.

Fig. 2 Esquema de funcionamento do algoritmo 2.

Pode-se perceber que o algoritmo 2 da Figura 2 nada mais que o inverso do algoritmo 1, com a seguinte ressalva: ele apenas extrai a informao da imagem, mas no gera nenhuma outra imagem sem informao escondida. Isso acontece porque no se necessita da imagem sem a informao escondida, uma vez que sua razo de ser no que diz respeito a essa aplicao apenas servir de portadora para a informao sigilosa. III. IMAGENS DIGITAIS As imagens digitais so principalmente de dois tipos: as de 24 bits e as de 8 bits [7]. Esses bits compem os pixels, que so os menores pontos da imagem aos quais atribuda alguma cor. Na representao True Color, por exemplo, cada pixel formado pela combinao das cores vermelho, verde e azul (red, green e blue, em ingls, da a sigla RGB), com 8 bits cada (Figura 3). Logo, temos 28 = 256 valores possveis para cada cor, totalizando 24 bits para representar cada pixel. Nessa representao, cada pixel pode assumir uma dentre 224 (aproximadamente 16.7 milhes) cores. Uma alterao, por exemplo, nos 2 bits menos significativos de uma cor representaria uma diferena de apenas 22 = 4 no valor da mesma, uma mudana imperceptvel a qualquer observador humano. A codificao ASCII (American Standard Code for Information Interchange) utiliza 7 bits para representar os caracteres do alfabeto da lngua inglesa, mas que so geralmente representados por 8 bits (um byte) devido organizao da memria dos computadores. Para essa codificao, utilizando-se os 2 LSB de cada pixel, possvel ocultar (2 bits por cor * 3 cores) /(8 bits por caractere) = 0,75 caractere por pixel de uma imagem [10].

Fig. 4 Imagem de alta freqncia

IV. ALGORITMOS NO MATLAB Como foi dito anteriormente, dois algoritmos foram criados no Matlab para realizar as operaes de insero e extrao da informao na imagem. Nesta seo, eles so descritos e explicados. Por razes de praticidade, optou-se por usar uma imagem pequena como portadora, e apenas uma frase como a informao a ser escondida na imagem. Mas o resultado final obviamente o mesmo independentemente do tamanho dos arquivos utilizados. O primeiro algoritmo tem como objetivo inserir a mensagem nos bits menos significativos da imagem. Observe na Figura 5 o fluxograma do algoritmo de insero:

Fig. 3 Representao de um pixel da imagem e do formato RGB

A varivel mensagem recebe o valor de bitMens atravs da seguinte linha de comando: mensagem = [mensagem , bitMens] Observe que ela recebe o valor anterior de mensagem acrescido do valor de bitMens, e no bitMens somente. Dessa forma, os bits menos significativos de cada pixel vo sendo extrados e alocados seqencialmente num vetor. Esse vetor ento ter cada um dos seus bytes transformado em seus caracteres correspondentes no cdigo ASCII, e a informao originalmente escondida na imagem finalmente revelada. Observe na Figura 6 o fluxograma do algoritmo de extrao:

Fig. 5 Fluxograma do algoritmo de insero

Aps serem carregadas a imagem portadora e a informao no Matlab, o algoritmo varre cada posio da matriz correspondente imagem, testando a paridade do pixel. Se for par, passa para o prximo passo; se for mpar, subtrai-se o valor do pixel em uma unidade, para que ele torne-se tambm par. Essa transformao dos bit pares em mpares o que possibilita a recuperao da informao original pelo algoritmo de extrao com rapidez e segurana, sem risco de erros. Repare que a alterao no valor do pixel mnima. Por exemplo, se o pixel vale 241, aps essa rotina ele valer 240. A diferena entre um pixel de valor 241 e um pixel de valor 240 no perceptvel ao olho humano. Feito isso, o primeiro bit da informao inserido no lugar o LSB do primeiro pixel da imagem, e assim sucessivamente. O algoritmo de extrao faz o trabalho inverso, extraindo a informao que foi inserida pelo algoritmo explicado anteriormente. Ele bem mais simples que o de insero. Nele, a imagem contendo a informao carregada, e em seguida inicializa-se a rotina que extrair a informao. Durante a varredura da matriz de pixels da imagem, apenas verifica-se o ltimo bit do pixel atual. Se for 0, uma varivel previamente criada (no exemplo do fluxograma, bitMens) receber o valor 0. Se for 1, a mesma varivel receber valor 1. Em seguida, o valor de bitMens atribudo posio atual de um vetor (no exemplo do fluxograma, mensagem).

Fig. 6 Fluxograma do algoritmo de extrao

V. RESULTADOS EXPERIMENTAIS Foram realizados testes com os algoritmos para se verificar a sua eficincia. Como foi dito anteriormente, a imagem utilizada como portadora (Fig. 7) de qualidade baixa, em virtude de o seu processamento no Matlab se dar de maneira mais rpida. Suas dimenses so 109 x 68 x 3 e seu tamanho de 10,9 KB.

Na Figura 8 temos a imagem esteganografada:

Fig. 7 Imagem utilizada como portadora

Na tela abaixo, ns podemos ver o funcionamento do algoritmo de insero.

Fig. 8 Imagem esteganografada

Como possvel observar atravs de uma comparao com a Fig. 5, no h diferena perceptvel ao olho humano entre a mesma e a Fig. 8. As diferenas apenas so visualizveis num editor de imagens que trabalhe com as mesmas em nvel de pixels. VI CONSIDERAES FINAIS Este artigo tratou sobre dois algoritmos capazes de realizar codificao de uma informao em uma imagem usando, resultando em uma informao esteganografada em uma imagem. A imagem esteganografada no pode ser diferenciada da imagem original, pois a diferena entre uma cor x e uma outra cor imediatamente inferior ou superior a x (ex, entre pixels com valor de cor 100 e 101) imperceptvel ao olho humano. O princpio de funcionamento destes algoritmos est na sua relao direta com a paridade dos pixels da imagem. A funo de teste de paridade est presente tanto no algoritmo de insero quanto no algoritmo de extrao, atrelando a si toda a execuo dos cdigos. Ela a principal responsvel pela simplicidade do cdigo, uma vez que no necessrio tratar dos pixels a bit a bit, mas sim como nmeros decimais. Como principal resultado deste trabalho, temos a criao dos algoritmos no Matlab, e como proposta de trabalho futuro, o desenvolvimento do mesmo algoritmo em outra linguagem, possibilitando a criao de um software capaz de realizar as mesmas funes. REFERNCIAS
[1] [2] [3] [4] [5] M. S. Sutaone, M. V. Khandare. Image Based Steganography Using LSB Insertion Technique, IEEE, 2008. Disponvel em: S. Venkatraman, A. Abraham, M. Paprzycki. Significance of steganography on data security, 2004. IEEE. Disponvel em: H. Mathkour, B. Al-Sadoon, A. Touir. A new IMAGE steganography technique, IEEE, 978-1-4244-2108-4/08, 2008. N. Hopper, L. Ahn, J. Langford. Provably secure steganography, IEEE Transactions on Computers, vol. 58, n 5, maio 2009. Y. K. Huang, B. Wu, I. Glesk, E. E. Narimanov, T. Wang e P. R. Prucnal. Combining cryptographic and steganographic security with self-wrapped optical code division multiplexing techniques. Eletronic Letters, v. 43, dezembro, 2007. K. B. Raja, C. R. Chowdary, K. R. Venugopal, L. M. Patnaik. A Secure Image Steganography using LSB- DCT and Compression Techniques on Raw Images, IEEE, 2005. K. Suresh Babu, K. B. Raja, Kiran Kumar K., Majula Devi T. H., Venugopal K. R., L. M. Patnaik. Authentication of secret information in image Steganography. IEEE. 2005.

Fig. 6 Tela mostrando funcionamento do cdigo

Em J, temos a imagem original carregada. Em I, temos a imagem alterada. Observe que o 4 pixel da 1 linha da imagem era 46 e tornou-se 47 (como mostra a varivel b), uma vez que o 5 bit de info mpar (o primeiro bit de info no considerado informao porque foi utilizado para inicializar o vetor. Podemos observar o mesmo em outros pixels. O primeiro, que era 46, permaneceu 46, uma vez que seu bit de informao correspondente par. Com o 2 pixel acontece o mesmo que com o do pargrafo anterior: torna-se mpar, por tem um bit correspondente mpar. Com o 3 pixel nada acontece, pois o seu valor j mpar, assim como o do seu respectivo bit.

[6]

[7]

Fig. 7 - Tela mostrando funcionamento do cdigo

Вам также может понравиться