2.5. Simetrik ve Asimetrik Şifreleme Algoritmaları
2.5.2. AES şifreleme algoritması
Como descrito anteriormente, na fase de treinamento da rede os compassos musicais devem pertencer a um mesmo estilo musical. Neste trabalho o conjunto de treinamento é formado por músicas brasileiras folclóricas e tradicionais. Esse estilo musical está mais detalhado na sessão 5.3.1, pois será utilizado nas próximas sessões.
Além dos conhecimentos necessários sobre música, os compositores geralmente consideram uma inspiração na composição de uma nova melodia. Esse trabalho propõe complementar o processo de composição com a adição de atributos externos, referenciada como inspiração da rede. Essa inspiração é representada pelos contornos de relevos naturais e tem por objetivo simular um processo de composição mais realístico e aprimorar a capacidade da rede na fase de aplicação. Portanto, a sessão 5.3.2 descreve como essa inspiração foi obtida e sua influência nas fases de treinamento e aplicação.
5.3.1 – Musicas brasileiras folclóricas e tradicionais
O folclore faz parte da cultura popular e é caracterizado pelo conjunto de mitos, crenças, tradições, festas populares, costumes que são passados de
geração em geração. A palavra folclore é composta por duas palavras provenientes do inglês: folk que significa povo e lore que significa conhecimento. Portanto, diz-se que o folclore expressa a sabedoria do povo32.
As músicas folclóricas se caracterizam por serem simples, tonais, geralmente estarem contidas num intervalo de uma oitava, e por apresentarem certa monotonia e lentidão. A música folclórica está principalmente presente nas cantigas de roda, brincadeiras infantis, danças, cantos religiosos, etc. São exemplos de músicas folclóricas brasileiras:
• Cantigas de roda: Escravos de Jô, Atirei o Pau no Gato, Ciranda Cirandinha, O Cravo e a Rosa, Sapo Cururu, O Pobre e o Rico, Peixe Vivo.
• Cantigas de Ninar: Boi da Cara Preta. • Modinhas: Casinha Pequenina.
A música tradicional brasileira está ligada à música folclórica. Também são músicas simples e monofônicas. Alguns autores consideram músicas folclóricas e tradicionais brasileiras como pertencentes a um mesmo estilo [ARAÚJO, 2007]. A música tradicional é caracterizada como a música própria de um povo de uma determinada região ou de um determinado contexto social. São exemplos de músicas tradicionais brasileiras: Mulher Rendeira, Oh! Minas Gerais, O Cravo e a Rosa, Onde está a Margarida.
As características das melodias folclóricas ou tradicionais brasileiras influenciaram na escolha desses dois estilos musicais (referenciados como um único estilo) para formação do conjunto de treinamento.
5.3.2 – Obtenção da Inspiração
A inspiração da rede é codificada a partir de imagens previamente selecionadas contendo relevos naturais. Para essa codificação foi utilizada uma combinação de filtros morfológicos, como por exemplo, operações de erosão e dilatação.
A morfologia matemática tem aplicação em diversas áreas de processamento e análises de imagens, como por exemplo, segmentação, realce, detecção de bordas, filtragem, entre outras [FILHO e NETO, 1999] e se caracteriza por um conjunto de operações que são aplicadas em uma imagem (representada por
32
conjunto de pixels) [PRATT, 1991]. A base da morfologia matemática é a teoria de conjuntos, caracterizada pela extração de informações relativas à geometria e à topologia de uma imagem desconhecida através de transformações de outra imagem bem definida, denominado elemento estruturante. Em imagens binárias, cada elemento do conjunto é um vetor 2-D representando as coordenadas (x,y) do pixel.
Sejam
A
eB
conjuntos de membros do espaço inteiro bidimensional2
Z
, com componentesa=( ,a a
1 2)
eb=( ,b b
1 2)
, respectivamente. A translação deA
por
x=( ,x x
1 2)
, denotada por( )A
x, é dada por:( )A x =
{
c c| = +a x,para
a∈A}
(5.3)
A reflexão deB
^B
, é caracterizada por:{
^ | , B= x x= −b para b∈B}
(5.4)O complemento do conjunto
A
é definido como:
A
c={x x|
∉A}
(5.5)
A diferença entre dois conjuntos
A
eB
,(A B−
)
, é dada por:}
{
|
,
cA B− =
x x∈A x∉B
= ∩A
B
(5.6)A dilatação entre dois conjuntos
A
eB
, indicada por A⊕B, é dada por: ^| ( )
xA⊕ =B
x
B
∩A⊆A
(5.7)Assim, é possível definir o processo de dilatação pela reflexão de
B
sobre sua origem e posteriormente pelo seu deslocamento de x. A dilatação deA
e
B
é, portanto, o conjunto dos x deslocamentos para os quais a interseção comA
esteja contida em
A
. O elemento estruturante está representado pelo conjuntoB
. A erosão entreA
eB
, indicada porAe
B
, é definida como:}
{
| ( )
xPortanto, a erosão consiste no conjunto de pontos x, de tal forma que
B
, uma vez translado de x, esteja contido emA
.Exemplos de dilatação e erosão estão ilustrados na Figura 5.13 (a). Outras duas operações morfológicas importantes são a abertura e o fechamento. Geralmente a abertura33 é usada na suavização do contorno de uma imagem, na eliminação de objetos pequenos e na quebra de extremidades estreitas. A abertura de um conjunto
A
porB
, denotada comoA Bo
, representa a erosão deA
porB
e em seguida a dilatação do resultado porB
:(
)
A Bo
=
Ae
B
⊕B
(5.9)Por outro lado, o fechamento34 do conjunto
A
pelo elemento estruturanteB
, denotado porA B•
, é definido como a dilatação deA
porB
seguida da erosão do resultado obtido porB
:(
)
A B• =
A⊕B
e
B
(5.10)O fechamento também suaviza contornos de objetos, elimina buracos pequenos e une espaços pequenos entre objetos.
Os efeitos da abertura e fechamento podem ser notados na Figura 5.13(b).
33
Propriedades da abertura:
i.
A Bo
é uma subimagem deA
.ii. Se Cé uma subimagem de
D
, portanto C Bo é uma subimagem deD Bo
. iii.(A Bo
)oB=
A Bo
34
Propriedades do fechamento:
i.
A
é uma subimagem deA B•
.ii. Se Cé uma subimagem de
D
, então C B• é uma subimagem deD B•
. iii.(A B•
)• = •B
A B
(a)
(b)
Figura 5.13: Exemplos de (a) dilatação e erosão (b) abertura e fechamento [PRATT, 1991]
A idéia geral do algoritmo para a extração do contorno da inspiração utilizado nas composições emprega a morfologia matemática e pode ser resumido nos seguintes passos:
1. Obter imagem com contornos naturais; 2. Transformar para imagem binária; 3. Criar elemento estruturante;
4. Aplicar erosão da imagem binária com elemento estruturante; 5. Computar diferença entre imagem binária com o resultado da
erosão;
6. Obter vetor de pixels do contorno da imagem.
A Figura 5.14 ilustra os seis passos do algoritmo para obtenção dos contornos dos relevos naturais. As Figuras 5.15 e 5.16 apresentam outros exemplos de imagens utilizadas como inspiração e o contorno obtido.