Você está na página 1de 56

I NSTITUTO F EDERAL

C URSO

DE

DE

E DUCAO , C INCIA

T ECNOLOGIA

EM

S ISTEMAS

T ECNOLOGIA
DE

DA

PARAIBA - IFPB

T ELECOMUNICAES

N IEREMBERG J OS P EREIRA DE LYRA R AMOS

E STEGANOGRAFIA

UTILIZANDO

T RANSFORMADA

WAVELET

J OO P ESSOA , N OVEMBRO

DE

2012.

N IEREMBERG J OS P EREIRA DE LYRA R AMOS

E STEGANOGRAFIA

UTILIZANDO

T RANSFORMADA

WAVELET

Trabalho de Concluso de Curso submetido coordenao do curso de Tecnologia em Sistemas de Telecomunicaes do Instituto Federal de Educao, Cincia e Tecnologia da Paraiba - IFPB.

O RIENTADOR : L UIZ G UEDES C ALDEIRA , D R .

Joo Pessoa, Novembro de 2012.

I NSTITUTO F EDERAL
C URSO

DE

DE

E DUCAO , C INCIA

T ECNOLOGIA

EM

S ISTEMAS

T ECNOLOGIA

DE

DA

PARABA

T ELECOMUNICAES

Nieremberg Jos Pereira de Lyra Ramos


Esteganografia utilizando Transformada Wavelet

Este Trabalho de Concluso de Curso foi julgado adequado para obteno do Ttulo de Graduado em Sistemas de Telecomunicaes, e aprovado em sua forma
final pela Coordenao do Curso Superior de Sistemas
de Telecomunicaes, do Instituto Federal de Educao, Cincia e Tecnologia da Paraba - IFPB.

Banca Examinadora:

Luiz Guedes Caldeira, Dr.


Orientador
Instituto Federal de Educao, Cincia e Tecnologia da Paraiba - IFPB

Suzete lida Nbrega Correia, Dr.


Instituto Federal de Educao, Cincia e Tecnologia da Paraba - IFPB

Silvana Luciene do Nascimento Cunha Costa, Dr.


Instituto Federal de Educao, Cincia e Tecnologia da Paraba - IFPB

II

"A tarefa no tanto ver aquilo que ningum viu,


mas pensar o que ningum ainda pensou
sobre aquilo que todo mundo v"
(Arthur Schopenhauer)

III

AGRADECIMENTOS
Agradeo em primeiro lugar a Deus que iluminou o meu caminho durante esta caminhada, me
deu sabedoria e apoio nos momentos de angstia.
Agradeo tambm minha esposa, Sigrid Shally, que de forma especial e carinhosa me deu fora
e coragem, me apoiando nos momentos de dificuldades, e me incentivando a sempre seguir em frente.
Ao professor Luiz Guedes Caldeira, por ter "comprado"a idia deste tema complicado e pela
pacincia na orientao e incentivo, sem os quais no seria possvel a concluso desta monografia.
A todos os professores do curso, que foram to importantes na minha vida acadmica e no desenvolvimento desta monografia. Aos amigos e colegas, pelo incentivo e pelo apoio constantes e pelas
muitas batalhas vencidas juntos.
Aos meus avs, Marly, Manoel, Maria e Milton que h muito tempo esperavam por este momento
e que, muito antes que eu entrasse num curso de graduao j tinham certeza de que ele chegaria.
E no deixando de agradecer de forma grata e grandiosa meus pais, Nieremberg Ramos e Vernica Ramos, a quem eu rogo todas as noites a minha existncia, e que foram os atores principais para
que este momento acontecesse.

N IEREMBERG J OS P EREIRA

Instituto Federal de Educao, Cincia e Tecnologia da Paraiba - IFPB


13 de Novembro de 2012

IV

DE

LYRA R AMOS

Resumo do trabalho de concluso de curso submetido coordenao do curso superior de Sistemas


do Instituto Federal de Educao, Cincia e Tecnologia da Paraiba - IFPB.

E STEGANOGRAFIA UTILIZANDO T RANSFORMADA WAVELET


Nieremberg Jos Pereira de Lyra Ramos

Novembro/2012

Orientador: Luiz Guedes Caldeira, Dr.


rea de Concentrao: Comunicaes
Palavras-chaves: ocultao, esteganografia, segurana, direitos autorais, wavelet
Nmero de pginas: 45
A esteganografia conhecida como a arte de ocultar mensagens dentro de outras mensagens, existe
vrias tcnicas que podem ser utilizadas para a ocultao dessas mensagens, no entanto a que ser
apresentada nesse trabalho a transformao do domnio. Este projeto enfoca-se na ocultao de um
texto simples em um arquivo de udio no formato wav, a entrada de dados realizada nas componentes que resultam da transformao do sinal atravs da anlise de wavelet. O objetivo inserir dados e
fazer com que esses passem despercebidos, de tal maneira que sua deteco por terceiros seja pouco
provvel, como tambm possibilitar a recuperao desses dados de maneira praticamente inalterada,
tendo em vista que a transformada de wavelet confere uma maior robustez ao arquivo.

Abstract of Final Paper submitted to coordination of Tecnology in Telecommunications Systems of


Federal Institute of Education, Science and Technology of Paraiba - IFPB.

S TEGANOGRAPHY USING WAVELET T RANSFORM


Nieremberg Jos Pereira de Lyra Ramos

november/2012

Supervisor: Luiz Guedes Caldeira, Dr.


Area of Concentration: Communication
Keywords: hiding, steganography, security, copyright, wavelet
Number of pages: 45
The steganography is known as the art of concealing messages within other messages, there are
several techniques that can be used for concealment of these messages, though that will be presented
in this paper is domain transformation. This project focuses on the concealment of a simple text into
an audio file in wav format, data entry is performed on components resulting from the processing of
the signal by wavelet analysis. The goal is to enter data and make these pass unnoticed, so that its
detection by third parties is unlikely, but also enable the recovery of data in a virtually unchanged,
given that the wavelet transform provides greater robustness to archive.

VI

S UMRIO

I NTRODUO

1.1 Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E STEGANOGRAFIA

2.1 Idade Antiga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2 Idade Mdia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3 Idade Moderna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4 Idade Contempornea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.5 Tcnicas de Esteganografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.5.1 Classificao da Esteganografia . . . . . . . . . . . . . . . . . . . . . . . . .

2.5.2 Esteganografia Tcnica . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.5.3 Categorias de Esteganografia . . . . . . . . . . . . . . . . . . . . . . . . . .

2.6 Problemas no Processo Esteganogrfico . . . . . . . . . . . . . . . . . . . . . . . .

2.7 Esteganlise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Wavelet

10

3.1 Transformada Discreta de Wavelet . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

3.2 Famlias Wavelet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

3.2.1 Wavelet Haar haar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.2.2 Wavelet Daubechies db . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.2.3 Wavelet Biorthogonal bior . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.2.4 Wavelet Coiflets coif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.2.5 Wavelet Symlets sym . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.2.6 Wavelet Morlet morl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.2.7 Wavelet Mexican Hat mexh . . . . . . . . . . . . . . . . . . . . . . . . . .

17

VII

3.2.8 Wavelet Meyer meyr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

3.3 Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

3.4 Uso das Wavelets na Esteganografia . . . . . . . . . . . . . . . . . . . . . . . . . .

21

3.4.1 Filtro de um estgio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

3.4.2 Decomposio em Mltiplos Nveis . . . . . . . . . . . . . . . . . . . . . . .

23

3.4.3 Reconstruo da Wavelet . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.4.3.1

Filtros de Reconstruo . . . . . . . . . . . . . . . . . . . . . . .

23

3.4.3.2

Reconstruindo Aproximaes e Detalhes . . . . . . . . . . . . . .

23

3.4.4 Multiplas decomposies e reconstrues . . . . . . . . . . . . . . . . . . . .

25

R ESULTADOS

26

4.1 Insero de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

4.1.1 Processo para insero de dados . . . . . . . . . . . . . . . . . . . . . . . . .

27

4.2 Recuperao de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

4.2.1 Processo de recuperao de dados . . . . . . . . . . . . . . . . . . . . . . . .

30

4.3 Anlise Estatstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

4.4 Implementao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

C ONCLUSO

34

Apndice A A LGORITMO

PARA I NSERO DE DADOS

36

Apndice B A LGORITMO

PARA

R ECUPERAO

41

Apndice C A LGORITMO

DE

DE DADOS

A NLISE E STATSTICA

B IBLIOGRAFIA

43
44

VIII

L ISTA

DE

F IGURAS

2.1

Classificao de Esteganografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

Processo Esteganogrfico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.1

Anlise local no tempo, apresentando o uso de janelas. . . . . . . . . . . . . . . . .

11

3.2

Comparativo da anlise de Fourier e wavelet para o mesmo sinal sinusoidal com uma
pequena descontinuidade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

3.3

Grfico de onda senoidal comparado ao grfico de uma wavelet. . . . . . . . . . . .

14

3.4

Evoluo da Anlise de Sinais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

3.5

Wavelet Haar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.6

Famlia Daubechies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.7

Famlia Biorthogonal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

3.8

Famlia Coiflets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

3.9

Famlia Symlets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.10 Wavelet Morlet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.11 Wavelet Mexican Hat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.12 Wavelet Meyer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

3.13 rvore de Anlise Wavelet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

3.14 Amostra de um filtro de um estgio. . . . . . . . . . . . . . . . . . . . . . . . . . .

22

3.15 Amostragem de sinal utilizando tcnica de downsampling. . . . . . . . . . . . . . .

22

3.16 Composio do sinal original a partir dos coeficientes de Detalhes e Aproximaes. .

24

3.17 Processo de recomposio do vetor de Detalhes. . . . . . . . . . . . . . . . . . . . .

24

3.18 Processo de recomposio do vetor de Aproximaes . . . . . . . . . . . . . . . . .

24

3.19 Processo de decomposio e recomposio em mltiplos nveis . . . . . . . . . . . .

25

4.1

Converso da mensagem alfanumrica em cdigo ASCII . . . . . . . . . . . . . . .

28

4.2

Subdiviso da mensagem em nveis para dificultar a percepo . . . . . . . . . . . .

28

IX

4.3

Processo de transformao da senha em uma sequncia binria . . . . . . . . . . . .

28

4.4

Insero de dados na matriz de decomposio via wavelet . . . . . . . . . . . . . . .

29

4.5

Ocultao de uma mensagem num arquivo de udio mediante a transformada de wavelet 30

