matlab

4

Click here to load reader

Transcript of matlab

Page 1: matlab

Revista Colombiana de Física, vol. 41, �o. 2, Abril 2009

1

Cifrado de Imágenes utilizando La Transformada Wavelet Fraccional Images Encryption using Fractional Wavelet Transform

Juan M. Vilardy1, Juan Useche1, Cesar O. Torres1, Lorenzo Mattos1

1Laboratorio de Óptica e Informática, Universidad Popular del Cesar, Valledupar, Colombia.

Recibido XXXX; Aceptado XXXX; Publicado en línea XXXX

Resumen

En este trabajo se desarrolla una técnica para el cifrado de imágenes digitales utilizando la Transformada Wavelet Fraccio-nal (Fractional Wavelet Transform, FWT) y mascaras de fases aleatorias. La imagen digital a cifrar es transformada frac-cionalmente con la FWT, luego los coeficientes resultantes de la FWT (Aproximación, Detalles: Horizontal, Vertical y Di-agonal) son multiplicados cada uno por diferentes mascaras de fases aleatorias (estadísticamente independientes) y a estos últimos resultados se le aplica una Transformada Wavelet Inversa (Inverse Wavelet Transform, IWT), obteniendo la ima-gen digital cifrada. La técnica de descifrado es la misma técnica de cifrado en el sentido inverso. Esta técnica provee venta-jas inmediatas de seguridad frente a las técnicas convencionales; pues en dicha técnica la familia Wavelet madre y los or-denes fraccionales asociados a la FWT, constituyen claves adicionales que dificultarían el acceso a la información a una persona no autorizada (además de las mascaras de fases aleatorias empleadas), con lo cual se eleva extraordinariamente el nivel de seguridad del cifrado. En este trabajo se desarrolla también el soporte matemático para el uso de la FWT en el al-goritmo computacional para el cifrado. Palabras claves: Encriptación, Transformada Wavelet Fraccional, Mascaras de Fases Aleatorias.

Abstract

In this paper a technique for the coding of digital images is developed using Fractional Wavelet Transform (FWT) and ran-dom phase masks. The digital image to encrypt is transformed with the FWT, after the coefficients resulting from the FWT (Approximation, Details: Horizontal, vertical and diagonal) are multiplied each one by different random phase masks (statistically independent) and these latest results is applied an Inverse Wavelet Transform (IWT), obtaining the en-crypted digital image. The decryption technique is the same encryption technique in reverse sense. This technique provides immediate advantages security compared to conventional techniques, in this technique the mother wavelet family and frac-tional orders associated with the FWT are additional keys that make access difficult to information to an unauthorized per-son (besides the random phase masks used), thereby the level of encryption security is extraordinarily increased. In this work the mathematical support for the use of the FWT in the computacional algorithm for the coding is also developed.

Keywords: Encryption, Fractional Wavelet Transform, FWT, Random Phase Masks.

© 2009 Revista Colombiana de Física. Todos los derechos reservados.

1. Introducción

En el presente trabajo se expone una aplicación para codifi-car imágenes, usando la transformada wavelet pero en su versión fraccional para incluir como llaves adicionales, los órdenes fraccionales de la transformación fraccional en el proceso de cifrado, conservando las ventajas en cuanto al uso de los parámetros de desplazamiento y dilatación. El punto de partida de este trabajo de investigación se encuen-

tra en los trabajos anteriores de cifrado de imágenes realiza-dos al interior del laboratorio de Óptica e Informática de La Universidad Popular del Cesar [1-2]. 2. La Transformada Wavelet

De la misma forma como la transformada de Fourier puede representar a una función f(t) en una base de funciones armónicas de exponenciales complejas, la Transformada

Page 2: matlab

Juan M. Vilardy et al.: Cifrado de Imágenes utilizando La Transformada Wavelet Fraccional

2

Wavelet W(a,b), lleva a la representación de una función f(x) en una base de funciones ortonormales denominadas wavelets madre, definidas como [3]:

