Escolar Documentos
Profissional Documentos
Cultura Documentos
C URSO
DE
DE
E DUCAO , C INCIA
T ECNOLOGIA
EM
S ISTEMAS
T ECNOLOGIA
DE
DA
PARAIBA - IFPB
T ELECOMUNICAES
E STEGANOGRAFIA
UTILIZANDO
T RANSFORMADA
WAVELET
J OO P ESSOA , N OVEMBRO
DE
2012.
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.
I NSTITUTO F EDERAL
C URSO
DE
DE
E DUCAO , C INCIA
T ECNOLOGIA
EM
S ISTEMAS
T ECNOLOGIA
DE
DA
PARABA
T ELECOMUNICAES
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:
II
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
IV
DE
LYRA R AMOS
Novembro/2012
november/2012
VI
S UMRIO
I NTRODUO
E STEGANOGRAFIA
2.7 Esteganlise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wavelet
10
14
15
16
16
16
17
17
17
17
VII
20
3.3 Aplicaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
21
21
23
23
3.4.3.1
Filtros de Reconstruo . . . . . . . . . . . . . . . . . . . . . . .
23
3.4.3.2
23
25
R ESULTADOS
26
26
27
29
30
31
4.4 Implementao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
C ONCLUSO
34
Apndice A A LGORITMO
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
11
3.2
Comparativo da anlise de Fourier e wavelet para o mesmo sinal sinusoidal com uma
pequena descontinuidade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.3
14
3.4
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
19
19
20
21
22
22
24
24
24
25
4.1
28
4.2
28
IX
4.3
28
4.4
29
4.5
4.6
4.7
4.8
32
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.
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.
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.
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.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)
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.
tb
a
1
m,n (t) = p m
|a0 |
t nb0 am
0
am
0
(3.7)
15
2 , 1 < t 0;
(H) (t) =
1 , 0 < t 1
2
0, caso contrrio
(3.8)
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.
16
(t) = ej0 t et
/2
(3.9)
(M hat)
2(t2 1)et
(t) =
1/4 3
17
/2
(3.10)
18
19
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].
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.
O processo do lado direito inclui uma reduo de amostragem para produzir os coeficientes da
DWT.
22
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
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.
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.
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.
25
CAPTULO
R ESULTADOS
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.
27
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.
28
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.
Figura 4.5: Ocultao de uma mensagem num arquivo de udio mediante a transformada de wavelet
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.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
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
0.5
1.5
2
2.5
Tempo(s)
3.5
4.5
4
x 10
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
clear all
clc
4
5
% Carregando som
format long
num_lines = [1];
10
entrada1 = inputdlg(prompt1,dlg_title1,num_lines);
11
Nome = cell2mat(entrada1);
12
[A,Fs,bits] = wavread(Nome);
13
14
15
16
17
num_lines = [1];
18
entrada = inputdlg(prompt,dlg_title,num_lines);
19
S = cell2mat(entrada);
20
21
22
23
24
25
26
num_lines = [1];
27
ingresso = inputdlg(prompt,dlg_title,num_lines);
36
28
w = lower(cell2mat(ingresso));
29
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
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
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
65
66
Sim,No,default);
67
if button == Sim
68
69
for k = 1:element_niveis_inserir
if acumulado < numel(arquivo)
70
71
numel(arquivo)-acumulado));
72
73
37
else
74
75
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
81
82
(ingresso(k)))>valor_inserir(14-k)))
83
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
93
94
95
end
96
ingre = find(num);
97
lugar = niveis(element_niveis_inserir:-1:1);
98
99
100
end
101
102
103
104
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
111
ingre1 = num(ingre);
112
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
121
122
123
k1,posi(k1)));
124
disp( );
125
126
127
128
else
129
130
C2(k1) = C11(ingre(k1));
131
132
end
133
134
135
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
150
sig{k1} = (dados1{k1}(c2{k1}))*-1;
151
dados2{k1} = dados1{k1};
152
dados2{k1}(c2{k1}) = sig{k1};
153
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
169
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
clear all
clc
4
5
% Carregando o som
format long
num_lines = [1];
10
entrada = inputdlg(prompt,dlg_title,num_lines);
11
Nome = cell2mat(entrada);
12
A1 = wavread(Nome);
13
14
15
16
disp( );
17
18
disp( );
19
20
disp( );
21
for k = 1:n
22
23
24
25
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
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
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
clear all
close all
4
5
%Carregando Som
format long
7
8
10
num_lines = [1];
11
entrada = inputdlg(prompt,dlg_title,num_lines);
12
13
entrada1 = inputdlg(prompt1,dlg_title,num_lines);
14
15
A1 = wavread(entrada{1});
16
A2 = wavread(entrada1{1});
17
18
%Comparando Sons
19
20
21
format short
22
porcentagem = (numel(diferente)/numel(compara))*100;
sprintf(O som mudou %u porcento do Som Original,porcentagem)
23
24
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