4.6

Decodificao de dados ocultos em um arquivo de udio mediante a tcnica de wavelet. 31

4.7

Comparao entre o udio original e o udio aps receber a mensagem atravs do


processo de esteganografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.8

32

Janela de comando do MatLab apresentando o resultado da execuo do algoritmo


de recuperao de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

CAPTULO

I NTRODUO

Esteganografia vem do grego e significa literalmente, "escrita encoberta". uma das vrias
tcnicas de ocultamento de dados, que visa transmitir uma mensagem em um canal onde algum outro
tipo de informao j est sendo transmitido. O objetivo da esteganografia esconder mensagens
dentro de outras mensagens inofensivas de uma forma que no permita que qualquer pessoa externa
ao processo possa at mesmo detectar que h uma segunda mensagem presente. Para descobrir
a mensagem seria necessrio ter conhecimento de uma chave secreta (stego-key), sem esta chave
no h a menor chance de at mesmo se desconfiar do canal de comunicao observado, e nele
pode existir uma comunicao oculta. Em um mundo ideal todos ns seramos capazes de enviar
mensagens ou arquivos criptografados abertamente uns com os outros, sem medo de represlias. No
entanto, existem casos em que, muitas vezes isso impossvel, seja porque a empresa que trabalha
no permite e-mail criptografado ou o governo local no aprova criptografar a comunicao (uma
realidade em algumas partes do mundo). Este o lugar onde a esteganografia pode entrar em jogo.
A Esteganografia tem se desenvolvido muito nos ltimos anos, porque as tcnicas digitais permitem novas formas de esconder informaes dentro de outras informaes, e isso pode ser til em
muitas situaes. O primeiro a utilizar as comunicaes com as tcnicas ocultas de transmisses de
rdio foram os exrcitos, por causa da importncia estratgica de comunicao segura e a necessidade
de dissimular a origem, o mximo possvel.
Hoje em dia, novas restries no uso de criptografia forte para mensagens so adicionadas por
leis internacionais, por isso, se dois pares quiserem us-lo, eles podem recorrer a ocultao da comunicao dissimulando uma comunicao casual. Outra aplicao da esteganografia a proteo
de dados sensveis. Um sistema de arquivos pode ser escondido em arquivos aleatrios em um disco
1

rgido, sendo necessrio uma chave para extrair os arquivos originais. Isto, por exemplo, pode proteger as pessoas de ataques fsicos a fim de obter suas senhas, porque talvez o atacante nem mesmo
saiba que alguns arquivos esto nesse disco.
A grande preocupao de esteganografia a cautela, porque, se um atacante, passivo ou ativo,
pode detectar a presena da mensagem, a partir desse ponto ele pode tentar extra-la e, se estiver
criptografada, decifr-la. A resistncia tentativa de destruio ou rudo no necessria, uma vez
que consideramos o emissor e o receptor igualmente interessados em troca de mensagens, de forma
que eles vo tentar transmitir a informao da melhor maneira que puderem.

1.1 Estrutura do Trabalho


Este trabalho est estruturado da seguinte forma, no segundo captulo feita uma apresentao
do que seria a esteganografia, passando desde a idade antiga at os dias atuais, apresentando suas
formas e mtodos. No terceiro captulo fazemos uma introduo s wavelets, pelo fato de se tratar
de uma nova forma de analisar sinais, alguns leitores podem no estar to familiarizados com ela,
so apresentadas algumas aplicaes, a forma como feita a anlise e as principais famlias de
wavelets. No quarto captulo apresentada a prtica realizada neste trabalho, so apresentados os
algoritmos implementados, com os devidos comentrios para facilitar o entendimento. No quinto
captulo so apresentados os resultados da prtica realizada, como tambm o resultado da anlise
estatstica mostrando a diferena entre o arquivo original e o arquivo gerado pela esteganografia. No
ltimo captulo so apresentadas as concluses obtidas aps a pesquisa feita no trabalho e a anlise
dos resultados obtidos.

CAPTULO

E STEGANOGRAFIA

A informao uma importante arma desde a antiguidade e por isso a sua proteo algo que
muito almejado. Existem vrias formas de proteger a informao, seja aprimorando o seu transporte
e armazenamento, ou fazendo uso de cifras para dificultar o acesso de pessoas indesejadas a essas
informaes, ou pela ocultao dessas informaes, esta ltima tcnica chamada de esteganografia
que uma palavra derivada do grego e que significa "escrita escondida". A seguir apresentaremos um
breve histrico da esteganografia, onde explicaremos alguns algoritmos esteganogrficos utilizados
na histria.

2.1 Idade Antiga


A idade antiga compreende o perodo entre a inveno da escrita, atribuda aos sumrios, por
volta de 3500 a.C. a o ano de 476 a.C., com a deposio do ltimo imperador romano. Durante
esse perodo, as principais civilizaes que se desenvolveram foram as localizadas na Mesopotmia,
a egpcia, a grega, a persa e a romana [1]. Entretanto, o primeiro registro do uso da esteganografia
se d mais de 3000 anos depois do incio da idade antiga. Aos gregos so creditados os primeiros
registros histricos do uso da esteganografia, documentos durante o conflito entre a Grcia e a Prsia,
durante o sculo V a.C. por Herdoto [2]. Xerxes, o tirano rei da Prsia, comeou a construir
a nova capital de seu imprio, Perseplis. Para adornar a cidade, comearam a chegar diversos
presentes de todo o imprio, com a exceo de duas cidades-estado, Atenas e Esparta. Determinando
a combater tal insolncia, Xerxes comeou a reunir um grande exrcito, para lanar um ataquesurpresa sobre as cidades-estado. Em 480 a.C., ele estava pronto para lanar o ataque [3]. Contudo,

os preparativos tinham sido testemunhados por Demarato, um grego que fora expulso de sua terra
natal, mas que, apesar de seu exlio, ainda sentia lealdade para com a Grcia e decidiu enviar uma
mensagem avisando os espartanos dos planos de Xerxes. O problema era com mandar a mensagem
sem levantar suspeita. O perigo de ser descoberto era grande, havia apenas um modo pela qual
a mensagem poderia passar: isso foi feito raspando a cera de um par de tabuletas de madeira, e
escrevendo o que Xerxes pretendia fazer, depois a mensagem foi coberta novamente com cera. Deste
modo, as tabuletas pareceriam estar em branco e no causariam problemas com os guardas ao longo
da estrada. Quando a mensagem chegou ao seu destino, ningum foi capaz de perceber o segredo,
at que, pelo que entendi, a filha de Clemenes, Gorgo, que era casada com Lenidas, adivinhou e
contou aos outros que se eles raspassem a cera encontrariam alguma coisa escrita na madeira. Isto
foi feito, revelando a mensagem, ento transmitida para os outros gregos [3]. Como resultado do
aviso, os gregos comearam a se armar e em 23 de setembro de 480 a.C. conseguiram preparar uma
armadilha para os persas, na baa de Salamina, onde conseguiram aplicar uma derrota humilhante s
formidveis foras persas.

2.2 Idade Mdia


A idade mdia o perodo compreendido entre a queda do imprio romano no ocidente (em 476
d.C.) e a tomada da capital do imprio romano do oriente, Constantinopla, pelos turcos em 1453
d.C. [1] "Na China antiga, mensagens eram escritas sobre seda fina e o pequeno retalho era recoberto
por cera. Para transportar a mensagem oculta, um mensageiro era obrigado a engolir a bolinha, ir at
o destinatrio e entreg-la aps expeli-la." [4]. Este um mtodo parecido com o que foi utilizado
tambm por Histaeu na Idade Antiga, onde o corpo do mensageiro servia de meio de transporte para a
mensagem, s que no mtodo de Histaeu a mensagem era transportada em forma de tatuagem na pele
do mensageiro. Uma outra tcnica empregada na China foi a utilizao dos "bolos de lua", quando
a China estava sob o imprio Mongol, na dinastia Yuan. Os lderes da rebelio contra o imprio
se aproveitaram da tradio do bolo de lua durante o festival da Lua para transmitir mensagens que
coordenariam o seu ataque. Os rebeldes inseriram mensagens dentro dos bolos e as levaram, sem
levantar suspeitas, a todos que precisavam ter conhecimento de seus planos. Os rebeldes obtiveram
sucesso em seu ataque e derrubaram o governo, que se seguiu da dinastia Ming [2].

2.3 Idade Moderna


De acordo com [1], a idade moderna se inicia com a queda de Constantinopla e se encerra com a
Revoluo Francesa em 1789. Neste perodo havia uma grande preocupao em transmitir informaes sem que o governo ou o tribunal de inquisio desconfiasse, ento vrios algortmos esteganogrficos foram criados por cientistas e religiosos. Nesta poca um cientista alemo chamado Gaspar
Schott escreveu Schola Stenographica, no ano de 1665, onde descreveu vrios mtodos esteganogrficos em oito lies, sendo o mais famoso mtodo o de esconder informaes em partituras musicais,
onde as notas representariam as letras da mensagem original. Ao ser tocada essas msicas poderiam
ser harmoniosas ou no, o que poderia levantar suspeitas a ouvidos treinados musicalmente. [4]

2.4 Idade Contempornea


conhecida como Idade Contempornea o perodo seguinte Revoluo Francesa, que marcou
a superao do feudalismo pelo capitalismo, perodo este que se segue at os dias de hoje [1]. No
incio deste perodo os algortmos ainda eram rsticos, mas o uso de meios computacionais permitiu
o desenvolvimento de mtodos e eficazes de se utilizar no sculo XXI. A tcnica de micropontos
utilizada durante a segunda guerra mundial uma tcnica que merece destaque nesta poca. Nesta
tcnica imagens eram reduzidas ao tamanho de um milmetro de dimetro, se tornando microfotografias que eram escondidas no ponto final de alguma frase ou no pingo de algum i. O processo consistia
em fotografar a mensagem e depois reduzi-la ao tamanho aproximado de um selo. Em seguida a imagem reduzida por um microscpio reverso, ficando com um milmetro de dimetro. Essa imagem
ou o seu negativo era ento colocada com o auxilio de uma seringa ou agulha na mensagem que iria
servir de portadora e enviada ao seu destino [2].

2.5 Tcnicas de Esteganografia


Explanaremos agora sobre alguns mtodos e tcnicas utilizadas para esconder mensagens, desde
as tcnicas atuais at as tcnicas mais antigas, mas no menos importante.

2.5.1 Classificao da Esteganografia