∫∞

∞−

−= dx

a

bx

axfbaW )(*1

)(),( ψ ; 0>a (1)

En la ecuación (1) el parámetro b corresponde al desplaza-miento de la función wavelet madre, a es el parámetro de escala. Es decir El conjunto de funciones base en la cual se representa la función f(x) (wavelets madre), se construye a partir de una función generadora o wavelet madre, a la cual se le va cambiando la escala en un factor a y, a la vez se le va trasladando en una cantidad b [3].

3. La Transformada Wavelet Fraccional

Aplicar una transformada Wavelet Fraccional a una función f(x), equivale a la aplicación de la transformada fraccional de Fourier sobre f(x) y luego realizar una descomposición wavelet a este resultado [4]. La expresión matemática para la FWT de una señal f(x) es entonces la siguiente:

dxdxxxfxxBbaW ab ')()'()',(),( ∫ ∫∞

∞−

∞−

∗= ψα

α (2)

]'

2)tan

'([

21

)24

sgn((

22)',(φ

πφ

π

φφπ

α

φ sen

xxi

xxi

seni

esen

exxB

−+

−−

= (3)

2

απφ = (4)

Aquí α es el orden fraccional de la transformada fraccional de Fourier, la definición de la FWT es periódica en α, con periodo 4. Para Implementar digitalmente la transformada fraccional de Fourier se utiliza el conocido algoritmo de Candan [5-6]:

][],[])[(1

0nfnmFnfF

n

aa∑=−

=

(5)

][][],[ 21

0nuemunmF k

kai�

kk

−−

=∑= (6)

Donde los ][nuk son las hermíticas gaussianas discretas.

4. Proceso de Cifrado y Descifrado de una Imagen

4.1 Formulación Matemática de los Métodos de Cifrado

y Descifrado

Si tenemos una imagen real I(x,y) de M x N pixeles (M y N son número de filas y columnas de la matriz que representa a la imagen en escala de grises), el proceso de cifrado de esta imagen se realiza transformándola primero con la frac-cional de Fourier bidimensional discreta (DFRT), luego aplicando wavelet discreta (DWT), después se aplican las máscaras aleatorias de fase y finalmente se realiza una

transformación inversa wavelet para obtener la imagen cifrada. Las siguientes ecuaciones describen este proceso:

},{}{ 2,,, familiaFIFDWTDDDVDHCA yx αα ××= (7) ;1MascCACAM ×= 2MascDHDHM ×= (8) ;3MascDVDVM ×= 4MascDDDDM ×= (9)

}{ ,,,,2 familiaDDMDVMDHMCAMIDWTIcifrada = (10)

)],(2exp[ yxirMascn nπ= (11) Donde, Icifrada es la imagen cifrada, CA, DH, DV y DD son las matrices de los coeficientes de aproximación, de detalle horizontal, de detalle vertical y detalle diagonal que resultan al aplicar la transformada wavelet de una determi-nada familia en dos dimensiones (DWT2). CAM, DHM, DVM y DDM son las matrices CA, DH, DV y DD después de haberlas multiplicado por las máscaras aleatorias de fase. Fαx y Fαy son las transformada fraccionales de Fourier uni-dimensionales de órdenes αx, αy; finalmente rn(x,y) es una matriz de números aleatorios del tamaño adecuado para multiplicarse por las correspondientes CA, DH, DV y DD (n=1, 2, 3, 4). Para la etapa de descifrado, se aplica el procedimiento en sentido inverso, procurando que cada operación produzca el efecto inverso en la secuencia. Para invertir la transformada fraccional de Fourier se aplica ésta con el orden fraccional negativo (-α) [4]. De esta manera, tendremos las siguientes ecuaciones: },{}{ '',',',' 2 familiaIcifradaDWTDDMDVMDHMCAM =

(12) );1('' MascinvCAMCA ×= )2('' MascinvDHMDH ×= (13) );3('' MascinvDVMDV ×= )4('' MascinvDDMDD ×= (14)

yx FfamiliaDDDVDHCAIDWTFaIrecuperad αα −−××= }}',',',','{{ 2

(15)

Cuando la familia’ usada en el descifrado coincide con la familia usada en el cifrado y, se emplea el mismo orden fraccional α en las dimensiones x y y, la imagen descifrada coincide con la descifrada, es decir se recupera la imagen original. 4.2 Proceso de Cifrado Digital

Los algoritmos digitales de cifrado y descifrado de este trabajo se implementaron en la plataforma de programación Matlab® v.7.4, debido a sus grandes facilidades y su alto rendimiento en esta clase de procesos. En la fig. No. 1 se muestra el diagrama de bloques del proceso de cifrado. 4.3 Proceso de Descifrado Digital

El proceso de descifrado es el mismo proceso de cifrado, pero en el sentido inverso utilizando los ordenes fracciona-les negativos para la DFRT, las mascaras aleatorias de fase inversas e igual familia wavelet madre, para así obtener la imagen que inicialmente fue cifrada.

Page 3: matlab

rev. col. fís.(c), vol. 41, �o. 2, (2009)

3

Fig. 1. Diagrama de bloques del proceso de cifrado de una imagen.

5. Resultados Experimentales

Al aplicar el algoritmo para cifrar una imagen digital de MxN píxeles, la imagen digital cifrada oculta la totalidad de su información contenida, como se aprecia en la fig. No. 2.

Fig. 2. Imagen original e imagen encriptada.

Cuando se realiza el proceso de descifrado con las llaves correctas (ordenes fraccionales, familia wavelet y mascaras de fase), se logró recuperar la imagen digital original sin pérdidas visibles, como lo muestra la fig. No. 3. Fig. 3. Imagen recuperada usando las llaves correctas.

Si las llaves utilizadas en el proceso de descifrado no son iguales a las llaves utilizadas en el proceso de cifrado, la imagen original no se recuperará. En la fig. No. 4 se mues-tra la imagen recuperada cuando se introduce un error de una décima en los órdenes fraccionales, utilizando 0,877 en lugar de 0,777 y dejando la misma familia wavelet (db4). Fig. 4. Imagen recuperada cometiendo un error de una décima en los órdenes fraccionales. En la anterior figura se observa que con cambios pequeños en las llaves correctas, se genera mucha distorsión en la imagen recuperada. El proceso de descifrado es tan sensiti-vo al orden fraccional α como a la familia wavelet utilizada, esto se observa en la fig. No. 5, en la cual se utilizan los órdenes fraccionales correctos 0,777 (el mismo utilizado en el proceso de cifrado) y se cambia la familia wavelet de db4 por db2. Fig. 5. Imagen recuperada utilizando una familia wavelet distinta a la usada para cifrarla. 6. Análisis de Resultados

El Error Cuadrático Medio (MSE, Mean Square Error, ecuación 16) y la Relación Señal a Ruido (SNR, Signal-to-Noise Ratio, ecuación 17) entre la imagen digital de entrada y nuestra imagen digital cifrada son calculados para validar la confiabilidad del algoritmo implementado:

[ ]∑ ∑⋅

== =

−M

x

yyxIyxI

�MMSE

1 11