Existem basicamente dois tipos de Esteganografia, a lingustica e a tcnica, que foram alinhadas
em uma classificao hierrquica. A Figura 2.1 mostra esta classificao.

Figura 2.1: Classificao de Esteganografia

2.5.2 Esteganografia Tcnica


Neste tipo de esteganografia so utilizados meios tcnicos para disfarar a existncia de uma
mensagem. Podem ser meios fsicos como a grelha de Cardano ou qumicos, como com o Ovo de
Giovani Porta, que so utilizados para esconder a mensagem. De certa forma as tcnicas de esteganografia lingustica tambm esto nessa classificao, mas veremos mais adiante o que a distingue e
a faz estar em uma classificao nica [2].
Na esteganografia existe um esquema bsico de montagem do objeto-esteganogrfico (stegoobject), que composto por um objeto portador (cover-object) e uma chave esteganogrfica (stegokey) [4]. O objeto portador da mensagem pode ser qualquer tipo de dado que possa ser manipulado
pelo computador, como uma imagem ou um arquivo de som. Para que a mensagem seja protegida
necessria uma chave esteganogrfica (stego-key) que, como na criptografia, secreta e protege os
dados de invasores ou de qualquer pessoa que no est devidamente autorizada a obter o contedo
original da mensagem, podendo ser um nmero aleatrio destinado a inserir e extrair a mensagem do
objeto portador, sendo basicamente uma chave simtrica [2]. A Figura2.2 ilustra bem o processo de
esteganografia em meios digitais, na figura podemos identificar um objeto a ser embutido, um objeto
portador e uma chave. O dado embutido no portador e s poder ser recuperado, em teoria, com o
uso da chave que foi usada no processo de composio do stego-objeto.

Figura 2.2: Processo Esteganogrfico

H trs maneiras de esconder uma mensagem em um objeto portador: No mtodo da substituio


os dados a serem escondidos substituem parte dos dados existentes no objeto portador. Isto impede
que o tamanho do objeto portador aumente significativamente, mas pode acarretar em perda da qualidade do mesmo. No mtodo da Injeo os dados a serem escondidos so diretamente injetados no
objeto portador, o que normalmente aumenta o tamanho do objeto portador e gera suspeita quando
ao uso da esteganografia. No mtodo da gerao o objeto portador gerado somente para esconder a
mensagem secreta, podendo ser um arquivo qualquer, sem nenhuma informao relevante [2].

2.5.3 Categorias de Esteganografia


Essencialmente, todos os mtodos de esteganografia so semelhantes; porm, cada um deles
possui caractersticas prprias, que podem ser usadas para classific-los em diversas categorias [2].
As principais categorias de esteganografia so:
1. Insero;
2. Sistemas de Substituio;
3. Transformao de Domnio;
4. Espalhamento de Espectro (Spread Spectrum);
5. Mtodos Estatsticos;
6. Distoro;
7

7. Gerao de Cobertura (Cover Generation).


A seguir ser feita uma breve explanao sobre duas tcnicas que foram empregadas neste trabalho.
Transformao de Domnio

Transformao de domnio uma tcnica de esteganografia muito eficiente, que consiste na insero da mensagem secreta nos espaos de transformao, que so espaos onde o formato original
guarda certas informaes que sero irrelevantes aps a converso, gerados durante a converso de
tipo de um arquivo de imagem (por exemplo, de BMP para JPEG) ou som (por exemplo, de WAV
para MP3) [2]. Nesta tcnica, a diferena de tamanho (quantidade de bits) entre o formato original e
o formato compactado utilizada para inserir a mensagem secreta sem levantar suspeita [4].
Mtodos Estatsticos

Sistema de regime binrio que funciona com base na capacidade do receptor de distinguir se
houve mudana de bit (0 ou 1) no objeto que carrega a mensagem. Ao ocorrer mudana no trajeto
da mensagem resulta no bit "1", a ausncia desta mudana resulta no bit "0". Um bom exemplo a
comunicao por sinais luminosos, como ocorre na fibra tica: quando ocorre uma mudana no meio
com um sinal luminoso identificado o bit "1", quando no h alterao o receptor interpreta aquele
bit como "0".

2.6 Problemas no Processo Esteganogrfico


O primeiro aspecto a ser considerado quando tratamos de esteganografia em relao s mudanas feitas no objeto portador, pois dependendo da quantidade de informao inserida no objeto
portador, o mesmo poder ficar distorcido a ponto de ser facilmente detectado que existe algo escondido naquele objeto. Se o objeto for distorcido de forma inaceitvel para transmisso da mensagem, o
portador no suficiente para carregar toda informao que nele foi embutida. Se a distoro for aceitvel, o portador possui um nvel de visibilidade baixo, que possibilita a transmisso da mensagem
de uma forma com segurana aceitvel [2]. Outro conceito associado ao processo esteganogrfico a
robustez do mtodo utilizado. Entende-se por robustez a capacidade de resistncia da mensagem secreta a mudanas feitas no objeto portador, de forma que um mtodo esteganogrfico robusto mantm
a integridade da mensagem mesmo que o objeto portador seja submetido a certos efeitos adversos.
Porm, temos uma relao entre robustez e o payload da mensagem secreta. Normalmente temos a
seguinte relao, feita por KIPPER [2].
8

Maior robustez = Menor Payload


Menor robustez = Maior Payload
Mudanas de formatos, como a compactao do formato BMP para JPEG pode acabar destruindo os
bits que fazem parte da mensagem que estiver oculta no objeto portador [2].

2.7 Esteganlise
Os estudos e pesquisas que se destinam a revelar a existncia de mensagens secretas dentro de
um objeto recipiente denominada esteganlise [5]. Normalmente a esteganlise se destina somente
a verificar a existncia de uma mensagem escondida e no de revelar seu contedo. Muitas vezes
o contedo pode estar criptografado, o que exigiria tcnicas de criptoanlise para que fosse possvel obter o contedo original. H tcnicas de esteganlise que visam apenas detectar a presena ou
ausncia de uma informao secreta no objeto analisado, mas sem se preocupar com seu contedo.
Essas tcnicas so classificadas como esteganlise passiva. As tcnicas que se destinam a extrair
uma cpia, s vezes aproximada, da mensagem secreta fazem parte da esteganlise ativa [6]. A estaganlise a verificao se houve alteraes em uma imagem ou arquivo, pela insero de uma
mensagem, ou seja, verifica evidncias de um processo esteganogrfico. As tcnicas de esteganlise
possuem algumas limitaes. Muitas delas, por exemplo, foram feitas especialmente para determinados algoritmos e softwares de esteganografia que j so previamente conhecidos; ou seja, quando
essas mesmas tcnicas so aplicadas aos resultados de outro algoritmo ou software, elas tm grande
probabilidade de falhar [7]. O esteganalista pode utilizar algumas tcnicas para manipular o arquivo
que contem uma mensagem segundo [7].
Destruir o contedo - A simples eliminao do arquivo j suficiente para a destruio da mensagem
Adicionar novas informaes - Ao submeter o arquivo a uma nova esteganografia os dados que
foram inseridos anteriormente sero sobrescritos
Alterar o formato do arquivo - Ao realizar a converso de um arquivo para outra extenso pode
resultar na visualizao dos dados que esto esteganografados
Comprimir o arquivo - Os algoritmos de compresso de arquivos tentam remover as informaes
extras ou redundantes do arquivo, espao que geralmente utilizado para esconder a informao
As melhores tcnicas de esteganlise so aquelas direcionadas especificamente a um determinado
algoritmo, pois a sua chance de sucesso maior [7].
9

CAPTULO

Wavelet

A anlise espectral constitui uma das ferramentas clssicas mais poderosas e mais utilizadas no
estudo e processamento, tanto para sinais determinsticos como para sinais estocsticos [8].
A principal ferramenta para anlise de sinais foi inventada com outro propsito, em 1822, em sua
monografia, o francs Jean-Baptist-Joseph Fourier, com o propsito de aprender sobre o calor, descobriu que ondas senoidais constituem os elementos fundamentais de vibraes e ondas peridicas,
sua definio est descrita na Equao 3.1.

F () =

f (t)eitdt

(3.1)

A anlise de Fourier implica no fato de muitos sinais irregulares poderem ser "dissecados"numa
superposio de muitos ritmos regulares, com vrias amplitudes e frequncias. Em msica, ela descreve como cada som pode ser analisado como uma mistura de tons puros; em tica, a luz em qualquer matiz pode ser sintetizada a partir das cores fundamentais do arco-iris. Os sinais passaram a ser
analisados no domnio de Fourier, ou seja, no domnio da frequncia [8].
No entanto uma das deficincias desta anlise o fato da mesma no apresentar um caratr
local. Todo o sinal, desde o comeo dos tempos () at o fim dos tempos (+) levado em
considerao. A transformada de Fourier representa um "comportamento global mdio" do sinal [8].
A teoria da anlise de Fourier diz ser possvel representar um sinal atravs de uma soma infinita de
termos em senos e cossenos, essa teoria mais conhecida como expanso de Fourier. A transformada
de Fourier (TF) tem suas vantagens e tambm as suas desvantagens. A maior destas que, embora
10

a TF possa determinar todas as frequncias presentes no sinal, sua relao com o domnio temporal
inexistente. A transformada de Fourier no fornece uma anlise no domnio do tempo, apenas no
domnio da frequncia [9] [10] [11].
Visando superar este problema, vrias alternativas foram propostas objetivando ter uma anlise,
que fosse ao mesmo tempo temporal e frequencial de sinais no estacionrios [12] [13]. A primeira
delas foi a transformada de Fourier de tempo curto (STFT - Short Time Fourier Transform), tambm
conhecida como a transformada de Gabor [14] [15] [16], adaptada por Dannis Gabor no ano de 1946.
A transformada de Fourier de tempo curto definida pela Equao 3.2.

ST F T (, ) :=

f (t)W (t )ejt dt

(3.2)

A idia da Transformada de Fourier de Tempo Curto - STFT (ou Transformada de Gabor)


introduzir um parmetro de frequncia local (local no tempo) como se a "Transformada de Fourier
Local" observasse o sinal atravs de uma curta "janela" dentro da qual o sinal permanece aproximadamente estacionrio [8]. Como pode ser visto na Figura 3.1.
O problema que uma vez definido o tamanho para a janela, esta permanece constante para
todas as frequncias. Pode acontecer que alguns sinais precisem de um enfoque mais flexvel, onde
o tamanho da janela possa mudar com o objetivo de detectar o contedo local da frequncia [12].
Com a evoluo das tcnicas para representao de sinais, surge a transformada de wavelet, que
uma ferramenta relativamente nova e nos d condies de unificar um grande nmero de tcnicas de
anlise e processamento, como anlise de imagens, codificao em sub-bandas, algoritmo piramidal
de Laplace [17], anlise de multirresoluo para viso artificial em computadores e modelagem de
sistemas que sofrem variaes no espao-tempo [16] [18] [19] [20].
A transformada de wavelet inclui a Srie de Fourier, a Transformada de Fourier, a Transformada de Gabor em Tempo Curto, espectogramas, por exemplo, como casos particulares, permi-

Figura 3.1: Anlise local no tempo, apresentando o uso de janelas.

11

tindo a anlise de sinais no estacionrios, incluindo sinais banda larga. At mesmo o fenmeno
de Gibbs [21] [22], o teorema da amostragem de Shannon-Nyquist e as sries de Taylor, podem ser
abordados com enfoque em wavelets [23].
Wavelet atualmente uma das ferramentas mais potentes do Processamento digital de sinais
(PDS). De modo geral, o PDS inclui as seguintes operaes: converso de um fenmeno fsico (por
exemplo, movimento do ar, contrao muscular, luz refletida, dentre outros) em sinal eltrico, possibilitando o armazenamento e manipulao do sinal com a inteno de extrair ou codificar informaes, ou at mesmo interpretar as informaes extraidas [8].
Credita-se o surgimento da transformada wavelet a Alfred Haar, que a utilizou para anlise multiescalar em sua tese de doutorado em 1909 [8]. Entretanto, a forma de utilizao atual da transformada
wavelet consolidou-se somente no incio da dcada de 1980, com os trabalhos de Morlet, Grossman,
Meyer, Mallat, Daubechies e outros pesquisadores das mais diversas reas do conhecimento, atrados
pela sua vasta gama de aplicaes.
O princpio bsico da transformada wavelet consiste na convoluo da funo f (x) a ser generalizada (sinal, imagem etc.) com a funo wavelet (x). Em sua forma matemtica a transformada de
wavelet de uma funo f (x) dada por:

C(a,b)

1
=
a

f (x)

xb
a

dx, a 6= 0

a (t) = (t b)
1
a (t) =
a
1
a,b (t) =
a

(3.3)

(3.4)

 
t
, a 6= 0
a

(3.5)

(3.6)

tb
a

, a 6= 0

Na Equao 3.3 temos a como fator de escalonamento e b como fator de translao. a funo (x)
chamada de wavelet-me, que utilizada na anlise, por isso tambm conhecida como "wavelet
, que gerada
analisadora" . Desta wavelet-me sairo algumas derivadas, como a funo xb
a

pela translao na Equao 3.4, ou pelo escalonamento da Equao 3.5. O escalonamento a funo
matemtica que tem a capacidade de comprimir ou expandir uma funo, isso fornece a possibilidade

12

de aumentar ainda mais o foco num determinado ponto do sinal. O valor obtido para C(a,b) , representar o quo similar a funo wavelet ser funo analisada, quanto maior este valor, maior ser
a similaridade. J a Equao 3.6 apresenta a juno das operaes de escalonamento e translao.
Estamos rodeados por sinais que podem ser analisados, por exemplo tremores ssmicos, fala
humana, vibraes mecnicas e vrios outros tipos de sinais. A anlise de wavelet uma nova e promissora ferramenta para analisar estes sinais, elas foram introduzidas pela escola francesa, originria
por estudos de curta durao associados a pacotes de ondas ssmicas [24].
Vamos verificar ao longo deste captulo como surgiram e a principal vantagem que a anlise de
wavelet tem sobre a clssica anlise espectral de Fourier.
A principal vantagem da anlise de wavelet a possibilidade de fazer uma anlise local do sinal,
ou seja, focar em uma rea especfica de um sinal longo. Podemos citar como exemplo a anlise de
um sinal sinusoidal que possui uma pequena descontinuidade que a olho humano seria imperceptvel,
esta descontinuidade poderia acontecer no mundo real, como por exemplo em uma linha de tenso
onde poderia acontecer uma flutuao ou um rudo. Se expormos esse sinal a uma anlise de Fourier
teramos como resposta um espectro plano com dois picos representando uma frequncia simples,
mas se for feita uma anlise com wavelet poderamos perceber nitidamente o ponto onde existe a
descontinuidade, assim como mostrado na Figura 3.2.

Figura 3.2: Comparativo da anlise de Fourier e wavelet para o mesmo sinal sinusoidal com uma pequena
descontinuidade.

A anlise de wavelet tem a capacidade de revelar aspectos que para outras tcnicas de anlise passaria despercebido, aspectos como tendncias, pontos de colapso, descontinuidade e autosimilaridade. Alm disso, pelo fato dela proporcionar uma viso diferente dos dados apresentados

13

por diferentes tcnicas tradicionais, a anlise de wavelet pode frequentemente comprimir ou eliminar
rudos de sinais, sem inserir degradaes considerveis ao sinal.
Pode ser dito ento que Wavelet uma forma de onda de durao limitada e que tem um valor
mdio igual a zero. Comparando curva do seno, que a base da anlise de Fourier, sinais sinusoidais
no possuem durao limitada, eles se estendem de menos at mais infinito, e onde o sinal sinusoidal
suave e previsvel, wavelets tendem a ser irregulares e assimtricos. Na Figura 3.3, vemos uma
comparao entre uma onda senoidal e uma wavelet.

Figura 3.3: Grfico de onda senoidal comparado ao grfico de uma wavelet.

A anlise de Fourier consiste na separao do sinal em ondas de seno de frequncias variadas,


similarmente a anlise de wavelet a diviso do sinal em verses, deslocadas em tempo e em escalonamento, da wavelet original ou wavelet-me.
S de observar figuras de wavelets e ondas sinusoidais, pode ser visto intuitivamente que sinais
que possuem rpidas mudanas podem ser analisados melhor com uma wavelet irregular do que com
uma onda sinusoidal suave, da mesma forma que alguns tipos de comida so melhor manuseados
com um garfo do que com uma colher [25]. Na Figura 3.4, pode ser observada uma breve evoluo
nas analises de sinal.

3.1 Transformada Discreta de Wavelet


As transformadas discreta de wavelet (DWT) foram introduzidas no intuito de proporcionar uma
descrio mais eficiente. Elas no so transladadas nem escalonadas continuamente, mas sim em
intervalos discretos. Isto pode ser feito com uma pequena modificao na wavelet contnua, como
pode ser visto na Equao 3.7.
1
a.b (t) =
a

tb
a

1
m,n (t) = p m
|a0 |

t nb0 am
0
am
0

(3.7)

Onde m e n so inteiros, a0 > 1 um parmetro de dilatao fixo, b0 o fator de translao fixo


e b depende agora do fator de dilatao [8].
14

Figura 3.4: Evoluo da Anlise de Sinais.

A transformada de wavelet contnua calculada fazendo translaes e escalonamentos contnuos


de uma funo sobre um sinal, calculando uma correlao entre eles. Na prtica essa transformada
no seria muito til, pois iria requerer infinitas translaes e escalonamentos, demandando muito
tempo e recursos computacionais e, ainda assim, gerando muita redundncia [8].
Calcular os coeficientes de wavelet em vrias possibilidades de escala a parte mais fcil do
trabalho, e gera uma quantidade enorme de informao sobre o sinal. Verifica-se que se escolhermos
escalas e posies baseadas em potncias de dois, as chamadas didicas escalas e posies, ento
nossa anlise ser bem mais eficiente e precisa [25].
Um modo eficiente de implementar este esquema utilizando filtros desenvolvidos em 1988 por
Mallat. O algoritmo de Mallat um esquema clssico, conhecido na comunidade de processamento
de sinais codificador de sub-banda de dois canais. Este muito prtico algoritmo de filtragem nos
fornece uma rpida transforma da wavelet, um gerador onde inserido o sinal e na sada so apresentados os coeficientes de wavelet.

3.2 Famlias Wavelet


As wavelets so divididas em famlias e as mesmas possuem formas distintas. As famlias de wavelet mais conhecidas so, Haar, Daubechies, Biorthogonal, Coiflets, Symlets, Morlet, Mexican Hat
e Meyer [25]. Neste trabalho foram implementadas as transformadas discretas de Haar e Daubechies,
com o auxlio da wavelet toolbox do MatLab.

15

3.2.1 Wavelet Haar haar


Qualquer discusso sobre wavelet comea com a wavelet de Haar, a primeira e mais simples,
esta wavelet descontnua e se assemelha a uma funo degrau. Ela tambm representa a wavelet de
Daubechies db1, como podemos ver na Figura 3.5. Uma verso da construo de Haar est definida
na Equao 3.8.

2 , 1 < t 0;

(H) (t) =
1 , 0 < t 1
2

0, caso contrrio

(3.8)

Figura 3.5: Wavelet Haar.

Existem limitaes no uso da construo de Haar, pois, como as funes de base de Haar so
funes de passos descontnuos, no so muito adequadas para a anlise de funes estveis com
derivaes contnuas. Tendo em vista que imagens em geral apresentam regies estveis, a transformada wavelet de Haar no apresenta resultados satisfatrios em muitas aplicaes com imagens.

3.2.2 Wavelet Daubechies db


Ingrid Daubechies, uma das estrela mais brilhantes do mundo das pesquisas sobre wavelet, inventou o que pode ser chamado de forma compacta suportando wavelets ortonormais, assim tornando
possvel a anlise discreta de wavelet. Os nomes das famlias wavelet Daubechies so escritos como
dbN, onde o N a ordem e o db o sobrenome da wavelet. A wavelet db1, como mencionado anteriormente o mesmo que a wavelet Haar, na Figura 3.6 vemos os outros nove membros da famlia
Daubechies.

3.2.3 Wavelet Biorthogonal bior


Esta famlia de wavelets apresenta a propriedade de fase linear, que necessrio para o sinal e
reconstruo da imagem. Usando duas wavelets, uma para decomposio (do lado esquerdo) e uma
para reconstruo (do lado direito), ao invs de utilizar uma nica wavelet, como vemos na Figura 3.7.

16

Figura 3.6: Famlia Daubechies.

3.2.4 Wavelet Coiflets coif


Contruido por I. Daubechies a pedido de R. Coifman, a funo de onda tem 2N momentos iguais
a 0 e a funo de escala tem 2N-1 momentos iguais a 0. As duas funes tm um comprimento de
6N-1 (Figura 3.8).