2),(),(

1 (16)

[ ] [ ]∑∑ −∑ ∑= == =

=M

x

y

M

x

yyxIyxIyxIS�R

1

2

11

1 1

2 ),(),(),( (17)

Donde I(x,y) y I1(x,y) son las matrices elemento de la ima-gen digital de entrada y nuestra imagen digital cifrada en el píxel (x,y), respectivamente, y M·� es el tamaño de la ima-

Page 4: matlab

Juan M. Vilardy et al.: Cifrado de Imágenes utilizando La Transformada Wavelet Fraccional

4

gen digital. La sensitividad de los ordenes fraccionales de la FWT son examinados introduciendo errores en estos (de manera individual), dejando fijas las máscaras utilizada y la familia wavelet. El MSE y la SNR son empleados para medir el nivel de protección sobre las imágenes digitales cifradas. En esta prueba de desviación de los órdenes frac-cionales de la FWT sobre los valores correctos del proceso de descifrado, se introduce un error que varía entre -0.25 y 0.25, posteriormente para cada variación se calcula el MSE y la SNR, los resultados se observan en la fig. No. 6 (Los resultados para el orden fraccional en la dirección y son muy similares a los resultados para el orden fraccional en la dirección x). De experimentos computacionales se encontró que los ordenes fraccionales son sensible a una variación de 1 x 10-4.

(a)

(b) Fig. 6. Variación del MSE y SNR cuando varía el orden fraccional de la FWT en dirección x. En la siguiente prueba, se chequea la tolerancia a la perdida de la información de la imagen cifrada cuando esta es desci-frada, para esta prueba se realiza la oclusión del 25% y 50% de los píxeles de la imagen cifrada. La fig. No. 7 muestra las imágenes ocluidas y las correspondientes imágenes recuperadas. De está figura se puede decir que no existe una correspondencia de posición entre los píxeles de la imagen original y la imagen a descifrar, debido a que las multiplica-ciones matriciales aplicadas en el proceso de cifrado y des-cifrado hacen que los valores de cualquier parte de la ima-

gen cifrada intervenga sobre toda la matriz de la imagen recuperada. (a) (b) Fig. 7. Oclusión de una parte de la imagen cifrada y la respectiva imagen descifrada resultante en un cifrado con FWT: (a) Oclusión de 25% sobre la imagen cifrada e imagen descifrada, (b) Oclusión de 50% sobre la imagen cifrada e imagen descifrada. Para el análisis del espacio de clave del algoritmo imple-mentado, se considera el universo de posibilidades de intro-ducir distintos valores de las llaves utilizadas para cifrar la imagen. En este caso sería los dos órdenes fraccionales en las dos dimensiones (x y y), cada uno de los cuales varía en un rango de 0 a 4 con pasos sensibles de 1 x 10-4, la familia de la transformada wavelet y la máscara de fase aleatoria. Conclusiones

Se ha presentado un nuevo sistema de seguridad de imáge-nes digitales utilizando la transformada Fraccional wavelet para realizar cifrado de imágenes. Para este sistema de ci-frado se aumentó la seguridad contra ataques de fuerza bruta, por el gran tamaño de su espacio de clave. El uso de la FWT en el cifrado de imágenes aumenta enormemente los parámetros de seguridad de la imagen cifrada, debido a la sensibilidad en cualquier cambio que se haga sobre los órdenes fraccionales utilizados (clave numérica) y, adicio-nal a esto, el enorme número de posibilidades de usar una familia Wavelet y varias máscaras de fase distintas, incre-mentan considerablemente la dificultad para cualquier per-sona que intente descifrar la imagen sin ser autorizado. Referencias

[1] J. Vilardy, C. Torres, L. Mattos, Encriptación en Fase Apli-cado a Imágenes Digitales a Color. En: Revista Colombiana de Física. Vol. 41, (2008) No.1.

[2] L. Brito, C. Torres. Encriptamiento de imágenes digitales a color mediante transformada de Fourier. En: Revista Colom-biana de Física, Vol. 35, (2003) No.1.

[3] Mallat, Stéphane. A Wavelet Tour of Signal Processing. San Diego California: Academic Press, 1999. 3 p.

[4] Mendlovic, David et al. Fraccional Wavelet Transform. En: Applied optics, Vol. 36, (1997), No.20.

[5] A. Bultheel, H. Martínez. Computation of the fractional Fourier transform. En: Applied and Computational Harmo-nic Analysis. Vol. 16, (2004), 182-202.

[6] C. Candan, dFRT: The Discrete Fractional Fourier Trans-form, A Matlab Program, 1998, <http://www.ee.bilkent.edu.tr/~haldun/dFRT.m>