3.2.5 Wavelet Symlets sym


As wavelets symlets so quase simtricas, propostas por Daubechies como modificao para a
famlia db. As propriedades das duas famlias so similares, na Figura 3.9 possvel ver as sete
funes symlets.

3.2.6 Wavelet Morlet morl


Esta wavelet no tem funo de escala, mas explcita, ela gerada pela Equao 3.9 e na
Figura 3.10 possvel ver o seu grfico.

(t) = ej0 t et

/2

(3.9)

3.2.7 Wavelet Mexican Hat mexh


Esta wavelet no tem nenhuma funo de escala e derivada a partir de uma funo que proporcional funo da segunda derivada da probabilidade Gaussiana densidade funo. Esta wavelet
pode ser gerada pela Equao 3.10 e o seu grfico pode ser visto na Figura 3.11.

(M hat)

2(t2 1)et

(t) =
1/4 3
17

/2

(3.10)

Figura 3.7: Famlia Biorthogonal.

Figura 3.8: Famlia Coiflets.

18

Figura 3.9: Famlia Symlets.

Figura 3.10: Wavelet Morlet.

Figura 3.11: Wavelet Mexican Hat.

19

3.2.8 Wavelet Meyer meyr


A wavelet Meyer e sua funo de escala so definidos no domnio da frequncia, como pode ser
visto na Figura 3.12. Esta wavelet tem por caracterstica ser suavemente "enquadrada" na frequncia,
de modo que o seu decaimento no tempo (t) possa ser mais rpido que qualquer potncia de t.

Figura 3.12: Wavelet Meyer.

3.3 Aplicaes
Muitas aplicaes utilizam a decomposio de wavelet como um todo, o uso mais comum de
wavelets para reduo de elementos desnecessrios em sinais, como por exemplo no processo de
eliminao de rudos e na compresso de sinais.
O processo mais famoso de compresso utilizando wavelets o utilizado pelo FBI para a compresso de impresses digitais, onde feita a compresso de um arquivo com mais de 30 milhes de
impresses digitais utilizando o JPEG-2000 [26].
A anlise de wavelet representa o prximo passo lgico, onde possvel analisar o sinal a partir de
janelas de tamanhos variveis, nesta anlise permitido o uso de um longo intervalo de tempo onde
precisamos de informaes de baixa frequncia, e pequenas regies onde precisamos de informaes
em alta frequncia. Vemos uma evoluo, desde a transformada no domnio do tempo de Shannon,
no domnio da frequncia de Fourier, da STFT de Gabor at chegarmos anlise de wavelet.
Uma analogia para se entender melhor o uso de wavelets, pode ser feita se tomarmos como
base as investigaes astronmicas com telescpio ou investigaes com microscpio. As lentes
atuam como as wavelets-me, e o cu como o sinal a ser analisado. Quando o telescpio no est
focado num determinado ponto, possvel visualizar o cu por completo, no sendo necessria a sua
movimentao. Porm desta forma no possvel enxergar detalhes de uma determinada estrela ou
planeta. Quando o telescpio focalizado (uma resoluo mais fina) para examinar um determinado
20

ponto do cu, ele deve ser posicionado (transladado) vrias vezes no intuito de investigar o cu inteiro.
A analogia que o cu (o sinal f ) representado por mltiplos cenrios (WT, wavelets) atravs de
uma lente ( me) em diferentes focos de resoluo (a, escala) e diferentes "direes" de observao
(b, translao). A cada escalonamento e translao (foco e posio), uma nova "vista" (coeficientes
wavelet) do cu pode ser observada. Ao final se for feita uma soma de todas essas "vises" possvel
reconstruir um cenrio "multirresoluo" de todo o cu [8].

3.4 Uso das Wavelets na Esteganografia


A caracterstica que as wavelets possuem de decompor o sinal em diferentes nveis proporciona
a possibilidade de inserir dados com formas de escalonamento distintas, de tal forma que o arquivo
contendo os dados no levantar nenhuma suspeita.
Ao realizar a decomposio de um sinal utilizando wavelet, o resultado apresentado sero aproximaes (Ai) e detalhes (Di), este processo iterativo e no segundo momento a aproximao gerada
no passo anterior novamente dividida em aproximao e detalhe. Na Figura 3.13, apresentado um
exemplo onde um sinal S decomposto em trs nveis, gerando trs aproximaes Ai e trs detalhes
Di.

Figura 3.13: rvore de Anlise Wavelet.

3.4.1 Filtro de um estgio


Para muitos sinais, a componente de baixa frequncia a parte mais importante, ela quem
fornece a identidade do sinal. A componente de alta frequncia confere as nuances do sinal, ou
seja, as particularidades. Consideremos a voz humana, sem a componente de alta frequncia, a voz
soar diferente, mas ainda ser possvel entender o que est sendo dito, todavia se for extrada a
componente de baixa frequncia, restar apenas sons inarticulados [25].
21

Na anlise de wavelet, muitas vezes falaremos em aproximao e detalhe. A aproximao so


as componentes de alta escala e baixa frequncia e os detalhes so as componente de baixa escala
e alta frequncia do sinal. O processo de filtragem, no seu modo mais simples, ocorre conforme a
Figura 3.14:

Figura 3.14: Amostra de um filtro de um estgio.

O sinal original submetido a dois filtros complementares, e resulta em dois sinais. Infelizmente,
se na realidade aplicarmos estes filtros em um sinal digital real, ns teremos o dobro de amostras que
tnhamos no incio do processo. Por exemplo, supondo que o sinal S tenha 500 amostras, a resultante
seria 500 amostras para cada filtro, totalizando 1000 amostras.
Estas amostras de aproximao e detalhe so interessantes, no entanto o trabalho ficaria bastante
complicado se tivssemos que trabalhar sempre com o dobro de amostras do sinal inicial. Existe
um modo mais sutil de realizar esta decomposio utilizando wavelet. Ao observar cuidadosamente
o clculo, ns pode-se manter apenas uma a cada duas amostras dos resultados de cada filtro para
obter a informao completa. Esta a noo de reduo de amostragem. Ento so produzidas duas
sequncias chamadas cA e cD, que so respectivamente um vetor de amostras e um de detalhes,
conforme pode ser visto na Figura 3.15.

Figura 3.15: Amostragem de sinal utilizando tcnica de downsampling.

O processo do lado direito inclui uma reduo de amostragem para produzir os coeficientes da
DWT.

22

3.4.2 Decomposio em Mltiplos Nveis


Como mencionado anteriormente, o processo de decomposio pode ser iterativo, com sucessivas
aproximaes sendo decompostas em sequncia, desta forma um sinal pode ser dividido em vrios
componentes. A isto dado o nome de rvore de decomposio wavelet.
Tendo em vista que o processo iterativo, na teoria ele poderia ser executado indefinidamente,
mas na realidade a decomposio s pode ser feita at que o detalhe seja igual ou maior que uma
amostra simples ou um pixel. Na prtica a quantidade adequada de nveis baseada na natureza do
sinal ou em um critrio especfico como a entropia [25].

3.4.3 Reconstruo da Wavelet


Foi apresentado at o presente momento como a transformada discreta de wavelet pode ser utilizada para analisar ou decompor sinais e imagens, a este processo dado o nome de decomposio
ou anlise, a outra parte desse processo saber como remontar essas partes novamente para o sinal
original sem perdas de informaes, a este processo dado o nome de reconstruo ou sntese.
A manipulao matemtica pela qual pode ser realizada a sntese chamada de transformada
discreta inversa de wavelet, para sintetizar o sinal no wavelet toolbox, a reconstituio feita a partir
dos coeficientes wavelet. Quando o processo de anlise envolve filtragem e reduo na amostragem,
a sntese envolver filtragens tambm e aumento na amostragem, este processo de aumento consiste
na insero de zeros entre as amostras.
3.4.3.1 Filtros de Reconstruo

A parte da filtragem no processo de reconstruo do sinal gera algumas discusses, pois a escolha desses filtros o ponto crucial para conseguir uma perfeita reconstruo do sinal original. A
reduo de amostragem dos componentes do sinal na fase de decomposio introduz uma distoro
chamada de aliasing. Acontece que a escolha dos filtros para as fases de decomposio e recomposio do sinal esto intimamente relacionados, embora no sejam idnticos, desta forma possvel
cancelar este efeito.
3.4.3.2 Reconstruindo Aproximaes e Detalhes

A reconstruo do sinal original baseada na combinao de aproximaes e detalhes, como


apresentado na Figura 3.16.

23

Figura 3.16: Composio do sinal original a partir dos coeficientes de Detalhes e Aproximaes.

Tambm possvel reconstruir o sinal com base nos vetores de coeficientes, como um exemplo,
reconstruir o primeiro nvel de aproximao A1 a partir do vetor de coeficientes cA1, como pode ser
visto na Figura 3.17.

Figura 3.17: Processo de recomposio do vetor de Detalhes.

Para isso deve ser exposto o vetor de coeficientes cA1 pelo mesmo processo de reconstruo do
sinal original s que antes de combin-lo com o primeiro nvel de detalhes cD1, o mesmo deve ser
alimentado com um vetor de zeros de mesmo comprimento, este processo resultar numa aproximao reconstruda A1, que tem o mesmo tamanho do sinal original S e que a real aproximao
dele. Similarmente o primeiro nvel dos detalhes D1 ser reconstrudo , usando um processo anlogo,
como pode ser visto na Figura 3.18.

Figura 3.18: Processo de recomposio do vetor de Aproximaes

24

As componentes reconstrudas de aproximao e detalhes, so as partes que compem o sinal original, de fato se for feita uma combinao das duas componentes ser encontrado o sinal S, conforme
apresentado na Equao 3.11.

A1 + D1 = S

(3.11)

Deve ser observado que, como os vetores de coeficiente cA1 e cD1 foram submetidos a uma
reduo de amostragem, eles no podem ser diretamente combinados para produzir o sinal original,
necessrio reconstruir essas componentes antes de combin-las. Estendendo essa tcnica para as
componentes de uma anlise multinvel, ser encontrada uma relao similar para todas as componentes reconstrudas do sinal. Desta forma pode-se ter vrias formas de remontar o sinal original.

3.4.4 Multiplas decomposies e reconstrues


Um processo de anlise e sintetizao em mltiplos nveis pode ser representado pela Figura 3.19.
Este processo envolve dois aspectos, a quebra do sinal para obter os coeficientes wavelet, e recomposio do sinal original a partir desses coeficientes.
Neste trabalho j foi discutido as formas de decomposio e recomposio do sinal , obviamente
ningum decomporia um sinal para logo em seguida recomp-lo, antes do processo de reconstruo
algumas coisas podem acontecer com os coeficientes de wavelet, existem vrias aplicaes para a
anlise de wavelet, as mais utilizadas so a extrao de rudos e a compresso de dados.
No entanto a anlise de wavelet ainda um novo e emergente campo, sem dvidas ainda existem
vrias aplicaes com os coeficientes de wavelet a serem descobertas ainda. O wavelet toolbox,
ferramenta ser utilizada neste trabalho, apresenta vrias formas de realizarmos a anlise de wavelet.

Figura 3.19: Processo de decomposio e recomposio em mltiplos nveis

25

CAPTULO

R ESULTADOS

A esteganografia e a criptografia podem se complementar, enquanto a criptografia torna uma


mensagem incompreensvel, a esteganografia a torna oculta [27]. O usurio poderia selecionar um
criptosistema conhecido, escolher uma chave de criptografia e em seguida aplicar a esteganografia
sobre os dados criptografados. O trabalho que desenvolvemos ainda no teve esse nvel de complexidade, mas possvel faz-lo. Existe um compromisso entre a quantidade de informao a ser inserida
e a degradao do sinal hspede. A quantidade de texto a ser escondida dentro do sinal de udio deve
ser escolhida de tal forma que no arquivo esteganografado no se consiga detectar a presena de informao oculta nem pelo homem nem pelo computador, mediante algum tipo de sistema estatstico.
Um estudo recente interessante, lista aproximadamente 32 diferentes ferramentas esteganogrficas
para udio [28].
Foi desenvolvida uma aplicao, utilizando a ferramenta MatLab, para ocultar informaes dentro de um arquivo de som. A inteno esconder a mensagem no arquivo de audio, no formato wav,
decompondo-o em nveis utilizando a transformada de wavelet, posteriormente a informao introduzida em casas decimais de uma matriz gerada. Nesta decomposio sero geradas duas matrizes,
uma contendo as informaes da decomposio, de ordem n x 1, e a outra contendo o comprimento
de decomposio de cada nvel.

4.1 Insero de Dados


Para possibilitar a insero dos dados, os caracteres da mensagem a ser escondida so previamente transformados em cdigo ASCII, e a insero ocorre nas trs primeiras casas decimais da

26

matriz resultante da decomposio wavelet, onde os trs bits mais significativos so permutados
pelos dados que se deseja inserir. Buscando evitar uma modificao facilmente detectvel, foram
impostas restries ao programa, que s aceita codificar mensagens mil vezes menor que o arquivo
de udio original, caso a mensagem extrapole esse limite uma mensagem ser apresentada ao usurio
solicitando a utilizao de um arquivo de udio maior.

Para que ocorra a decomposio do sinal so necessrios trs fatores:


A matriz do arquivo de udio no qual se deseja inserir a mensagem;
A quantidade de nveis em que o sinal ser decomposto;
O tipo de wavelet empregada na decomposio deste sinal.
Para que a informao fique melhor espalhada dentro de cada nvel do arquivo de udio, foram
empregadas chaves alfanumricas, com comprimentos proporcionais quantidade de informao
inserida em cada nvel. A senha transformada em cdigo binrio e posiciona cada elemento em
locais onde se encontra 1. Para que seja inserida a informao necessrio informar onde se inicia
essa insero, especificando a posio inicial, essa posio ser limitada pelo comprimento de cada
nvel. Aps esse processo o arquivo de udio remontado j com os dados inseridos.

4.1.1 Processo para insero de dados


O processo de ocultao de dados seguir a seguinte sequncia:
1. Leitura do arquivo de som;
2. Leitura da mensagem a ser encoberta;
3. Escolha da wavelet;
4. Decomposio do som em nveis;
5. Diviso do texto para alocao nos nveis do udio;
6. Determinao da senha para ocultao;
7. Determinao do ponto inicial para ocultao do texto;
8. Permuta dos dados da mensagem pelos bits mais significativos dos nveis e posies escolhidas;
9. Reconstruo do udio e gravao j com os dados ocultos.

27

Figura 4.1: Converso da mensagem alfanumrica em cdigo ASCII

Figura 4.2: Subdiviso da mensagem em nveis para dificultar a percepo

Para possibilitar a insero dos dados no audio a mensagem convertida em cdigo ASCII como
podemos ver na figura 4.1.
Para dificultar a percepo dos dados inseridos a mensagem dividida e inserida em vrios nveis
como podemos ver na figura 4.2.
Para melhorar a distribuio da mensagem dentro de cada nvel, empregada uma senha alfanumrica, que tambm transformada em cdigo ASCII e posteriormente em binrio, como podemos
ver na figura 4.3. Esta senha precisa ser proporcional ao tamanho do bloco de texto inserido em
cada nvel, j que cada 1 representa uma posio dentro da matriz de decomposio para armazenar
o dado.

Figura 4.3: Processo de transformao da senha em uma sequncia binria

28

Figura 4.4: Insero de dados na matriz de decomposio via wavelet

Na figura 4.4 vemos um esboo do processo de insero de dados no nvel 2, o mesmo processo
se repete para os outros nveis, de acordo com os dados fornecidos pelo usurio. Como dito anteriormente a insero dos dados feita por substituio, ou seja, as trs primeiras casas decimais so
trocadas pela mensagem.
Para concluir o processo o som reconstrudo contendo a mensagem escondida, a figura 4.5
apresenta, de forma geral, a insero de dados no primeiro nvel escolhido pelo usurio num arquivo
de udio, o processo para os nveis seguintes similar ao primeiro.

4.2 Recuperao de Dados


No processo reverso, na recuperao dos dados, necessrio o conhecimento de um conjunto de
informaes utilizadas no momento da esteganografia, sem as quais fica impossvel a recuperao
dos dados, so elas:
Tipo de Wavelet;
Tamanho total da mensagem;
Quantidade de nveis utilizados da decomposio;
Nveis onde existe informao inserida;
Tamanho do texto inserido em cada bloco;
Senha de cada nvel;
29

Figura 4.5: Ocultao de uma mensagem num arquivo de udio mediante a transformada de wavelet

Local de insero de cada nvel.


Com base nessas informaes feita uma busca nos pontos indicados e a mensagem remontada,
na maioria das vezes idntica a forma como foi esteganografada.

4.2.1 Processo de recuperao de dados


Para recuperar a mensagem necessrio seguir a seguinte sequncia:
1. Leitura do arquivo de udio com a mensagem oculta;
2. Ingresso de Parmetros:
Tipo de wavelet empregada na codificao;
Tamanho da mensagem;
Quantidade de nveis utilizados para ocultar a mensagem;
Nveis utilizados;
Tamanho do texto inserido em cada nvel;
Senha empregada para cada nvel;
Lugar de insero do fragmento da mensagem;
3. Decomposio do som usando a wavelet selecionada;
4. Filtrar o texto nos nveis especificados;

30

Figura 4.6: Decodificao de dados ocultos em um arquivo de udio mediante a tcnica de wavelet.

5. Recuperar a mensagem.
A figura 4.6 apresenta um esboo do processo de recuperao dos dados ocultos no arquivo de udio.

4.3 Anlise Estatstica


Com a inteno de verificar as modificaes inseridas no arquivo final foram feitas comparaes
entre o arquivo original e o arquivo esteganografado, este procedimento consiste em analisar cada
linha da matriz gerada da leitura do udio original com a sua linha correspondente na matriz do udio
esteganografado. Desta forma podemos verificar o quanto mudou um arquivo em relao ao outro,
obtendo uma estimativa em valores percentuais.

4.4 Implementao
Para viabilizar a execuo desta pesquisa, foram implementados algoritmos no software MatLab,
para realizar a insero da mensagem no arquivo de udio, para extrair a mensagem do arquivo de
udio e para realizar a anlise estatstica para verificar o quo diferente ficou o arquivo final do
arquivo original. Estes algortmos esto disponibilizados nos apndices deste trabalho.
Ao executar o algoritmo para insero de dados, algumas informaes so solicitadas ao usurio,
como, arquivo que servir como hospedeiro, mensagem a ser ocultada, tipo de wavelet a ser utilizada,
e por fim o usurio determinar tamanho da mensagem a ser ocultado em cada nvel, a sua posio
dentro do nvel e a senha para distribuio do fragmento da mensagem. No caso especfico deste
trabalho foram utilizadas as seguintes informaes:
31

Arquivo de udio: yhoomail.wav [29];


Mensagem a Esconder: Nieremberg Jos Pereira de Lyra Ramos (37 caracteres);
Tipo de Wavelet: db2;
Nveis em que foi inserida a mensagem: 2, 4, 6 e 8;
Tamanhos dos fragmentos: 10, 9, 9 e 9 (respectivamente);
Posio dentro do nvel: 1, 2, 3 e 4 (respectivamente);
Senha para cada nvel: primeiro, segundo, terceiro e quarto (respectivamente).
Ao final da insero dos dados foi nomeado um arquivo como yhoomail dados.wav, na figura 4.7(a)
vemos a representao grfica do arquivo original e na figura 4.7(b) vemos o arquivo j com os dados
inseridos. A diferena entre ambos muito pequena, de modo que no possvel detect-la nem
auditivamente e nem visualmente.
Arquivo yhoomail__dados.wav
1

0.8

0.8

0.6

0.6

0.4

0.4

0.2

0.2

Amplitude

Amplitude

Arquivo yhoomail.wav
1

0
0.2

0
0.2

0.4

0.4

0.6

0.6

0.8

0.8

0.5

1.5

2
2.5
Tempo(s)

3.5

4.5
4

x 10

(a) Arquivo Original

0.5

1.5

2
2.5
Tempo(s)

3.5

4.5
4

x 10

(b) Arquivo com dados ocultos

Figura 4.7: Comparao entre o udio original e o udio aps receber a mensagem atravs do processo de
esteganografia

Ao submeter os arquivos de udio ao algoritmo de Anlise Estatstica, pode ser percebido que
a mudana entre o arquivo final e o arquivo original foi de apenas 9.419419%, o que representa
uma mudana insignificativa e no compromete a segurana da mensagem. Ao realizar o processo
inverso para recuperar os dados inseridos no udio, executando o algoritmo para recuperao dos
dados, so solicitadas informaes utilizadas para esconder a mensagem, como o tipo da wavelet
utilizada, o comprimento total da mensagem, quantos e quais nveis foram utilizados, as senhas dos
nveis e a posio onde o fragmento de texto foi inserido. Aps inserir todos os parmetros obtm-se
a mensagem que estava oculta no arquivo de udio, como pode ser visto na figura 4.8.
32

Figura 4.8: Janela de comando do MatLab apresentando o resultado da execuo do algoritmo de recuperao
de dados

Como pode ser observado no resultado da mensagem, ela no est completamente igual a mensagem que foi inserida inicialmente, pois existe uma exclamao onde deveria existir um espao.
Para solucionar isso vrios fatores precisam ser levados em considerao, como por exemplo seria
necessrio uma melhor distribuio da mensagem ao longo texto, tendo cuidado para no aumentar
a diferena entre o audio original e o final, uma melhor escolha da wavelet, ou at mesmo um arquivo de udio maior para que a mensagem possa ser melhor distribuida sem gerar suspeitas da sua
presena.

33

CAPTULO

C ONCLUSO

Pode ser percebido ao longo deste trabalho que a esteganografia uma importante ferramenta
para a segurana das informaes, e quando a mesma combinada s transformadas de wavelet ela
passa a ter uma robustez maior pois a transformada de wavelet proporciona a diviso da mensagem
dentro de vrios nveis e cada fragmento ter um escalonamento diferente, o que dificulta ainda mais
a percepo da presena de uma mensagem.
Diferentemente de outras tcnicas empregadas na esteganografia digital, a transformada do domnio se destaca pelo fato de no fazer uso apenas da parte menos significativa, como o caso da tcnica
de Bit menos significativo (LSB - Less Significant Bit) tcnica muito implementada na esteganografia em imagens digitais, pois desta forma a informao resistir por mais tempo a manipulaes do
arquivo hospedeiro, sem ser degradada.
Duas propriedades importantes da esteganografia foram satisfeitas com as aplicaes desenvolvidas nesse trabalho: Robustez e Imperceptividade. Pode-se dizer que a aplicao robusta pelo fato
da mesma poder resgatar a mensagem ocultada de forma quase inalterada, e por causa da restrio
imposta no algoritmo (texto ser mil vezes menor que udio) o arquivo final no revela a presena da
mensagem. Chega-se a concluso que os resultados foram satisfatrios, pois a aplicao atende s
espectativas e a partir dela pode ser gerado um sistema para ocultao de informaes e at mesmo
para direitos autorais. Cabe ressaltar que este esquema se tornou vivel devido s propriedades que
apresentam as wavelets na anlise de sinais.
Como sugesto para trabalhos futuros poderia ser aprimorada a aplicao, de modo que a mesma
pudesse realizar compresses na mensagem para possibilitar o transporte de mensagens maiores,
mesmo em arquivos de udio menores, associao da esteganografia com a criptografia, conferindo

34

assim uma segurana maior a informao transportada. Tambm poderia ser desenvolvida uma aplicao que pudesse ajustar o udio ao tamanho da mensagem, de forma que a restrio na relao
entre o tamanho da mensagem e o tamanho da udio fosse desprezada, sem prejuzo da imperceptividade. O prximo passo para o transporte de mensagens de forma oculta seria a esteganografia em
vdeos digitais, onde alm do som como arquivo hospedeiro, pode ser utilizada a imagem (dividida
em quadros) para realizar esteganografia em imagens tambm, proporcionando uma capacidade de
transporte muito superior esteganografia em udio.

35

APNDICE

A LGORITMO

PARA I NSERO DE

DADOS

%%%%%%%%%%%%%%%%% INCIO DO ALGORITMO DE INSERO DE DADOS %%%%%%%%%%%%%%%%%

clear all

clc

4
5

% Carregando som

format long

prompt1 = {Digite o nome do arquivo de audio a ser inserido dados:};

dlg_title1 = LEITURA DO ARQUIVO DE AUDIO;

num_lines = [1];

10

entrada1 = inputdlg(prompt1,dlg_title1,num_lines);

11

Nome = cell2mat(entrada1);

12

[A,Fs,bits] = wavread(Nome);

13
14

% Texto em cdigo ascii

15

prompt = {Digite o texto a esconder:};

16

dlg_title = ROTINA PARA ESTENOGRAFIA;

17

num_lines = [1];

18

entrada = inputdlg(prompt,dlg_title,num_lines);

19

S = cell2mat(entrada);

20

save arquivo S -ascii;

21

load arquivo S -ascii;

22
23

% Ingressando o tipo de wavelet

24

prompt = {Ingresse o tipo de Wavelet:};

25

dlg_title = Nome da Wavelet;

26

num_lines = [1];

27

ingresso = inputdlg(prompt,dlg_title,num_lines);

36

28

w = lower(cell2mat(ingresso));

29

Permitidas = {haar,db1,db2,db3,db4,db5,db6, db7,db8,

30

db9,db10,sym2,sym3,sym4, sym5,sym6,sym7,

31

sym8,coif1,coif2,coif3,coif4,coif5,bior1.1,

32

bior1.3,bior1.5,bior2.2,bior2.4,bior2.6,bior2.8,

33

bior3.1,bior3.3,bior3.5,bior3.7,bior3.9,bior4.4,

34

bior5.5,bior6.8,rbio1.1,rbio1.3,rbio1.5,rbio2.2,

35

rbio2.4,rbio2.6,rbio2.8,rbio3.1,rbio3.3, rbio3.5,

36

rbio3.7, rbio3.9,rbio4.4,rbio5.5,rbio6.8,dmey};

37
38

if strcmp(w,Permitidas) == 0
errordlg(Essa wavelet no est cadastrada!), break

39
40

else

41
42
43

% Decomposio do som
[C,L] = wavedec(A,12,w);

44
45
46

% Condio do texto e som


if numel(C) <= numel(arquivo)*1000 %fator de 1000
errordlg(Diminua o texto ou troque por um arquivo de udio maior),break

47
48

else

49
50

% Diviso da matriz C

51

for k0 = 1:13
C1{k0} = C(sum(L(1:(k0-1)))+1:sum(L(1:k0)));

52
53

end

54
55

% Inverso da matriz C

56

C11 = C1(13:-1:1);

57

acumulado = 0;

58
59

% Insero do texto nos diferentes nveis

60

valor_inserir = floor(L/7);

61

niveis_inserir = find(valor_inserir);

62

element_niveis_inserir = numel(niveis_inserir)-1;

63

niveis = valor_inserir(niveis_inserir);

64

button = questdlg(sprintf(A insero de dados pode ser realizada em %u

65

nveis. Deseja continuar?,element_niveis_inserir),Nveis Disponveis,

66

Sim,No,default);

67

if button == Sim

68
69

for k = 1:element_niveis_inserir
if acumulado < numel(arquivo)

70

dlg_title = (sprintf(%u o tamanho do texto. Divida o texto,

71

numel(arquivo)-acumulado));

72
73

if valor_inserir(14-k) > numel(arquivo)-acumulado


prompt = (sprintf(Ingresse o tamanho do texto no nvel %u,k));

37

else

74
75

prompt = (sprintf(Ingresse o tamanho do texto no nvel %u,

76

no mximo %u caracteres:,k,valor_inserir(14-k)));
end

77
78

num_lines = [1];

79

ingresso(k) = inputdlg(prompt,dlg_title,num_lines);

80

acumulado = acumulado + str2num(cell2mat(ingresso(k)));

81

if ((str2num(cell2mat(ingresso(k))) < 0) || (str2num(cell2mat

82

(ingresso(k)))>valor_inserir(14-k)))

83

errordlg(sprintf(O nmero ingressado esta fora do limite,


menor que 0 o maior que %u,valor_inserir(14- k))),break

84

else

85

num(k) = str2num(cell2mat(ingresso(k)));

86

end

87

end

88
89

end

90

soma = sum(num);

91

if soma <= 0
errordlg(No foram digitados dados em nenhum nvel),break

92

elseif soma > numel(arquivo)

93

errordlg(Excedeu o tamanho do texto),break

94
95

end

96

ingre = find(num);

97

lugar = niveis(element_niveis_inserir:-1:1);

98

L11 = L(niveis_inserir); L1 = L11(element_niveis_inserir:-1:1);


lu = {}; C2 = {};

99
100

end

101
102
103

% Senha e lugar de insero do texto


for k1 = 1:numel(ingre)

104

s{k1} = input(sprintf(Ingresse a senha %u:,k1),s);

105

senha{k1} = (char(s(k1)));

106
107

% Condio da senha

108

se_bi{k1} = de2bi(double(cell2mat(s(k1))));

109

se1_bi{k1} = reshape(se_bi{k1},1,numel(se_bi{k1}));

110

u{k1} = sum(se1_bi{k1}); se_m = cell2mat(u);

111

ingre1 = num(ingre);

112

if se_m(k1) < ingre1(k1)


errordlg(sprintf(A senha %u precisa ter mais caracteres,k1)),break

113
114
115

else
% Matriz senha

116

senha_l{k1} = find(cell2mat(se1_bi(k1))==1);

117

senha_lu(k1) = senha_l{k1}(ingre1(k1));

118

senha_F{k1} = se1_bi{k1}(1:senha_lu(k1));

119

38

120

% Lugar de insero do texto

121

posi(k1) = L1(ingre(k1))- (numel(senha_F{k1}));

122

lug(k1) = input(sprintf(Ingresse o lugar de insero do texto %u [1-%u]:,

123

k1,posi(k1)));

124

disp( );

125
126

% Condio de lugar de insero do texto


if (lug(k1) <= 0) || (lug(k1) > posi(k1))

127

errordlg(sprintf(Eleja um lugar entre 1 e %u,posi(k1))), break

128

else

129
130

C2(k1) = C11(ingre(k1));

131

mi{k1} = [zeros(1,lug(k1)-1),senha_F{k1}, zeros(1,numel(C2{k1})


-(lug(k1)-1)-numel(senha_F{k1}))];

132

end

133
134
135

% Diviso do arquivo de dados

136

ingre2{k1} = arquivo(sum(ingre1(1:(k1-1)))+1:sum(ingre1(1:k1)));

137

end

138
139

% Insero de Dados

140

p{k1} = find((mi{k1})==1);

141

arq1{k1} = (ingre2{k1})*10^-3;

142

c{k1} = C2{k1};

143

c1{k1} = c{k1}(p{k1});

144

c2{k1} = find((c1{k1})<0);

145

c3{k1} = (c1{k1}(c2{k1}))*-1;

146

c4{k1} = c1{k1};

147

c4{k1}(c2{k1}) = c3{k1};

148

c5{k1} = (floor((c4{k1})*10^3))*10^-3;

149

dados1{k1} = (c4{k1} - c5{k1}) + arq1{k1};

150

sig{k1} = (dados1{k1}(c2{k1}))*-1;

151

dados2{k1} = dados1{k1};

152

dados2{k1}(c2{k1}) = sig{k1};

153

C3{k1} = C2{k1}; C3{k1}(p{k1}) = dados2{k1};

154

end

155

C4 = C11;

156

for k2 = 1:numel(ingre)
C4{ingre(k2)} = C3{k2};

157
158

end

159

C5 = C4(13:-1:1);

160

end

161

end

162
163

% Recuperao do som

164

C6 = cell2mat(C5(:));

165

A1 = waverec(C6,L,w);

39

166
167

% Salvando som

168

prompt2 = {Digite o nome do arquivo a salvar:};

169

dlg_title2 = SALVANDO O ARQUIVO DE AUDIO:;

170

entrada2 = inputdlg(prompt2,dlg_title2,num_lines);

171

N = cell2mat(entrada2);

172

wavwrite(A1,Fs,N);

173
174

sound(A1,Fs,bits);
%%%%%%%%%%%%%%%%%% FINAL DO ALGORITMO DE INSERO DE DADOS %%%%%%%%%%%%%%%%%

40

APNDICE

A LGORITMO

PARA

R ECUPERAO

DE

DADOS

%%%%%%%%%%%%%%%% INCIO DO ALGORITMO DE RECUPERAO DE DADOS %%%%%%%%%%%%%%%%

clear all

clc

4
5

% Carregando o som

format long

prompt = {Digite o nome do arquivo de audio para recuperar a mensagem:};

dlg_title = LEITURA DO ARQUIVO DE AUDIO COM MENSAGEM;

num_lines = [1];

10

entrada = inputdlg(prompt,dlg_title,num_lines);

11

Nome = cell2mat(entrada);

12

A1 = wavread(Nome);

13
14

% Decomposio do som e obteno da senha

15

w = input(Ingresse o tipo de wavelet:,s);

16

disp( );

17

N = input(Ingresse o tamanho da mensagem:);

18

disp( );

19

n = input(Em quantos nveis ingresso dados:);

20

disp( );

21

for k = 1:n

22

ni(k) = input(sprintf(Ingresse o nvel em que ingresso o texto %u:,k));

23

t(k) = input(sprintf(Ingresse o tamanho do texto %u:,k));

24

s{k} = input(sprintf(Ingresse a senha %u:,k),s);

25

lu(k) = input(sprintf(Ingresse o lugar de insero do texto %u:,k));

26

disp( );

27

end

41

28
29
30

% Decompondo o som
[C,L] = wavedec(A1,12,w);

31
32
33

% Diviso em nveis
for k1 = 1:13
C1{k1} = C(sum(L(1:(k1-1)))+1:sum(L(1:k1)));

34
35

end

36

C2 = C1(13:-1:1);

37

C3 = C2(ni);

38

% Lugar e Criao da matriz senha

39

senha2 = {};

40

si = {};

41

for k2 = 1:n

42

senha{k2} = (char(s(k2)));

43

se_bi{k2} = de2bi(double(cell2mat(senha(k2))));

44

se1_bi{k2} = reshape(se_bi{k2},1,numel(se_bi{k2}));

45

b{k2} = find(se1_bi{k2} == 1);

46

senha1{k2} = b{k2}(1:t(k2));

47

ultimo{k2} = senha1{k2}(end);

48

ultimo1 = cell2mat(ultimo);

49

senha2{k2} = se1_bi{k2}(1:ultimo1(k2));

50

si{k2} = [zeros(1,lu(k2)-1),senha2{k2},zeros(1,numel(C3{k2})-(lu(k2)
-1)-numel(senha2{k2}))];

51
52

end

53
54

% Filtrao de dados

55

C4 = cell2mat(C3(:));

56

si1 = cell2mat(si(1:end));

57
58

p = C4.*si1;
q = abs(p);

59

indices = find(q);

60

p1 = q(indices);

61
62
63
64
65
66

% Recuperao da mensagem
recu = p1*10^3;
recu1 = floor(recu);
mensagem = char(recu1)
%%%%%%%%%%%%%%%%% FINAL DO ALGORITMO DE RECUPERAO DE DADOS %%%%%%%%%%%%%%%%

42

APNDICE

A LGORITMO

DE

A NLISE E STATSTICA

%%%%%%%%%%%%%%%% INCIO DO ALGORITMO DE ANLISE ESTATSTICA %%%%%%%%%%%%%%%%

clear all

close all

4
5

%Carregando Som

format long

7
8

prompt = {Digite o nome do arquivo do Som original:};

dlg_title = ANLISE ESTATSTICA DO SOM;

10

num_lines = [1];

11

entrada = inputdlg(prompt,dlg_title,num_lines);

12

prompt1 = {Digite o nome do arquivo de Som com dados:};

13

entrada1 = inputdlg(prompt1,dlg_title,num_lines);

14
15

A1 = wavread(entrada{1});

16

A2 = wavread(entrada1{1});

17
18

%Comparando Sons

19

compara = (A1(1:end) == A2(1:end));

20

diferente = find(compara == 0);

21

format short

22

porcentagem = (numel(diferente)/numel(compara))*100;
sprintf(O som mudou %u porcento do Som Original,porcentagem)

23
24

%%%%%%%%%%%%%%%%% FINAL DO ALGORITMO DE ANLISE ESTATSTICA %%%%%%%%%%%%%%%%

43

B IBLIOGRAFIA
[1] G. Cotrim, Histria Global - Brasil e Geral Ed. Saraiva, So Paulo, 1999.
[2] G. Kipper, Investigators Guide to Steganography. Auerbach Publications. LEAL, S. Certinews- Criptografia Quntica, 2004.
[3] S. SINGH, O Livro dos Cdigos - A Cincia do Sigilo: do Antigo Egito Criptografia Quntica. Ed.
Record, Rio de Janeiro, 2001.
[4] J. G. R. Jnior e E. S. Amorim Esteganografia: integridade, confidencialidade e autenticidade. So Bernardo do Campo: FTT, 2008.
[5] M. PETRI, Esteganografia. Instituto Superior Tupy, Joinville, 2004.
[6] R. CHANDRAMOULI, A Mathematical Approach to Steganalysis. SPIE Security and Watermarking of
Multimedia Contents IV, Califrnia, 2002.
[7] P. WAYNER, Disappearing Cryptography: Information Hiding: Steganography & Watermarking. 2nd.
ed. Morgan Kaufmann, San Francisco, California, 2002.
[8] H. M. OLIVEIRA, Anlise de sinais para engenheiros: Uma abordagem via wavelets, Rio de Janeiro:
Brasport, 2007.
[9] A. FOURNIER, Wavelets and their Applications in Computer Graphics, Ed. Siggraph, Course Notes,
1995.
[10] J. GOMES, L. VELHO e S. GOLDENSTEIN, Wavelets: Teoria, Software e Aplicaes, Rio de Janeiro,
IMPA, 1987.
[11] G. GASQUET, P. WITOMSKI, Analyse de Fourier et Applications, Paris: Dunod, 2000.
[12] I. DAUBECHIES, The Wavelet Transform, Time-Frequency Localization of a Signal and Analysis, IEEE
Trans. Info. Theory, 1990, Vol IT 36, Sept., pp.961-1005.
[13] A. COHEN, I. DAUBECHIES, J.-C. FEAUVEAU, Biorthogonal Bases of Compactly supported wavelets,
Commun. on Pure and Appl. Math., 1992, Vol.45, pp.485-560.
[14] D. GABOR, Communication Theory, Past, Present and Prospective, IEEE Trans. Info. Theory, 1953, vol.
IT-1, pp.2-4, February.
[15] D. GABOR, Communication Theory and Physics, IEEE Trans. Info. Theory, 1953, vol. IT-1, pp.48-59,
February.

44

[16] S. MALLAT, Une Exploration des Signaux en Ondelettes, Les Editions de Icole Polytechnique, Palaiseau, 2000.
[17] P. J. BURT e E. H. ADELSON, The Laplacian Pyramid as a Compact Image Code, IEEE Trans. on
Comm., 1983, vol. 31, April, pp.532-540.
[18] O. RIOUL, M. VETTERLI, Wavelets and Signal Processing, IEEE Signal Proc. Mag., Oct., 1991, pp.1437.
[19] A. BRUCE, D. DONOHO, M-Y. GAO, Wavelet Analysis, IEEE Spectrum, October, 1996, pp.26-35.
[20] B. TORRSANI, An Overview of Wavelet Analysis and Time-Frequency Analysis, Proc. of the Int.
Workshop in Self-similar Systems, July-August, Dubna, Russia, JINR, E5-99-38, Dubna 1999.
[21] S. E. KELLY, Gibbs Phenomenon for wavelets, Applied and Computational Harmonic Analysis, 1996,
vol. 3, pp.72-81.
[22] H.-T. SHIM, H. VOLKMER, On the Gibbs Phenomenon for wavelet Expansions, Journal of Approximation Theory, 1996, vol.84, pp.74-95.
[23] H. M. OLIVEIRA, R. D. LINS, Taylor Series as Wide-sense Biorthogonal Wavelet Decomposition, XXII
Simpsio Brasileiro de Telecomunicaes, 2005, SBrT05, Campinas, SP, Setembro.
[24] B.B. HUBBARD, Ondes et ondelettes: La saga dun outil mathmatique, Pour la Science, 1995.
[25] M. MISITI, Y. MISITI, G. OPPENHEIM, J. POGGI, Wavelet Toolbox Users Guide, The Mathworks,
Inc, 2002.
[26] M. W. MARCELLIN, M. J. GORMISH, A. BILGIN, M. P. BOLIEK, "An Overview of JPEG-2000",
Proceedings of 2000 Data Compression Conference, Snowbird, March, 2000.
[27] N.F. JOHNSON; S. JAJODIA, Exploring steganography: Seeing the unseen, IEEE Computer 31(2), 1998.
[28] R. ANDERSON, Information Hiding, Lecture Notes in Computer Science, Springer-Verlag, 1996.
[29] http://www.eventsounds.com/wav/yhoomail.wav, acessado em 07 de outubro de 2012.

45

Você também pode gostar