Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the...

208
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN SECCION DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN Esteganografía usando el método de BPCS en los dominios espacial y espectral QUE PARA OBTENER EL GRADO DE: MAESTRO EN CIENCIAS DE I N G E N I E R Í A E N MICROELECTRONICA ASESOR: DRA. MARIKO NAKANO MIYATAKE DR. HÉCTOR PEREZ MEANA MÉXICO, D.F. OCTUBRE DE 2005

Transcript of Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the...

Page 1: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICAUNIDAD CULHUACÁN

SECCION DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN

Esteganografía usando el método de BPCS en los dominios espacial y espectral

QUE PARA OBTENER EL GRADO DE:M A E S T R O E N C I E N C I A S D E I N G E N I E R Í A E N M I C R O E L E C T R O N I C A

ASESOR: DRA. MARIKO NAKANO MIYATAKE DR. HÉCTOR PEREZ MEANA

MÉXICO, D.F. OCTUBRE DE 2005

Page 2: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet
Page 3: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet
Page 4: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

AGRADECIMIENTOS

Instituto Politécnico Nacional

Sección de Estudios de Investigación y Posgrado Consejo Nacional de Ciencia y Tecnología (CONACYT) University of Electro-Communications of Japan, a través del

Programa de intercambio estudiantil JUSST

Page 5: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

AGRADECIMIENTOS

A mis padres A mis hermanas

A Mariko Nakano Miyatake y Héctor Pérez Meana A todos los profesores de la sección de posgrado

A todos mis amigos y compañeros

Page 6: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

RESUMEN

En esta tesis se presenta dos algoritmos usando la esteganografía de Complejidad de

Segmentación de plano de bit (BPCS), en el dominio espacial y el dominio de la frecuencia

aplicada a imágenes en escala de gris.

En el primer algoritmo basado en el dominio espacial se propone utilizar la varianza como una

medida de complejidad para determinar las áreas óptimas para llevar acabo el proceso de

inserción de mensajes secretos.

El segundo algoritmo es una propuesta de utilizar la esteganografía BPCS en la Transformada

Wavelet Entera (IWT), donde los planos de bits de los coeficientes enteros wavelets son usados

para ocultar información. En la integración de la esteganografía BPCS en la IWT se consideran

dos casos para su aplicación, el primero de ellos es el uso de un canal seguro, en donde el

esteganograma no sufre ninguna alteración, el segundo se basa en la suposición de un canal

inseguro, donde el algoritmo se robustece a través del uso de un código detector y corrector de

errores (CCE) que es enviado junto con el esteganograma. Ambas implementaciones en el

dominio espacial así como el dominio de la frecuencia son evaluadas con respecto a la

capacidad de inserción (bpp), la calidad de la imagen (PSNR) y la tasa de error (BER), así como

a través del “ε -secure”, la cual es una medida que representa una entropía relativa entre dos

probabilidades de distribución de histogramas entre la imagen original y la imagen

esteganografiada.

La esteganografía BPCS usando la IWT en el caso de considerarse un canal seguro permite

tener alta capacidad de ocultamiento de alrededor del 2 bpp obteniendo un PSNR de más de 35

dB, cuando este sistema se considera la robustez como parte esencial, este algoritmo reduce la

capacidad de ocultamiento, pero robustece la información oculta haciendo uso del código

detector y corrector de errores.

Page 7: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

ABSTRACT

This tesis presents two algorithms using Bit-Plane Complexity Segmentation Steganography

(BPCS), in the spatial and the frequency domain applied to gray scale images.

In the first algorithm based on the special domain, the proposal is to use the variance as

complexity measure to determinate the optimal areas to make the secret message embedded

process.

The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet

Transform (IWT), where the integer wavelet coefficients of the bit plane are used to hide

information. In the IWT integer BPCS Steganography, it consider two cases for applying, the

first one is the use of a secure channel, where the Steganography don't suffer any alteration.

The second one is based on the suspect of a secure channel, where this algorithm is robust

through the use of a Error Control Coding (ECC) that is send with the Steganography. Both

implementations in the spatial domain and the frequency domain are evaluated an respect to the

insertion capacity (bpp), the image quality (PSNR) and the rate error (BER), and through the ε -

secure, which is a measure that represent, a relative entropy between two distributions of the

original image and Steganography image probabilities.

In the case of the BPCS Steganography using IWT is considered like a secure channel, it allows

to have high embedded capacity around 2 bpp getting more than 35 dB in the PSNR. When this

system considers the robust like an essential part, this algorithm reduces, the hide capacity, but

makes more robust the hide information using the detector and corrector error coding.

Page 8: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

ÍNDICE Capítulo 1 Introducción Página

1.1 Introducción…………………………………………………………………................ 2

1.2 Planteamiento del problema…………………………………………………………... 5

1.3 Objetivo……………………………………………………………………………….. 5

1.4 Justificación. ………………………………………………………………………….. 6

1.5 Metas………………………………………………………………………………….. 7

1.6 Organización de la tesis. ……………………………………………………………… 7

1.7 Conclusiones. ………………………………………………………………………… 8

1.8 Referencias…………………………………………………………………………… 8

Capítulo 2 Marco teórico

2.1 Introducción. ………………………………………………………………………… 10

2.2 Reseña histórica de la esteganografía. ………………………………………………. 10

2.3 Técnicas de protección de la información. ………………………………...………... 12

2.4 Principios de la esteganografía. ……………………………………………………... 14

2.5 Tipos de protocolos esteganográficos. ………………………………………………. 15

2.5.1 Esteganografía pura………………………………………………………..… 17

2.5.2 Esteganografía de llave privada……………………………….…………….. 18

2.5.3 Esteganografía de llave pública……………….…………………………….. 18

2.6 Definición de la esteganografía. …………………………………………………….. 19

2.6.1 Técnicas esteganográficas……………………….………………………….. 21

2.6.1.1 Sistemas en el dominio espacial………………………… 22

2.6.1.2 Sistemas de sustitución y herramientas plano-bit (Bit-Plane) …… 22

2.6.2 Sistemas en el dominio de la frecuencia. …………………….……….…….. 23

2.6.2.1 Esteganografía bajo el esquema de compresión JPEG…………… 25

2.7 Seguridad de los sistemas esteganográficos………………………………………… 25

2.7.1 Atacantes pasivos…………………………………………………………..... 25

2.7.2 Atacantes activos y maliciosos……………………………………………..... 26

2.7.3 Esteganografía robusta………………………………...................................... 27

2.8 Esteganoanálisis…………………………………………………………………...…. 28

2.8.1 Detección de la información oculta…………………………………..…..….. 29

2.8.2 Extracción………………………………………………………….……..….. 30

Page 9: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

2.8.3 Inhabilitación de la información oculta…………………………………….... 31

2.9 Aplicaciones de la esteganografía. …………………………………………………... 33

2.10 Conclusiones……………………………………………………………………….… 33

2.11 Referencias………………………………………………………………………..….. 33

Capítulo 3 Complejidad de segmentación de Planos de Bit

3.1 Introducción. ………………………………………………………………………... 36

3.2 Técnicas esteganográficas LSB. ……………………………………………………. 36

3.3 Descomposición de planos de bits (Bit-Plane) ……………………………………... 37

3.3.1 Esteganografía convencional de planos de bits…………………………..…. 40

3.4 Esteganografía BPCS………………………………………………………………... 43

3.5 Algoritmo esteganográfico BPCS propuesto por Eiji Kawaguchi…………………... 46

3.5.1 Descripción del algoritmo…………………………………………………… 47

3.5.1.1 Procesamiento de los datos ocultos………………………………. 48

3.5.1.2 Proceso de inserción……………………………………………… 51

3.5.1.3 Obtención del esteganograma……………………………………. 52

3.5.1.4 Proceso de extracción del mensaje secreto……………….……… 52

3.5.2 Implementación del algoritmo……………………………………….……... 52

3.6 Conclusiones………………………………………………………………………… 60

3.7 Referencias………………………………………………………………………….. 60

Capítulo 4 La transformada wavelet y su aplicación en los sistemas

Esteganográficos

4.1 Introducción. ………………………………………………………………………...... 64

4.2 Reseña histórica de los Wavelets……………………………………………………… 64

4.3 Transformada Wavelet. ……………………………………………………………….. 65

4.3.1 Propiedades de los Wavelets. ……………………………………………….... 66

4.3.2 Tipos de Wavelet. ……………………………………………. 66

4.4. Transformada Wavelet Discreta (DWT)……………………………………………… 67

4.4.1 Transformada Wavelet Discreta Unidimensional. …………………………... 68

4.4.2 Transformada Wavelet Rápida (FWT) ………………………………………. 69

4.4.3 Transformada Wavelet Bidimensional. ……………………………………… 71

4.5 Aplicaciones de la transformada Wavelet……………………………………………. 74

Page 10: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

4.5.1 La transformada Wavelets aplicada en el procesamiento de imágenes……….. 74

4.5.2 Esquema de compresión EZW………………………………………………… 76

4.5.3 Esquema de compresión JPEG2000…………………………………………... 77

4.5.4 La Transformada Wavelet Entera (IWT) ……………………………………... 79

4.6 Esteganografía usando la Transformada Wavelet. ……………………………..……... 81

4.6.1 Esteganografía BPCS aplicada al esquema de compresión EZW. …………… 81

4.6.2 Esteganografía BPCS basada en el esquema de compresión JPEG2000……… 84

4.6.3 Esteganografía usando la transformada Wavelet Entera……………………… 85

4.7 Conclusiones…………………………………………………………………………... 87

4.8 Referencias………………………………………………………………………….…. 87

Capítulo 5 Implementación

5.1 Introducción…………………………………………………………………………… 90

5.2 Propuesta 1. Esteganografía usando la varianza como una medida de complejidad en

BPCS. ………………………………………………………………………………….

90

5.2.1 Descripción del algoritmo……………………………………………………... 90

5.2.2 Descomposición de plano de bit (Bit-plane) ………………………………….. 92

5.2.3 Umbral de complejidad………………………………………………………... 93

5.2.4 Mapas de Inserción……………………………………………………………. 94

5.2.5 Procesamiento de información oculta…………………………………………. 96

5.2.6 Proceso de inserción…………………………………………………………… 96

5.3 Propuesta 2. Esteganografía BPCS aplicada en la IWT……………………………... 96

5.3.1 Aplicación de la Transformada Wavelet Entera………………………………. 96

5.3.2 Código detector y corrector de errores…………………………………........... 100

5.3.3 Descripción del algoritmo esteganográfico usando la IWT…………………… 101

5.3.4 IWT aplicada en una imagen en escala de gris………………………………... 102

5.3.5 Obtención del mapa de signos………………………………………………… 103

5.3.6 Codificación de los datos secretos …………………………………………… 103

5.3.7 Proceso de inserción………………………………………………………….. 104

5.3.8 Obtención del esteganograma………………………………………………… 104

5.3.9 Proceso de extracción del mensaje secreto…………………………………… 104

5.4 Conclusiones………………………………………………………………………...... 105

5.5 Referencias……………………………………………………………………………. 105

Page 11: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 6 Evaluación y Resultados

6.1 Introducción………………………………………………………………………..….. 108

6.2 Métodos de evaluación de un sistema 108

6.2.1 Medida de distorsión………………………………………………………….. PSNR ε -secure

109

6.2.2 Medida de Capacidad…………………………………………………………. 110

6.2.3 Medida de Error……………………………………………………………….. 110

6.3 Resultados del sistema propuesto 1 BPCS-Varianza………………………………….. 111

6.3.1 Imperceptibilidad (distorsión) y la capacidad de inserción…………………… 111

6.3.2 Obtención del ε - secure……………………………………………………… 116

6.3.3 Robustez………………………………………………………………………. 120

6.4 Resultados de sistema propuesto 2 BPCS-IWT……………………………………….. 122

6.4.1 Imperceptibilidad (distorsión) y Capacidad de inserción sin CCE……………. 122

6.4.2 Imperceptibilidad (distorsión) y Capacidad de inserción con CCE………………….

126

6.4.3 ε -secure………………………………………………………………………. 127

6.4.4 Robustez………………………………………………………………………. Compresión JPEG usando BPCS-IWT sin CCE Compresión JPEG usando BPCS-IWT con CCE Adición de ruido Gaussiano

130

6.5 Comparación de los sistemas propuestos……………………………………………… 134

6.5.1 Imperceptibilidad (distorsión) y Capacidad…………………………………… 134

6.5.2 Robustez……………………………………………………………………...... 136

6.5.3 Obtención -ε secure…………………………………………………………... 137

6.6 Conclusiones…………………………………………………………………………… 138

6.7 Referencias…………………………………………………………………………….. 139

Capítulo 7 Conclusiones

7.1 Conclusiones generales…………………………………………………………...…... 142

7.2 Trabajo a futuro…………………………………………………………………...…... 143

Page 12: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

CAPITULO 1

INTRODUCCION

Contenido del capítulo

1.1 Introducción.

1.2 Planteamiento del problema

1.3 Objetivo.

1.4 Justificación.

1.5 Metas.

1.6 Organización de la tesis.

1.7 Conclusiones

1.8 Referencias

Page 13: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 1 Introducción

2

1.1 Introducción

La comunicación por Internet se ha convertido en parte integral de la infraestructura del mundo

actual. La información llega en numerosas formas y es usada en muchas aplicaciones. En la mayoría

de las aplicaciones es deseable que la comunicación se realice en secreto, tal es el caso de las

comunicaciones corporativas y cargos a tarjetas de crédito, en este sentido los medios electrónicos

han alcanzado un desarrollo importante durante la última década, esto ha hecho más vulnerable la

seguridad de la información, ya que la mayor parte de estos medios son del uso público. De esta

manera los mecanismos de seguridad de la información han cobrado mayor importancia por lo que

se ha incrementado el uso de métodos implementados desde épocas antiguas, que son la base de

nuevas técnicas de protección de información que actualmente son aplicadas en las comunicaciones

electrónicas. Entre estos se pueden citar dos de los más comunes: la criptografía; y la

esteganografía.

La criptografía es la práctica de cifrar un mensaje secreto de tal forma que sea ilegible a terceras

personas; en tanto la esteganografía trata de ocultar en sí el mensaje, de tal manera que se

desconoce la propia existencia de éste, para evitar sospecha alguna de que datos secretos hayan sido

ocultados [1].

La esteganografía utiliza diversas técnicas para proteger información buscando hacer cada vez más

eficiente su aplicación. La eficacia en la protección de información con el uso de la esteganografía,

depende de la aplicación de las diversas técnicas existentes y del uso del algoritmo más adecuado

para la inserción de datos, en donde los principales factores que deben tomarse en cuenta son: el

nivel de imperceptibilidad en base al sistema visual humano (SVH), la capacidad de información a

ocultar así como la recuperación de la información oculta.

La criptografía es un gran acercamiento a lo que es seguridad de información, y los programas de

criptografía se encuentran disponibles en Internet, de cualquier manera, la criptografía codifica un

mensaje que contiene información “interesante” convirtiéndolo en un objeto clave a atacar.

La estenografía presenta otra herramienta para la seguridad de la información, los datos son ocultos

dentro de un contenedor, aparentemente inocente, existe una variedad de recipientes, tal como

imágenes digitales, sonido, y aun archivos ejecutables. En años recientes, varios programas de

esteganografía han sido puestos en páginas de Internet.

Page 14: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 1 Introducción

3

Algunos de ellos usan las técnicas de inserción en el bit menos significante de la imagen para

ocultar datos. Otros programas incluyen información secreta en una componente de frecuencia del

portador. Algunos otros programas hacen uso de una muestra de error en la digitalización de la

imagen. Sin embargo, todas estas técnicas están limitadas en función de la capacidad de la

información oculta. Estas pueden ocultar entre el 5 y 15 % del tamaño de la imagen huésped, por

ello actualmente la esteganografía está más orientada a las marcas de agua que a las aplicaciones

para comunicaciones secretas [2].

Todas las técnicas esteganográficas tradicionales han limitado la capacidad de ocultación de

información, al 10% (o menos) de la cantidad de datos en la cubierta [2]. Esto se debe a que el

principio de esas técnicas fue reemplazar una parte espacial de los componentes de la frecuencia de

la imagen huésped, o reemplazar todos los bits menos significantes de una imagen, con información

secreta. Sin embargo, existen técnicas esteganográficas que hacen uso de los planos de bits para

ocultar información usando imágenes como cubiertas, estas técnicas tienen la característica de no

estar basadas en técnicas de programación sino en las propiedades del SVH. Su capacidad de

información puede ser de hasta 50% de los datos de la imagen original. Esto podría abrir nuevas

aplicaciones para la orientación de la esteganografía hacia una mayor seguridad en las

comunicaciones por Internet, de esta manera el uso de los planos de bits y las características del

SVH permiten que el ojo humano no pueda percibir cualquier forma de información en un patrón

binario complejo. Considerando estas ventajas se puede reemplazar todas las regiones de ruido en

los planos de bits de la imagen cubierta, con datos secretos sin deteriorar la calidad de la imagen.

De esta manera surge una técnica esteganográfica llamada BPCS (Bit-Plane Complexity

Segmentation Steganography), considerada como un algoritmo esteganográfico en dominio espacial

que se ha aplicado con éxito en audio digital, estéreos y mono [3].

Esteganográfica BPCS no es tan robusta para cambios pequeños en la imagen. Esta puede verse

como un factor en aplicaciones donde un usuario desconocido puede adquirir una imagen oculta y

realizar cualquier alteración como un recorte o pérdida de compresión con pérdida, destruyendo la

evidencia, y haciéndolo inutilizable para alguna recuperación posterior. Extraer información oculta,

requiere de un intento deliberado por parte de un usuario conocedor de este tipo de técnicas. La

falta de robustez también anula el hecho de que un usuario malicioso no pueda alterar la

información oculta sin conocimiento de los parámetros requeridos.

Estas técnicas provén más capacidad de ocultamiento, pero debido a los riesgos de perder datos

ocultos, es conveniente estudiar el dominio de la transformación dado que la mayoría de los datos

Page 15: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 1 Introducción

4

digitales es representada en la forma comprimida, para la reducción de espacio de almacenamiento

y costos de transmisión.

Existen diversas técnicas en el dominio de la transformada como es JPEG usando la Transformada

del Coseno Discreto (DCT), Transformada de Fourier Discreta (DFT) y JPEG2000 usa la

transformada discreta Wavelet (DWT) y la Transformada Wavelet Entera (IWT).

El uso de la transformada Wavelet y la compresión progresiva de datos en forma irreversible,

implica pérdida como el término irreversible, el método BPCS descrito hasta este punto, no puede

usar una estrecha aproximación en trabajar con tales imágenes, simplemente no puede comprimir la

imagen en una estructura de planos de bits, ocultar en aquellos formatos y después descomprimir

para regresar al formato original de la imagen [3]. Sin embargo, un método esteganográfico

propuesto por Noda [1] supera esta limitación para una clase de esos formatos de imagen.

Los formatos de imagen aplicable a este método son aquellos que tienen una estructura de

descomposición de plano de bit (bit-plane) y tienen compresión de datos, esos formatos de

imágenes incluyen EZW, SPIHT y JPEG2000, mientras el formato de video aplicable incluye 3D-

SPIHT y Motion-JPEG2000 (Parte 3 de JPEG2000) [3].

Con base en lo anterior, este trabajo presenta dos algoritmos esteganográficos, El primer algoritmo

está basado en la esteganografía BPCS implementado por Kawaguchi [1], la diferencia entre los dos

métodos es el uso de la varianza como una medida de complejidad. Este método provee una

efectiva capacidad de almacenamiento. Alrededor del 30% de la cubierta puede ser reemplazada

con datos secretos, permitiendo obtener baja ocurrencia de artefactos visuales en la imagen.

El segundo algoritmo es una propuesta de utilizar la esteganografía BPCS en la transformada

Wavelet específicamente se usa la transformada entera, este método permite ocultar 30% de la

imagen original, sobre un canal seguro.

En un canal inseguro en este sistema esteganográfico integrar un código detector y corrector de

errores dentro de la cubierta, para obtener mayor robustez de los datos, sin embargo al aumentar la

robustez disminuye la capacidad de inserción.

Page 16: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 1 Introducción

5

1.2. Planteamiento del problema

La esteganografía BPCS es considerada como un algoritmo esteganográfico en dominio espacial

que se ha aplicado con éxito en audio digitales, estéreos y mono [3]. Esta técnica ha demostrado ser

muy efectiva en ocultar datos en muchas clases de archivos simulados incluyendo imágenes con

escala de gris de 8-bits, imágenes de 24-bits del color real de las imágenes de color puestas en un

índice 8-bits [3].

Las ventajas del uso de la esteganografía BPCS a la esteganografía tradicional es el alto porcentaje

para sustituir datos secretos en la cubierta, considerando bajos artefactos visuales [3]. Estos

sistemas son más sencillos de aplicar y son comúnmente usados para ocultar información, sin

embargo, la desventaja que tienen es que existen actualmente herramientas esteganográficas en

Internet que permiten detectar y extraer fácilmente la información en cualquier plano de bit [1].

Para la esteganografía BPCS, al igual que otros métodos de esteganografía basados en planos de

bits o bien implementados en el dominio del tiempo, tienen que enfrentar el problema de la

compresión con pérdidas en la imagen, ya que pueden fácilmente conducir a la destrucción de la

información insertada. Esto es un problema crítico debido a que muchos archivos se almacenan y

transmiten a través de canales inseguros como es el Internet en formatos de compresión con

pérdidas.

Actualmente el asunto de robustez en los datos ocultos se ha puesto más atención, creando así

algoritmos esteganográficos que se basan en esquemas de compresión como es JPEG2000, EZW y

SPITH [3],[4], sin embargo, estos métodos están limitados solo a la robustez del esquema utilizado,

de tal forma que si se aplica otro esquema de compresión como es JPEG, estos métodos dejan de

ser robustos.

1.3 Objetivo

El objetivo de esta investigación se orienta a implementar un algoritmo esteganográfico basado en

la esteganografía BPCS y proponer un algoritmo bajo el dominio Wavelet, que permita utilizar

técnicas de planos de bits en los coeficientes de la Transformada Wavelet.

Page 17: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 1 Introducción

6

Ocultar gran capacidad de información en el algoritmo basado en dominio Wavelet y obtener buena

calidad en la imagen, considerando una comunicación de canal seguro.

Realizar un método esteganográfico que permita eliminar problemas de compresión que enfrentan

los algoritmos en el dominio espacial y otros algoritmos en el dominio de la frecuencia donde su

robustez está limitada solo en el esquema de compresión utilizada.

1.4 Justificación

Han sido pocas las técnicas esteganográficas que consideran la compresión de archivos aplicables a

imágenes comprimidas [3].

Kataoka [3], presentó en 1989 un método de inserción de información en la trasformada discreta

coseno adaptiva, (Adaptive Discrete Cosine Transform, ADCT) y Kobayashi [3], presentó un

método de inserción en las tramas de bits JPEG, sin embargo la capacidad de inserción ((El tamaño

de los datos insertados) /(tamaño del archivo de la imagen comprimida)), es bastante limitado:

alrededor del 6% para el primer método y alrededor del 2% para el segundo método, Chung [2],

presentó un sistema de inserción en imágenes basado en la descomposición de valores singulares

(SVD), vectores de cuantización (VQ), sin embargo solamente es efectiva para insertar pocos datos

en la imagen cubierta[ 3].

El interés de realizar este trabajo es hacer un análisis de los algoritmos esteganográficos basado en

ambos dominios como una búsqueda de alternativas para robustecer los algoritmos existentes a fin

de reducir las amenazas a las que está expuesta la información, con ello se logrará la

implementación de mejores algoritmos que permitan un mayor desempeño en los factores de

imperceptibilidad, capacidad del mensaje y recuperación del mismo.

La implementación de nuevos algoritmos esteganográficos en el dominio de la frecuencia permite

que la información sea más segura, debido a que actualmente existen programas esteganográficos

que pueden extraer fácilmente la información oculta en los métodos esteganográficos basados en el

dominio espacial.

El método de reemplazar en los LSB en el dominio de Wavelet se desempeña mejor que el

correspondiente al dominio espacial debido a que los Wavelet se asimilan al sistema visual humano

(HVS). El modelo del HVS apunta diferentes insensibilidades entre diferentes niveles de

Page 18: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 1 Introducción

7

subbandas. Entre más bajo sea el nivel de las subbandas, más insensible es el HVS. En el mismo

nivel, la subbanda HH es la menos sensible, las subbandas HL y LH le siguen, y la subbanda LL es

la más sensible. Más insensible para el HVS significa que más datos pueden insertarse sin causar

artefactos visibles [5]

1.5 Metas

En esta tesis se definen las siguientes metas por alcanzar:

Analizar algoritmos esteganográficos basados en las técnicas de planos de bits y en el

dominio Wavelet.

Presentar una implementación de un algoritmo esteganográfico basado en BPCS

Integrar la esteganografía BPCS en el dominio Wavelet a través de la IWT.

Desarrollar un algoritmo robusto frente a los ataques de compresión a través de la

integración de un código detector y corrector de errores en el esteganograma.

Analizar y evaluar ambos algoritmos.

1.6 Organización de la tesis

La tesis consiste de 7 capítulos, y está organizada de la siguiente manera; En el capítulo 1 se

menciona la introducción, objetivo, justificación y metas a alcanzar en esta tesis. En el capítulo 2 se

muestra el estado del arte de la estenografía, donde se hace una reseña histórica de la

esteganografía y las diversas técnicas existentes. El capítulo 3 presenta una descripción de

algoritmos basados en el dominio del tiempo, usando técnicas de planos de Bits, así como se

describirá el algoritmo esteganográfico BPCS propuesto por Kawaguchi [1].

En el capítulo 4 se mencionará el estado del arte del dominio Wavelet, en el cual se hace una

introducción al dominio Wavelet así como los tipos de Wavelet existentes, sus principales

aplicaciones y se describe algunos sistemas esteganográficos que están basados en el dominio

Wavelet. En el capítulo 5 se presentan dos sistemas, el primero de ellos es una implementación de

una propuesta hecha por Kawaguchi pero integrando al algoritmo una diferente medida de

complejidad a través de la obtención de la varianza, el segundo sistema es un algoritmo propuesto

que hace uso de las técnicas de planos de bits en la Transformada Entera Wavelet. En el capitulo 6

se presentan las pruebas y resultados obtenidos de los dos sistemas, así como su comparación. En

Page 19: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 1 Introducción

8

el capitulo 7 se presentan las conclusiones generales a las que se han llegado en la elaboración de

esta tesis.

1.7 Conclusiones

En este capítulo se presentó un panorama general, de lo que es esteganografía y algunos técnicas

aplicadas en la actualidad, se hace una descripción de la organización de la tesis, en la cual se

describe el desarrollo de diversos temas de los siete capítulos contemplados en esta investigación,

como es el hacer un estudio detallado sobre la esteganografía, introducir un algoritmo

esteganográfico BPCS y combinación de la Transformada Wavelet.

1.8 Referencias

[1] S. Katzenbeisser, F.A.P. Petitcolas, “Information Hiding Techniques for Steganography and

Digital Watermarking“, Artech House 2000.

[2] Nozaki, K. “A Model of Anonymous Covert Internet Mailing System Using Steganography”,

Proceedings of Pacific Rim Workshop on Digital Steganography 2002, pp. 7-10, 2002.

[3] J. Spaulding, H. Noda, M. N Shirazi, E. Kawaguchi.” BPCS Steganography using EZW Lossy

compressed images”, Pattern Recognition , Vol. 23, pp. 1579-1587, 2002.

[4] H. Noda, J. Spaulding, Shirazi, M., Niimi, M. and E. Kawaguchi., “BPCS Steganography

Combined with JPEG2000 Compression”, Proceedings of Pacific Rim Workshop on Digital

Steganography 2002, pp. 98-107, 2002.

[5] G. Xuan, Y. Q. Shi2, Z. C. Ni2, J. Chen, C. Yang, Yizhan Zhen, J. Zheng, “High capacity

lossless data hiding based on integer Wavelet transform”, Proceedings of ISCAS 2004, Vol 2, pp.

29-32, 2004.

Page 20: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

CAPITULO 2 MARCO TEÓRICO

Contenido del capítulo

2.1 Introducción.

2.2 Reseña histórica de la esteganografía.

2.3 Técnicas de protección de la información.

2.4 Principios de la esteganografía.

2.5 Tipos de protocolos esteganográficos.

2.5.1 Esteganografía pura

2.5.2 Esteganografía de llave privada

2.5.3 Esteganografía de llave pública

2.6 Definición de la esteganografía.

2.6.1 Técnicas esteganográficas.

2.6.1.1 Sistemas en el dominio espacial

2.6.1.2 Sistemas de sustitución y herramientas plano-bit (Bit-Plane)

2.6.2 Sistemas en el dominio de la frecuencia.

2.6.2.1 Esteganografía bajo el esquema de compresión JPEG

2.7 Seguridad de los sistemas esteganográficos

2.7.1 Atacantes pasivos

2.7.2 Atacantes Activos y maliciosos

2.7.3 Esteganografía robusta

2.8 Esteganoanálisis

2.8.1 Detección de la información oculta

2.8.2 Extracción

2.8.3 Inhabilitación de la información oculta

2.9 Aplicaciones de la esteganografía.

2.10 Conclusiones

2.11 Referencias

Page 21: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

10

2.1 Introducción

Con el rápido crecimiento de las Tecnologías de la Información (TI) y las telecomunicaciones, se

han abierto cada vez más las zonas vulnerables para una empresa y sus datos. Todos los

documentos de una empresa necesitan una protección fiable para mantener su privacidad y

confidencialidad.

La Internet aparte de ser un medio de comunicación eficiente es también una herramienta para que

la información se vuelva vulnerable a cualquier ataque, sin embargo, la gran cantidad de

información transmitida permite ver un escenario en donde surge la necesidad de crear sofisticados

algoritmos esteganográficos para proteger la información.

Aunque fue aplicada desde épocas antiguas para ocultar información, la esteganografía es una

técnica que emerge para que la información alcance mejores niveles de seguridad [1].

Informalmente la esteganografía se refiere a la práctica de ocultar mensajes secretos en

comunicaciones sobre un canal público, de modo que los atacantes no estén enterados de la

existencia de un mensaje, esta técnica utiliza un contenedor o recipiente que puede ser una imagen

digital, un archivo de audio o de video, donde una vez que los datos han sido ocultados, la

información puede ser transferida a través de medios de comunicación inseguros. En este capítulo

se presenta el marco teórico, que incluye la descripción detallada de la esteganografía, considerando

de esta manera mencionar sus orígenes, algunas definiciones conceptuales descritas por varios

autores, así como la descripción de 3 protocolos esteganográficos, también se considera en este

capítulo mencionar las diversas técnicas esteganográficas existentes, como son la aplicación de la

esteganografía en el dominio espacial y en el dominio de la frecuencia. A lo largo de este capítulo

se mencionan también los riesgos y amenazas a las que están expuestos estos algoritmos, frente

atacantes activos y pasivos.

2.2 Reseña histórica de la esteganografía

La idea y la práctica del intercambio de información se remonta desde épocas antiguas, y la

necesidad de proteger la información emerge de la misma manera, para ello se crean métodos como

es la esteganografía. Posiblemente en la antigua Grecia se dan las primeras manifestaciones en el

uso de diversas técnicas.

El ejemplo más famoso en la aplicación de la esteganografía se remonta a la antigüedad. Se habla

de que Herodoto solía rasurar la cabeza de su esclavo de mayor confiabilidad y tatuaba sobre esta

un mensaje, el cual dejaba de verse una vez que el pelo le crecía y entonces lo enviaba a donde

Page 22: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

11

deseaba que se recibiera el mensaje. Este método se llegó a utilizar por espías Alemanes a

principios del siglo XX.

Otro antecedente de esta técnica es la que llegaron a utilizar en la antigua Persia, en donde se

grababan mensajes sobre la madera de una tabla para escribir y estos los rellenaban con cera,

quedando totalmente blancos sin que se pudiera leer el mensaje.

En la arquitectura se encuentran otros ejemplos, desde el siglo XVI los artistas identificaron que la

escultura o la pintura se ve diferente desde distintos ángulos, y entonces se establecieron reglas

sobre la perspectiva y la anamorfosis, de esta forma imágenes amorfas se convirtieron en una

excelente instrumento para camuflaje de documentos políticos peligrosos o bien ideas herejes.

Un amplio uso de la esteganografía lingüística son los acrósticos, un ejemplo de ello es la escritura

de una carta anónima a una mujer, en donde la primera letra de un largo texto revelaba el amor entre

la mujer y un monje, de igual forma los textos en los cuales la primera letra de cada renglón

correspondía al soneto de un poema.

De esta forma, a partir del siglo XVI se incrementó el uso de la esteganografía en la literatura, y

muchos de los métodos dependían del significado de las novelas y la información codificada.

Una mejora en esta técnica se dio cuando en la China desarrollaron un protocolo de seguridad que

consistía en que el emisor y el receptor de un documento tenían una plantilla con un número de

orificios ubicados aleatoriamente, de esta forma el emisor ponía su plantilla en el papel y escribía el

mensaje real, después quitaba la plantilla y escribía un texto que incluía las letras del mensaje

oculto. De esta forma el receptor solo tenía que sobreponer la platilla y podía leer el mensaje oculto.

Las nuevas tecnologías y aplicaciones, llevan también nuevas amenazas por lo que se deben buscar

nuevos mecanismos de protección. La criptografía se volvió importante cuando se comenzaron a

utilizar los sistemas de red de cómputo, por lo que actualmente es uno de los temas más importantes

en investigación de seguridad para ocultar información.

De esta forma, los tópicos de investigación en este tema han crecido de manera muy importante, de

tal forma que la investigación realizada en los últimos 9 años (1995-2004), supera la que se hizo en

criptología entre 1945 y 1990 [1] .

Hasta antes de 1995, las técnicas para ocultar información tuvieron mucho menos atención por parte

de la comunidad de investigadores y de la industria de la criptografía. Esta situación cambió

rápidamente y en 1996 se organizó la primera conferencia académica para abordar este tema.

Page 23: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

12

2.3 Técnicas de protección de la información

Entre las principales subdisciplinas para ocultar información descritas por Stefan Katzenbeisser se

encuentran las siguientes [1]:

• Covert Channel (Canales Encubiertos): Esta subdisciplina ha sido definida como “Rutas de

Comunicación”, que no fueron exactamente diseñadas para transferir información, sino que estas

rutas o canales eran usados por programas no confiables para proporcionar información a sus

usuarios.

• Anonymity (Anonimato): Esta se utilizaba para encontrar formas de ocultar el contenido de

mensajes, por ejemplo, se reenviaban mensajes anónimos con el fin de oscurecer el rastro del

mensaje con un número de reenvíos tan largo que los intermediarios no podían atacar el mensaje.

Utilizando diferentes variantes, ya sea utilizando el anonimato en el que enviaba, el que recibía o en

ambos.

• Steganography (Escritura Cubierta): Esta subdisciplina es una moderna adaptación de la

esteganografía utilizada entre 1462 y 1516, cuya raíz griega significa literalmente “Escritura

Cubierta”, un ejemplo a citar es el envío de mensajes a un espía marcando ciertas letras en un

periódico utilizando tinta invisible.

• Watermarking (Marcas de Agua): Al contrario de la esteganografía, tiene un requerimiento

adicional de robustez contra posibles ataques en donde se trata principalmente de hacer que la

marca sea indetectable; sin embargo, las marcas de agua no siempre necesitan ocultarse, ya que

algunos sistemas utilizan marcas de agua digitales visibles.

Es importante señalar que existe una diferencia importante entre la esteganografía y las marcas de

agua, mientras que la información ocultada por las marcas de agua siempre se asocia con el objeto

digital que se va a proteger o a su dueño; la esteganografía solo oculta información. Por otra parte

los criterios de robustez son también diferentes, ya que en tanto la esteganografía está

principalmente relacionada con la detección de mensajes ocultos, las marcas de agua se orientan a la

protección del copiado y borrado por un pirata.

El objetivo del marcado digital no es evitar un uso indebido de los datos, sino poder detectarlo. La

inserción de marcas de agua está muy relacionada con la esteganografía, la principal diferencia es el

uso que se le da a ambas técnicas.

La información que se oculta usando esteganografía no está relacionada con su “cubierta” (la señal

donde está escondida) mientras que una marca de agua puede considerarse como un atributo del

Page 24: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

13

contenido de la señal donde es insertada, brindando información adicional sobre ésta. En la

esteganografía no importa la robustez de la señal insertada, mientras que en las marcas de agua se

considera fundamental que la marca no se pierda aún después de distintos procesamientos que

pudieran hacérsele a los datos.

La figura 2.1 muestra la forma en que la esteganografía puede ser analizada en diversas áreas como

son los derechos de copia en las marcas de aguas, donde el mensaje a insertar es utilizado para

confirmar los derechos de copiado sobre un documento y su aplicación en las técnicas de huella

dactilar [2].

Figura 2.1 Tipos de esteganografía de acuerdo a la aplicación.

La esteganografía y el cifrado, son utilizadas para asegurar datos confidenciales, de cualquier forma

y como se ha mencionado antes, la diferencia principal entre ellas es que con la encriptación

cualquiera puede ver que existen dos partes que se están comunicando en secreto, en tanto la

esteganografía oculta la existencia de un mensaje secreto y en el mejor de los casos nadie puede

notar la existencia de dos partes que se están comunicando en secreto [3].

Esto hace a la Esteganografía conveniente para ciertos casos en los que el cifrado no es suficiente,

tal como en las marcas de derechos de autor. La adición de información cifrada en un archivo

podría ser fácil de quitar, pero insertándolo dentro de contenidos del mismo archivo puede prevenir

que sea fácilmente identificada y borrada.

La tabla 1 muestra una comparación de las diferentes técnicas para la comunicación secreta. El

cifrado permite asegurar la información requiriendo una clave para poder leer la información. Un

Page 25: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

14

atacante no puede eliminar el cifrado, pero es relativamente fácil modificar el archivo, haciéndolo

ilegible para el recipiente previsto. La esteganografía proporciona medios de comunicación secreta

en la que no se pueden eliminar los contenidos sin alterar significativamente los datos en donde la

información está insertada. Los datos embebidos serán confidenciales al menos que un atacante

pueda encontrar alguna forma de detectarlos [2].

Técnicas de ocultamiento

Confidencialidad Integridad Inborrabilidad

Cifrado Sì No Sí

Firmas Digitales No Sí No

Esteganografía Sí/No Sí/No Sí Tabla 2.1 Comparación de Técnicas de comunicación secreta [5].

2.4 Principios de la esteganografía

El modelo clásico para comunicación invisible fue propuesto en principio por Simón [4], como el

problema de los prisioneros, en el cual se describe como: dos prisioneros son arrestados por algún

crimen, sus nombres son Alice y Bob y son encarcelados en dos celdas diferentes. Ellos quieren

desarrollar un plan de escape pero desafortunadamente cualquier tipo de comunicación entre ellos

será vigilada por una policía llamada Wendy y ella no les permitirá comunicarse a través de

mensajes cifrados y si ella nota cualquier comunicación sospechosa los confinará a una celda

solitaria y cancelará cualquier intercambio de mensajes.

Por este motivo ambas partes deberán hacer invisible su comunicación para no levantar ninguna

sospecha de Wendy, por lo que deberán crear una ruta subliminal de comunicación. Una forma

práctica de hacerlo es ocultar el significado de la información en un mensaje aparentemente

inocente.

Por ejemplo, Bob podría crear un retrato de una vaca azul acostada sobre un pastizal y enviar esta

pieza a Alice en donde Wendy no tiene idea que el color de los objetos en la pintura transmite

información.

En este supuesto se parte de la idea de que tanto Alice como Bob tienen acceso a un sistema de

cómputo en su celda y tienen oportunidad de cambiar mensajes en diferentes formatos, texto,

imagen digital, sonido digital

Desafortunadamente existen otros problemas que dificultarán el escape de Alice y Bob, por

ejemplo, Wendy puede alterar o impedir el mensaje que Bob le ha mandado a Alice. Ella podría

Page 26: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

15

cambiar el color de la vaca de Bob a rojo y así destruir la información, aún peor, si actuara en forma

maliciosa podría falsificar un mensaje y enviarlo a uno de los dos criminales pretendiendo ser uno

de ellos, como se muestra en la figura 2.2

Figura.2.2 Modelo esteganográfico describiendo el problema de los prisioneros [1].

Este modelo es generalmente aplicable en situaciones de comunicación invisible o

esteganográficas, donde Alice y Bob representan dos partes de la comunicación deseando

intercambiar información invisible secreta. Así mismo, Wendy representa un tercer sujeto con

posibilidad de leer y posiblemente alterar los mensajes enviados entre los dos compañeros.

2.5 Tipos de protocolos esteganográficos.

Muchas aplicaciones de la esteganografía siguen un principio general y es mostrado en la figura 2.3.

Alice, quien quiere compartir un mensaje secreto m con Bob, selecciona aleatoriamente (usando la

fuente aleatoria privada r) un mensaje inofensivo c llamado el objeto-cubierta el cual puede

transmitirse a Bob sin levantar sospecha, e inserta el mensaje secreto en c probablemente mediante

el uso de una llave k , llamada estego- llave. Alice, por lo tanto, cambia la cubierta c en un estego-

objeto s esto debe hacerse de manera muy cuidadosa, de tal forma que un tercero, conociendo

solamente al aparente mensaje inofensivo, no pueda detectar la existencia del secreto. En un sistema

“perfecto”, una cubierta normal no debe ser distinguible del estego-objeto tampoco por una

persona, ni tampoco por una computadora que busca un patrón estadístico. Teóricamente las

cubiertas pueden ser cualquier tipo de datos entendibles por una computadora, tales como archivos

de imagen, sonido digital, o texto escrito.

Page 27: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

16

Figura 2.3. Descripción esquemática de la esteganografía: Alice aleatoriamente escoge una cubierta c usando una fuente

aleatoria privada r y un mensaje oculto m en c usando una llave k, creando el estego-objeto s que ella pasa a Bob. Bob

reconstruye m con la llave k que comparte con Alice.

Alice transmite por un canal inseguro a Bob y espera que Wendy no note el mensaje insertado. Bob

puede reconstruir el mensaje m debido a que él conoce el método de inserción utilizado por Alice y

tiene acceso a la llave k utilizado en el proceso de inserción. Este proceso de extracción debe ser

posible sin la cubierta original c.

Una tercera persona observando la comunicación no debe ser capaz de decidir si el emisor es activo,

en el sentido que puede enviar cubiertas que contienen mensajes secretos, en lugar de cubiertas sin

información adicional. De manera más formal, si un observador tiene acceso al conjunto

{ }nccc ......., 21 de objetos cubierta transmitidos entre ambos participantes de la comunicación, él

debe ser incapaz de decidir cuáles objetos cubierta ic contienen información secreta. Entonces la

seguridad de la comunicación invisible yace principalmente en la incapacidad de distinguir objetos-

cubierta de los estego objetos.

En la práctica no todos los datos pueden ser utilizados como cubiertas para la comunicación secreta

debido a que las comunicaciones empleadas en el proceso de inserción no deben ser visibles para

alguien no involucrado en el proceso de comunicación.

Este hecho requiere que la cubierta contenga suficientes datos, los cuales pueden ser reemplazados

por información secreta. Como ejemplo, debido a errores de medición cualquier dato resultado de

algún proceso de escaneo físico, contendrá un componente estocástico llamado ruido, tales

artefactos aleatorios pueden utilizarse para el envío de información secreta. De hecho, se tiene que

Page 28: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

17

los datos ruidosos tienen propiedades más ventajosas en la mayoría de aplicaciones

esteganográficas. Una cubierta no debe ser utilizada 2 veces debido a que un atacante, tiene acceso

a las 2 versiones de la cubierta y puede fácilmente detectar y posiblemente recuperar el mensaje.

Para evitar el rehúso accidental, tanto el emisor como el receptor deben destruir todas las cubiertas

que han utilizado para la transferencia de información.

Existen 3 tipos de protocolos esteganográficos.

• Esteganografía pura

• Esteganografía de llave privada

• Esteganografía de llave pública

La última está basada en los principios de la criptografía de llave pública.

2.5.1 Esteganografía pura

La esteganografía pura es un sistema el cual no requiere de un previo intercambio de información

(tal como una estego-llave), formalmente el proceso de ocultamiento puede ser descrito mapeando

CMCE →×: , donde C es un conjunto de posibles cubiertas y M un conjunto de posibles

mensajes [1]. El proceso de extracción consiste de un mapeo MCD →: , extrayendo el mensaje

secreto de la cubierta. Es necesario que ambos, remitente y receptor deban tener acceso al

algoritmo para el ocultamiento y extracción de información.

Definición de la esteganografía pura

Sea EDMC ,.,=∂ , donde C es un conjunto de posibles cubiertas, y M es el conjunto de posibles

mensajes secretos con MC ≥ , CMCE →×: , la función de ocultamiento y MCD →: , la

función de extracción, con la propiedad mmcED =)),(( , para toda Mm ∈ y Cc ∈ es llamado

esteganografía pura [1].

En la mayoría de los sistemas esteganográficos el conjunto de C es elegido para mensajes

significativos y al parecer inofensivos (tal como el conjunto imágenes digitales significativas). Las

dos partes de la comunicación podrían permitir el intercambio sin levantar suspicacia. El proceso

de ocultamiento es definido de manera que una cubierta y un correspondiente estego-objeto sea

perceptualmente similar, por ejemplo, en el caso de imágenes o sonido digital la correlación entre

dos señales puede ser usada como una función de similitud.

Page 29: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

18

Algunos métodos esteganográficos combinan la criptografía con la esteganografía, por ejemplo, el

remitente cifra el mensaje secreto antes del proceso de ocultamiento, tal combinación incrementa la

seguridad en todos los procesos de comunicación porque es más difícil para un atacante detectar

texto cifrado ocultado en la cubierta (ya que tiene un aspecto aleatorio).

2.5.2 La esteganografía de llave privada.

Con pura esteganografía ninguna información (aparte de las funciones E y D) son requeridas para

empezar el proceso de comunicación; el sistema de seguridad así depende enteramente de su

secreto, esto no es muy seguro en la práctica por que se podría asumir que Wendy conoce el

algoritmo que usa Alice y Bob para transferir información. En teoría ella puede extraer la

información de cada cubierta enviada entre Alice y Bob. La seguridad de un sistema

esteganográfico debería confiar así en la información secreta tratada por Alice, Bob y una estego-

llave. Sin el conocimiento de esta llave, nadie debe poder extraer la información secreta una vez

fuera de la cubierta.

Una llave secreta en un sistema esteganográfico es similar al cifrado simétrico, donde el remitente

escoge una cubierta c y oculta el mensaje secreto usando una llave secreta k; si la llave usada al

ocultar la información es conocida por el receptor, él puede en el proceso inverso extraer el mensaje

secreto. Ninguna persona que no conoce la llave secreta podría obtener evidencia de la información

codificada.

La esteganografía de llave secreta requiere de un intercambio de una llave, aunque la transmisión de

una información adicional secreta subvierte la intención original de una visible comunicación.

Como en la criptografía, se podría asumir que todas las partes de la comunicación pueden permitir

negociar llaves secretas a través de un canal seguro. Alice y Bob podrían estar de acuerdo con una

estego-llave antes de ser encarcelados

2.5.3 Esteganografía de llave pública

Como en la criptografía de llave pública, la esteganografía de llave pública no confía en el

intercambio de una llave secreta. Los sistemas esteganográficos de llave pública requieren el uso de

dos llaves, una privada y una pública. Mientras que la llave pública es usada cuando se realiza el

proceso de ocultamiento de la información, la llave secreta o privada es usada para reconstruir el

mensaje secreto. Un camino para construir un sistema de llave pública es el uso de criptosistemas de

llave pública. Se podría asumir que Alice y Bob pueden intercambiar llaves públicas de algún

Page 30: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

19

algoritmo criptográfico de llave pública antes del encarcelamiento. Esteganografía de llave pública

utiliza el hecho de que la función de decodificación D en un sistema esteganográfico puede ser

aplicado a cualquier cubierta c, sea o no que contiene un mensaje secreto (recordar que D es una

función de un conjunto entero C).

Existen muchos protocolos diferentes y técnicas de inserción de información que nos permiten

ocultar datos en un objeto determinado, sin embargo, todos los protocolos y técnicas deben

satisfacer un número de requerimientos para que la esteganografía se pueda aplicar correctamente,

para lo cual se presentan los principales requerimientos que las técnicas esteganográficas deben

satisfacer:

• La integridad de la información oculta después de que ha sido insertada dentro del estego-

objeto debe ser correcta, el mensaje secreto no debe cambiar de ninguna forma tal como

agregar información adicional, pérdida de información o cambios en la información secreta

después de haber sido oculta.

Si la información secreta es modificada durante el proceso esteganográfico, esto haría

fracasar por completo el proceso.

• El estego objeto debe mantenerse sin modificaciones o casi sin modificaciones perceptibles

al ojo humano, si el estego objeto cambia significativamente y esto se pudiera notar, una

tercera persona puede ver que hay información que ha sido ocultada y por lo tanto podría

intentar extraerla o destruirla.

• En las marcas de agua los cambios en el estego objeto no deben tener efecto sobre la

marca de agua, si uno tuviera una copia ilegal de una imagen que se quisiera manipular en

varias formas, esta manipulación puede ser un simple proceso tal como, modificar el

tamaño, ajustar o rotar la imagen; la marca de agua dentro de la imagen debe soportar estas

manipulaciones, de otra forma un atacante podrá quitar fácilmente la marca de agua y no

se cumplirá el objetivo de esteganografía.

• Finalmente, siempre se debe asumir que los atacantes conocen que podría haber

información oculta dentro de cualquier cubierta

2.6 Definición de la esteganografía

El desarrollo de la informática e Internet ha supuesto el marco perfecto para que la esteganografía

tenga un mayor auge. Los avances en computación nos proporcionan medios para calcular

Page 31: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

20

rápidamente los cambios necesarios en la ocultación de un mensaje, e Internet proporciona los

medios necesarios para transportar grandes cantidades de información a cualquier punto del mundo.

La esteganografía actual se basa en esconder datos binarios en los bits redundantes que supone un

fichero. Los bits que componen el mensaje a ocultar se introducen (bien sea añadiéndolos, o

realizando operaciones aritméticas con los originales) en el fichero ya existente, procurando que el

fichero resultante después de realizar los cambios parezca el original.

La moderna adaptación de la esteganografía que hizo (Trithemius, 1462-1516) de la palabra

esteganografía como una derivación de la palabra en Griego στεγανο ( cubierto) y

γραφσυ ( graphos, escritura) traducido significa “escritura encubierta” y se refiere al arte o técnica

que oculta mensajes secretos en canales para encubrir la información y prevenir la detección del

mensaje oculto [1]

La esteganografia es el arte de encubrir información específica dentro de un canal que parezca

inocuo [5].

Hoy, el esteganografía refiere a la información que se oculta en archivos digitales que pueden ser

audio, video, imágenes, etc [6].

Esteganografía es el conjunto de técnicas que nos permiten ocultar o camuflar cualquier tipo de

datos [7].

La esteganografía utiliza un medio digital como archivos de texto, audio, imagen y video que son

utilizados como un archivo de transporte, para ocultar la información, a este medio se le conoce

como contenedor o cubierta y tiene la característica de que sea un contenedor inocente para no

despertar ninguna sospecha; de igual manera el mensaje secreto o la información a ocultar puede

ser cualquier medio digital descrito anteriormente. Cuando el mensaje secreto es ocultado en el

contenedor a través de una técnica esteganográfica se obtiene un esteganograma que contendrá el

mensaje oculto en el archivo de transporte o cubierta, este proceso es descrito en la figura 2.4 el

cual muestra el contenedor y el mensaje secreto que puede o no hacer uso de técnicas de cifrado

para darle una mayor protección a la información, una vez que los datos han sido ocultados, la

información puede ser transferida a través de medios de comunicación inseguros, en el canal

Page 32: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

21

ninguna persona sabe la existencia del mensaje, sin embargo, está expuesta a cualquier ataque;

finalmente, para recuperar el mensaje secreto se aplica el proceso inverso.

canalcanalcontenedorcontenedor esteganogramaesteganograma esteganogramaesteganograma contenedorcontenedor

MensajeMensajeMensajeMensaje

canalcanalcontenedorcontenedor esteganogramaesteganograma esteganogramaesteganograma contenedorcontenedor

MensajeMensajeMensajeMensaje

Figura.2.4 Proceso esteganográfico.

2.6.1 Técnicas esteganográficas

Durante los últimos años se han propuesto diferentes métodos de esteganografía la mayoría de ellos

se pueden ver como sistemas de sustitución, estos métodos tratan de sustituir las partes redundantes

de una señal con un mensaje secreto, su principal desventaja es la relativa debilidad contra

modificaciones de la cubierta

Dentro de la esteganografía se encuentran muchos métodos de escritura encubierta, desde

microfilmes, tinta especial y arreglos de caracteres, permutaciones, sustituciones, firmas digitales,

canales encubiertos

Recientemente el desarrollo de nuevas técnicas robustas de marcas de agua dirige los avances a la

construcción de sistemas esteganográficos robustos y seguros. De esta forma existen varias

aproximaciones en la clasificación de sistemas esteganográficos las cuales se pueden clasificar de

acuerdo al tipo de cubierta

Existen varias formas de clasificar los sistemas esteganográficos, se pueden dividir de acuerdo al

tipo de cubierta utilizada para la comunicación secreta, o bien clasificar de acuerdo a las

modificaciones aplicadas a la cubierta en el proceso de inclusión.

La clasificación de acuerdo a las modificaciones aplicadas a la cubierta, se agrupa en seis

categorías [1]:

Page 33: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

22

• Sistemas de sustitución. En donde se sustituyen las partes redundantes de una cubierta, por

un mensaje secreto.

• Técnicas en el dominio de la transformada. Inserta la información secreta en un espacio

transformado de la señal, por ejemplo DCT, DFT.

• Técnicas de espectro disperso. En donde se adoptan ideas de la comunicación de amplio

espectro.

• Método estadístico. Esta técnica codifica información cambiando varias propiedades

estadísticas de la cubierta, y utiliza pruebas de hipótesis en el proceso de extracción.

• Técnicas de distorsión. Almacenan información por distorsión de señales y miden la

desviación de la cubierta original en el paso de la codificación.

• Métodos de generación de cubierta. Codifican información de tal forma que se crea una

cubierta para comunicación secreta.

2.6.1.1 Sistemas en el dominio espacial

El sistema matricial de coordenadas de una imagen es lo que se denomina dominio espacial, sin

embargo, la misma imagen puede ser considerada, como una función no periódica y definirse en

otro espacio bidimensional, cuyos ejes vengan determinados por la amplitud y la frecuencia para

cada dirección de la imagen. Este nuevo espacio de referencia para la descripción de la imagen se

conoce como dominio de la frecuencia. En la aplicación de la esteganografía en el dominio espacial,

los algoritmos son usados para la manipulación de los píxeles y la inserción de datos secretos en los

bits menos significantes o bien de mayor redundancia; en el dominio de la frecuencia está

asociada a los cambios de las frecuencias altas y bajas de la imagen, de ello bajas frecuencias en la

imagen son producidas por los cambios graduales en el brillo de la imagen, sin embargo, las altas

frecuencias como los bordes, las líneas y ciertos tipos de ruido son usados para ocultar mensajes

secretos.

2.6.1.2 Sistemas de sustitución y herramientas plano-bit (Bit-Plane)

Existen muchos métodos para ocultar información en varios medios, este método va desde la

codificación LSB (Low Significative Bit), plano de bit (bit-plane) o herramientas de inserción de

ruido, manipulación de imagen o algoritmos de compresión para modificar las propiedades de la

imagen tales como su luminancia.

Los sistemas básicos de sustitución tratan de ocultar información secreta sustituyendo partes

insignificantes de la cubierta con bits del mensaje secreto; el receptor puede extraer la información

Page 34: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

23

si conoce la posición donde la información secreta ha sido insertada, como solo se han hecho

modificaciones mínimas en el proceso de inclusión el emisor asume que estas no serán notadas por

un atacante pasivo.

Las herramientas bit-Plane abarcan métodos que aplican inserción y manipulación del ruido usando

LSB, estas son técnicas comunes en la esteganografía y son relativamente fáciles de aplicarse en

imágenes y audio. El uso de estos métodos permite ocultar una gran cantidad de información sin

ningún impacto perceptible en la imagen o en la encubierta.

2.6.2 Sistemas en el dominio de la frecuencia

Las técnicas de modificación LSB son una manera fácil para insertar información pero también son

altamente vulnerables a pequeñas modificaciones en la cubierta, un atacante puede simplemente

aplicar técnicas de procesamiento de señales a fin de destruir completamente la información secreta,

en muchos casos usando un sistema de pérdida de compresión produce la pérdida total de la

información.

Recientemente se ha notado en el sistema de desarrollo de esteganografía que, insertar información

en el dominio de frecuencia de una señal puede ser mucho más robusto que insertar información en

el dominio del tiempo, los sistemas robustos de esteganografía más conocidos actualmente,

realmente operan en alguna clase de dominio de la transformada.

Los métodos de transformación de dominio que ocultan mensajes en áreas significativas de la

imagen contenedora lo hacen más robustos ante ataques, tales como compresión, recortamiento o

algún procesamiento de imagen que la técnica de LSB que sustituye en bits menos significativos, de

esta forma mientras ellos son más robustos a varios tipos de procesamiento de señales, los hace

imperceptibles ante el sistema visual humano.

Existen variaciones de transformación de dominio, la transformación puede ser aplicada sobre la

imagen entera, por bloques de la imagen o en otras variaciones, un método es utilizar la DCT

(Discrete Cosine Transform) como una forma para insertar información en un contenedor o

cubierta; otro es el uso de la transformada Wavelet; sin embargo la compensación entre el monto de

información oculta y la robustez obtenida difiere.

Antes de describir métodos esteganográficos en el dominio de la DCT, la transformada DCT está

dada por la ecuación (2.1) y (2.2).

Page 35: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

24

( ) { } ( ) ( )∑=

⎟⎠⎞

⎜⎝⎛ +

==N

j NkjjskCsDkS

0 2)12(cos

, (2.1)

{ } ⎟⎠⎞

⎜⎝⎛ +

== ∑=

NkjjsjCSDks

N

j 2)12(cos)(

2)()(

0

1 π . (2.2)

Donde 21)( =uC si u =0 y 1)( =uC en otro caso.

En el procesamiento de imágenes digitales, la DCT en dos dimensiones está definida por las

siguientes ecuaciones (2.3) y (2.4):

( ) ( ) ( ) ( ) ( ) ( )∑∑−

=

=⎟⎠⎞

⎜⎝⎛ +

⎟⎠⎞

⎜⎝⎛ +

=1

0

1

0 212cos

212cos,2,

N

x

N

y Nyv

NxuyxsvCuC

NvuS ππ

, (2.3)

( ) ( ) ( ) ( ) ( ) ( )∑∑−

=

=⎟⎠⎞

⎜⎝⎛ +

⎟⎠⎞

⎜⎝⎛ +

=1

0

1

0 212cos

212cos,2,

N

x

N

y Nyv

NxuvuSvCuC

Nvus ππ

. (2.4)

La DCT de dos dimensiones es el corazón de los más populares sistemas de pérdidas de compresión

de imágenes usados en la actualidad. JPEG primero convierte la imagen para ser comprimida, en

tres colores YCbCr , para después romper cada plano de color en bloques de 8x8 píxeles, Después

todos los bloques son transformados en DCT. En un paso de cuantización todos los coeficientes

DCT son divididos por una predefinida cuantización de valores y redondeados al entero más

cercano (acordando para un factor de calidad, la cuantización de valores que pueden ser escalados

por una constante). El propósito de este proceso es modular la influencia de los diferentes

componentes espectrales sobre una imagen [8].

En el particular, la influencia de los coeficientes más altos de la DCT es reducida, estos son

probables para ser dominados por el ruido y no se espera que contribuyan a los detalles

significativos de la imagen. Los coeficientes DCT resultantes son comprimidos usando la

codificación entrópica (Huffman o codificación aritmética) En el paso de la decodificación JPEG

se decuantizan todos los coeficientes para luego aplicar la DCT inversa y reconstruir los datos. La

imagen reconstruida podría ser cerrada pero no idéntica a la original. [1]

Page 36: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

25

2.6.2.1 Esteganografía bajo el esquema de compresión JPEG

Una forma de aplicar la esteganografía en el dominio de la transformada es explotar el proceso de la

compresión de JPEG, el cual incluye una cuantización de coeficientes a través de la transformada

del coseno discreto DCT. La compresión de JPEG es acertada porque cambia drásticamente los

coeficientes de alta frecuencia para los cuales el ojo humano es en gran parte insensible, mientras

que altera levemente los coeficientes de frecuencia baja. Los coeficientes de bajas frecuencias son

importantes por una cerrada aproximación de la imagen original y tienden a ser representados en la

imagen comprimida. Compresión JPEG se considera pérdida en parte porque el paso de la

cuantización es una fuente de pérdida de información debido a un redondeo. El paso de

cuantización también provee una oportunidad para la esteganografía, en el cual un archivo oculto

puede ser codificado en decisión al resultado de redondeo de la cuantización arriba o abajo, por

ejemplo, JpegJpeg − es una herramienta esteganográfica que usa este método para codificar

secuencialmente el archivo secreto en los bits menos significativos de la cuantización de los

coeficientes DCT. [1]

2.7 Seguridad de los sistemas esteganográficos

La esteganografía trata de ocultar el hecho de la existencia de alguna comunicación, diferente al

objetivo de la criptografía que trata de esconder el contenido de un mensaje, sin embargo, cuando

dos partes realizan una comunicación intercambiando mensajes no clasificados, ambas partes

tienen que tomar en cuenta la presencia de atacantes pasivos, activos e inclusivo maliciosos. En

general un sistema es inseguro si un atacante puede probar la existencia de un mensaje secreto. En

el desarrollo de un modelo formal de seguridad para la esteganografía, se asume que un atacante

tiene un poder computacional ilimitado, que puede ser capaz de realizar cualquier ataque. Si el

atacante no puede confirmar su hipótesis de que un mensaje secreto está oculto, el sistema puede

considerarse teóricamente seguro.

2.7.1 Atacantes pasivos

La esteganografía abarca métodos de comunicación de tal manera que la existencia del mensaje

debe ser desapercibida, si la información oculta utiliza medios electrónicos como portadores, puede

tener alteraciones en las propiedades por lo que produce de alguna forma una degradación, en

particular, en el caso de las imágenes la degradación puede ser visible para el ojo humano.

Page 37: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

26

Un atacante pasivo, ejemplo (Wendy), debe decidir si una cubierta c enviada por Bob a Alice

contiene o no información secreta. Esta tarea puede ser formalizada como una estadística hipótesis-

prueba. Por lo tanto, Wendy define una función (2.5) de prueba { }1,0: →Cf :

⎩⎨⎧

=01

)(cf . (2.5)

Wendy usa contenedores que son enviados sobre un canal inseguro y puede clasificarlos. Es

posible que Wendy falsamente detecte un mensaje secreto en un contenedor en el cual no contiene

información oculta realizando así un error de tipo I. En algunos casos Wendy podría clasificar

correctamente el contenedor en otros casos no puede detectar que un mensaje fue oculto en el

contenedor produciendo un error de tipo II.

Existen sistemas prácticos que tratan de maximizar la probabilidad de que un atacante pasivo caiga

en el error tipo II, lo que se define como probabilidad β ; ó que caiga en el error tipo I, lo que se

define como probabilidad α , en donde el sistema ideal sería que 1=β .

2.7.2 Atacantes activos y maliciosos

Durante el diseño de un sistema esteganográfico una especial atención debe ser puesta a la presencia

de atacantes activos y maliciosos. Los atacantes activos pueden cambiar una cubierta durante el

proceso de la comunicación; Wendy puede capturar un estego-objeto enviado por Alice a Bob,

modificándolo y reenviándolo a Bob. Es una asunción general que un atacante activo no puede

cambiar la cubierta y su semántica enteramente, pero al hacer un menor cambio permite que la

original objeto-cubierta y la modificada estén visiblemente o semánticamente similar. Un atacante

es malicioso si suplanta mensajes o comienza protocolos esteganográficos bajo el nombre de alguna

parte de la comunicación.

Sistemas esteganográficos son extremadamente sensibles a las modificaciones en la cubierta, por

ejemplo, las técnicas en el procesamiento de imágenes y filtrado en el caso de sonido digital, al

tener una pérdida de compresión puede resultar una total pérdida de la información. Técnicas de

compresión intentan reducir el monto de información eliminando imperceptibles componentes y a

menudo quita información secreta que previamente ha sido embebida.

Page 38: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

27

Un atacante activo quien no puede extraer o probar la existencia de un mensaje secreto, puede

simplemente agregar ruido al azar a la cubierta transmitida para destruir la información. En el caso

de imágenes digitales un atacante podría también aplicar técnicas de procesamiento de imágenes o

convertir la imagen en algún otro tipo de formato. Por lo tanto, ante este tipo de atacantes todas

estas técnicas pueden ser peligrosas para las comunicaciones secretas. Otro requerimiento práctico

para un sistema esteganográfico, por lo tanto, es la robustez.

2.7.3 Esteganografía robusta

Otro requerimiento práctico para un sistema esteganográfico, por lo tanto, es la robustez [1]. Un

sistema se llama robusto si la información ocultada no puede ser alterada sin realizar cambios

drásticos en el estego objeto, sin embargo, usualmente los métodos esteganográficos no son

robustos contra modificaciones de datos, o tiene solamente robustez limitada y la protección de la

información oculta contra las modificaciones que pueden ocurrir durante la transmisión y el

almacenaje, como la conversión del formato, compresión así como la conversión analógica- digital.

En la presencia de un atacante malicioso, la robustez no es suficiente. Si el método secreto para

ocultar no es dependiente de cierta información compartida por el remitente y el receptor, un

atacante puede suplantar mensajes, puesto que el destinatario no puede verificar la validez de la

identidad del remitente. Es claro que no existe una relación directa entre la seguridad y la robustez,

cuanto más robusto es un sistema contra las modificaciones de la cubierta, menos seguro puede ser,

puesto que la robustez se puede alcanzar solamente por la codificación de la información

redundante que degradará la cubierta pesadamente y alterará posiblemente la distribución de la

probabilidad [1].

Muchos sistemas esteganográficos son diseñados para ser robustos específicamente contra una clase

de mapeo (compresión JPEG, filtro adición del ruido blanco). Un sistema ideal sería robusto ante

todo, sin embargo, tales sistemas son difíciles de construir y tendrían un ancho de banda muy

estrecho, debido a la robustez de la codificación, en otras palabras, un sistema es llamado débil si

para cada cubierta existe un mapeo de similitud preservada, de tal forma que la información

codificada no es recuperable.

Page 39: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

28

2.8 Esteganoanálisis

El objetivo de la esteganografía es evitar la sospecha de transmisión de un mensaje oculto,

permaneciendo indetectables. Si se levanta una sospecha entonces el principal objetivo no se

cumple.

El esteganoanálisis es el arte de descubrir y de hacer tales mensajes inútiles [1]. Los ataques y el

análisis en la información ocultada pueden tomar varias formas: Detección, extracción, confusión

(falsificando, ocultar mensajes sobre información ya existente), y deshabilitación de la información

ocultada.

Ataques que pueden realizar los esteganoanálistas :

• Ataque sobre el estego-objeto. Solo los estego-objetos están disponibles para el análisis.

• Ataque de cubierta conocida. El original objeto-cubierta y el estego-objeto ambos están

disponibles.

• Ataque de mensaje conocido. En un cierto punto, el mensaje oculto puede llegar a ser

conocido por el atacante. Analizando el estego-objeto por patrones que corresponden a

mensajes ocultos, puede ser un beneficio para futuros ataques contra esos sistemas. Aún

con el mensaje, esto puede ser muy difícil y puede incluso ser considerado equivalente al

ataque sobre el estego-objeto.

• Ataque de selección del estego. Las herramientas esteganográficas (algoritmos) y el

estego-objeto son conocidos.

• Ataque de selección del mensaje. El esteganoanalista genera un estego-objeto de alguna

herramienta esteganográfica o de un algoritmo a partir de un mensaje seleccionado. El

objetivo de este ataque es determinar los patrones correspondientes en el estego-objeto que

pueden señalar el uso de herramientas esteganográficas o algoritmos específicos.

• Ataque del estego conocido. El algoritmo esteganográfico (herramienta) es conocido y

tanto el original y estego-objeto están disponibles.

Aún dada la mejor alternativa para el atacante, el mensaje incluido puede todavía ser difícil de

extraer. A veces la estrategia no es atacar al algoritmo o a las imágenes, si no atacar la contraseña

para cifrar o seleccionar los bits para ocultar el mensaje. Esta fuerza bruta es exitosa contra algunas

herramientas pero aún requiere de un tiempo de procesamiento considerable para lograr resultados

favorables.

Page 40: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

29

Romper un sistema esteganográfico usualmente consiste de tres partes [1]:

• Detección

• Extracción

• Inhabilitación de la información oculta

2.8.1 Detección de la información oculta

Los cambios pequeños en palabras y líneas de espaciamiento pueden ser algo difíciles de detectar

por un observador causal. Sin embargo, añadiendo espacios y “caracteres invisibles” pueden ser

fácilmente reconocibles si el archivo es abierto con un procesador de texto. El texto puede verse

“normal” si se visualiza en pantalla, pero si el archivo es abierto en un procesador de texto, los

espacios, tabulaciones y otros caracteres se distorsionan en la presentación del texto.

Áreas inusitadas en un disco pueden ser usadas para ocultar información, lo que se puede hacer en

cluster inusuales o en particiones de dispositivos de almacenaje. Un sistema de esteganografía

puede ser vulnerable a la detección a través de un análisis de la partición de información del

sistema.

Actualmente los detectores de Internet se han vuelto más sofisticados y los filtros pueden ser

configurados para conseguir paquetes que tienen información en espacios inusitados o

supuestamente reservados.

Multimedia tiene excelentes cubiertas para información oculta, sin embargo, puede tener mucha

distorsión por lo que la clave del éxito para ocultar información, es seleccionar la combinación

adecuada de las herramientas y cubierta esteganográfica. Por ejemplo, el sonido puede llegar a

distorsionarse y las imágenes pueden degradarse aún con cantidades pequeñas de información

oculta. Este ruido perceptible puede alejar la existencia de información oculta, el eco en el audio o

señales de sombra reducen el ruido audible, pero estas pueden ser detectadas con pequeños

procedimientos.

Las herramientas de esteganografía relativamente ocultan grandes bloques de información, en tanto

las herramientas de marcas de agua ocupan menos información en una imagen, pero las marcas de

agua tienen una distribución redundante a través de toda la imagen. En cualquier caso, este método

inserta información y manipula imágenes de tal forma que se mantengan invisibles.

Page 41: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

30

Sin embargo, cualquier manipulación de la imagen introduce una cantidad de distorsión y

degradación de algunos aspectos y propiedades de la imagen original.

2.8.2 Extracción

La detección de información se ha convertido en un reto para los usuarios de la esteganografía, si no

se puede detectar la posibilidad de ocultar información, entonces el juego de la extracción se puede

perder, simplemente insertar información en el LSB de una imagen no proporciona ninguna

protección.

La herramienta Hide4PGP provee un número de opciones para seleccionar cómo son manejadas las

gamas de colores de 8 bits o a qué niveles de bits, el área de ocultamiento de la información en el

LSB de imágenes de 8 bits y en el cuarto LSB (el cuarto bit de la derecha) en imágenes de 24 bits.

Los archivos BMP tienen un patrón de 54 bytes, la trama de datos en imágenes de 24 bits siguen el

mismo patrón [1].

Como las imágenes de 8 bits requieren una gama de colores, el patrón de 1024 bytes es usado para

la gama de colores. Como el Hide4PGP inserta un mensaje secuencialmente en los planos de bit, el

texto insertado puede ser obtenido extrayendo los bits usados al crear el esteganograma. Ocultando

textos y utilizando la configuración dada por Hide4PGP, estaremos en posibilidades de extraer el

cuarto LSB comenzando por el byte 54 pora archivos BPM de 24 bits para recuperar el mensaje

oculto.

Extrayendo el LSB comenzando en el byte 1078 para un archivo BMP de 8 bit revela en forma llana

el mensaje oculto. Si lo que pasa es que el mensaje oculto es cifrado, entonces la técnica de

criptoanálisis puede ser aplicada en intentos de romper la rutina de encriptación, pero si los datos

son cifrados y tienen un patrón reconocido, un atacante dará un paso en la dirección correcta del

criptoanálisis o ataque de fuerza bruta.

Hay varias opciones disponibles para seleccionar el nivel de bit para ocultar información, ocultando

información en niveles de bit produce ruido visible en muchas imágenes de 8 bit. Estas opciones

permiten la duplicación de entradas de la gama de colores que son más frecuentemente utilizadas, o

el ordenamiento de entradas de la gama de colores por colores similares. Ordenando la gama de

colores, Hide4PGP alinea colores similares, las modificaciones en la gama de colores mejoran la

Page 42: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

31

vista de la imagen cubierta resultante, pero agrega características que son únicas en esta herramienta

esteganográfica y guía al atacante a la posibilidad de un mensaje oculto.

Utilizando este tipo de técnicas esteganográficas, puede ser también problemático si el mensaje es

cifrado, si el dato cifrado tiene un patrón reconocido, entonces un atacante tendrá un paso en la

dirección correcta para el criptoanálisis o la fuerza bruta.

2.8.3 Inhabilitación de la información oculta

La detección de existencia de información oculta es una derrota para la esteganografía, los métodos

que siguen el dominio de transformación producen resultados que hacen más difícil la detección sin

la imagen original.

Algunas veces lo deseable es dejar que el estego-objeto pase a lo largo del canal de comunicación,

pero inhabilita el mensaje insertado, con cada método de ocultamiento de información hay una

compensación entre el tamaño de la cantidad de información oculta que puede ser insertada y la

supervivencia o la robustez de esa información a ser manipulada.

La información oculta también puede ser sobreescrita si se agrega información de una forma que no

se pueda detectar, entonces habrá una cantidad de información adicional que sea agregada o

eliminada dentro del mismo umbral que sobrescribirá o quitará la información secreta insertada.

Algunos métodos para inhabilitar información oculta pueden requerir alteraciones considerables al

esteganograma. Inhabilitar mensajes insertados es bastante fácil en casos donde métodos de planos

de bit son usados desde que estos métodos emplean el LSB de imágenes que pueden ser

modificadas con procesos de compresión. El objetivo de muchos de estos métodos es hacer que la

información oculta sea una parte integral de la imagen, así la única forma de quitar o deshabilitarla

es torcer seriamente el estego-imágenes, haciendo así inútil la imagen al atacante.

La inhabilitación o eliminación de información oculta en imágenes mejora las técnicas de

procesamiento de imágenes; para los métodos LSB de inserción de datos simplemente usar una

técnica de compresión tal como JPEG, es suficiente para volver inútil el mensaje insertado, las

imágenes comprimidas con tal método todavía satisfacen al ojo humano, pero no contienen más

información oculta.

Con técnicas de ocultamiento de transformación de dominio, se requiere de un proceso más

sustancial para inhabilitar la legibilidad de la información insertada, con técnicas de procesamiento

Page 43: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

32

múltiple de imagen tales como deformar, velar o rotar, producen suficiente distorsión para

deshabilitar el mensaje insertado. Esta combinación de varias técnicas de procesamiento de

imágenes, pueden ser automatizadas y utilizadas para probar la robustez de las técnicas de

ocultamiento de información más allá de LSB.

Herramientas como estas deberían ser utilizadas por aquellos que consideran la inversión de

sistemas de ocultamiento de información como una medida para proveer un sentido de seguridad de

información insertada, tal como las herramientas de rompimiento de claves contraseñas son usadas

por administradores de sistemas para probar la fuerza de contraseñas de usuarios y de sistemas y si

la contraseña falla, el administrador debería notificar al dueño de la contraseña que ésta no es

segura.

Una serie de pruebas del proceso de imagen fue ideada para evaluar el umbral de robustez del plano

de bit y herramientas de transformación, estas pruebas eventualmente alterarán el secreto hasta el

punto en que la información oculta no podrá ser recuperada. Este hecho puede verse como una

debilidad del decodificador en lugar del codificador en algunas de estas herramientas. La

motivación detrás de estas pruebas es ilustrar qué ataques pueden soportar las técnicas y ante cuáles

son vulnerables.

Las imágenes utilizadas en estas pruebas incluyen fotografías digitales, arte de video clips y arte

digital. Las fotografías digitales son regularmente de 24 bit con miles de colores o 8 bit en escala de

grises. Los archivos JPEG y BMP de 24 bits componen la mayoría de las fotografías digitales, las

imágenes de clip arte tienen relativamente pocos colores y son regularmente imágenes de 8 bits.

Imágenes de arte digital no son fotografías; pero pueden llegar a tener miles de colores, estas

imágenes pueden ser BMP o JPEG de 24 bits o imágenes BMP o GIF de 8 bits, donde

necesariamente las imágenes fueron convertidas a otros formatos según lo especificado por la

herramienta esteganográfica o de marcas de agua.

Las técnicas de distorsión requieren el conocimiento de la cubierta original en el proceso de

decodificación. Alice, por ejemplo, aplica una secuencia de modificaciones a una cubierta para

obtener un estego-objeto; ella escoge la secuencia de modificaciones de tal forma que

corresponden a un mensaje secreto específico que quiere transmitir. Bob mide la diferencia de la

cubierta original para reconstruir la secuencia de modificaciones aplicadas por Alice, el cual

corresponde al mensaje secreto.

Page 44: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

33

En muchas aplicaciones estos sistemas no son útiles puesto que el receptor debe tener acceso a la

original cubierta. Si Wendy también tiene acceso a ellos, ella puede fácilmente detectar las

modificaciones de la cubierta y tener evidencia de una comunicación secreta. Si las funciones de

ocultar y extraer son públicas y no son dependientes de una estego-llave, es también posible para

Wendy reconstruir enteramente el mensaje secreto.

2.9 Aplicaciones de la esteganografía

Las agencias de inteligencia o autoridades militares requieren de comunicaciones discretas aún

cuando manejan información, ya que la detección de señales está sujeta a cualquier ataque de la

información, por ello es importante el uso de métodos esteganográficos.

También existen otros motivos y usuarios que requieren manejar un sistema de archivos

esteganográficos de estos métodos, como la comunicación entre dos partes que están involucradas

en actividades ilícitas y ellos no desean ser descubiertos.

Existen algunos usuarios que requieren de comunicaciones anónimas, por ejemplo, para las

elecciones en línea, reclamos políticos, consumo de material sexual o retiros de dinero en efectivo.

Pero estas mismas técnicas son utilizadas en abusos de difamación o comerciales no solicitados en

los correos electrónicos.

2.10 Conclusiones

En este capítulo se definen conceptos relacionados con la esteganografía y se menciona las técnicas

esteganográficas aplicadas en el dominio espacial y en el dominio de la frecuencia. Se da una breve

descripción de la esteganografía aplicada en el dominio DCT, con el objetivo de mostrar más

adelante las desventajas ante las implementaciones de algoritmos esteganográficos bajo otro

dominio DWT, descrita en el capítulo 5, de esta manera se considera describir solo los elementos

que conforman un esquema esteganográfico a fin de robustecer futuros algoritmos frente a riesgos y

amenazas descritas en este capítulo.

2.11 Referencias

[1] S. Katzenbeisser, F.A.P. Petitcolas, “Information Hiding Techniques for Steganography and

Digital Watermarking“, Artech House 2000.

Page 45: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 2 Marco Teórico

34

[2] K. Rabah “Steganography-The Art of Hiding Data”, Information Technology Journal, Asian

Network for Scientific Information 2004.

[3] Ross J. Anderson, Fabien A.P. Petitcolas, “On the limits of Steganography”, IEEE Journal on

Selected Areas in Communications, Vol. 16, No. 4, May 1998, pp. 474-481.

[4] GJ Simmons, “The Prisoners' Problem and the Subliminal Channel",in Proceedings of CRYPTO

'83, Plenum Press, pp 5167, 1984.

[5] Eason R “A tutorial on BPCS Steganography and its applications”, Dept. of Electrical and

computer Engineering, University of Maine 5708 Barrows Hall, Oronto, Maine 04473-5708 USA.

[6] H. Noda, J. Spaulding, Shirazi, M., Niimi, M. and E. Kawaguchi., “BPCS Steganography

Combined with JPEG2000 Compression”, Proceedings of Pacific Rim Workshop on Digital

Steganography , pp. 98-107, 2002.

[7] H. Noda, J. Spaulding, Shirazi, Niimi, M. and E. Kawaguchi, “Application of Bit-Plane

Decomposition Steganography to JPEG2000 Encoded Images”.IEEE Signal Processing, Vol. 9,

No. 12, 2002.

[8] K. Nozaki, “A Model of Anonymous Covert Internet Mailing System Using Steganography”,

Proceedings of Pacific Rim Workshop on Digital Steganography 2002, pp. 7-10, 2002.

[9] R. Popa, “An Analysis of Steganographic Techniques, The “Politechnica” University of

Timisoara, Faculty of Automatics and Computers, Department of Computer Science and Software

Engineering 1998.

Page 46: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capítulo 3 COMPLEJIDAD DE SEGMENTACION

DE PLANOS DE BITS

Contenido del capítulo

3.1 Introducción

3.2 Técnicas esteganográficas LSB.

3.3 Descomposición de planos de bits (Bit-Plane)

3.3.1 Esteganografía convencional de planos de bits

3.4 Esteganografía BPCS

3.5 Algoritmo esteganográfico BPCS propuesto por Eiji Kawaguchi

3.5.1 Descripción del algoritmo

3.5.1.1 Procesamiento de los datos ocultos

3.5.1.2 Proceso de inserción

3.5.1.3 Obtención del esteganograma

3.5.1.4 Proceso de extracción del mensaje secreto

3.5.2 Implementación del algoritmo

3.6 Conclusiones

3.7 Referencias

Page 47: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

36

3.1 Introducción

Las técnicas para la inserción de información en imágenes digitales son generalmente divididas en

dos categorías: técnicas en el dominio espacial y técnicas en el dominio de la transformada. Los

métodos en el dominio de la transformada hacen uso de la (DCT), Transformada rápida de Fourier

(DFT), así como de otras técnicas de análisis como es la transformada Wavelet. Las técnicas en el

dominio espacial ocultan la información directamente en los bits de la imagen digital sin la

aplicación de cualquier transformación de la imagen [1].

Este capítulo está enfocado en gran parte a una técnica esteganográfica aplicada en el dominio

espacial, llamada esteganografía BPCS (Bit-Plane Complexity Segmentation Steganography) [2],

esta técnica será analizada por las ventajas y propiedades que tiene en la aplicación de algoritmos

esteganográficos empleados en el dominio espacial y, que debido a sus características, también

pueden ser aplicados en algoritmos esteganográficos basados en dominio de la frecuencia, y que

serán analizados en el capítulo 4.

La esteganografía BPCS ha probado ser efectiva en el proceso de inserción dentro de muchas

clases de archivos incluyendo imágenes en escala de gris, imágenes a color de 24 bits, e imágenes a

color indexadas en 8 bits. La esteganografía BPCS ha sido también una efectiva técnica para audio

digital en formato estéreo y monoaural. Los beneficios de esta técnica sobre la esteganografía

tradicional son el alto porcentaje (30-50 %) del archivo que puede ser reemplazado por la

información secreta y la baja ocurrencia de artefactos en la imagen después de la inserción [2].

3.2 Técnicas esteganográficas LSB

Una imagen generalmente es representada como una matriz de números enteros, donde cada uno de

sus componentes representa un punto o píxel, el valor de cada píxel indica cuál es el color de la

imagen en ese punto, una imagen en escala de gris es representada por 256 tonos de gris donde cero

representa el color negro y 255 corresponde al blanco y los demás valores representan colores

intermedios (un valor alto indica un tono más claro), cada píxel de la imagen necesita de 8 bits para

ser almacenado. Cada palabra de 8 bits representa el índice que asocia a un nivel de gris de la paleta

de color en particular [ 3].

Page 48: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

37

Muchas técnicas esteganográficas utilizan inserción en el bit menos significativo (inserción LSB),

para ocultar la información haciendo variar ligeramente la intensidad de algunos píxeles de modo de

no percibir una distorsión en la imagen [3] [4].

La inserción LSB oculta información en los bits menos significativos de los píxeles de la imagen.

Debido a que el valor de un píxel representa la intensidad de ese píxel, el cambio del valor del bit

menos significativo en el código binario causará un pequeño cambio en la intensidad de ese píxel y

a la imagen en general. De hecho, si cada píxel está representado con 8 bits, el cambio de intensidad

es menor a 50 % [1]. Para una capacidad de mayor inserción, se puede extender esta técnica para

insertar también en los bits de mayor orden de cada píxel. Reemplazando en los N bits inferiores de

cada píxel con datos secretos se conducirá a N veces la capacidad de inserción, sin embargo, esto

también causará que la intensidad de cada píxel varíe tanto como 12 −N , así que el método no debe

extenderse a los bits de mayor orden indiscriminadamente [1].

3.3 Descomposición de planos de bits (Bit-Plane)

A continuación se presenta el concepto de descomposición en planos de bit, también conocida

como disección. La técnica de planos de bits descompone a la imagen en un grupo de imágenes

binarias, uno para cada posición de los valores de los píxeles [1].

Esta técnica se basa en el concepto de descomposición de una imagen multinivel (monocromática o

en color) en una serie de imágenes binarias, una por cada bit usado en la representación de la

intensidad del píxel. Los niveles de gris de una imagen con una escala de grises de m bits se pueden

representar como un polinomio en base 2 descritas en la ecuación (3.1) [3]:

00

11

22

11 22...22 aaaa m

mm

m ++++ −−

−− . (3.1)

Donde ia , 1,...,0 −= mi toma valores de 0 o 1. El plano de bits de orden cero se genera a partir de

cada uno de los bits a0 de todos los píxeles, mientras que el plano de bits de orden 1−m contiene

los bits 1−ma .

Por ejemplo, para el caso de una imagen de 8 bits, el plano de bit más significativo de un píxel es

representado por un 1 si la correspondiente intensidad del píxel es igual o mayor que 128, una

imagen binaria puede ser representada en un sólo plano de bit.

Page 49: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

38

Una imagen de MxN píxeles y 256 tonos de gris puede verse como una matriz de M filas y N

columnas cuyos elementos son números del 0 al 255 derivados de los 8 bits originales. Cada una de

estas 8 matrices representa un plano de bits de la matriz original de modo que se cumple con la

ecuación (3.2) y (3.3):

( ) )),(2()),(2(...)),(2()),(2()),(2(, 00

11

55

66

77 nmPnmPnmPnmPnmPnmI +++++= , (3.2)

( ) ( )∑=

=

=7

02,

i

ii

i PnmI . (3.3)

Donde ( )nmI , es la matriz de la imagen original, iP son las matrices correspondientes a los planos

de bits de 7.....0=i

El primer plano de bit es una imagen binaria NM × que consiste en los bits menos significativos

de cada píxel en la imagen. El segundo plano superior consiste en el segundo bit de cada píxel y así

sucesivamente. Repitiendo este proceso para el resto de las posiciones de los bits, se llega a la

descomposición de la imagen en los iP planos de bits, que están representadas por imágenes

binarias de tamaño NM × . Tal descomposición provee una manera de realizar la inserción LSB.

Simplemente se descompone a la imagen en sus planos de bit, se reemplaza a los bits de uno o más

de los bits inferiores con información y entonces se restauran nuevamente los planos de bits en una

imagen. Esta descomposición también es central en la idea de la esteganografía BPCS [4].

En la figura 3.1 se muestra una representación de la descomposición de planos de bits aplicados en

una imagen en escala de gris, el primer plano corresponde a los bits menos significativos de la

imagen cubierta y el último bit es llamado plano de bit más significativo.

Figura 3.1 Representación de la descomposición de planos de bits.

Page 50: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

39

En la figura 3.2 se muestra la descomposición de los 8 planos de bits de una imagen, la información

aportada por los dos bits menos significativos de cada píxel es decir planos 1 y 2 no influyen de

manera notoria, debido a que estos planos sirven para suavizar la imagen, y no se vean los bordes

contrastantes, estos planos se pueden considerar como ruido y pueden ser reemplazados por datos

secretos siguiendo un patrón binario, que no pueda percibir distorsión visual en la imagen. En los

planos 3 y 4 se distinguen contornos principales de la imagen original, representan formas parecidas

a la imagen original, los planos 5, 6,7, y 8 se asemejan considerablemente a la imagen original.

Imagen original Plano de bit 8 Plano de bit 7

Plano de bit 6 Plano de bit 5 Plano de bit 4

Plano de bit 3 Plano de bit 2 Plano de bit 1

Figura 3.2 Descomposición de los 8 planos de bits en una imagen en escala de gris.

Page 51: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

40

3.3.1 Esteganografía convencional de planos de bits

El uso de la técnica de planos de bits permite una herramienta para que la esteganografía sea

aplicada; en algoritmos esteganográficos la descomposición del primer fue utilizada comúnmente

por Katzenbeisser y Petitcolas, combinada con un acercamiento simple de sustituir los datos

binarios en los planos de bits insignificantes por datos binarios secretos [5].

A continuación se mostrarán, ejemplos donde la esteganografía de planos de bits convencional es

usada para ocultar diferentes tamaños de información.

El archivo transporte es la imagen de loro en escala de gris de tamaño de 512 x 512 y 256 niveles de

gris, la capacidad total de la imagen es 256Kb, al segmentarla en 8 imágenes binarias, cada plano de

bit contiene 32 Kb (32768 Bytes , 262144 bits). La capacidad máxima de inserción depende de las

características de la imagen huésped como son el tamaño, complejidad y niveles de cuantización, la

aplicación de estos conceptos se analizarán más adelante.

El mensaje secreto a ocultar es “estegano” que corresponde a una palabra de 8 bytes, cada carácter

representa 1 Byte y es representado por su correspondiente código ASCII para ser convertido a una

cadena de 64 bits que son reemplazados en un plano de bits. La tasa bit (bit rate, bpp) con respecto a

la imagen de loro 512 x 512 es de .00024 bits/píxel (bpp), que es un valor pequeño en comparación

si se estuvieran insertando 3 bits/píxel que es equivalente a 98K letras introducidas en la imagen

cubierta,

En la Tabla 3.1 se muestran los planos de bits que son utilizados para ocultar la información, la

capacidad del mensaje (bpp) y los PSNRs obtenidos. Se puede observar que a medida que el

mensaje es ocultado en los planos de bits superiores, el PSNR disminuye debido a que el error entre

la imagen original y el esteganograma aumenta.

No. Plano Capacidad del mensaje (bpp), PSNR (Db)

1 3 5 7 8

.00024

.00024

.00024

.00024

.00024

85.2714 73.2302 62.0057 49.0255 44.0963

Tabla 3.1: Obtención del PSNR de la imagen del loro ocultando datos secretos en diferentes planos de bits.

Page 52: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

41

En la figura 3.3 se muestran los esteganogramas obtenidos al insertar .00024 bpp en diversos

planos, mostrados en la tabla 3.1. En cada esteganograma mostrado, la cadena de bits de datos

secretos fue reemplazada en la posición ( )64:1,64iP de cada plano, donde iP es el número de

plano utilizado para ocultar el mensaje secreto. En los esteganogramas se puede observar que la

cadena de bits empieza a ser visible a partir del plano 5 al 8 y que visualmente representa una línea

en el lado superior izquierdo del esteganograma. En los planos de bits menos significativos como el

1 y 3 no se puede percibir ninguna distorsión visual y se asemejan a la imagen original.

Imagen original

Plano de bit 8 PSNR 44.0963 dB

Plano de bit 7 PSNR 49.0255 dB

Plano de bit 5 62.0057 dB

Plano de bit 3 PSNR 73.2302 dB

Plano de bit 1 PSNR 85.2714 dB

Figura. 3.3 Inserción de .00024 bpp de información secreta en los planos { }87531 ,,,, PPPPP .

En los esteganogramas anteriores, no se percibe fácilmente los artefactos visuales provocados por la

inserción de un mensaje de 64 bits en los diferentes planos de bits, esto es debido a que la capacidad

del mensaje es pequeño y que solo puede ser percibido en los planos superiores, de esta manera se

considera obtener esteganogramas en los cuales, la capacidad del mensaje secreto sea de 1bpp que

equivale a la cantidad de bits contenidos en un plano (262144 bits), para llevar acabo la inserción se

aplica el mismo procedimiento descrito anteriormente, en la tabla 3.2 se muestran los diferentes

planos de bits, capacidad del mensaje que es ocultado, y la obtención del PSNR.

Page 53: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

42

A medida que el mensaje secreto es ocultado el PSNR es más bajo que los mostrados en la tabla

3.1, debido a que la capacidad del mensaje corresponde a reemplazar un plano completo, de tal

forma que la degradación de la imagen es más notoria.

No. Plano Capacidad del mensaje (bpp) PSNR (dB)

1 3 5 7 8

1 1 1 1 1

49.5269 37.4836 25.4406 13.5239 7.3420

Tabla 3.2: Obtención del PSNR de la imagen del loro ocultando datos secretos en diferentes planos de bits.

En la figura 3.4 se muestran los esteganogramas obtenidos al insertar en los planos

{ }87531 ,,,, PPPPP , la capacidad del mensaje secreto que fue ocultado fue de 1bpp, como se

observa, las imágenes presentan más degradación visual, a partir del plano 5.

Imagen original

Plano de bit 8 PSNR 7.3420 dB

Plano de bit 7 PSNR 13.5239 dB

Plano de bit 5 25.4406 dB

Plano de bit 3 PSNR 37.4836 dB

Plano de bit 1 PSNR 49.5269 dB

Figura 3.4. Inserción de 1bpp de información secreta en los planos de bits { }87531 ,,,, PPPPP .

Page 54: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

43

El nivel de cuantización es el número de bits usados, para representar cada índice, dentro del

archivo de la imagen, por ejemplo, una imagen de 512 x 512, con 4 /píxel representa 16 niveles

de gris, que es mostrada en la figura 3.5, la cual indica que la imagen huésped tiene una

degradación notoria debido al nivel de cuantización, ya que solo los 4 bits más significativos de

cada píxel, conforman la imagen trasporte, la capacidad del mensaje es de 32K y es ocultado en

el plano 4, en el esteganograma obtenido se visualiza aun más degradación, teniendo un PSNR

de 29.5786 77dB.

Imagen original 512x 512, con 4 /píxel y 16

niveles de gris

Esteganograma Plano de bit 4

PSNR 29.5786 dB

Figura 3.5 Inserción de 1bpp de información secreta en el plano de bit { }4P .

La inserción LSB se limita a la inserción en los planos de bits inferiores. La inserción en los planos

de bit superiores incrementa la capacidad de inserción pero agrega una componente de ruido mayor

al valor del píxel. Tal ruido es más notable para el ojo humano particularmente en las regiones más

planas de la imagen. Puede mejorarse la capacidad de inserción sin una evidente degradación de la

imagen, si se limita la inserción en los planos superiores a las regiones de la imagen que son

ampliamente “complejas”, esto es, donde existe una variación natural en los valores de los píxeles

en la región local. El ruido agregado a tales regiones durante el proceso de inserción es mucho

menor que el ruido agregado a las regiones planas. Las técnicas tales como la BPCS, tratan este

problema limitando la inserción en los bits de alto orden a las regiones más complejas de la imagen

3.4 Esteganografía BPCS

Debido a que es difícil para el ojo humano distinguir diferencias entre dos áreas con apariencia de

ruido, se pueden entonces disfrazar los cambios de la imagen. Adicionalmente, debido a que las

áreas complejas de una imagen tienden a ser más ruidosas en muchos de sus planos de bits surge la

Page 55: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

44

idea de ocultar información en las áreas complejas, incrementando así la capacidad de inserción de

mensajes secretos en los planos de bits, en comparación con otras técnicas que se limitan solamente

a los planos menos significativos.

La descomposición de planos de bits fue comúnmente usada, reemplazando datos binarios en los

planos de bits menos significativos, trabajos posteriores presentaron un método esteganográfico

llamado esteganografía BPCS la cual hace uso de los planos de bits y las características del sistema

visual humano. Esta técnica es aplicada en imágenes grises 8-bit, imágenes de 24-bit del color real.

Notando que el ser humano no puede distinguir patrones binarios complejos, se reemplazan

regiones ruidosas en los planos de bits de una imagen contenedora con datos secretos sin deteriorar

la calidad de la imagen [5].

La esteganografía BPCS aborda el límite de inserción enfocándose a disfrazar los artefactos visuales

que se producen por el proceso esteganográfico, estudios optométricos han mostrado que el

sistema visual humano es muy bueno para distinguir anomalías en áreas homogéneas, pero es

menos apto para distinguirlas en áreas visualmente complejas. Cuando una imagen se descompone

en planos de bits la complejidad de cada región puede medirse. Las áreas de baja complejidad son

homogéneas o formas simples que aparecen como áreas uniformes con pocos cambios entre uno y

cero. Las áreas complejas como la imagen, aparecerían con forma parecida como regiones de ruido

con muchos cambios entre unos y ceros. Esas regiones aparentemente aleatorias en cada plano de

bits pueden ser reemplazadas por la información a insertar la cual es idealmente parecida al ruido

[6].

La técnica BPCS divide los planos de bits en regiones, típicamente de tamaño 8x8 y determina el

nivel de complejidad para realizar la inserción de datos secretos en las regiones ruidosas.

En la esteganografía BPCS, Kawaguchi propuso que la complejidad α de cada subdivisión de un

plano de bit es definida como el número de las transiciones de uno a cero y cero a uno, ambos

horizontalmente y verticalmente [7]. Para cualquier cuadrado de los píxeles de n x n, la complejidad

máxima está definida en la ecuación (3.4):

)1(2max −= nnα . (3.4)

Donde maxα es la complejidad máxima, y n es el número de píxeles en un bloque de n x n.

En la figura 3.6 el blanco representa un uno y el negro un cero. Ambos cuadrados tienen el mismo

número de unos y de ceros, pero muy diferente complejidad. Esto demuestra que uno contiene una

Page 56: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

45

información más visual que el otro. El cuadro de la parte (a), se considera un bloque complejo

porque tiene visualmente muy poca información, por lo tanto puede ser sustituido por datos secretos

y puede tener un pequeño efecto en la calidad de la imagen. Si el cuadro visualmente más

informativo (b) fuera sustituido, causaría la distorsión en los bordes y en las formas definidas. La

complejidad máxima de cada bloque aplicando la formula (3.4) es de 112 y la complejidad del

bloque (a) es de 68 y el bloque (b) tiene complejidad 29.

Figura 3.6 (a) Bloque ruidoso de complejidad 68 y (b) bloque informativo, cuya complejidad es 29.

Utilizando una medida de complejidad, se pueden determinar las regiones ruidosas de cada plano de

bit, el parámetro que determina qué bloques son complejos es llamado umbral 0α Un valor típico

está definido en la ecuación (3.5)

max0 3.0 αα = . (3.5)

Algunas otras implementaciones BPCS adoptan una medida similar de complejidad que es descrita

en la ecuación (3.6)

maxαα k

= . (3.6)

Donde k es la longitud total del borde en blanco y en negro de la imagen (es decir, el número de

cambios de blanco a negro a lo largo de las filas y las columnas) y maxα es el número máximo

posible de cambios de blanco a negro. El valor varía sobre el rango 10 ≤≤ α .

En el caso tradicional, la ecuación (3.6) define de manera global, es decir, α se calcula sobre el

área de toda la imagen dándonos la complejidad global de una imagen binaria. Sin embargo,

Page 57: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

46

también se puede usar α para una complejidad en una imagen local (por ejemplo en un bloque de

área de 8x8 píxeles) [1].

Para la medida de complejidad descrita anteriormente se considera un umbral de complejidad

3.00 =α .

La complejidad en imágenes binarias puede ser aplicada a cada región de cada plano de bit, pero no

hay una definición estándar de complejidad de imagen. Kawaguchi abordó este tema con el

problema de umbral de imagen y propuso tres tipos de medidas de complejidad [8].

El problema fundamental en la obtención del umbral es cómo seleccionarlo, los métodos más

sencillos y comúnmente usados se basan en imágenes que tienen histogramas de intensidad

bimodal, en la cual se puede escoger un punto en el valle del histograma, no es conveniente suponer

que todas las imágenes tienen tal histograma bimodal [8].

3.5 Algoritmo esteganográfico usando la esteganografía BPCS propuesto por Eiji

Kawaguchi

En la esteganografía BPCS propuesta por Kawaguchi, la complejidad de cada área de los planos de

bits está definida como el número de transiciones de uno a cero y cero a uno horizontal y vertical.

Para cualquier cuadro de n x n píxeles, la máxima complejidad está definida en la ecuación (3.4) y

el mínimo es 0.

Un procedimiento típico para ocultar datos usando la esteganografía BPCS se resume como sigue:

1. Segmentar cada plano de bit de una imagen en escala de gris en bloques de 8x8, se

clasifican estos bloques en informativo o bloques de ruido usando un umbral de

complejidad 0α . Un valor comúnmente usado es max0 3.0 αα = , donde maxα es el valor

máximo posible de la complejidad.

2. Segmentar un archivo secreto en una serie de bloques que contienen 8 bytes de datos.

llamados bloques secretos, que son considerados como imágenes binarias de 8 x 8.

3. Si un bloque secreto es menos complejo que el umbral 0α , se conjuga para hacerlo más

complejo. Aquí el proceso llamado conjugación es la operación con un patrón del tablero

del juego de ajedrez. La relación ααα −= max* donde α y ∗α son la complejidad de

una imagen dada y la de la imagen conjugada, respectivamente.

Page 58: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

47

4. Reemplazar cada bloque de ruido en los planos de bits con un bloque de datos secretos. Si

el bloque se conjuga, se registra en un mapa de conjugación. El orden de localización del

bloque reemplazado puede ser determinado usando un generador de números aleatorios.

5. El mapa de conjugación de la misma manera es ocultado como los bloques secretos,

usualmente son introducidos en los primeros bloques de ruido.

3.5.1 Descripción del algoritmo

Este procedimiento es mostrado en la figura 3.7 donde se visualiza que la imagen transporte es

descompuesta en 8 imágenes binarias correspondientes a los planos de bits, cada plano es

segmentado en bloques de 8x8 para medir su complejidad. Sí la complejidad de cada bloque es

mayor al umbral max3.0 αα = se considera un bloque ruidoso, el cual puede ser remplazado

por datos secretos.

( )max0 3.0 αα =( )12max −= nnα

Bloqueαα ≤0

Bloqueαα ≥0*α

Figura 3.7 Diagrama general de la esteganografía BPCS.

Page 59: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

48

3.5.1.1 Procesamiento de los datos ocultos

Cuando la complejidad de cada región es medida, los datos secretos son convertidos en imágenes

binarias, es posible que la inserción de datos secretos se lleve a cabo directamente en la imagen

cubierta, es deseable a veces realizar una o más operaciones de procesamiento en ella antes de la

inserción. Esto es debido a que el proceso de inserción coloca los datos de información en una

forma regular en los planos de bit de la imagen, al menos en cada región.

Los aspectos relevantes de los datos incluyen:

• Tamaño de los datos

• Accesibilidad a los datos

• Regularidad en los datos.

Al reducir el tamaño de los datos de información mediante la compresión permite la inserción de

más datos, por lo tanto incrementando la capacidad virtual de la portadora. Las tasas de compresión

varían ampliamente del formato de texto, los datos pueden ser comprimidos a una pequeña fracción

de su tamaño original.

La accesibilidad de los datos se refiere a la necesidad que se tiene en algunos casos de cifrar los

datos antes de la inserción, haciendo mucho más difícil para una tercera persona el interceptar y

conocer la existencia de la información oculta. Combinando el cifrado y la esteganografía se puede

proveer de un medio seguro de comunicación, ya que un atacante primero debe de encontrar al

mensaje oculto y después, debe descifrarlo para encontrar su significado.

La regularidad en los datos insertados puede tener efectos indeseable en la imagen, haciendo la

presencia de los datos más visible al software de análisis criptográfico, si no es que también al ojo

humano. Ya que los datos que se están reemplazando en la imagen generalmente son por naturaleza

aleatoria, las regularidades en los datos insertados pueden volverse notables.

Por ejemplo, datos de texto en ASCII de 8 bits, siempre tienen un cero en el bit más significante y

los otros bits toman un conjunto limitado de valores. Aunque ciertamente hay otras maneras de

evitar la regularidad de la información, tal vez la mejor solución es simplemente realizar una

compresión y/o cifrado. Al realizar tanto la compresión como el cifrado de los datos de información

antes de la inserción, es mejor realizar la compresión primero, ya que los datos cifrados típicamente

producen muy poca compresión, al extraer la información de la imagen se requiere de las

operaciones inversas, es decir, en orden contrario[1].

Page 60: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

49

Cuando los datos secretos son reemplazados directamente en la cubierta sin hacer algún

procesamiento, como es el cifrado o compresión descrita anteriormente, la información secreta es

convertida en matrices binarias mostradas en la figura 3.8. El mensaje secreto a ocultar corresponde

a un archivo de texto en formato .TXT, del cual se toman palabras de 8 Bytes y se representa en su

correspondiente código ASCII, cada uno de los valores ASCII es convertido en forma binaria de 8

bits, es decir si al codificar la letra “e” su representación en código ASCII es de “101” y puede

representarse en forma binaria como “01100101” , el conjunto de caracteres forman matrices

binarias de 64 bits, en la siguiente figura se puede visualizar el procedimiento, el cual consiste en

tomar todos los caracteres, que pueden incluir espacios, tabulaciones y todos aquellos elementos

que están incluidos dentro del código ASCII.

Mensaje secreto

Mensaje secreto: {Esteganografía viene del griego…………..}

e s t e g a n o g r a f i a _ V i …….

Palabra 8 Bytes Código ASCII Código Binario

1Byte

Imagen Binaria

e 101 01100101

s 115 01110011

t 116 01110100

e 101 01100101

g 103 01100111

a 97 01100001

n 110 01101110

o 111 01101111

Figura 3.8 Representación binaria de un bloque secreto.

Existe un problema cuando los datos son insertados directamente en la cubierta debido a que es

posible que la información secreta insertada, pensando que los datos son aleatorios por naturaleza,

pudiera tener una complejidad menor que 0α . Cuando se realiza el proceso de extracción del

8 Bytes 8 Bytes

Page 61: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

50

mensaje secreto, la medida de complejidad de una determinada región podría ser ignorada

erróneamente, debido a que ahora el bloque del mensaje secreto tiene una baja complejidad

colocándola en la categoría de datos de imagen original que simplemente fue estructurada sin

cambio alguno.

La técnica BPCS maneja este problema a través de la operación de conjugación. La operación de

conjugación puede pensarse como una operación OR- exclusiva de los píxeles con un patrón como

el de un tablero de ajedrez. Una ilustración de esta operación se muestra en la figura 3.9, se observa

un bloque secreto que tiene baja complejidad, al que puede añadirse una matriz patrón para hacerlo

más complejo y evitar que pueda ocurrir un error en el proceso de extracción [1].

Figura 3.9. Ilustración de la operación de conjugación de un bloque secreto.

La figura anterior muestra una imagen original “P”, un patrón en forma de ajedrez “ cW ” y el

resultado de la operación exclusiva sobre las dos es *P , que obviamente es más complejo que P, es

fácilmente visible que )(Pα es la complejidad de P, entonces, la complejidad de *P , )( *Pα , está

dada por

)(1)( * PP αα −= . (3.7)

Este resultado garantiza que si el umbral de complejidad es menor de ½, entonces la operación de

conjugación convertirá a la región P que tiene una complejidad )(Pα menor que el umbral, en una

región *P que tiene una complejidad )( *Pα la cual es mayor que el umbral.

Page 62: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

51

3.5.1.2 Proceso de inserción

En el proceso de inserción se verifica la complejidad de cualquier bloque del mensaje secreto. Si la

complejidad es mayor o igual al umbral de complejidad 0α , los datos secretos se insertan tal cual

en los bloques ruidosos de la imagen, pero si la complejidad es menor que el umbral, se realiza la

operación de conjugación de los datos antes de la inserción, la figura 3.10 muestra este proceso.

Ahora toda la información insertada tiene una complejidad mayor o igual que el umbral, y toda la

información original de la imagen tiene una complejidad menor que el umbral.

Figura 3.10 proceso de inserción.

El anterior proceso puede usarse para recuperar una imagen binaria que ha pasado por una

operación de conjugación. El único problema sigue siendo el conocer cuáles regiones han pasado

por la operación de conjugación.

El problema se resuelve mediante un mapa de conjugación el cual lleva un registro de las regiones

que han pasado por la operación de conjugación, las únicas regiones para las cuales la conjugación

tiene una complejidad 01 α− .

Si vemos al mapa de conjugación como una cadena de bits, está se puede generar mediante la

adición de un “1” a la cadena, cada vez que se conjuga una región de información se está insertando

a fin de que su complejidad sea mayor o igual al umbral. Agregando cada vez un cero a la cadena se

está insertando una región de información, cuya complejidad es mayor que un 1. Cualquier región

de información insertada con una complejidad menor o igual a uno, obviamente no está conjugada,

por lo que no habrá mapa de bits de conjugación correspondiente a esas regiones.

Page 63: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

52

Un problema con la inserción de mapa de conjugación dentro de la imagen viene de la posibilidad

de que una región del mapa de conjugación puede en sí misma requerir de una conjugación. Una

solución simple es almacenar el mapa de conjugación sin conjugación en alguna parte de la imagen

de bajo nivel predefinida, sin importar la complejidad. Debido a que se sabe que el mapa de

conjugación existe ahí, este puede ser fácilmente extraído.

Otra alternativa es reservar un bit de cada región de tal forma que los datos del mapa de

conjugación sirvan como un bit indicador. Por ejemplo, si la región pasa por un proceso de

conjugación durante la inserción, el bit indicado cambiará a uno, de otra forma permanecerá en

cero. El mapa de conjugación puede entonces ser agregado al final de los datos insertados, pero la

inserción de las regiones del mapa de conjugación no agrega más información al mapa de

conjugación.

3.5.1.3 Obtención del esteganograma

Cuando los datos secretos son ocultos en los planos de bits, se requiere reestablecer los planos de

bits para obtener el esteganograma, para ello se aplica la ecuación (3.2).

El esteganograma contiene en sí los datos ocultos, la capacidad de información dependerá de la

complejidad y tamaño de la imagen.

3.5.1.4 Proceso de extracción del mensaje secreto

Al algoritmo de extracción de la información se le aplica el proceso inverso. Se realiza una

descomposición en planos de bit y se calcula entonces la complejidad de los planos de bit en cada

región. Se lee el mapa de conjugación y se realiza una segunda operación de conjugación sobre el

bloque complejo, para obtener su forma original, es decir PP =** )(

3.5.2 Implementación del algoritmo

En esta sección se mostrará la implementación del algoritmo esteganográfico por Eiji Kawaguchi

[6] descrito anteriormente, la implementación se llevó a cabo con Matlab 6.5 siguiendo el

procedimiento descrito en la sección anterior.

Page 64: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

53

Para llevar acabo la implementación se toman imágenes en escala de grises de 512x512 y 256

niveles de gris. En la tabla 3.3 se visualiza el umbral 0α descrito por Kawaguchi, el cual fue

obtenido de la ecuación 3.5, la máxima capacidad de inserción se refiere a la cantidad de datos que

puede ocultar la imagen y que fueron obtenidos a partir de diferentes imágenes en escala de gris y

cuyo límite de inserción varía de las propiedades de cada imagen, en la tabla también se visualizan

diversas capacidades del mensaje que fueron introducidas a partir del primer plano de bit de las

imágenes y los PSNR obtenidos.

Imagen Umbral 0α Máxima capacidad (Byte)

Capacidad del mensaje bits/píxel PSNR (dB)

Loro Lena

Mandrill Jet

Barco Goldhill

33.6 33.6 33.6 33.6 33.6 33.6

2.408 4.531 6.14 4.0

4.613 4.9060

2.359375 4 6 4 4 4

33.3041 28.7929 14.8539 23.2489 28.3959 29.6647

Tabla 3.3 Obtención del PSNR en diferentes imágenes en escala de gris.

En la figura 3.11, se exhiben los esteganogramas obtenidos a partir de las capacidades de los

mensajes mostrados en la tabla 3.3. Se puede visualizar que al ocultar la capacidad máxima de

acuerdo al umbral, se puede percibir degradación notoria en las imágenes en las que el PSNR varía

de 14 a 28 dB.

ESTEGANOGRAMAS OCULTANDO EN EL 1to PLANO

Loro 2.359375 bpp 33.3041 dB

Lena 4 bpp

PSNR 28.4454 dB

Mandrill 6 bpp

PSNR 14.7852 dB

Page 65: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

54

Jet 4 bpp

PSNR 23.2489 dB

Barco 4 bpp

PSNR 27.9198 dB

Goldhill 4 bpp

PSNR 30.0230 dB

Figura 3.11, Esteganogramas obtenidos en la aplicación del algoritmo BPCS insertando a partir del 1er plano.

La relación entre la capacidad de inserción y la calidad de imagen esteganografiada (stego-imagen)

se visualiza en las gráficas de las figuras 3.12 (a) y 3.12 (b), las cuales muestran la comparación del

bit-rate con respecto al PSNR en diferentes imágenes en escala de gris, como se visualiza la

capacidad de inserción de la imagen del loro, se limita aproximadamente a 2.40 bpp debido a las

propiedades que posee con respecto a las demás, considerando también obtener un PSNR de 33.5

dB. Las demás imágenes aunque su capacidad es más grande la calidad de la imagen disminuye, de

este modo se considera que su capacidad real, donde no se percibe una gran degradación notoria en

la imagen, tiene un PSNR mayor de 31dB.

Figura. 3.12(a) Relación entre la capacidad de inserción y la calidad de imagen esteganografiada (Loro, Lena y

Mandril), ocultando desde el primer plano de bit.

Page 66: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

55

Figura. 3.12 (b) Relación entre la capacidad de inserción y la calidad de los esteganogramas del (Goldhill, Barco y Jet),

ocultando desde el primer plano de bit.

Cuando la información es ocultada en diferentes planos de bit de la imagen, la capacidad de

inserción disminuye así como la calidad de la imagen debido, a que se inserta a partir del 4to plano,

la tabla 3.4 muestra la relación entre la capacidad de información y la calidad de la imagen.

Lena Barco Mandril Bárbara Loro Goldhill

.0625 .125 .25

.3125 .78125

1 1.5

2.34

35.1617 34.7231 33.9371 33.5855 31.6297 29.2410 22.0012

35.0627 34.6386 33.8694 33.5250 30.8200 28.8421 24.1360

35.273834.815034.029433.674731.713930.998626.995221.1575

35.188434.739933.942633.600831.665129.554925.3283

35.2354 34.7651 32.7071

35.1392 34.7204 33.9480 33.6005 31.6216 30.1572 26.6023

Tabla 3.4 Relación entre la capacidad de información oculta y PSNR, insertando a partir del 4to Plano de bit en

diferentes imágenes.

En la figura 3.13 muestra los esteganogramas obtenidos al ocultar 1bpp de información en el 4to

plano de bit de las imágenes.

bits/píxel PSNR dB

Page 67: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

56

Loro PSNR=31.7071dB

Lena PSNR=31.6297 dB

Mandril PSNR=31.7139 dB

Bárbara PSNR=31.6651Db

Peppers PSNR=31.6124dB

Goldhill PSNR=31.6216dB

Figura 3.13, Esteganogramas obtenidos en la aplicación del algoritmo BPCS, ocultando 1 bpp de información en el plano de bit 4.

La relación entre la capacidad de información y la calidad de la imagen del Mandril al insertar en

diferentes planos de bits se visualiza en la figura 3.14, donde se puede observar que al insertar en el

plano 5 y 6 se disminuye considerablemente la calidad de la imagen, en comparación si se insertara

en los planos 1 y 4.

Page 68: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

57

Figura 3.14 Relación entre la capacidad de inserción y los planos de bits de la imagen del Mandril ocultando 1bpp.

La capacidad máxima de inserción no solamente se relaciona con la calidad de la imagen sino

también con respecto a la cantidad de bits que se pueden ocultar en la imagen, de tal forma de no

producir ningún error al ser recuperados, para ello se utiliza el PSNR y el BER que se relacionan

con la capacidad de ocultamiento bpp y la tasas de error.

• El BER (Bit Error Rate), es la medida más habitual para determinar la cantidad de errores

en toda línea de transmisión de datos, y se define como la probabilidad de que un bit se

reciba erróneamente [9]; en la ecuación (3.8) se define la relación entre el número de bits

errados y el número de bits transmitidos. Entre más aumente el número de bit erróneos con

respecto a los bits transmitidos mayor será el BER.

)(__

bitsOcultoTextoerróneosBitsBER = . (3.8)

En la relación de la capacidad de ocultamiento y la tasa de error de la implementación anterior se

obtuvo un BER=0, considerando un sistema esteganográfico de comunicación segura.

Page 69: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

58

En el campo de la esteganografía, el asunto de robustez no se ha considerado como un tópico

importante, sin embargo, recientemente varios artículos están dando importancia a este asunto [10]

[11]. Principalmente el sistema esteganográfico debe ser robusto a compresión de JPEG con alto

factor de calidad (100-95) y contaminación por diferentes tipos de ruido, tales como ruido

impulsivo y ruido Gaussiano.

La relación de la tasa de error y la compresión JPEG se visualiza en la tabla 3.5, donde a diversos

esteganogramas se ocultan solo 100 letras en el plano 1. La tabla indica que un factor de

compresión de 100 aplicada, implica que el esteganograma pueda tener una pérdida del 40%, este

porcentaje es alto y representa un problema en el entendimiento del mensaje secreto. Las pruebas

realizadas reafirman la teoría vista en la literatura en la cual indica la baja robustez que tienen los

algoritmos esteganográficos basados en el dominio espacial frente a la compresión de imagen y

adición de ruido.

Lena Barco Mandril Bárbara Loro Peppers

100 99

0.4088 0.5025

0.4125 0.4738

0.3837 0.4675

0.4025 0.4350

0.3850 0.4050

0.3800 0.4300

Tabla 3.5. Relación de la tasa de error y la compresión JPEG.

Tabla 3.6 muestra el texto extraído de 100 letras (0,0030517578125 bpp), aplicando una

compresión JPEG con factor de calidad 100, el porcentaje de error es 38%, la cual representa un

grave problema debido a que el mensaje no se entiende.

Texto original

800 bits 307 bits cambiados BER= 0.3837,

Con el rápido crecimiento de la Tecnologías de la Información (TI) y las telecomunicaciones se han

P74;¨**¢Cïn2el(såpiäï #Våsom-enun,de(ìa0TåcloLo¥ýáa`d! l#!MnformàkÉÃn�(VÉ� dy!lAS tådraoé7f9cas)olms

Tabla 3.6 Imagen Mandril Mensaje recuperado de un mensaje secreto de 100 letras ocultado en el 1er plano.

Cuando la información se oculta en el plano 4, la relación de la tasa de error y la compresión JPEG

se visualiza en la Tabla 3.7, Debido a que la información se ocultó en el plano 4, la compresión

aplicada en los esteganogramas produce un menor porcentaje de error para algunas imágenes como

es el Mandril y Bárbara.

Factor Calidad JPEG

BER

Page 70: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

59

Lena Barco Mandril Bárbara Loro Peppers

100

0.3000

0.3787 0.1563 0.1475 0.3212 0.1713

Tabla 3.7 Relación entre la capacidad de información oculta y el BER, insertando en el 4to Plano de bit.

Los textos extraídos cuando el mensaje es ocultado en el plano 4to y 5to plano, le es aplicada una

compresión JPEG con un factor de calidad de 100 al esteganograma, se puede visualizar en la tabla

3.8 que la información oculta en el plano 4 aun existe un alto porcentaje de error, sin embargo,

cuando los datos son ocultos en el 5to plano, la gramática del texto comienza hacerse entendible

teniendo un porcentaje del 15% de error, esto lleva a un problema de considerar insertar

información en el 5 plano de bits debido a que puede afectar a la calidad de la imagen.

Texto original 800 bits

Texto recuperado en el 4to plano BER= 0.3812

Texto recuperado 5to plano BER= 0.1563 bits.

bits cambiados= 125 Con el rápido crecimiento de la Tecnologías de la Información (TI) y las telecomunicaciones se han

C�n el rápido kruaimiefto$de lá \ebfoloGïaw dg la Ingozmcaiój -TI) y las tele#oouoicacioNes$sa(han

Aon al r¡pido cresimientg t`!la \dcno,ogÍCw`de la Innkrmaaión y |as telecomUnicaciones se jan

La Tabla 3.8. Texto extraído a partir de que mensajes fueron ocultos en el 4to y 5to Plano de bit.

La Tabla 3.9 muestra la tasa de error con diferente adición de ruido Gaussiano, como se visualiza a

partir de una varianza menor a .000001 el porcentaje de error es mayor que una varianza de

.0000001, ambos resultados indican que el sistema no es robusto, debido a que la adición de poco

ruido Gaussiano puede afectar considerablemente la tasa de error, aún insertando en el plano 4 de la

imagen.

4to Plano 0000012 =σ .

4to Plano 0000012 =σ

Lena Barco

Mandril Bárbara

Loro Goldhill

0.0250 0.2612 0.0250 0.0450 0.2612 0.1038

0.0187 0 0 0 0 0

Tabla 3.9 Tasa de error y la adición de ruido Gaussiano.

Cuando se considera la adición de ruido Gaussiano en el esteganograma, se puede observar en la

tabla 3.10 que poco ruido afecta a la extracción del mensaje secreto

BER

Factor Calidad JPEG

BER

Page 71: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

60

Mensaje original Texto recuperado 4to plano

0000012 >σ BER=0.0275

Texto recuperado 4to plano 000001.2 <σ

VER=0.0388 Informalmente la esteganografía se refiere a la práctica de ocultar mensajes secretos en comunicaciones sobre un canal público, de modo que los atacantes no estén enterados de la existencia de un mensaje,

Informalmente la`esteganografìa Se refiere a la práctica de ocultar MensAjes secsevOs en comõliCacione3 skâre`un gAnal`públibo, de moto que los atacantes no estén eoter`$oc de la eyistgncke e- un mensajm,

Infgrmal-ente lå"eståganogr!fí+ {å befiere a la prãcpica àå ocultav munSajes S}creõos!en comujIcaaiones sobre un ca~aì público, de mofo°que los atacaftes no estén enterados"äe ha exist!ncia te un íencaje$

Tabla 3.10. Textos extraídos en el plano 5 cuando se adiciona ruido Gaussiano al esteganograma.

3.6 Conclusiones

En este capítulo se hizo un análisis detallado de la esteganografía basada en planos de bits, el

análisis abarca la aplicación de la esteganografía tradicional y la esteganografía usando la

complejidad de segmentación de planos de bits. Los resultados obtenidos muestran que la

esteganografía BPCS es una técnica eficaz para ocultar gran cantidad de datos en comparación con

la esteganografía tradicional. La esteganografía BPCS puede tener una inserción del 30% de

capacidad máxima de inserción en algunas imágenes en escala de gris como en el caso de Lena,

manteniendo un PSNR de 30 a 35 dB y considerando un BER=0 cuando el esteganograma es

enviado sobre un canal seguro, en caso de agregar ruido Gaussiano y aplicar cambio de formato de

JPEG con factor de calidad 100 puede tener un BER=.02 en algunas imágenes.

Sin embargo, a pesar de que esta técnica posee gran capacidad de ocultamiento, tiene la desventaja

de no ser robusta frente a la compresión de imágenes JPEG y la adición de ruido Gaussiano, esto

representa un problema si se considera la aplicación real de este algoritmo en el envío del

esteganograma en un sistema de comunicación inseguro como es el Internet.

3.7 Referencias

[1] R. Eason, “A Tutorial on BPCS Steganography and Its Applications", Proceedings of Pacific

Rim Workshop on Digital Steganography 2003, pp. 18-31, 2003.

[2] E. Kawaguchi and R. Eason, “Principle and applications of BPCS-Steganography”, Proc. SPIE,

Vol. 3528, pp. 464-473, 1998.

[3] C. Ortega, Tesis “Comunicación Esteganográfica”,IPN, ESIME Culhuacán, 2002.

Page 72: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 3 Complejidad de Segmentación de Planos de Bits

61

[4] H. Hirohisa, “A data embedding method using bpcs principle with new Complexity measures”,

faculty of integrated human studies, kyoto university Yoshida-nihonmatsu-cho, sakyo-ku, kyoto,

606-8501 Japan.

[5] J. Spaulding, H.Noda , S. Mahdad, E.Kawaguchi, ” BPCS Steganography using EZW Lossy

compressed images”, Pattern Recognition Letters 23,1579-1587, 2002.

[6] J. Spaulding, H.Noda , S. Mahdad, E.Kawaguchi, “BPCS Steganography Combined with

JPEG2000 Compression,” Proceedings of Pacific Rim Workshop on Digital Steganography 2002,

pp. 98-107, 2002.

[7] J. Spaulding, H.Noda , S. Mahdad, E.Kawaguchi, “Application of bit- plane decomposition

Steganography to Wavelets encoded”, IEEE Signal Processing, Vol. 9, No.12, 2002.

[8] E. Kawaguchi, and R. Taniguchi, “The depth first picture-expression as an image thresholding

strategy”, IEEE Transactions on Systems, Man, and Cybernetics, Vol. 19, No. 5, 1989.

[9] W. Stallings, “Comunicaciones y redes de computadores”, Prentice Hall, 6ta ed, 124pp, 2004.

[10] C. C. Chang and P. Y. Lin, “A Compression-Based Data Hiding Scheme Using Vector

Quantization and Principal Component Analysis”, Proc. of 2004 Int. Conf. on Cyberworld (CW04),

2004.

[11] Z. Ni, Y. Q. Shi, N. Ansari , W. Su, Q. Sun and X. Lin, “Robust Lossless Image Data Hiding”,

2004 IEEE Int. Conf. on Multimedia and Expo (ICME 2004), pp. 2199-2202, 2004.

Page 73: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

62

Page 74: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

63

CAPÍTULO 4 LA TRANSFORMADA WAVELET Y SU

APLICACIÓN EN LOS SISTEMAS

ESTEGANOGRÁFICOS

Contenido del capítulo

4.1 Introducción

4.2 Reseña Histórica de los Wavelets.

4.3 Transformada Wavelet.

4.3.1 Propiedades de los Wavelets.

4.3.2 Tipos de Wavelet.

4.4 Transformada Wavelet Discreta (DWT).

4.4.1 Transformada Wavelet Discreta Unidimensional.

4.4.2 Transformada Wavelet Rápida (FWT)

4.4.3 Transformada Wavelet Bidimensional.

4.5 Aplicaciones de la transformada Wavelet

4.5.1 La transformada Wavelet aplicada en el procesamiento de imágenes

4.5.2 Esquema de compresión EZW

4.5.3 Esquema de compresión JPEG2000

2.5.4 La Transformada Wavelet Entera (IWT)

4.6 Esteganografía usando la transformada Wavelet.

4,6.1 Esteganografía BPCS aplicada al esquema de compresión EZW.

4.6.2 Esteganografía BPCS basada en el esquema de compresión JPEG2000

4.6.3 Esteganografía usando la transformada Wavelet Entera

4.7 Conclusiones.

4.8 Referencias.

Page 75: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

64

4.1 Introducción

En los últimos años la transformada Wavelet ha ganado aceptación en el campo del procesamiento

de imágenes con los esquemas de compresión JPEG2000, EZW y SPIHT los cuales están basados

en la Transformada Wavelet Discreta [1].

El estándar original JPEG, hizo uso de la transformada discreta coseno (DCT) como parte de un

esquema de compresión. Este formato ha sido usado ampliamente, ganando renombre debido a la

demanda de esquemas de compresión, DCT es utilizada en la esteganografía a través de las marcas

de agua, pero no es eficiente en niveles altos de compresión, sin embargo, el uso de Wavelets

supera su rendimiento, incrementando la robustez de la información oculta, actualmente algunos

autores dan importancia a crear algoritmos esteganográficos robustos [2][3] los cuales destaca la

aplicación de sistemas usando esquemas de compresión JPEG200[4].

Este capítulo está enfocado a estudiar la transformada Wavelet, explicando sus características y

propiedades, así como su uso en el procesamiento de imágenes, principalmente se describe la

aplicación de sistemas esteganográficos empleando el esquema de compresión EZW, JPEG2000 y

la Transformada Wavelet Entera (IWT)

4.2 Reseña histórica de los Wavelets

Las raíces de los Wavelets datan de 1873, cuando en un trabajo Karl Weierstrass describió una

familia de funciones que son construidas por una superposición de versiones escaladas de una

función base dada. Las funciones que él definió son fractales, en el sentido de que son continuas en

todos sus puntos y diferenciables en ninguno. El concepto de Wavelets en su actual forma teórica

fue propuesto por Jean Morlet y su equipo en el centro de física teórica de Marsella Francia.

Alfred Haar construyó el primer sistema ortonormal de funciones con soporte compacto, ahora

llamada base de Haar[5].

El término Wavelet fue usado en el campo de la sismología, donde fue bautizado por Ricker en

1940 para describir el disturbio resultante de un impulso sísmico agudo o de una carga explosiva.

En 1989 Mallat mostró cómo esta teoría se puede utilizar en el procesamiento de imágenes y en el

análisis de señales. En los años 1988 y 1989 los trabajos de Daubechies construyeron Wavelets de

soporte compacto y Mallat que estableció la conexión con el procesado discreto de señales,

impulsaron la gran difusión de la transformada Wavelet en el ámbito del procesamiento de señales.

Desde entonces, se han hecho una cantidad importante de contribuciones a la teoría y aplicaciones

prácticas en varios aspectos relativos de la transformada Wavelet (WT).

Page 76: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

65

4.3 Trasformada Wavelet

La teoría de la transformada Wavelet ha sido desarrollada como un marco de trabajo estudiado

recientemente, sin embargo, muchas ideas similares y construcciones han tenido lugar al inicio del

siglo pasado. La idea de ver a una señal en varias escalas y analizarla con varias resoluciones surgió

independientemente en muchos campos de las matemáticas, física e ingeniería [6].

Para algunas aplicaciones es deseable visualizar a la transformada Wavelet como una

descomposición en un conjunto de funciones base. Estas se obtienen de un Wavelet prototipo

mediante dilataciones, contracciones (escalamiento) y mediante el uso de corrimientos. El análisis

de la transformada Wavelet resulta en un conjunto de coeficientes de Wavelet, los cuales indican

qué tan cercana es la señal a una función base en particular. Por ellos, se espera que cualquier señal

en general pueda ser representada como una descomposición en Wavelets, es decir, que la forma de

onda original se sintetice mediante la adición de bloques elementales, de forma constante pero

diferente tamaño y amplitud [2].

Una base Wavelets para )(2 RL es una familia de funciones )()( tmnΨ , todas derivadas por

traslación y dilatación (expansión) de una Wavelets madre )(tψ de acuerdo con la ecuación (4.1):

)2(2)()( ntt mmmn −=Ψ −− ψ , (4.1)

Tal que )()( tmnΨ es una base de )(2 RL , esto es que cualquier señal )(2 RLx ∈ , puede ser escrita

como una combinación lineal descrita en la ecuación (4.2).

[ ]∑ ∑∞

−∞=

−∞=

=m n

mn

m nyx )()(1 ψ . (4.2)

Donde [ ]ny m)(1 , es una secuencia de números reales. Notando que un incremento en el valor m

corresponde a un incremento de la escala (expansión o dilatación), de las funciones Wavelets

)()( tmnΨ [1].

Page 77: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

66

4.3.1 Propiedades de los Wavelets.

Entre las características importantes de la transformada Wavelet están el soporte compacto, que es

la propiedad que la señal prototipo sea de duración finita. La propiedad de simetría permite que los

filtros sean de fase lineal. La ortogonalidad es la propiedad que se logra cuando el producto punto

de dos vectores es igual a cero y es importante en los estudios encontrar este tipo de

características para que los análisis sean estables.

La transformada Wavelet tiene las siguientes propiedades:

• La transformada de Wavelet tiene la propiedad de de-correlación, es decir, una

descomposición en Wavelet conduce a una representación dispersa, esto es útil en

aplicaciones a la compresión y es la base para los algoritmos de reducción de ruido

mediante los umbrales de Wavelet.

• La teoría de los Wavelets usa el concepto de resolución múltiple de forma natural, debido a

que muchos fenómenos en la Naturaleza poseen un carácter de escalas múltiples. Las

imágenes son un ejemplo típico de datos en escalas múltiples ya que estos contienen

información, es decir, objetos en diferentes escalas.

• Las funciones base de Wavelets son locales en tiempo/espacio y en frecuencia (o en escala).

Una descomposición en Wavelets es una transformada lineal cuya complejidad es también

lineal. Esto permite disponer de algoritmos rápidos.

• La ortogonalidad o la biortogonalidad en una base de Riesz garantizan transformadas bien

condicionadas.

• La variedad de las funciones base de Wavelets y los filtros correspondientes permiten para

cada aplicación, una selección ideal de la base.

• Fase lineal. Es importante por una variedad de razones, la simetría permite reducir el

número total de operaciones de multiplicación por un factor o dos en muchas

implementaciones [1].

4.3.2 Tipos de Wavelet.

Existen diferentes tipos de Transformada Wavelet:

• La Transformada Wavelet Continua (CWT)

• La Transformada Wavelet Semi-discreta (SMT)

• La Transformada Wavelet Discreta (DWT)

Page 78: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

67

• La Transformada Wavelet Packet (PWT)

• La Transformada Wavelet Compleja

• La Transformada Wavelet Entera(IWT)

La diferencia entre ellas radica principalmente en la forma en que los parámetros de desplazamiento

y escala son discretizados. En el procesamiento de imágenes la más utilizada es la DWT. Dentro de

las transformadas Wavelet más famosas y utilizadas podemos citar Haar que es la más simple y la

más antigua.

La transformada Wavelet Daubechies de orden N, depende del número de momentos de

desvanecimiento que se deseen, N es un entero positivo y denota el número de coeficientes del

filtro que tiene la transformada, por ejemplo, la Daubechies de orden 1 es conocida como la

transformada Haar.

4.4 Transformada Wavelet Discreta (DWT)

En el caso de tiempo discreto, se desarrollaron dos métodos en forma independiente a finales de los

setentas y principios de los ochentas los cuales conducen naturalmente a la transformada Wavelet

Discreta (DWT), estos métodos son la denominada codificación en subbandas y codificación

piramidal o análisis de señal en resolución múltiple [6].

Para el caso de la transformación discreta debemos tomar en cuenta un muestreo que convierta la

señal continua, en discreta. El muestreo que se utiliza está basado en el análisis multiresolución,

entendiendo por resolución el número de niveles de descomposición en el dominio de las Wavelets,

este muestreo, se realiza en base a una serie de filtros digitales.

Los filtros son sistemas que son diseñados para remover los componentes o para modificar algunas

características de una señal. El filtrado de una señal corresponde a la operación matemática de

convolución, el filtro elimina las componentes frecuenciales situadas por encima de la mitad del

ancho de banda de la señal. Existen diversos tipos de filtros, entre estos se encuentran los filtros

pasa-bajas y pasa-altas. El filtro pasa-bajas es aquél que bloquea todas las frecuencias mayores a la

de la frecuencia de corte, permitiendo pasar todas las frecuencias menores a las de corte. En el filtro

pasa-altas es el que bloquea todas las frecuencias menores a la de la frecuencia de corte, y permite

pasar todas aquellas frecuencias mayores a la de corte.

Page 79: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

68

El proceso de filtrar una función )(nx corresponde a la operación matemática de la convolución

que está definida en la ecuación (4.3):

∑∞

−∞=

−=∗=m

mnhnxnhnxny )()()()()( . (4.3)

Se tiene una ecuación de diferencia )(ny y una respuesta al impulso )(nh donde jn 2= , j es un

número entero que denota el número de niveles de descomposición. El valor de n indica el número

de muestra que se está trabajando, todas las muestras están igualmente espaciadas.

La DWT en el caso unidimensional y bidimensional, pueden ser implementados usando un banco

de filtros digitales, mostrado en la figura 4.1. El análisis involucra la estimación de los coeficientes

Wavelets y la síntesis o reconstrucción corresponde al proceso de calcular la ecuación de

combinación lineal, para ello se han diseñado 2 términos importantes que son el Decimado (Down

sampling) y la interpolación (Up sampling) que propiamente se refiere al sentido en que se realiza el

muestreo, el decimado se refiere a reducir el número de muestras, mientras que la interpolación se

refiere a incrementar el número de las mismas.

Figura 4.1 Análisis y síntesis de un banco de filtro.

4.4.1 Transformada Wavelet Discreta Unidimensional

El par de la Transformada Wavelet Discreta (Discrete Wavelet Transform) [7] para el caso

unidimensional, está definida por la ecuación (4.4):

W ( ) ( ) ( )xxfM

kj kjx

,0 01, ϕϕ ∑= , (4.4)

Page 80: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

69

W ( ) ( ) ( )xxfM

kj kj

X

,1, Ψ= ∑Ψ , (4.5)

Para j 0j≥ y

W ( ) ( ) ( ) ( ) ( )xkjWM

xkjWM

xf kj

kjjK

kj ,0 ,1,10

,0 Ψ+= ∑∑∑ Ψ

=

ϕϕ . (4.6)

Aquí, ( ) ( )xxf kj ,0ϕ= y ( )xkj ,Ψ son funciones de la variable discreta

1,...,2,1,0 −= Mx Normalmente 0j =0 y M se selecciona en potencia de 2 (es decir M= 2 j ) de

modo que las sumas son realizadas sobre 1,...,2,1,0 −= Mx , j = 0,1,2,…, J-1, y k= 0,1,2,…,2 j -

1.

4.4.2 Transformada Wavelet Rápida (FWT)

La transformada Rápida Wavelet (Fast Wavelet Transform) es una implementación

computacionalmente eficiente de la transformada Wavelet discreta que aprovecha una sorprendente,

pero afortunada relación entre los coeficientes de la DWT y escalas adyacentes; lo que se expresa

de la siguiente manera en la ecuación (4.7):

( ) ( ) ( )mjWkmhkjWm

,12, +−= ΨΨ ∑ ϕ , (4.7)

( ) ( ) ( )mjWkmhkjWm

,12, +−= ∑ ϕϕϕ . (4.8)

Estas ecuaciones, también pueden ser expresadas mediante convolución, con los coeficientes

Wavelet y de escalamiento, invertidos en el tiempo, por lo que se pueden escribir como lo señalan

las ecuaciones (4.9) y (4.10):

( ) ( ) ( ) 0,2,1*, ≥=ΨΨ +−= kknnjWnhkjW ϕ , (4.9)

( ) ( ) ( ) 0,2,1*, ≥== +− kknnjWnhkjW ϕϕϕ . (4.10)

Page 81: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

70

Donde las convoluciones son evaluadas en instantes n=2k para k_>0. la figura 4.2 reduce estas

operaciones, en forma de diagrama de bloques.

( )nh −Ψ ↓2 ( )njW ,Ψ

( )njW ,1+ϕ ( )nh −ϕ ↓2 ( )njW ,ϕ

Figura 4.2 Un banco de filtro de análisis de la 1−FWT . El banco de filtro de la figura 4.2 puede ser iterado para crear estructuras multietapas que permitan

calcular los coeficientes de la DWT en dos o más etapas sucesivas.

La transformación inversa, llamada 1−FWT o síntesis, puede conseguir con la misma metodología

de los filtros, pero esta vez, no invertidos en el tiempo. Este proceso se muestra en la figura 4.3.

Como antes, si la transformación directa tiene más de dos etapas, la transformación inversa también

las tendrá.

( )),njWΨ ↑2 ( )nhΨ ( )njW ,1+ϕ

( )njW ,ϕ ↑2 ( )nhϕ

Figura 4.3 Un banco de filtro de síntesis de la 1−FWT .

Page 82: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

71

4.4.2 Transformada Wavelet Bidimensional.

Hasta ahora, se ha hecho referencia a la descomposición mediante Wavelets a señales de una

dimensión. Sin embargo, las imágenes son señales bidimensionales. La transformada

unidimensional tratadas en las dos últimas secciones se pueden extender a funciones

bidimensionales. En dos dimensiones, se requieren [7]:

• Una función de escalamiento ( )yx,ϕ

• Y tres Wavelets bidimensionales, ( ) ( ) ( ).,,,,, yxyxyx DV ψψψ Η

Cada uno es el producto de la función de escalamiento ϕ unidimensional y el correspondiente

Wavelet ψ . Excluyendo los productos unidimensionales que se producen, los cuatro productos que

permanecen son:

Una función de escalamiento separable

( ) ( ) ( )yxyx ϕϕϕ =, , (4.11)

Y los Wavelets separables

( ) ( ) ( )yxyxH ψψψ =, , (4.12)

( ) ( ) ( )yxyxV ψϕψ =, , (4.13)

( ) ( ) ( )yxyxD ψψψ =, . (4.14)

Estos Wavelets miden las variaciones de intensidad o nivel de gris. Hψ , Mide las variaciones a lo

largo de las columnas (por ejemplo, esquinas horizontales), Vψ a lo largo de los renglones ( como

las esquinas verticales), y Dψ variaciones diagonales.

La transformada Wavelet discreta para el caso bidimensional o función ( )yxf , de tamaño M x

N [ ]5 es definida en las ecuaciones (4.15) y (4.16):

Page 83: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

72

( ) ( ) ( )yxyxfMN

mmjW nmj

N

Y

M

X

,,1,, ,

1

0

1

0

,00 ϕϕ ∑∑−

=

=

= , (4.15)

( ) ( ) ( )yxyxfMN

nmjW inmj

N

Y

M

X,,1,, ,,

1

0

1

0

1 ψψ ∑∑−

=

=

= i={H,V,D} . (4.16)

Como en el caso unidimensional, 0j es una escala de inicio arbitraria y los coeficientes

( )nmjW ,,0ϕ definen una aproximación de ( )yxf , en la escala 0j . Los coeficientes ( )nmjW i ,,ψ

suma los detalles Horizontales, Verticales y Diagonales para la escala 0jj ≥ Normalmente 00 =j

y JMN 2== de manera que ,...12,00 =J 1−J y m,n= 0, 1, 2,…, 12 −j . La transformada

Wavelet inversa correspondiente a la ecuación (4.17):

( ) ( ) ( )yxnmjWMN

yxf nmj

nm

,,,1, ,,0 0ϕϕ∑∑= +

( ) ( )yxnmjWMN

nmjii

nmjjDVHi

j ,,,1,,

,, 0

ψψ∑∑∑∑∞

==

,

(4.17)

Así, como el caso unidimensional, la transformación DWT bidimensional, puede ser implementada

usando filtros digitales de una sola dimensión; tomando la FWT unidimensional: primero sobre las

columnas y luego sobre los renglones (o viceversa). El banco de filtro de análisis se muestra en la

figura 4.4, en forma de diagrama de bloques. Este banco puede ser “iterado” para producir una

transformada de P escala, en la que la escala j .,,2,1 PJKJJj −−−=

Page 84: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

73

( )nh −ψ

( )nh −ϕ

↓2

↓2

( )mh −ψ

( )mh −ϕ

( )mh −ψ

( )mh −ϕ

↑2

↑2

↑2

↑2

( )nmjW ,,1+ϕ

( )nmjW ,,ψ

( )nmjW H ,,ψ

( )nmjW V ,,ψ

( )nmjW D ,,ψ

Figura 4.4 Resultado de la descomposición empleando la FWT.

La figura 4.5 muestra el banco de filtro de síntesis para el caso bidimensional.

( )nh −ψ

( )nh −ϕ

↑2

( )mh −ψ

( )mh −ϕ

( )mh −ψ

( )mh −ϕ

↑2

↑2

↑2

↑2

( )nmjW ,,1+ϕ

( )nmjW ,,ψ

( )nmjW H ,,ψ

( )nmjW V ,,ψ

( )nmjW D ,,ψ

↑2

Figura 4.5 Transformada rápida Wavelet inversa de dos dimensiones.

Page 85: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

74

4.5 Aplicaciones de la transformada Wavelet

La teoría de los Wavelets provee un cuadro unificado para varias técnicas que han sido

desarrolladas independientemente para varias aplicaciones a procesamiento de señales. Por

ejemplo, procesamiento de señales en resolución múltiple, utilizadas en visión por computadora;

codificación en subbandas desarrollada para la compresión de audio e imágenes; expansiones en

series de Wavelets, desarrolladas en matemática aplicada.

4.5.1 La transformada Wavelet aplicada en el procesamiento de imágenes

La transformada Wavelet discreta se describe como un árbol dinámico estructurado por subbandas y

la idea básica consiste en tomar una señal original y separarla en dos frecuencias altas y bajas [1].

La parte de las altas frecuencias en una imagen representa los bordes y se les denomina subbandas

de detalle; la parte de las bajas frecuencias se conoce como subbandas de información.

Para una transformación bidimensional descrita en la figura 4.4, la subbanda pasa baja

( )mmjW ,,0ϕ o componente DC es más comúnmente identificada como la banda LL; de manera

similar ( )mmjW D ,,0ϕ representa el contenido de alta frecuencia en direcciones vertical y

horizontal y es identificado como HH, por otra parte ( )mmjW H ,,0ϕ representa el contenido de

baja frecuencia en dirección vertical y contenido de baja frecuencia en dirección horizontal, esta es

identificada como subbanda HL en tanto ( )mmjW V ,,0ϕ es identificado como la banda LH dado

que representa contendido de alta frecuencia en dirección vertical y baja frecuencia en dirección

horizontal [1].

De acuerdo con esto, la banda LL es una versión de baja resolución de la imagen original, que debe

ser ampliamente libre de artefactos visuales [1] que contiene la mayor parte de la energía de la

imagen, es decir, la información más importante, mientras que los detalles tienen valores próximos

a cero

La descomposición DWT aplicada en una imagen se muestra en la Figura 4.6 (a) y 4.6 (b), la

imagen es procesada mediante una multiresolución de tercer nivel donde el primer nivel está

representado por las subbandas LL1, LH1, HH1 y LH1, es notable que en dos dimensiones solo una

de las cuatro subbandas (LL1), sea descompuesta recursivamente en más subbandas, la subdivisión

recurrente es nuevamente continuada para λ niveles , produciendo un total de subbandas 3 λ +1.

Page 86: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

75

Figura. 4.6 (a) Descomposición de tercer nivel de la DWT siendo 3=λ .

Figura. 4.6 (b) Descomposición DWT aplicada a una imagen siendo 3=λ .

En los últimos años se han introducidos nuevos esquemas más sofisticados de codificación de

imágenes que hacen uso de la transformada Wavelet, entre ellos se encuentran los esquemas de

compresión EZW, SPITH y JPEG2000. Se han realizado muchas mejoras a estos componentes para

aprovechar la forma en que la transformada Wavelet actúa sobre la imagen, las propiedades del

sistema visual humano (HVS) y la estadística de los coeficientes transformados.

El papel de cada uno de los componentes de un codificador de imágenes se debe analizar

cuidadosamente. Un cuantizador y codificador progresivo adecuadamente diseñados, junto con una

óptima transformación de la señal, permitirán conseguir mejores resultados de compresión.

Page 87: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

76

4.5.2 Esquema de compresión EZW

Shapiro introdujo en 1993 un esquema de compresión conocido como EZW (Embedded Zerotree

Wavelet) para la codificación progresiva de los coeficientes Wavelets de una imagen mediante la 2-

D DWT. El algoritmo EZW se basa en la hipótesis de que si un coeficiente en un nivel poco

profundo de descomposición es inferior a un nivel significativo o umbral T, entonces, todos los

coeficientes de la misma orientación y con la misma localización espacial a escalas más profundas

de descomposición son insignificantes respecto a T [8].

El esquema de EZW, codifican los coeficientes en orden descendente como se muestra en la figura

4.7, se realiza una exploración de los coeficientes de tal forma que ningún nodo “hijo” se analiza

antes que su correspondiente “padre”.

Figura. 4.7 Correspondencia de los coeficientes Wavelets.

El EZW transmite el valor de los coeficientes en orden decreciente. El recorrido de la matriz de

coeficientes se realiza en zig-zag transmitiendo el n-ésimo bit más significativo en cada

exploración, la cual comienza en la subbanda de frecuencia inferior, denotada como 3LL y se

escanean las sbbandas NHL , NLH , y NHH , en este punto se mueve a la escala 1−N , etc. que

es mostrado en la figura 4.8

Page 88: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

77

Figura 4.8 Recorrido Zig-Zag de los coeficientes Wavelets.

La idea del algoritmo es por tanto, la definición de un árbol de elementos nulos que empiece en una

raíz y que se conoce como fin del bloque. De esta manera y puesto que el árbol crece en potencias

de 4, se pueden descartar muchos coeficientes que son insignificantes respecto al umbral T en

subbandas superiores. El algoritmo EZW codifica el árbol obtenido de acuerdo con la

especificación del umbral T. El resultado es una codificación en la que los bits se generan en orden

de importancia en su contribución a la imagen. La principal ventaja de este codificador es, por tanto,

la de poder terminar la codificación en cualquier punto y por esta razón, permite alcanzar el factor

de compresión requerido sin más que truncar el árbol de codificación. De forma similar, el

decodificador puede también terminar de decodificar en cualquier punto y generar así una primera

aproximación de la imagen.

Desde la introducción del algoritmo EZW en 1993 se han hecho muchas mejoras para hacerlo más

robusto y eficiente. Una de ellas es el conocido popularmente como algoritmo SPIHT [9].

4.5.3 Esquema de compresión JPEG2000

JPEG2000 o jpeg2k, es el nuevo estándar ISO/ITU-T para compresión de imágenes digitales fijas la

cual está basado en la transformada Wavelet, fue diseñado en respuesta a la necesidad de procesar

imágenes de alta calidad pero de baja tasa de bits y para corregir las limitaciones del formato JPEG.

El nuevo esquema de compresión puede trabajar con niveles de compresión mayores a los de JPEG

sin incurrir en la generación de bloques uniformes y de aspecto borroso. También se adapta mejor a

la carga progresiva de las imágenes. Actualmente JPEG2000 no está ampliamente soportado por los

programas de visualización de páginas Web.

Page 89: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

78

El codificador JPEG2000 consiste en varios componentes fundamentales: un bloque de pre-

procesamiento, la transformada Wavelet discreta (DWT), un bloque de cuantización, un bloque de

codificación aritmética (codificación tier-1) y un bloque de organización en tramas de bit

(codificación tier-2)[10] (ver la parte izquierda de la figura 4.9)

Figura 4.9 Diagrama de bloques de datos ocultos y extracción en esteganografía BPCS basado en el esquema

JPEG2000.

El pre-procesamiento incluye la transformación para imágenes de componentes múltiples,

típicamente imágenes a color. Después de que la DWT se aplica a cada componte, los coeficientes

Wavelet se cuantizan uniformemente con zona muerta. Después de la etapa de cuantización, un

paso opcional que consiste en realizar una función llamada región de interés (Region Of Interest:

ROI). La ROI puede realizarse escalando los coeficientes Wavelet en regiones relevantes. Los

coeficientes Wavelet se codifican en planos de bit mediante la codificación aritmética.

En JPEG2000, cada subbanda DWT de la imagen es codificada independientemente con respecto a

las otras subbandas. Más aún, cada subbanda se divide en pequeños bloques llamados bloque de

código y cada bloque de código se codifica independientemente mediante un algoritmo de

codificación de bloque con truncamiento óptimo [4]. Este procedimiento es absolutamente diferente

Imagen dato

Pre-procesamiento

DWT

Cuantización

ROI Escalamiento

Codificador Aritmético

(Tier-1 Coding)

Organización cadena de bits

(Tier-2 Coding)

Cadena de bits

BPCS (Extracción)

ROI De-escalamiento

decodificador Aritmético

(Tier-1 Coding)

desorganización cadena de bits

(Tier-2 Coding)

BPCS (Inserción)

ROI Escalamiento

Codificador Aritmético

(Tier-1 Coding)

Organización cadena de bits

(Tier-2 Coding)

Datos secretos Datos secretos

Cadena de bits

Page 90: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

79

de otros codificadores Wavelet conocidos tal como el EZW y SPIHT La codificación

independiente de bloques de código provee de muchas ventajas como es el acceso aleatorio a

localidades de la imagen, tolerancia a errores mejorada, control de taza de bit eficiente y el

ordenamiento de la trama de bits. Los coeficientes Wavelet en un bloque de código cuantizados, se

codifican en planos de bit mediante tres pasos con la codificación aritmética: la propagación de

significancia, refinamiento y limpieza.

Los datos comprimidos de los bloques de código se organizan en unidades llamadas paquetes y en

capas en codificación tier-2. Un contenedor [recinto] es una colección de bloques de código

espacialmente contiguos de todas las sub-bandas a un nivel de resolución determinado. Los datos

comprimidos de los bloques de código en un contenedor [recinto] constituyen un paquete. Una

colección de paquetes de todos los niveles de resolución constituye una capa. Entonces una capa

corresponde a un incremento en la calidad para toda la imagen a resolución completa. En

JPEG2000, son posibles diferentes tipos de órdenes de progresión. De esta forma una vez que la

imagen completa ha sido comprimida se genera una trama con taza de distorsión óptima para un

tamaño de archivo objetivo (taza de bit).

4.5.4 Transformada Wavelets Entera (IWT)

La Transformada Discreta Wavelet (DWT) se ha usado ampliamente en el campo de procesamiento

de señales e imágenes, debido a sus deseables características de frecuencia-espacial. Las principales

aplicaciones de DWT son compresión de señales y eliminación de ruido. El principal defecto que

tiene la DWT es que los coeficientes de Wavelets son generalmente números en punto flotantes y si

introduce alguna cantidad de ruido a estos coeficientes (aunque sea muy pequeño) no se puede

reconstruir la señal original de una manera perfecta, debido a error de cuantización que introduce en

el proceso. En años 1996-1997, con el fin de solucionar este problema, desarrollaron una

transformada no lineal de Wavelet la cual realiza un mapeo de datos enteros a los coeficientes de

Wavelets enteros [11] [12]. Esta Transformada se denominó Transformada Entera de Wavelets

(IWT: Integer Wavelet Transform) y se garantiza una reconstrucción perfecta a partir de los

coeficientes de Wavelets. En [13] y [14], se listaron diferentes tipos de IWT con diferentes órdenes

de filtros pasa baja y pasa alta, los cuales se muestran en la tabla 4.1. En la descomposición de

señales usando IWT, después del filtraje (pasa baja y pasa alta) se aplica una función no lineal

redondeo (“Round”), y en el error de redondeo se absorben las señales decompuestas.

Page 91: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

80

Nombre Transformada Notas

(2,2) ( )

( )1, 0,2 1 0,2 0,2 2

1, 0,2 1, 1 1,

1 2

1 4

l l l l

l l l l

d s round s s

s s round d d

+ +

⎡ ⎤= − +⎣ ⎦⎡ ⎤= + +⎣ ⎦

(4,2) ( ) ( )

( )1, 0,2 1 0,2 0,2 2 0,2 2 0,2 4

1, 0,2 1, 1 1,

9 16 1 16

1 4

l l l l l l

l l l l

d s round s s s s

s s round d d

+ + − +

⎡ ⎤= − + − +⎣ ⎦⎡ ⎤= + +⎣ ⎦

(6,2)

( ) ( )( )

( )

0,2 0,2 2 0,2 2 0,2 41, 0,2 1

0,2 4 0,2 2

1, 0,2 1, 1 1,

75 128 25 256

3 256

1 4

l l l ll l

l l

l l l l

s s s sd s round

s s

s s round d d

+ − ++

− +

⎡ ⎤+ − +⎢ ⎥= −⎢ ⎥+ +⎣ ⎦

⎡ ⎤= + +⎣ ⎦

(4,4) ( ) ( )

( ) ( )1, 0,2 1 0,2 0,2 2 0,2 2 0,2 4

1, 0,2 1, 1 1, 1, 2 1, 1

9 16 1 16

9 32 1 32

l l l l l l

l l l l l l

d s round s s s s

s s round d d d d

+ + − +

− − +

⎡ ⎤= − + − +⎣ ⎦⎡ ⎤= + + − +⎣ ⎦

Interpolación biortogonal simétrica K=1

(2+2,2)

( )( )

( )( )

(1)0,2 1 0,2 0,2 21,

(1) (1)1, 0,2 1, 1 1,

1, 1 1, 1, 1(1)1, 1, (1)

1, 1, 1 1, 2 1, 1

1 2

1 4

1 2 1 2

1 2 1 2

l l ll

l l l l

l l ll l

l l l l

d s round s s

s s round d d

s s sd d round

s s s d

α

β γ

+ +

− +

+ + +

⎡ ⎤= − +⎣ ⎦⎡ ⎤= + +⎣ ⎦⎡ ⎤− + −⎢ ⎥= −⎢ ⎥+ − + − +⎣ ⎦

1 8,0

α βγ

= ==

Orden de filtro pasa alta es 4 K=1

D4 ( )

(1)0,2 1 0,21,

(1) (1)1, 0,2 1, 1, 1

(1)1, 1, 11,

3

3 4 3 2 4

l ll

l l l l

l ll

d s round s

s s round d d

d d s

+

+

⎡ ⎤= − ⎣ ⎦⎡ ⎤= + + −⎣ ⎦

= +

Ortogonal

( )3 1 2 1.577K = + ≈

(9-7)

( )( )

( )( )

(1)0,2 1 0,2 0,2 21,

(1) (1) (1)0,21, 1, 1, 1

(1) (1) (1)1, 1, 1, 1, 1

(1)1, 1, 1, 11,

l l ll

ll l l

l l l l

l l ll

d s round s s

s s round d d

d d round s s

s s round d d

α

β

γ

δ

+ +

+

⎡ ⎤= − +⎣ ⎦⎡ ⎤= + +⎣ ⎦⎡ ⎤= + +⎣ ⎦

⎡ ⎤= + +⎣ ⎦

Biortogonal Simétrica

1.5860.053

0.8830.4441.1496K

αβγδ

≈ −≈ −≈≈≈

Tabla 4.1 Tipos de IWT y sus operaciones [13].

En la tabla 0,ls significa l-ésima señal original, 1d es señal de detalle después de aplicar el filtro

pasa alta y 1s es señal de información después de aplicar el filtro pasa baja. La función “Round ”

realiza redondeo. El factor K controla ganancia de los coeficientes de IWT, los coeficientes de pasa

baja 1,ls se multiplica por 1/ K y los coeficientes de pasa alta 1,ld se multiplica por K.

Page 92: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

81

4.6 Esteganografía usando la transformada Wavelet

Actualmente se ha puesto más interés en la robustez de algoritmos esteganográficos, algunos de

ellos están basados en la transformada Wavelet discreta la cual es ampliamente utilizada en el

procesamiento de señales o de imágenes, principalmente por su muy buen desempeño en cuanto a la

tasa de distorsión en los CCEs. Existen algoritmos que se integran completamente al estándar de

compresión JPEG2000 el cual también se basa en la DWT, otros algoritmos se basan en esquemas

de compresión EZW. Sin embargo estos algoritmos incluyen mayor procesamiento de la imagen,

como el uso de codificadores aritméticos, logrando una mayor robustez en la información oculta. A

continuación se describen algunos de ellos.

4.6.1 Esteganografía BPCS aplicada al esquema de compresión EZW

Uno de los métodos esteganográficos usando la transformada Wavelet se realiza a través de una

integración completa del esquema de compresión de EZW propuesto por Shapiro y la

esteganografía BPCS dando una solución al problema ya mencionado asociado a la esteganografía

de planos de bits [10]. Los coeficientes de la Wavelet de una imagen son cuantizados en una

estructura de planos de bits y los datos secretos se ocultan en los coeficientes cuantizados

Los coeficientes de la DWT en una imagen tienen varias propiedades y la esteganografía BPCS es

ideal para explotarlas [15].

Las principales propiedades de la DWT en la integración de la esteganografía de BPCS son:

• Correspondencia: áreas espaciales en cada sección de los coeficientes en las subbandas

corresponden directamente a las áreas en la imagen original.

• Complejidad: Los planos de bits en los niveles correspondientes de significancia de

coeficientes Wavelet y de la imagen original son proporcionalmente complejos.

• Elasticidad: Los cambios en los valores de los coeficientes Wavelet no crean cambios

desproporcionados en la imagen reconstruida.

El método consiste en codificar los planos de bits de los coeficientes Wavelet uno a la vez,

comenzando con el bit de mayor significancia [15].

En la compresión EZW, cada coeficiente Wavelet se expresa como:

( )...22 22

110 +++= −− aaaTw , { }1,0∈ia . (4.18)

Page 93: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

82

donde T es una constante satisfactoria max5.0 wT > ( maxw es el valor absoluto máximo entre todos

los coeficientes Wavelet en una imagen). Típicamente [ ]max2log2 wT = , como

( )...22 22

110 +++ −− aaa es una expresión binaria, la imagen de DWT se puede considerar para

ser una estructura de planos de bits. La codificación comienza con la información más importante,

así la decodificación se realiza igual.

El proceso para ocultar datos en el esquema EZW consiste en tres pasos [15]: primero se aplica la

DWT a una imagen, después el codificador EZW realiza la cuantización de los coeficientes

Wavelets y hace salir una cadena de símbolos, finalmente se aplica el codificador aritmético y

produce una cadena de bits (archivo de imagen comprimido). La ocultación de datos se realiza

después del segundo paso, el codificador de EZW y antes del tercer paso de la codificación

aritmética. El procedimiento de inserción es mostrado en el bloque punteado de la Figura 4.10. La

aplicación del decodificador EZW a la cadena de símbolos produce cuantización de coeficientes

Wavelet. Usando esta cuantización de coeficientes Wavelet, planos de bits de los coeficientes

Wavelets se puede construir y utilizar la esteganografía BPCS para ocultar datos.

El procedimiento para ocultar datos en la compresión de EZW se muestra en la figura 4.10.

Figura 4.10 Algoritmo esteganográfico bajo el esquema EZW.

Imagen

DWT

Coeficientes Wavelets

Codificador EZW

Cadena de símbolos

Codificador aritmético

EZW Decodificador

BPCS (Inserción)

Cuantización de coeficientes Wavelets

Cuantización de coeficientes Wavelets

Codificador EZW

Decodificador aritmético

Datos secretos

Cadena de bits

Cadena de símbolos Cadena de símbolos

Cadena de símbolos

Cadena de bits

Page 94: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

83

Proceso de extracción

El proceso de extracción de datos secretos es mostrado en la figura 4.11, la reconstrucción EZW

también consiste en tres pasos: el primero, el decodificador aritmético se aplica a una cadena de

bits, entonces la derivación de una cadena de símbolos se pasa al decodificador de EZW para la

cuantificación de los coeficientes Wavelet y finalmente la IDWT se aplica para producir la imagen

reconstruida. La extracción de datos secretos es realizada por el método BPCS usando la

cuantificación de coeficientes Wavelet. BPCS puede extraer datos secretos en los planos de bits que

se construyeron durante el segundo paso. Generalmente la extracción de datos comienza después de

que el archivo entero de la cadena de bits haya sido recibido.

Figura 4.11 Proceso de extracción usando el esquema EZW.

La aplicación de este método esteganográfico tiene altos porcentajes de inserción, alrededor de 25%

del tamaño de la imagen comprimida causando poca degradación visual en la calidad de la imagen.

Este algoritmo esteganográfico pude ser aplicado a otros esquemas esteganográficos basados en la

compresión progresiva donde los coeficientes Wavelet se representan de manera similar como en

EZW los cuales son SPIHT y JPEG2000 para imágenes móviles, 3-D SPIHT y motion-JPEG2000

para video y un método Wavelet-paquete-basado en la compresión para los datos audio [15].

Actualmente este método empieza ha ser implementado en la compresión JPEG2000 (parte 1 de

JPEG2000 para imágenes).

BPCS (Extracción)

Decodificador EZW

IDWT

Cuantización de coeficientes Wavelets

Imagen

Codificador Aritmético

Cadena de bits

Cuantización de coeficientes Wavelets Cadena de símbolos

Page 95: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

84

4.6.2 Esteganografía basada en el esquema de compresión JPEG2000

Básicamente se pueden insertar datos secretos en la representación de planos de bits de los

coeficientes cuantizados, dado que la optimización de taza de distorsión de JPEG2000 es pasada por

alto [10]. Sin embargo, este procedimiento, el cual determina al número óptimo de planos de bit

para una tasa de bits determinada, es una parte esencial del CCE, el cual contribuye a establecer su

alta eficiencia de compresión. Por lo que evita comprometer la eficiencia de compresión de

JPEG200, la inserción de datos con BPCS se hace justo después del de-escalamiento ROI en el

proceso de de-codificación donde la estructura óptima en planos de bit para una tasa de bit dada. El

procedimiento para la inserción y la extracción de datos en la esteganografía JPEG2000-BPCS se

muestra en la figura 4.9.

El proceso completo para la inserción de datos en la esteganografía JPEG-BPCS sigue las flechas

en línea sólida como se muestra en la figura 4.9. Una imagen se codifica en una trama de bits de

JPEG2000. Cuyo tamaño puede cumplir casi exactamente con la taza de bit objetivo (bit/ píxel).

El proceso de codificación se muestra en la parte izquierda de la figura 4.9; del pre-procesamiento a

la organización de la trama de bits. La trama de bits de JPEG2000 (archivo de imagen comprimido)

se decodifica entonces, pero la decodificación se detiene justo después del de-escalamiento ROI. La

información en este punto se utiliza para construir los planos de bit de los coeficientes cuantizados y

después utilizados para insertar datos secretos con esteganografía BPCS (ver el bloque en la parte

superior derecha de la figura 4.9).Los coeficientes Wavelet cuantizados modificados por la

inserción se someten a la codificación JPEG2000 de nuevo, el cual produces una trama de bit

JPEG2000 con datos secretos insertados. La inserción de datos en un archivo ya comprimido en

JPEG2000 es también posible. En este caso, el proceso comienza con una imagen comprimida con

JPEG2000, es decir, una trama de bits desde la parte baja de la parte central de la figura 4.9, y se

sigue el mismo proceso como el anteriormente mencionado [10].

El procedimiento de extracción de datos sigue a las flechas punteadas en la parte central de la figura

4.9 La decodificación JPEG2000 de los datos secretos insertados comienza de la desorganización de

la trama de bits y se detiene justo antes del de-escalamiento ROI. En este punto, la extracción de los

datos secretos se lleva a cabo mediante el método BPCS utilizando a los planos de bit cuantizados.

Se asume que la extracción de datos comienza después que el archivo completo de la trama de bits

se ha recibido.

Page 96: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

85

El algoritmo esteganográfico basado en el esquema de compresión JPEG2000 proporciona tasas de

ocultamiento de alrededor del 15% del tamaño de la imagen comprimida logrando para el pre

ocultamiento 1.0 bpp de imágenes comprimidas con poca degradación en la calidad de la imagen.

4.6.3 Esteganografía usando la Transformada Wavelet Entera

Existen algunos métodos para ocultar información donde hacen uso de la Transformada Wavelet

Entera, estas técnicas consisten en insertar los datos en los planos de bits menos significativos de

los coeficientes enteros Wavelets [16].

Una técnica tradicional de inserción de información sin pérdidas usado para métodos de marcas de

agua es propuesto por Xuan [16], El método es mostrado en la figura 4.12, éste puede recuperar a la

imagen original, utilizando algunas subbandas de la transformada Wavelet que son insensibles a las

modificaciones para insertar datos en los planos de bits de los coeficientes Wavelet. Basándose en

[16], el método inserta datos en múltiples planos de bit junto con el recientemente y desarrollado

esquema de modificación del histograma y registro de operaciones, la calidad visual de la imagen

marcada y la capacidad de inserción se ha mejorado mediante la utilización de este método. La

capacidad puede alcanzar 1/10 del volumen de datos que ocupa la imagen original.

Figura 4.12 Diagrama de inserción de datos usando la IWT.

Imagen original Imagen marcada

Modificación histograma

Transformada Wavelet (IWT)

Compresión JBIG

Transformada Inversa Wavelet

Ocultamiento

Cadena de bits

Selección de Planos de bits

Planos de bits intactos

Marca de agua

Bitácora de información

Page 97: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

86

Existe otra técnica propuesta por el anterior autor, este método no es la técnica tradicional de

inserción de datos sin pérdidas, la figura 4.13 detalla el proceso:

Figura 4.13 Diagrama de inserción de datos.

El prepocesamiento sobre los coeficientes Wavelets incluye: 1) Modificación del histograma para

prevenir el sobre y bajo flujo; 2) el reenvío de la transformada Entera Wavelet, 3) el recibo de

múltiples planos de bits de la IWT y 4) La Transformación inversa de la transformada Wavelet

entera.

Este método puede recuperar sin pérdidas a la imagen pre-procesada en lugar de la imagen original.

Sin embargo, la capacidad puede alcanzar ½ del volumen de datos como consecuencia de la

aplicación del procesamiento previo en los coeficientes Wavelet. Para una imagen de 256 niveles de

gris, la capacidad de inserción puede alcanzar los 4 bpp (bit por píxel). Este tiene mejor calidad

visual que solamente reemplazando los cuatro últimos planos de bit en el dominio espacial.

Por último, Xuan [16, ] propone otro método de la inserción de datos en la IWT, trata de prevenir el

desbordamiento a través de la modificación del histograma a veces tiene que estrechar el histograma

aun más para evitar el desbordamiento de varios píxeles. Si se guarda la información de esos píxeles

en lugar de estrechar más al histograma, se puede obtener un PSNR más alto. En la inserción de

datos, el método anterior reemplaza selectivamente los bits de varios planos y se recuerda la

ubicación en lugar de limpiar todos los bits de los planos de bit. Las funciones Hash se usan en la

inserción de datos. Este método puede recuperar sin pérdidas a los datos insertados mientras que la

imagen original ha sufrido pérdidas. Sin embargo, ésta técnica no solamente tiene una capacidad

Imagen preprocesada

Datos ocultos

Alta capacidad datos

Extracción de datos

Alta capacidad datos

Selección de Planos de bits

Imagen marcada

Emisor

Receptor

Imagen preprocesada

Imagen original

Page 98: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

87

más alta, sino que también una mejor calidad visual que el segundo método explicado

anteriormente.

El desempeño de los métodos anteriores tiene mejor rendimiento que en el dominio espacial,

especialmente la calidad visual de las imágenes es más alta. Estas técnicas de ocultamiento de la

información están basadas en la Transformada Wavelet Entera (IWT) y pueden recuperar a la

imagen original sin pérdidas con una capacidad más alta y mejor calidad visual comparada con

otros métodos [16].

4.7 Conclusiones

En este capítulo se introduce el concepto de la transformada Wavelets y se hace una descripción

general de las propiedades y características que tiene, también se menciona los tipos de Wavelets

que existen y se introduce acerca de los algoritmos esteganográficos que usan la transformada

Wavelet en algunos esquemas de compresión como es EZW y JPEG2000.

En ninguno de los tres esquemas de esteganografía mencionados en esta sección se está

considerando la robustez del mensaje oculto. Los dos sistemas usando EZW y JPEG2000 son

probablemente robustos frente a la compresión usando EZW y JEPG2000, respectivamente. Sin

embargo estos sistemas dejan de ser robustos cuando se les aplica otro tipo de compresión, tal como

JPEG basado en la DCT o ruido aditivo en el canal de comunicación. En el sistema IWT no está

considerada la robustez del mensaje oculto, ni las características de la imagen cubierta para mejorar

la capacidad de ocultamiento, sin embargo, la calidad del esteganograma se conserva.

4.8 Referencias

[1] D. Taubman . M. W. Marcellin, “JPEG2000: Image Compression Fundamentals, Standards”,

and Practice, Kluwer International Series in Engineering and Computer Science.

[2] C. C. Chang and P. Y. Lin, “A Compression-Based Data Hiding Scheme Using Vector

Quantization and Principal Component Analysis”, Proc. of 2004 Int. Conf. on Cyberworld (CW04),

pp. 369-357, 2004.

[3] Z. Ni, Y. Q. Shi, N. Ansari , W. Su, Q. Sun and X. Lin, “Robust Lossless Image Data Hiding”,

IEEE Int. Conf. on Multimedia and Expo (ICME 2004), pp. 2199-2202, 2004.

[4] H. Noda, J. Spaulding,,M. Shirazi, M. Niimi and E. Kawaguchi, “BPCS Steganography

Combined with JPEG2000 Compression,” Proceedings of Pacific Rim Workshop on Digital

Steganography 2002, pp. 98-107, 2002.

Page 99: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 4 La Transformada Wavelet y su Aplicación en los Sistemas Esteganográficos

88

[5] Stephane G. Mallat, “A Theory for Multiresolution Signal Decomposition: The Wavelet

Representation”, IEEE Transactions on Pattern Analysis and Machine Intelligence. Vol. 2, No. 7.

[6] M. Vetterli, “Wavelets, Approximation,and Compression”, IEEE Signal processing

magazine,Vol. 18, No. 5, pp. 59-73, 2001.

[7] V. H. Guzman, tesis “Algoritmos adaptivos de marca de agua basados en Wavelet”, ESIME

Culhuacan, 2005.

[8] J. M. Shapiro, "Embedded Image Coding Using Zerotrees of Wavelet Coefficients", IEEE

Transactions on Signal Processing, vol. 41, no. 12, pp. 3445-3462, December 1993.

[9] A. Said and W. A. Pearlman, "A new, fast, and efficient image CCE based on set partitioning in

hierarchical trees", IEEE Transactions on Circuits and Systems for Video Technology, vol. 6, no. 3,

pp. 243-250, June 1993

[10] Spaulding J., Noda H., Mahdad N S., Kawaguchi E. “Aplication of Bit-Plane Decomposition

Steganography to JPEG2000 encoded Images”, IEEE Signal Processing letters, Vol 9, No 12,

December 2002.

[11] W. Swedens “The lifting scheme: A Custom-design construction of biorthogonal Wavelets”,

Appl. Comput. Harmon. Anal. vol. 3, No. 2, pag. 186-200, 1996.

[12] I. Daubechies y W. Sweldens , “Factoring Wavelet Transform into lifting steps”, J. Fourier A.,

vol. 4, no. 3, pp. 245-267, 1998.

[13] A. R. Calderbank, I Daubechies, W. Sweldens y B. Yeo, “Lossless Image Compression Using

Integer to Integer Wavelet Transform”, Proc. of Int. Conf. on Image Processing, pp. 596-599, 1997.

[14] M. Adams y F. Kossentini, “Reversible Integer-to-Integer Wavelet Transforms for Image

Compression: Performance Evaluation and Analysis”, IEEE Trans. on Image Processing, vol. 9, no.

6, pp. 1010-1024, 2000.

15] J. Spaulding, H. Noda, N.S. Mahdad, E. Kawaguchi, “ BPCS Steganography using EZW Lossy

compressed images” Pattern Recognition Letters, Vol 23, pp. 1579-1587, 2002.

[16] G. Xuan, Y. Q. Shi2, Z. C. Ni2, J. Chen, C. Yang, Yizhan Zhen, J. Zheng, “High capacity

lossless data hiding based on integer Wavelet transform”, Proceedings of ISCAS 2004, Vol 2, pp.

29-32, 2004.

Page 100: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

89

CAPÍTULO 5 ALGORITMOS PROPUESTOS

Contenido del capítulo

5.1 Introducción

5.2 Propuesta 1. Esteganografía usando la varianza como una medida de complejidad en BPCS.

5.2.1 Descripción del algoritmo

5.2.2 Descomposición de plano de bit (Bit-plane)

5.2.3 Umbral de complejidad

5.2.4 Mapas de Inserción

5.2.5 Procesamiento de información oculta

5.2.6 Proceso de inserción

5.3 Propuesta 2 Esteganografía BPCS aplicada en la IWT

5.3.1 Aplicación de Transformada Wavelet Entera

5.3.2 Código detector y corrector de errores

5.3.3 Descripción del algoritmo esteganográfico usando la IWT

5.3.4 IWT aplicada en una imagen en escala de gris

5.3.5 Obtención del mapa de signos

5.3.6 Codificación de los datos secretos

5.3.7 Proceso de inserción

5.3.8 Obtención del esteganograma

5.3.9 Proceso de extracción del mensaje secreto

5.4 Conclusiones

5.5 Referencias.

Page 101: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

90

5.1 Introducción

En este capitulo se proponen dos algoritmos esteganográficos, el primero de ellos es implementado

bajo el dominio espacial y el segundo en el dominio de la transformada usando la IWT.

El algoritmo en el dominio espacial se basa en la esteganográfica BPCS propuesta por Kawaguchi,

a diferencia de algoritmos esteganográficos basados en BPCS, en esta implementación se propone

una medida de complejidad de segmentación a través de la obtención de la varianza. El segundo

algoritmo es una propuesta de utilizar las técnicas de planos de bits en los coeficientes Wavelets

enteros de una imagen. La combinación de las técnicas de planos de bits y la IWT permite

implementar un algoritmo esteganográfico que permite gran capacidad de ocultamiento si se

considera que el esteganograma es enviado sobre un canal seguro. Cuando se considera la robustez

del algoritmo a éste se le aplica un codificador dentro del esteganograma, que permite corregir los

errores cuando la cubierta pasa por un canal inseguro. Ambos algoritmos serán descritos a detalle

en este capítulo.

5.2 Propuesta 1. Esteganografía usando la varianza como una medida de complejidad en

BPCS.

En esta sección se describe la implementación de un algoritmo esteganográfico usando la

esteganografía BPCS. A diferencia de los métodos similares basados en BPCS, en esta

implementación se propone utilizar la varianza como una medida de complejidad en cada región de

la imagen para determinar las áreas óptimas para ocultar el mensaje secreto, la varianza es obtenida

como una medición de la actividad de la textura en las regiones vecinas de un píxel, permitiendo

identificar las áreas de menor y mayor actividad en los planos de bits para ocultar datos secretos sin

percibir distorsión visual considerando el Sistema Visual Humano (HVS) el cual acepta que el ojo

humano es menos sensible al cambio de ruido local .

5.2.1 Descripción del algoritmo.

Los métodos esteganográficos usando BPCS necesitan de una medida de complejidad que pueda ser

aplicada a cada región de los planos de bits, la cual, como se mencionó anteriormente en el capítulo

3, no hay una definición estándar de complejidad de la imagen, varios autores han propuesto

medidas de complejidad, por ejemplo, Kawaguchi describió que la complejidad de cada subdivisión

Page 102: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

91

de los planos de bits es definida como el número de las transiciones de uno a cero y cero a uno,

ambos horizontal y verticalmente [1].

En esta implementación se propone una medida de complejidad a través de la obtención de la

varianza.

El término complejidad, se refiere al grado de varianza que contienen ciertas áreas o bloques de

bits. Se considera que entre mayor sea la varianza, el bloque de bits tendrá una alta actividad de

textura y se clasificará como de mayor complejidad, debido a que las regiones de píxeles que tienen

muchas variaciones también reflejan grandes diferencias entre sus valores, cuanto más ruidosa sea

la región, más aumentará la varianza entre los bits. La esteganografía BPCS descrita en este capítulo

sigue el mismo procedimiento expuesto en el capítulo 3 a diferencia de la medida de complejidad.

La figura 5.1 muestra el proceso de inserción que realiza el algoritmo esteganográfico usando la

varianza como una medida de complejidad, el método está dividido en los siguientes pasos:

• Descomponer la imagen en escala de gris en 8 planos de bits.

• Dividir cada plano de bit en bloques de 8x8 y computar la complejidad de cada bloque.

• Si la complejidad es más grande que el umbral, se considera un bloque ruidoso.

• Designar mapas de inserción que contiene los bloques ruidosos

• Transformar los datos secretos a una equivalente forma usando bloques de 8x8.

• Si un bloque secreto es menos complejo que el umbral 0α , se conjuga para hacerlo más

complejo. Aquí el proceso llamado conjugación es la operación con un patrón del tablero

del juego de ajedrez. La relación ααα −= max* , donde α y ∗α son la complejidad de

una imagen dada y la de la imagen conjugada, respectivamente.

• Reemplazar los bloques ruidosos por los bloques de información generada en el paso

anterior, haciendo uso de los mapas de inserción.

Page 103: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

92

Figura 5.1 Proceso de inserción del algoritmo usando la varianza como medida de complejidad en BPCS.

5.2.2 Descomposición de plano de bit (Bit-Plane).

El primer paso para el proceso de inserción es descomponer una imagen en escala de gris en sus

respectivos planos de bits; de acuerdo al proceso visto en el capítulo 3 se obtienen los planos que

son mostrados en la figura 5.2, en donde el primer plano de bit es la representación de los bits

menos significativos de la imagen y de la cual la esteganografía LSB utiliza frecuentemente para

insertar datos secretos, sin embargo, la esteganografía BPCS busca insertar información en los

planos de bits de mayor significancia a través de la complejidad medida por cada región de los

planos.

Imagen cubierta

Page 104: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

93

Plano de bit 8 Plano de bit 7 Plano de bit 6 Plano de bit 5

Plano de bit 4 Plano de bit 3 Plano de bit 2 Plano de bit 1

Figura 5.2. Obtención de los 8 planos de bits.

5.2.3 Umbral de complejidad

Cuando los planos de bits son obtenidos la complejidad cada región puede medirse, áreas

complejas son ideales para ser sustituidas por datos secretos, considerando así que la medición de la

complejidad es la variación que tienen los bits con respecto a los bits vecinos, es decir, el cambio de

ceros y unos en una determinada área. Casi siempre se introduce el tema del análisis de la varianza

como respuesta a la necesidad de utilizar una técnica de comparación de más de dos grupos [2]. La

media de una variable aleatoria X mide, en cierto sentido, el valor promedio de X, la varianza de X

mide el esparcimiento o dispersión [2].

La varianza 2σ es representada por la ecuación (5.1), donde n es el número de elementos en la

muestra, ix es la muestra y x es el promedio de la muestra definida en la ecuación (5.2)

( )∑=

−=n

ii xx

n 1

22 1σ , (5.1)

∑=

=n

iix

nx

1

1 . (5.2)

Page 105: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

94

Cada plano de bit es segmentado en bloques de 8x8 y en cada bloque se obtiene su varianza,

formando así una matriz de varianza β que es mostrada en la figura 5.3, la matriz de varianza

representa el conjunto de todas las varianzas obtenidas en un plano de bit y servirá para determinar

un umbral que permita identificar los bloques complejos. La complejidad máxima en un cuadro

binario de 8x8 es max2σ =0.2540 que es considerada como la mayor varianza obtenida en una

matriz de ajedrez.

224

23

22

21

25

254

253

252

251

24

244

243

242

241

23

234

233

232

231

22

224

223

222

221

21

214

213

212

211

...................

...

...

...

...

...

nnnnnn

n

n

n

n

n

σσσσσ

σσσσσσσσσσσσσσσσσσσσσσσσσ

β =

Figura 5.3. Obtención de la matriz de varianza.

El umbral 0α es el parámetro que determina la complejidad de las varianzas y está definida como el

promedio de la matriz de varianza β

∑=

=n

in 10

1 βα . (5.3)

5.2.4 Mapas de inserción

Si la complejidad de cada bloque 0ασ >mn , se define como un bloque de ruido que puede ser

reemplazado, en la figura 5.4 muestra cuando el umbral es menor se considera guardar un bit 0 en

un mapa de inserción que indique qué bloques pueden ser sustituidos, en caso contrario se guarda 1

bit en el mapa de complejidad.

Page 106: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

95

224

23

22

21

25

254

253

252

251

24

244

243

242

241

23

234

233

232

231

22

224

223

222

221

21

214

213

212

211

...................

...

...

...

...

...

nmnnnn

m

m

m

m

m

σσσσσ

σσσσσσσσσσσσσσσσσσσσσσσσσ

β = 10

0

0

→>→≤

ασασ

mn

mn

Matriz de varianza de un plano de bit Mapa de varianza de un plano de bit

Figura 5.4 creación de mapas de inserción.

Se construye un mapa de inserción correspondiente a cada plano de bit para identificar las áreas

complejas para ocultar la información. La figura 5.5 muestra los mapas de inserción de los 8 planos

de bits de la imagen anterior, los mapas de inserción en los planos de bits menos significativos

contienen mayor cantidad de áreas complejas a reemplazar (áreas negras) debido a que estos planos

son considerados como ruido, sin embargo, los mapas de los planos más significativos contienen

menor número de bloques para ocultar información,

Mapa 8 Mapa 7 Mapa 6 Mapa 5

Mapa 4 Mapa 3 Mapa 2 Mapa 1

Figura 5.5 Mapas de inserción de los planos de bits, las áreas negras representan los bloques de mayor complejidad que

pueden ser reemplazados por un mensaje secreto.

0011011111010111000000000000000000111010111111111101100100001010

Page 107: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

96

5.2.5 Procesamiento de información oculta

El mensaje secreto es un archivo de texto (.txt), se considera como una cadena de caracteres y se

toman palabras de 8 Bytes, para formar matrices binarias de 8x8 este proceso es descrito en el

capítulo 3.

5.2.6 Proceso de inserción

La inserción se lleva acabo a través del uso de los mapas los cuales indican los bloques que son

complejos, los mapas de conjugación del mensaje secreto representan 8 matrices binarias

correspondientes a cada plano de bits reservando 64 bytes, las cuales son insertadas en los primeros

bloques ruidosos que son encontrados.

5.3 Propuesta 2 Esteganografía BPCS aplicada en la IWT

En esta sección se presenta la propuesta de un método esteganográfico basado en la esteganografía

BPCS y la IWT de una imagen en escala de gris. Este algoritmo utiliza la esteganografía BPCS

aplicada de manera independiente en los planos de bits de las subbandas de la transformada Wavelet

de primer nivel para ocultar la información. En un canal no ideal este algoritmo se robustece a

través del uso de un código corrector de errores (Código de bloque lineal (8,4)) que es introducido

dentro del esteganograma, lo cual permite reducir la tasa de error (BER) de los datos extraídos,

cuando el estegoimagen recibe alguna modificación.

5.3.1 Aplicación de la Transformada Wavelet Entera

El esquema de lifting (Lifting Squeme: LS) presentados por Sweldens [3],[4] permite una

implementación eficiente de la DWT. Otra de sus propiedades es que la reconstrucción perfecta está

asegurada por la estructura de la LS misma. Esto permite utilizar nuevas transformaciones. Una de

tales transformaciones es la transformada Wavelet entera [5], [6]. Esta es una modificación básica

de algunas transformaciones lineales, en la cual cada salida de los filtros es redondeada al entero

más cercano [7]

Page 108: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

97

Específicamente en esta implementación, se adopta la IWT (2,2), debido a que se requiere

reconstruir a la señal sin distorsión, se utiliza un esquema de lifting entero. A continuación se

describe la transformada Directa e inversa IWT (2,2)

La Transformada inversa de IWT realiza operaciones inversas de IWT. Por ejemplo, las dos

operaciones (hacia delante e inversa) de IWT (2,2) están dadas por (5.4) y (5.5). Utiliza una

interpolación biortogonal simétrica, con una ganancia de K=1

IWT

( )( )

1, 0,2 1 0,2 0,2 2

1, 0,2 1, 1 1,

1 2

1 4

l l l l

l l l l

d s round s s

s s round d d

+ +

⎡ ⎤= − +⎣ ⎦⎡ ⎤= + +⎣ ⎦ ,

(5.4)

IIWT Transformada inversa

( )

( )0 , 2 1 , 1 , 1 1 ,

0 , 2 1 1 , 1 , 2 1 , 2 2

1 4

1 2

l l l l

l l l l

s s r o u n d d d

s d r o u n d s s

+ +

⎡ ⎤= − +⎣ ⎦⎡ ⎤= + +⎣ ⎦

. (5.5)

Donde 0,ls significa l-ésima señal original, 1d es señal de detalle después de aplicar el filtro pasa

alta y 1s es señal de información después de aplicar el filtro pasa baja.

La función “Round” realiza redondeo. El factor K controla ganancia de los coeficientes de IWT, los

coeficientes de pasa baja 1,ls se multiplica por 1/ K y los coeficientes de pasa alta 1,ld se multiplica

por K.

Considerando de las ecuaciones (5.4) y (5.5), IWT (2,2) tiene equivalencia a Transformada Haar en

DWT. En la misma forma, DWT, se puede construir su equivalente transformada IWT.

La figura 5.6 muestra un ejemplo numérico de IWT (2,2).

(a)

103 104 88 62 97 97 91 48 90 78 102 94 103 106 76 44 67 75 88 91 100 82 59 51 45 59 57 76 91 77 69 55 44 57 51 83 76 75 69 84 35 32 45 56 80 69 62 84 39 42 50 45 96 80 60 87 30 31 39 30 84 80 73 81

Page 109: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

98

(b) LL (c) HL (d) LH (e) HH

Figura. 5.6. Ejemplo de descomposición usando IWT (2,2). (a) Matriz original (una parte de imagen), (b),(c),(d) y (e) son

subbandas descompuestas por IWT.

Como podemos observar de la figura 5.6 las subbandas descompuestas por IWT consisten de los

números enteros. Aplicando Transformada inversa a las subbandas (LL,HL,LH y HH), se puede

reconstruir perfectamente la matriz original (a). La figura 5.7 muestra el resultado de

descomposición usando filtro Daubechies con orden 1 (equivalente a transformada Haar) para

comparación.

(a) (b)

(c) (d) Figura. 5.7. Subbandas descompuestas por filtros Daubechies orden 1 de matriz figura 5.6 (a).

Las figuras 5.8 y 5.9 muestran ejemplos de aplicación de IWT e IWT inversa a las imágenes

comunes.

105 85 93 93 63 86 103 66 41 53 79 81 38 42 95 86

-1 11 10 3 -9 -12 0 -1 -9 -9 -7 -4 10 9 31 46

3 -29 6 0 -7 -2 4 167 17 0 45-6 -33 1 61

-21 8 13 -6 5 -6 -5 -15

-11 -2 -4 0 -2 -18 0 15

19.5 -23.0 -7.5 9.5 19.0 23.0 7.0 -7.0 17.0 16.5 1.0 3.5 10.0 13.0 6.0 -3.5

187.5 173.0 201.5 129.5 123.0 156.0 175.0 117.0 84.0 117.5 150.0 149.5 71.0 82.0 170.0 150.5

-6.5 9.0 1.5 5.5 3.0 8.0 2.0 -3.0 -8.0 -10.5 -5.0 3.5 -1.0 -2.0 6.0 -9.5

5.5 17.0 -1.5 37.5 -11.0 -11.0 16.0 11.0 -5.0 -21.5 6.0 -18.5 -2.0 7.0 10.0 -17.5

Page 110: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

99

(a) (b) (c) Figura. 5.8 Resultados de aplicación de IWT a la imagen “Lena”. (a) imagen original, (b) subbandas decompuestas por

IWT, (c) muestra posición de las subbandas (LL,LH,HL y HH).

(a) (b)

Figura.5.9 Resultados de aplicación de IWT a la imagen “Mandril”. (a) Imagen original, (b) Subbandas decompuestas

por IWT. La posición de cada subbanda es misma que figura 5.8 (c).

En las figuras 5.8 y 5.9, para poder mostrar subbandas de detalles (HL, LH, HH), los valores de

estas subbandas se tomaron valores absolutos.

Para mayor información sobre IWT se puede revisar [8] y [9], se realiza un análisis experimental

sobre diferentes tipos de IWT usando imágenes con diferentes características y realiza un análisis

matemático de IWT.

Page 111: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

100

5.3.2 Código corrector de errores (CCE)

Las técnicas de control de error de codificación son utilizadas para detectar y/o corregir errores en

la transmisión de mensajes en un sistema de comunicación digital. El lado que transmite la

codificación del control de error, agrega bits redundantes o símbolos a la secuencia original de

señales de información. El lado que recibe la codificación de control de error, utiliza esos bits

redundantes o símbolos, para detectar y corregir los errores que ocurrieron durante la transmisión

[10]. El proceso de transmisión de código es conocido como codificación y el proceso de recibir el

código es llamado decodificación.

Existen dos clases de códigos detectores de errores:

• Códigos de bloques

• Códigos de convolución

En los bloques de convolución, la sucesión de n dígitos codificada depende no solo de k dígitos de

datos sino también de los anteriores N-1 dígitos de datos (N > 1). Por lo tanto, la sucesión

codificada para un cierto grupo de k dígitos de datos no es única sino que depende de los N-1

dígitos de datos anteriores.

En los códigos de bloques, los k dígitos de datos se acumulan y luego se codifican en una palabra

de código de n dígitos.

En los códigos de bloques, un bloque de k dígitos de datos se codifica mediante una palabra código

de n dígitos (n > k). Para cada sucesión de k dígitos de datos, existe una palabra de código distinta

de n dígitos

Si k dígitos de datos se transmiten mediante una palabra de código de n dígitos, el número de

dígitos de comprobación es knm −= . La eficiencia de código (que se conoce también como

índice de código) es nk . Este código se conoce como ( )kn, . [10]

Un código general ( )kn, tiene vectores síndromes de m dimensiones knm −= .

Por lo tanto existen 12 −m distintos vectores de síndrome diferentes de cero que pueden corregir

12 −m patrones de un solo error. En virtud de que en un código ( )kn, hay exactamente n patrones

de un solo error, todos estos patrones pueden corregirse si

nm ≥−12

o sea

Page 112: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

101

12 +≥− nkn

Esta es la condición de la ecuación para t=1. Por lo tanto, para cualquier ( )kn, que satisfaga esta

operación es posible construir un código de corrección de error único.

En la tabla 5.1 se muestran algunos ejemplos de códigos de corrección de errores y sus eficiencias.

N K

Código

Eficiencia de código

(o índice del código)

3 1 (3,1) .33

4 1 (4,1) .25

5 2 (5,2) .4

6 3 (6,3) .5

7 4 (7,4) .57

15 11 (15,11) .73

31 26 (31,26) .8338 Tabla 5.1 Ejemplos de código de corrección de errores (CCE).

5.3.3 Descripción del algoritmo esteganográfico usando la IWT

El algoritmo propuesto está representado en la figura 5.10 en donde se observa el proceso de

inserción de datos secretos en el dominio de la transformada Wavelet. El método de inserción

propuesto es dividido en varias etapas:

El cálculo de la transformada Wavelet entera de una imagen contenedora en escala de gris.

La obtención de un mapa de signos correspondientes a los coeficientes de cada subbanda.

Codificación de los datos secretos a través del código corrector de errores.

El proceso de inserción haciendo uso de la esteganografía BPCS.

La reconstrucción de los planos de bits.

Integrar la matriz de signás correspondientes a los coeficientes de cada subbanda

Aplicación de la Transformada Wavelet Entera (IIWT) para la obtención del

esteganograma.

Cor

recc

ión

de u

n so

lo e

rror

t=

1 M

ínim

a se

para

ción

del

digo

3

Page 113: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

102

Figura.5.10. Proceso de inserción usando la esteganografía BPCS bajo la transformada entera Wavelets

5.3.4 IWT aplicada a una imagen en escala de gris

La primera etapa consiste en tener una imagen en escala de gris como contenedor de los datos

secretos y posteriormente la obtención de la IWT (2,2) de primer nivel a través de la ecuación (5.4),

la figura 5.11 muestra la descomposición de la Transformada Wavelet Entera.

La idea de la IWT de primer nivel descrita en el capitulo 4, consiste en descomponer la imagen en

cuatro partes de frecuencia, las cuales son frecuencias altas, medias y bajas (LL, HL, LH, HH). La

matriz de aproximación (LL) contiene las bajas frecuencias que son la mayor parte de la energía de

la imagen, es decir, la información más importante y contiene los coeficientes enteros más altos a

diferencia de las matrices de detalle.

El sistema esteganográfico basado en la IWT consiste en ocultar los datos en las cuatro subbandas

de la IWT, incluyendo LL. El nivel fue elegido debido a que pruebas realizadas demostraron que los

coeficientes Wavelets podrían ser capaces de ocultar y extraer la información sin causar ningún

error.

Page 114: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

103

Figura 5.11. Descomposición de primer nivel de la IWT.

5.3.5 Obtención del mapa de signos

Cuando la IWT de primer nivel es aplicada 4 matrices son generadas, estas contienen coeficientes

enteros que pueden se positivos y negativos, por esta razón el segundo paso consiste en guardar los

signos de los coeficientes de cada subbanda a través de un mapa, esto permitirá que los coeficientes

sean valores positivos y se puedan ser usados para integrar la esteganografía BPCS, el mapa

guardado es utilizado posteriormente para que no afecte a los coeficientes cuando se aplique la

Transformada Wavelet Inversa.

5.3.6 Codificación de los datos secretos

Los datos secretos son convertidos en forma binaria y son codificados a través del código de

bloques lineal (8,4), éste tiene la característica de tener una eficiencia (índice código) de 4/8, Por lo

tanto existen 8 distintos vectores de síndrome diferentes de cero que pueden corregir 255 patrones

de un solo error. Utiliza una matriz generadora, donde r=4 bits redundantes que se combinan con 4

bits del mensaje secreto para producir una palabra de código de 8 dígitos. Cada palabra de 8 dígitos

se codifica y decodifica de manera independiente de cualquier otra. Los r bits son usados para

detectar y corregir los errores. Cada palabra de código está compuesta de la manera siguiente:

k = 4 dígitos de mensaje por palabra.

r = 4 dígitos de comprobación por palabra.

n =k+r= 8 total de dígitos por palabras

Page 115: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

104

La matriz generadora es usada como una llave secreta de modo que en el proceso de extracción

solo podrá hacerse si se conoce la llave. La matriz generadora puede ser cualquier patrón binario

con dimensiones (8,4).

5.3.7 Proceso de inserción

La esteganografía BPCS descrita en el capítulo 3, es utilizada para ocultar información en áreas

complejas o de mayor ruido en los planos de bits. Datos secretos son representados en forma binaria

usando bloques de 8x8 y reemplazados en los bloques ruidosos de cada plano de bit de las

subbandas Wavelet.

El proceso comienza en la subbanda LL y continúa en LH, HL y HH. En la subbanda LL se lleva

acabo en los 3 primeros planos de bits y las demás subbandas se utilizan todos sus planos de bits.

Los mapas de conjugación son insertados en los primeros 64 bytes del primer plano de bit a

insertar.

5.3.8 Obtención del esteganograma

Cuando los datos secretos son ocultos los planos son restaurados para obtener la aproximación de

los coeficientes de cada subbanda. A todas las subbandas se le integran los signos que anteriormente

fueron guardados en el mapa para no afectar los coeficientes Wavelets en la aplicación de la

Transformada Wavelet Inversa.

La IIWT es aplicada sobre los coeficientes Wavelets, para obtener el esteganograma el cual

contendrá la información secreta en los coeficientes Wavelets.

5.3.9 Proceso de extracción del mensaje secreto

El proceso de extracción de los datos ocultos es mostrado en la Figura 5.12, la cual consiste en

tomar el esteganograma y aplicarle la IWT de primer nivel, después se consideran los coeficientes

en valor absoluto y posteriormente se aplica el proceso de extracción de la esteganografía BPCS, la

cual consiste en identificar los bloques complejos haciendo uso del mapa de conjugación, para

después aplicar el decodificador para extraer el mensaje secreto. La matriz generadora utilizada en

la inserción es usada para recuperar los datos.

Page 116: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

105

Figura 5.12. Proceso de extracción usando la esteganografía BPCS en la IWT.

5.4 Conclusiones

En este capítulo se propusieron dos implementaciones de la esteganografía aplicada en dominio

espacial y en el dominio de la trasformada Wavelet, en el primer caso se refiere a una derivación de

la esteganografía BPCS usada por Eiji Kawaguchi cuya diferencia se basa en la obtención de una

medida de complejidad a través de la varianza, en el segundo caso la implementación es una

propuesta para utilizar la BPCS en los coeficientes Wavelets, la combinación de estos dos métodos

permitirá obtener un mejor algoritmo esteganográfico, lo cual se desarrollará en el capítulo 6.

5.5 Referencias

[1] R. Eason “A Tutorial on BPCS Steganography and Its Applications", Proceedings of Pacific

Rim Workshop on Digital Steganography 2003, pp. 18-31, 2003.

[2] S. Lipschutz, “Teoría y problemas de probabilidad”, McGraw-Hill, pp 78, 1997.

Page 117: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 5 Algoritmos Propuestos

106

[3] W. Sweldens, “The lifting scheme: A custom-design construction of biorthogonal Wavelets,”

Appl. Comput. Harmon. Anual., vol. 3, no. 2, pp.186–200, 1996.

[4] I. Daubechies and W. Sweldens, “Factoring Wavelet transforms into lifting steps,” J. Fourier

Anal. Appl., vol. 4, no. 3, pp. 245–267, 1998.

[5] R. Calderbank, I. Daubechies, W. Sweldens, and B.-L. Yeo, “Lossless image compression using

integer to integer Wavelet transforms,” in International Conference on Image Processing.

Piscataway, NJ: IEEE Press, 1997, vol. I, pp. 596–599.

[6] “Wavelet transforms that map integers to integers,” Appl. Comput.Harmon. Anal., vol. 5, no. 3,

pp. 332–369, 1998.

[7]J. Reichel,, G. Menegaz, M.J. Nadenau, and M. Kunt, “ Integer Wavelet Transform for

Embedded Lossy to Lossless Image Compression , IEEE transactions on image processing ”, vol.

10, no. 3, 2001.

[8] M. Adams y F. Kossentini, “Reversible Interger to Integer Wavelet Transforms for Image

Compression: Performance Evaluation and Analysis”, IEEE Trans. on Image Processing, vol. 9, no.

6, pag. 1010-1024, 2000.

[9] J. Reichel, G. Menegaz, M. Nadenau y M. Kunt, “Integer Wavelet Transform for Embedded

Lossy to Lossless Image Compression”, IEEE Trans. on Image Processing, vol. 10, no. 3, pag. 383-

392, 2001.

[10] F.G. Stremler, “Introducción a los sistemas de comunicación”, Pearson, Ed 3, pp.589, 1993.

Page 118: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

107

CAPITULO 6 EVALUACIÓN Y RESULTADOS

Contenido del capítulo

6.1 Introducción 6.2 Métodos de evaluación de un sistema esteganográfico

6.2.1. Medida de distorsión PSNR ε -secure

6.2.2. Medida de Capacidad 6.2.3. Medida de Error

6.3 Resultados del sistema propuesto 1 BPCS-Varianza 6.3.1. Imperceptibilidad (distorsión) y la capacidad de inserción

Inserción en el 1er plano Inserción 4to plano Comparación de la esteganografía BPCS-Kawaguchi y BPCS-Varianza en relación a la

Capacidad de inserción 6.3.2 Obtención del ε -secure

Comparación esteganografía BPCS Kawaguchi y BPCS-Varianza con respecto a los ε -secure.

6.3.3 Robustez Compresión JPEG Adición de ruido Gaussiano

6.4 Resultados de sistema propuesto 2 BPCS-IWT 6.4.1 Imperceptibilidad (distorsión) y Capacidad de inserción sin CCE 6.4.2 imperceptibilidad (distorsión) y Capacidad de inserción con CCE 6.4.3 ε -secure 6.4.4 Robustez Compresión JPEG usando BPCS-IWT sin CCE Compresión JPEG usando BPCS-IWT con CCE

Adición de ruido Gaussiano 6.5 Comparación de los sistemas propuestos

6.5.1 Imperceptibilidad (distorsión) y Capacidad

6.5.2 Robustez

6.5.3 Obtención ε -secure

6.6 Conclusiones 6.7 Referencias

Page 119: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

108

6.1 Introducción

En este capitulo se presentan las evaluaciones y resultados de los algoritmos esteganográficos

propuestos, el primero de ellos es un sistema basado en la esteganografía BPCS a diferencia del uso

de la varianza como una medida de complejidad este algoritmo es comparado con el método

esteganográfico visto en el capítulo 3, la segunda evaluación se realiza en el algoritmo que utiliza la

esteganografía BPCS aplicada en la IWT , este sistema es comparado con la esteganografía en el

dominio espacial.

6.2 Métodos de evaluación de un sistema esteganográfico Un sistema esteganográfico tiene que generar un esteganograma suficientemente inocente, ya que

no debe de levantarse ninguna sospecha. Por lo tanto el grado de distorsión o imperceptibilidad de

esteganograma respecto a la imagen cubierta es un asunto muy importante.

Los algoritmos se evalúan en base a tres requerimientos:

• Imperceptibilidad (PSNR)

• ε-secure

• Tasa de error (BER)

Una medida de distorsión comúnmente usada es PSNR (Relación Señal a Ruido Pico) en el

esteganograma con respecto a la imagen cubierta (original). En el campo de esteganografía, además

de PSNR se utiliza un concepto llamado ε-secure para medir seguridad de esteganograma [1]. El ε-

secure mide una diferencia de distribución de los valores de píxeles de ambos imágenes (imagen

cubierto y el estego-imagen).

Además del asunto de imperceptibilidad, el tema de capacidad de ocultamiento es sumamente

importante. Manteniendo una distorsión pequeña posible, todos sistemas esteganográficos buscan

aumentar la capacidad de ocultamiento. La capacidad de ocultamiento para un sistema

esteganográfico cuando cubierta es imagen, se mide bits por píxel (bpp). Sin embargo, el asunto de

capacidad y el asunto de imperceptibilidad forman contraparte, cuando trata de aumentar capacidad

de ocultamiento, sacrificaría el grado de imperceptibilidad y viceversa.

Para la mayoría de los sistemas esteganográficos, el asunto de robustez no se había considerado, sin

embargo, recientemente han propuesto algunos sistemas esteganográficos robustos [2],[3].

Generalmente el esteganograma para un canal ideal no recibe ningún tipo de modificación, tal como

compresión, el mensaje oculto debe de recuperarse 100%. Sin embargo, cuando el canal de

transmisión no sea ideal (introduce algún cantidad de ruido, por ejemplo) o recibe alguna

Page 120: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

109

modificación, no se puede recuperar el 100% de su mensaje oculto. El error de recuperación del

mensaje oculto se mide generalmente en Bit Error Rate (BER).

Los tres asuntos mencionados anteriormente forman contrapartes, ya que tratan de aumentar

robustez del sistema, sacrificarían capacidad o imperceptibilidad, viceversa. En esta sección se

explicarán más detalles sobre las medidas mencionadas en los tres asuntos.

6.2.1. Medida de distorsión

El PSNR (peak signal-to-noise ratio), es muy común en el proceso de una imagen. Su uso es para

dar una relación del grado de supresión de ruido entre una imagen original y una imagen procesada,

proporcionando una medida de calidad. El PSNR está dado en unidades llamadas decibelios (dB) y

mide el cociente de la señal máxima y de la diferencia entre dos imágenes llamada error cuadrático

medio (MSE), se define como en las ecuaciónes (6.1) y (6.2):

MSEdBPSNR

2

10)255(log10)( = . (6.1)

Donde: MSE es el error cuadrático medio y está dado por la siguiente fórmula donde ),( jiX es una

señal original y ),( jiX•

es una señal procesada, n y m es el tamaño de la señal en 2 dimensiones.

∑∑= =

⎟⎟⎠

⎞⎜⎜⎝

⎛−

⋅=

n

i

m

j

jiXjiXmn

MSE1 1

2

),(),(1 . (6.2)

El PSNR no corresponde directamente al MOS (“Mean Opinion Store”, MOS), pero existen mapas

heurísticos de PSNR a MOS (calidad subjetiva) según lo demostrado en la tabla 6.1, [4]

PSNR (dB) MOS

> 37 5 (Excelente) l31 – 37 4 (Bueno) 25 – 31 3 (Regular) 20 – 25 2 (Pobre)

< 20 1 (Malo) Tabla 6.1.- Posible conversión PSNR a MOS.

El MOS es utilizado en el procesamiento de imágenes digitales, para determinar su calidad, el

número clasifica la calidad de la imagen procesada con respecto a la imagen original, puede tener

Page 121: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

110

un grado o calificación, como sigue: (1) malo, (2) pobre, (3) fallido, (4) bueno, (5) excelente. El

MOS es la media aritmética de las cuentas individuales, y puede expresarse a partir de la 1 (el peor)

a 5 (lo mejor posible).

ε-secure La seguridad del sistema de esteganografía es evaluado por examinar la distribución de la imagen

cubierta y la estego-imagen (imagen esteganografiada) en el dominio espacial.

C. Cachin propuso una medida de seguridad del sistema esteganografía llamada “ε-secure” [1], la

cual está dada por la ecuación (6.3).

( ) log cc s c

s

PD P P P

Pε= ≤∑ . (6.3)

Donde cP y sP son distribución de imagen cubierta e imagen esteganografíada. ( )c sD P P

representa una entropía relativa entre dos probabilidades de distribución cP y sP . Este esquema de

medida de seguridad también se ha utilizado en [5] y [6]. Cuando un sistema esteganografíado es

perfecto, ( )c sD P P =0, sin embargo conforme aumenta la cantidad de información oculta o aumenta

la robustez, esta entropía relativa también aumenta. Por lo tanto, la seguridad del sistema

esteganografía se mide con el valor de ε, considerando todo tipo de imágenes

6.2.2. Medida de Capacidad

La capacidad de ocultamiento para un sistema, se mide en bits por píxel (bpp), esta medida se

relaciona entre la longitud del mensaje oculto (bits) y los píxeles de la imagen. Los bits por píxel

indica la tasa de bits (bit-rate) por cada píxel correspondiente a la imagen.

La capacidad de ocultamiento se relaciona con la perceptibilidad de la imagen y la tasa de error

debido a que en un sistema esteganográfico no solamente requiere ocultar gran cantidad de bits si

no también considerar la distorsión de la imagen así como la recuperación del mensaje oculto.

6.2.3. Medida de Error

El BER (Bit error Rate), es la medida más habitual para determinar la cantidad de errores en toda

línea de transmisión de datos y se define como la probabilidad de que un bit se reciba erróneamente

Page 122: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

111

[7], También se denomina fracción de errores por bit, el término tasa se refiere típicamente a una

cantidad que varía con el tiempo y se define en la ecuación (6.4)

__ ( )

Bits erroneosBERTexto Oculto bits

= . (6.4)

En los sistemas esteganográficos cuando se oculta un texto, pruebas realizadas indican que el error

permitido es de .02 y .03 por ciento de error debido a que no afecta de manera significante en la

gramática del texto, de tal forma que el texto puede ser entendible.

6.3 Resultados del sistema propuesto 1 BPCS-Varianza En esta sección se evalúa y compara la esteganografía usando la varianza como medida de

complejidad y la esteganografía BPCS propuesta por Kawaguchi , los resultados presentados son

obtenidas de las implementaciones elaboradas con matlab 6.5 y el uso de imágenes BPM en escala

de gris de 8 bits con un tamaño de 512x512.

6.3.1. Imperceptibilidad (distorsión) y capacidad de inserción La imperceptibilidad en la esteganografía BPCS usando la varianza es mostrada en la figura 6.1(a)

y 6.1 (b) en ambas gráficas se visualiza la relación entre la capacidad de inserción bits/píxel (bpp) y

el PSNR (dB)

En la gráfica se muestra que aunque la capacidad de inserción es mayor de 4bpp, la calidad de la

imagen es baja (PSNR), especialmente en el caso de la imagen del loro. Sin embargo para las demás

imágenes la capacidad de inserción es aproximadamente el 30% de la capacidad total de la imagen

manteniendo un PSNR de 30 a 35 dB.

Page 123: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

112

Inserción en el 1er plano

Figura 6.1(a) y 6.1(b) Relación entre la capacidad de inserción y la calidad de la imagen.

Page 124: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

113

La figura 6.2 muestra los esteganogramas obtenidos cuando se oculta diferentes capacidades de

inserción, a partir del primer plano de las imágenes, los esteganogramas más afectados son aquellas

que son menos complejas como en el caso del barco y jet. La imagen del Mandril presenta mayor

distorsión visual debido a que se ocultó más del 50% de su capacidad total.

ESTEGANOGRAMAS INSERTANDO EN EL 1er PLANO

Loro 2.359375 bpp

40.0668dB

Lena 4 bpp

PSNR 29.7810 dB

Mandrill 6 bpp

PSNR 16.9589dB

Jet 4 bpp

PSNR 28.7267dB

Barco 4 bpp

PSNR 29.1595dB

Goldhill 4 bpp

PSNR 30.0230 dB

Figura 6.2, Esteganogramas obtenidos en la aplicación del algoritmo BPCS insertando a partir del 1er plano.

La gráfica de 6.3 muestra la relación entre la capacidad de inserción y los planos de bits de la

imagen del Mandril ocultando 1bpp de información. Entre más significante sea el plano de bits la

capacidad de inserción y la calidad de la imagen disminuye, el plano 4 y parte del 5 podrían

considerarse para ocultar información y mantener una aceptable calidad de la imagen. Sin embargo,

Page 125: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

114

el plano 6 se descarta completamente debido a que es más susceptible a que presente artefactos

visuales en la imagen.

Figura 6.3 Relación entre la capacidad de inserción y los planos de bits de la imagen del Mandril ocultando 1bpp.

La tabla 6.2 muestra la relación de la capacidad de inserción y el PSNR de algunas imágenes donde

el mensaje oculto fue introducido a partir del cuarto plano de bit

Lena Barco Mandril Bárbara Loro Goldhill

.0625 .125 .25

.3125 .78125

1 1.5

2.34

35.1729 34.7032 33.9420 33.5822 31.6343 30.1485 26.7716 18.3943

35.1011 34.6489 33.8786 33.5482 31.6161 29.5103 26.4285 18.1061

35.273834.815034.029433.674731.708931.031126.980421.5192

35.208734.766533.991133.627831.677830.531426.869720.7841

35.2559 34.7789 33.9683 33.6541 29.6861 27.4219

35.1335 34.7212 33.9600 33.6089 31.6247 30.4707 26.7490 20.9158

Tabla 6.2 Relación entre la capacidad de información oculta y PSNR, insertando a partir del 4to Plano de bit en

diferentes imágenes.

La figura 6.4 muestra los esteganogramas cuando el mensaje de 1bpp es ocultado en el 4to plano de

bit, todas las imágenes presentan una PSNR que abarca de 31 a 33 dB lo que representa una buena

calidad en los esteganogramas

bits/píxel PSNR dB

Page 126: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

115

ESTEGANOGRAMAS BPCS-VARIANZA INSERTANDO EN EL 4to PLANO

Loro PSNR= 33.9683dB

Lena PSNR=31.6343dB

Mandril PSNR=31.7089dB

Bárbara PSNR=31.6778dB

Peppers PSNR=31.5980dB

Goldhill PSNR=31.6247dB

Figura 6.4, Esteganogramas obtenidos en la aplicación del algoritmo BPCS ocultando 1bpp en el 4to plano.

Comparación de la esteganografía BPCS-Kawaguchi y BPCS-Varianza en relación a la

capacidad de inserción

El algoritmo esteganográfico BPCS usando la varianza como medida de complejidad en

comparación con la esteganografía propuesta por Kawaguchi, se observa en las figuras 6.5 (a) y 6.5

(b), donde se muestra la diferencia entre la capacidad de inserción y la calidad de la imagen

insertando en el primer plano con respecto a la imagen de Lena. La gráfica muestra que ambos

métodos son eficientes para ocultar información, y la diferencia entre ellas es la capacidad de

inserción que pueden ocultar, sin embargo, aunque ambas técnicas permiten ocultar más de 4 bpp,

la calidad de la imagen con respecto al PSNR decrece.

Page 127: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

116

Figura 6.5 (a) Comparación entre la esteganografía BPCS y el uso de la varianza como medida de complejidad aplicada

en la imagen de Lena.

Figura 6.5 (b) Comparación entre la esteganografía BPCS y el uso de la varianza como medida de complejidad aplicada

en la imagen de Loro.

6.3.2 Obtención del ε -secure En sistemas esteganográficos, la seguridad está relacionada con la prevención o detección de

cualquier comunicación oculta para proteger información ante una parte hostil. Para un ataque

conocido puede mostrarse que un sistema nunca puede ser seguro si la señal de la cubierta es

determinística[2].

Page 128: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

117

Por lo tanto, la señal de la cubierta debe tener cierta aleatoriedad para alcanzar la seguridad

deseada., de esta manera el ε -secure es utilizado ( )c sD P P En la figura 6.6 las imágenes (a) y (b) corresponden a la imagen original y su histograma, las

imágenes (c) y (d) indican el esteganograma y el histograma modificado, el mensaje fue oculto en el

primer plano de bit, por lo tanto, el e-secure es relativamente bajo, a diferencia de las imágenes (e)

y ( f), que presentan un histograma alterado y un e-secure elevado debido a que el mensaje fue

ocultado en el 4to plano de bit.

(a)Imagen cubierta Bárbara (b)Histograma original

(c )Esteganograma Capacidad M.0.75 bpp

PSNR=52.3773, 1er plano

(d) Histograma modificado ( )c sD P P =0.022163

Page 129: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

118

(e) Esteganograma Capacidad M. 0.75 bpp

PSNR= 39.4038dB, 4to plano

(f) Histograma modificado Insertando 4to plano

( )c sD P P =0.111657

Figura 6.6 Medición del ( )c sD P P

en la imagen de Bárbara con respecto a la inserción en diferentes planos de bits.

En la figura 6.7 se muestra la imagen original del Mandril y su histograma original, así como el

esteganograma y su histograma modificado, en este caso el ( )c sD P P es también bajo con respecto

al de Bárbara, esto significa que los bits cambiados no afectaron drásticamente el histograma con

respecto a la imagen original

Mandril Imagen original

Histograma original

Page 130: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

119

Esteganograma

Capacidad M. 0.75 bpp PSNR=52.3727dB, 1er Plano

Histograma modificado ( )c sD P P =0.048428

En la figura 6.7 se muestra la imagen original del Mandril y su histograma original así como el esteganograma y su

histograma modificado.

Comparación de la esteganografía BPCS Kawaguchi y BPCS-Varianza con respecto a los ε-secure La diferencia entre BPCS Kawaguchi y BPCS varianza con respecto al e-secure se visualiza en la

gráfica 6.8 donde se indica que ambos algoritmos se comportan similar y que pueden tener un ( )c sD P P =0.08 cuando se inserta 1.5 bpp.

Figura 6.8 D diferencia entre BPCS Kawaguchi y BPCS varianza con respecto al ε -secure de la imagen de Lena.

Page 131: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

120

6.3.3 Robustez Considerando la aplicación de este sistema sobre un canal seguro, el BER=0, esto significa que

puede recuperar perfectamente el mensaje secreto, si no se aplica cualquier modificación como es el

cambio de formato a JPEG y la adición de ruido en el esteganograma, a continuación se explicará

los casos en los que la cubierta es cambiada.

Compresión JPEG En el campo de esteganografía, el asunto de robustez no se ha considerado como un asunto

importante, sin embargo, recientemente varios artículos están dando importancia a este asunto [1]-

[3]. Principalmente el sistema de esteganografía debe ser robusto a compresión de JPEG con alto

factor de calidad (100-95) y contaminación por diferentes tipos de ruido, tales como ruido

impulsivo y ruido Gaussiano.

La tabla 6.3 muestra la relación entre la tasa de error aplicada a diferentes imágenes usando una

compresión JPEG con un factor de calidad de 100 y 99, cuando se inserta un texto de 100 letras

(0,0030517578125 bpp). Para todas las imágenes el BER es de aproximadamente de 32 y 43, esto

indica un alto porcentaje que afecta el entendimiento del mensaje, por lo tanto este sistema no es

robusto frente a ataques de compresión.

Lena Barco Mandril Bárbara Loro Peppers

100 99

0.3638 0.4150

0.3525 0.4188

0.3262 0.3925

0.3725 0.4063

0.3550 0.3762

0.3613 0.4300

Tabla 6.3 Relación entre la capacidad de información oculta y el BER, insertando en el 1er Plano de bit aplicado a una

compresión JPEG.

La tabla 6.4 muestra la relación de la tasa de error y el factor de calidad cuando el mensaje secreto

es ocultado en el 4to plano, para algunas imágenes el error no es tan grave, tal es el caso de la

imagen de Bárbara y Mandril, sin embargo, para las demás imágenes representa un problema aun

cuando el mensaje haya sido insertado en un plano de bit más significativo.

Factor Calidad JPEG

BER

Page 132: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

121

Lena Barco Mandril Bárbara Loro Peppers

100

0.2044 0.3388 0.1387 0.1357 0.3313 0.3433

Tabla 6.4 Relación entre la capacidad de información oculta y el BER, insertando en el 4to Plano de bit en diferentes

imágenes, cuando se inserta un texto de 100 letras (0,0030517578125 bpp).

Las Tablas 6.5 (a) y 6.5 (b) muestran los textos extraídos cuando el mensaje fue insertado en el

plano 1, 4 y 5, como se puede observar en el plano 1 el texto no puede ser entendible, el plano 4to

empieza a hacerse coherente y finalmente el 5to contiene menor tasa de error de modo de entender

un poco más la gramática del texto.

Texto original

127bytes Ocultando 1er plano 383 bits cambiados BER= 0.3770

Informalmente la esteganografía se refiere a la práctica de ocultar mensajes secretos en comunicaciones

Hnformslmente le usdeganofra&íc`st re&iere a`lc práctiga4de`oc5|tcr$mensajes4sebsut�s!en com5nicaciones

Tabla 6.5 (a) Mensaje extraído en el primer plano de bit de la imagen Mandril.

Texto recuperado en el 4to plano BER= 0.2044bits cambiados= 206

Texto recuperado 5to plano cambiados= 39 BER=0.0388bits

Infgrmaloente"îa usuegeNogúafía se`rediure a |a prác4yaá0de �ãulÿïÿþÿÿ*Çtcr$mensches$secògtis en com}nicaãiones`@@@H@

Informalment% la estegi&ngrafía {e0rEfiere a l@ práf4mãa dE ocultar m%îs!nes"Secrgtns en ck}wniãac)�nes(sïbre 5n cana|"pú"m)co

Tabla 6.5 (b) Mensaje extraído en el quinto plano de bit de la imagen Mandrll.

Adición de ruido Gaussiano

Cuando al esteganograma se le aplica ruido Gaussiano con 000001.2 =σ y 0000001.2 =σ , La

tabla 6.6 muestra la tasa de error obtenido, como se puede observar, poco ruido gaussiano afecta

Factor Calidad JPEG

BER

Page 133: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

122

considerablemente a algunas imágenes, aun cuando el mensaje secreto sea ocultado en el 4to plano

de bit.

4to Plano .000001

4to Plano .0000001

Lena Barco

Mandril Bárbara

Loro Goldhill

0.0650 0.3346 0.0254 0.0770 0.3513 0.2100

0 0 0 0 0 0

Tabla 6.6 Tasa de error aplicando ruido Gaussiano en la cubierta. La tabla 6.7 muestra los textos recuperados donde se obtienen errores del 2.9 y 7% cuando se

adiciona ruido gaussiano con una 000001.02 =σ , como se puede observar cuando se produce un

error del 7% el texto deja de ser entendible.

Texto original Texto recuperado 4to plano BER= 0.0299

Texto recuperado en el 4to plano BER= 0.0738

Informalmente la esteganografía se refiere a la práctica de ocultar mensajes secretos en comunicaciones sobre un canal público, de modo que los atacantes no estén enterados de la existencia de un mensaje,

InFoRmalien|d0l! e{teGanograbía se renherg`a la$práctica dG �cultaz meîsajes recr%toc0eÎ comunicacioneq snbre un !anal 0ºfmico4 de modo que los auqcCntes no astÉn(enteradks du!la e|istencia de un`mens!je,

IîformanMeNte la$e3teganogr!fíq se zefiebe a la prñcpiãa ae ocultaz }enSajås seb2etoq(an coiUnmcaciones sObre wj #cnaì púb|iso, de modo qõe |ks atacanteq no(åstén eneeradgs dd la existûóûøÿûûûencia de qn mensajå,

Tabla 6.7 Textos recuperados cuando se obtienen errores del 2 y 7% cuando se aplica 000001.02 =σ .

6.4 Resultados de sistema propuesto 2 BPCS-IWT En esta sección se evalúa el algoritmo esteganográfico BPCS utilizando la transformada Wavelet

entera (IWT), primero se considera este sistema sin utilizar codificador, posteriormente se evalúa

haciendo uso del código detector de error, finalmente este método esteganográfico basado en el

dominio de la frecuencia es comparado con el sistema en el dominio espacial BPCS

6.4.1 Imperceptibilidad (distorsión) y Capacidad de inserción sin CCE

Las Figuras 6.9 (a) y 6.9 (b) muestra la relación entre la capacidad de inserción y la calidad de la

imagen de diversas imágenes: para el caso de la figura (a), la capacidad de inserción del loro se

BER

Page 134: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

123

limita a 1.5 bpp, sin embargo, para las demás imágenes se puede ocultar alrededor del 30% de la

capacidad de la imagen es decir (2.4 bpp), obteniendo buena calidad de la imagen

La Figura 6.9 (a) y 6.9 (b) muestra la relación entre la capacidad de inserción y la calidad de la imagen (PSNR)

aplicando la esteganografía BPCS-IWT.

La Figura 6.10 muestra los esteganogramas obtenidos cuando diversas capacidades de información

son introducidas desde el plano 1. Como se puede visualizar, todos los esteganogramas tienen una

calidad aceptable debido a las propiedades de los coeficientes enteros Wavelets.

Page 135: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

124

ESTEGANOGRAMAS INSERTANDO EN EL 1ER PLANO

Loro Ocultando 1.1 bpp PSNR=45.7677dB

Lena Ocultando 2 bpp

PSNR 37.6379dB

Mandrill Ocultando 2bpp

PSNR 36.8953dB

Barco Ocultando 2bpp

PSNR 36.0630 dB

Bárbara Ocultando 2bpp

PSNR 32.4659dB

Goldhill Ocultando 2bpp

35.9356dB

La Figura 6.10 Esteganogramas, obtenidos cuando diversas capacidades del mensaje son ocultadas.

La figura 6.11 muestra la relación entre la capacidad de inserción de la imagen del Mandril con

respecto a los planos de bits, como se puede observar, la capacidad de 0.8 bpp en el plano 1

contiene mayor PSNR a diferencia de los planos de bits 4, 5 y 6. Sin embargo, los planos 4 y 5

pueden ser usados para ocultar información sin tener mucha degradación visual.

Page 136: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

125

Figura 6.11 Relación entre la capacidad de inserción de la imagen del Mandril con respecto a los planos de

bits. La tabla 6.8 muestra la relación entre la calidad de la imagen (PSNR) y la capacidad de

inserción de diversas imágenes, cuando el mensaje oculto se realiza a partir del 4to plano

de bit. Algunas de estas imágenes su capacidad de limita, sobre todo en imágenes poco

complejas como es el loro.

Lena Barco Mandril Bárbara Loro Goldhill

.0625 .125 .25

.3125

.4375 .78125

40.6910 37.9475 35.4642 35.0898

-

41.0874 38.1759 35.9255 35.4533

-

41.366738.358035.376534.895334.092032.8080

41.293338.313035.594735.069234.4902

-

41.1140 -

41.1970 38.2824 35.4827 35.0034 34.4312

- Tabla 6.8 Relación entre la capacidad de información oculta y PSNR, insertando en el 4to Plano de bit en

diferentes imágenes.

La Figura 6.12 muestra los esteganogramas obtenidos cuando el mensaje es ocultado en el 4to plano

de bit, en estas imágenes, la capacidad de inserción es menor en comparación al domino espacial.

bits/píxel bpp

PSNR dB

Page 137: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

126

Loro .0939 bpp 39.4267 dB

Lena .3125 bpp

PSNR 35.0898 Db

Mandrill .3125 bpp

PSNR 34.8953dB

Barco .3125 bpp

PSNR 35.4533 dB

Bárbara .3125 bpp

PSNR 35.0692dB

Goldhill .3125 bpp

PSNR 35.0034dB

La Figura 6.12 esteganogramas IWT-BPCS sin CCE, ocultando en el 4to Plano.

6.4.2 Imperceptibilidad (distorsión) y Capacidad de inserción con CCE Cuando se considera que el algoritmo sea robusto frente a un canal inseguro se introduce un código

detector y corrector de errores dentro del esteganograma, esto implica que la capacidad del mensaje

disminuya debido a que no solo se está integrando información secreta si no también información

del código corrector, la gráfica 6.13 muestra la diferencia entre la capacidad de inserción y el PSNR

haciendo uso de la IWT con el CCE y sin el código corrector de errores, esta comparación fue

realizada mediante la inserción del mensaje en el 4 plano de bit debido a que la información puede

ser má robusta si es insertada en los planos de mayor significancia, sin embargo, al ocultar en el 4to

plano también disminuye la capacidad.

Page 138: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

127

La Figura 6.13 muestra la Comparación entre IWT BPCS y la IWT BPCS- CCE en la imagen del Mandril insertando en

el 4to plano de bit.

La tabla 6.9 muestra diferentes capacidades de información con respecto a diferentes calidades de

las imágenes haciendo uso de la IWT y el código detector y corrector de errores (IWT-CCE)

Lena Barco Mandril Bárbara Loro Goldhill

.0625 .125 .25

38.4691 35.7239

-

38.4691 36.1563

-

38.670535.646933.9374

38.554235.8328

-

39.6381 -

38.5613 35.7819

- Tabla 6.9 Capacidad de información insertando 4to plano usando IWT-CCE.

6.4.3 ε-secure La figura 6.14 muestra los ε -secure obtenidos cuando se introducen .75bpp de información secreta,

las imágenes (a), (b),(c) y (d) son ε -secure obtenidos cuando se inserta en el primer plano de bit, (

e) y (f) muestra el esteganograma y su histograma modificado cuando la información es ocultada en

el 4to plano de bit y el ( )c sD P P = 0.040959.

La diferencia de estas gráficas con respecto a los histogramas que fueron obtenidos con el algoritmo

BPCS en el dominio espacial y que fueron mostrados en la figura 6.6, es que el ocultamiento se

bits/píxel

Page 139: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

128

hace en el 4to plano de bit de la IWT, la cual no afecta considerablemente el histograma de la

imagen original a diferencia del algoritmo en el dominio espacial.

(a)Imagen cubierta Bárbara Histograma original

(b)

(c )Esteganograma Capacidad del M. 0.75bpp

PSNR= 46.9932 dB, 1er plano

(d) Histograma modificado ( )c sD P P = 0.025952

Page 140: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

129

(e) Esteganograma Capacidad del M. 0.75bpp

PSNR= 39.4038 dB, 4er plano

(f) Histograma modificado Insertando 4to plano

( )c sD P P = 0.040959

La figura 6.14 ε -secure obtenidos en la imagen de Bárbara insertando .75bpp en el 1er y 4to plano de bit. La figura 6.15 muestra los histogramas obtenidos en la imagen del Mandril cuando .75bpp son introducidos en el primer plano de bit

Mandril Imagen original

Histograma original

Page 141: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

130

Esteganograma Capacidad del M. 0.75bpp

PSNR= 38.9342 db, 1er plano de bit

Histograma modificado ( )c sD P P = 0.068068

La figura 6.14 ε -secure obtenido en la imagen de Mandril insertando .75bpp en el 1er plano de bit.

6.4.4 Robustez La implementación de este algoritmo sobre un canal seguro se obtuvo un BER=0 que indica que la

información oculta se recuperó perfectamente si no es aplicada una modificación en el

esteganograma, sin embargo, a continuación se mostrarán los casos en los que el mensaje no es

recuperado al 100% debido a una modificación del esteganograma.

Compresión JPEG usando BPCS-IWT sin CCE

La tabla 6.10 muestra la robustez que tiene el algoritmo basado en la IWT con respecto a la

compresión JPEG con factor de calidad de 100 y 99 en diferentes imágenes, cuando se inserta un

texto de 100 letras (0,0030517578125 bpp); como se puede observar, la recuperación del mensaje

secreto es poca debido a que la información se está ocultando en el primer plano de bits de la

imagen.

Lena Barco Mandril Bárbara Loro Goldhill

100 99

0.4125 0.4363

0.3825 0.4738

0.3775 0.5275

0.4175 0.5000

0.4138 0.4738

0.4138 0.5075

Tabla 6.10. Relación entre la capacidad de información oculta y el BER, insertando en el 1er Plano de bit usando IWT sin CCE.

La tabla 6.11 muestra la tasa de error con respecto al 4to plano de bit, aplicado el algoritmo

esteganográfico IWT y sin considerar utilizar el CCE; como se puede observar cuando se aplica

compresión JPEG con factor de calidad de 100 cuando se inserta un texto de 100 letras

(0,0030517578125 bpp), algunas imágenes pueden tener una tasa de error del 2%.

Lena Barco Mandril Bárbara Loro Goldhill

100 99 98

0.02 0.4013 0.4300

0.0425 0.4263 0.4612

0.0175 0.4300

0.4587

0.02 0.4000 0.4400

0.3837 0.4387 0.4663

0.3663 0.4138 0.4375

Tabla 6.11 Relación entre la capacidad de información oculta y el BER, insertando en el 4to. Plano de bit usando IWT

sin CCE.

Factor Calidad JPEG

BER

Factor Calidad JPEG

BER

Page 142: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

131

La tabla 6.12 muestra la relación que tiene la tasa de error con respecto a la compresión JPEG, en la

cual indica que cuando un mensaje de 100 letras es introducido y si los bits son cambiados la tasa

de error aumenta. Para la esteganografía es importante saber cuántos bits fueron cambiados porque

de ello depende el entendimiento del mensaje. Por ejemplo, cuando produce tasa de error del 4%

significa que 34 bits cambiaron de los cuales puede haber problemas en la gramática del texto

introducido.

Factor de compresión 100

Bits cambiados BER

Lena Barco

Mandril Bárbara

Loro Goldhill

16 34 14 16 307 293

0.0200 0.0425 0.0175 0.0200 0.3837 0.3663

La tabla 6.12 BER obtenido cuando se inserta desde el 4to plano de bit un mensaje de 100 letras.

La tabla 6.13 (a) y (b) Muestra los textos recuperados a partir del cuarto plano de bit y con diferentes tasas de error. Un BER de 1% indica que solo algunas letras cambiaron de mayúsculas a

minúsculas o viceversa, un 4% representa dificultad para entender el mensaje.

Imagen original 100 letras (800 bits)

14 bits cambiados BER= 0.0175

Con el rápido crecimiento de la Tecnologías de la Información (TI) y las telecomunicaciones se han

Con el rápido crecimiento de la Tecnolïgías de la Knfmòmabyón (TI) { las teLagomunicafiones se haj

6.13 (a)

34 bits cambiados BER=0.0425

293 bits cambiados BER=0.3663

COn(el ráPito crecimimnto de li Te3îmlogías do€la0Énæïrmac)ón (\I) y dés �elecoéunicacioþes qe han"

13p;®êª¨CÏî el 2ápÉeo crecImkinto de la TecnohCwíAs de ,a IçnObmQcióo (TI) y las ôelecomunicackknes

6.13 (B)

La tabla 6.13(a) y 6.13 (b) Mensajes recuperados en el plano 4 y usando la IWT sin CCE para ocultar información.

Para una aplicación donde la capacidad de inserción es mayor, la tabla 6.14 muestra el texto original

de 1Kb y el texto recuperado cuando se le aplica una compresión de 100, como se puede obervar

existen bloques dentro del texto que no pueden ser entendibles, sin embargo, a veces las palabras

suelen ser entendibles.

BER

Page 143: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

132

Mensaje original Mensaje recuperado Con el rápido crecimiento de las Tecnologías de la Información (TI) y las telecomunicaciones se han abierto cada vez más las zonas vulnerables para una empresa y sus datos. Todos los documentos de una empresa necesitan una protección fiable para mantener su privacidad y confidencialidad. La Internet aparte de ser un medio de comunicación eficiente es también una herramienta para que la información se vuelva vulnerable a cualquier ataque sin embargo la gran cantidad de información transmitida permite ver un escenario en donde surge la necesidad de crear sofisticados algoritmos esteganográficos para proteger la información. Aunque fue aplicado desde épocas antiguas para ocultar información, la esteganografía es una técnica que emerge para que la información alcance mejores niveles de seguridad [1]. Informalmente la esteganografía se refiere a la práctica de ocultar mensajes secretos en comunicaciones sobre un canal público, de modo que los atacantes no estén enterados de la existencia de un mensaje, existencia de un

Son el ráðido crecimienuo de la Tgcnologías de na Informagión (TI) 1`,aq temecomunacagiones se hen ábierto c!da vez }ãs mas zgnas vulnerables para una empresa!y sus datos. Todos los documentos de una emprtsá nacesitan!tîa p2oteccy³n fiarleìJ4À @ páp! Mantener s5 privacidcd } confidenãia,itaL. Ma Knternet ePartå de ser u~ medio de komuoicaai³n eficiente es tambiÉn un` herramie~ti para(que la inforoación se tueìva vulnerablm ¿þ¿�~>� a cualquier0at!que óI. e}barco la`graN cAntidcd de informacéón tranqmitida permita ver un !Scenapio$En donde!surge le necesifed(de`cfe%V qonysticaDos"aìgo�itmos ect`cenggrñfikos pava(qroueger la anf/rmación, Aunque fue aplicado dEsde$Ép/cas qntiguas `ara ogultar ynfoRmacaón, la aqteganogsafíá!Es }ne técn)ci que emerg- pqra quu la iîformació~ alcanca mejormc�niveles de seguridad {1]. Invorm!lmente la Estefanografía se rdfiare a la práctici de ïcult!r mMnsajas 3ecretos`un com}nicaciones sobse Un can%l `úblicï,0eg moDo que lgr`atAcantes no %stél enterafos de la existencma de uî mensabe,

Tabla 6.14 Insertando 1Kb en Bárbara 4to plano con PSNR = 44.3300dB.

Compresión JPEG usando BPCS-IWT con CCE

Hasta este momento los textos recuperados se realizan a partir del algoritmo esteganográfico usando

BPCS en la IWT sin embargo con los resultados anteriores se puede dar cuenta que compresiones

JPEG con factor de 100 pueden causar perdida en los bits y por lo tanto error en el entendimiento

del mensaje por ello, se implemento el código de bloque lineal (8,4)

La tabla 6.15 muestra la diferencia entre el uso del IWT sin CCE y con el codificador en el 4to

plano, como observa, cuando no se utiliza el código de bloques lineal puede haber errores de hasta

el 4% y al utilizar el codificador se pueden reducir a el 1%.

Factor de compresión 100

IWT Sin CCE

IWT con CCE

Lena Barco

Mandril Bárbara

Loro Goldhill

0.02 0.0425 0.0175 0.02

0.3837 0.3663

0 0.0113 0.0025 0.0050 0.1487 0.0875

La tabla 6.15 Diferencia entre el uso del IWT sin CCE.

La tabla 6.16 y 6.17 muestras los textos recuperados cuando se utiliza el el codificador y cuando se aplica el algoritmo sin el uso del CCE

Page 144: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

133

Mensaje original 800 bits

34 bits cambiados BER=0.0425 IWT Sin CCE

9 bits cambiados BER 0.0113 IWT con CCE

Con el rápido crecimiento de las Tecnologías de la Información (TI) y las telecomunicaciones se han

COn(el ráPito crecimimnto de li Te3îmlogías do€la0Énæïrmac)ón (\I) y dés �elecoéunicacioþes qe han"

Ccn el rápido crecymiento de la Tåcnologías be la Informacoón (TI) y las telecomunicaciones se xan

Tabla 6.16 Texto extraído cuando no se utiliza el codificar y texto recuperado haciendo uso del CCE.

Mensaje original

IWT Sin CCE IWT con CCE Con el rápido crecimiento de la Tecnologías de las Información (TI) y las telecomunicaciones se han abierto cada vez más las zonas vulnerables para una empresa y sus datos. Todos los documentos de una empresa necesitan una protección fiable para mantener su privacidad y confidencialidad. La Internet aparte de ser un medio de comunicación eficiente es también una herramienta para que la información se vuelva vulnerable a cualquier ataque sin embargo la gran cantidad de información transmitida permite ver un escenario en donde surge la necesidad de crear sofisticados algoritmos esteganográficos para proteger la información. Aunque fue aplicado desde épocas antiguas para ocultar información, la esteganografía es una técnica que emerge para que la información alcance mejores niveles de seguridad [1]. Informalmente la esteganografía se refiere a la práctica de ocultar mensajes secretos en comunicaciones sobre un canal público, de modo que los atacantes no estén enterados de la existencia de un mensaje, existencia de un

Son el rápido crecimienuo de la Tgcnologías de na Informagión (TI) 1`,aq temecomunacagiones se hen ábierto c!da vez }ãs mas zgnas vulnerables para una empresa!y sus datos. Todos los documentos de una emprtsá nacesitan!tîa p2oteccy³n fiarleìJ4À @ páp! Mantener s5 privacidcd } confidenãia,itaL. Ma Knternet ePartå de ser u~ medio de komuoicaai³n eficiente es tambiÉn un` herramie~ti para(que la inforoación se tueìva vulnerablm ¿þ¿�~>� a cualquier0at!que óI. e}barco la`graN cAntidcd de informacéón tranqmitida permita ver un !Scenapio$En donde!surge le necesifed(de`cfe%V qonysticaDos"aìgo�itmos ect`cenggrñfikos pava(qroueger la anf/rmación, Aunque fue aplicado dEsde$Ép/cas qntiguas `ara ogultar ynfoRmacaón, la aqteganogsafíá!Es }ne técn)ci que emerg- pqra quu la iîformació~ alcanca mejormc�niveles de seguridad {1]. Invorm!lmente la Estefanografía se rdfiare a la práctici de ïcult!r mMnsajas 3ecretos`un com}nicaciones sobse Un can%l `úblicï,0eg moDo que lgr`atAcantes no %stél enterafos de la existencma de uî mensabe,

Con el rápido crecimiento df la Tecnologías de la Información (TI) y las telecomunicaciones se han abiertk cada vez =ás las zonbs vulnerable{ pare una empresa y sus datos. Todos low doãum�ntos de una empresa necesitan una protección fiable para mantener su privacidad y confidencialiaag. La Internet aparte de ser un medio de comunicación eficiente es también una herrimÉenta para que la información se vumlva vulnerable a`cualquidr ataq5e sin embazgo la gran g1ntidad de información transmitida permite ver un escenario en donde surge la necesidad de crear sofisticados algoritmos esteganográficos ðara proteger la información. Aunque fue aplicado desde épocas antiguas para ocultar información, la esteganografía es una técnica que e`erge para que la información alcance mej¿à�ores niveles de seguridad [1]. Informalmente la esteganografía se refiere g la práctica de ocultar mensajes@secretosîïüG en 3omunicaciones sobre un canal público, de modo que los atacantes no estén enterados de�la existencia de un mO ÿensaje, exis

Tabla 6.17 Comparación del uso del codificador de bloques (8,4), Insertando 1Kb en el 4to plano de la imagen de

Bárbara con PSNR = 44.3300dB.

Adición de ruido Gaussiano

Cuando se le añade poco ruido Gaussiano al esteganograma, la tasa de error es menor que los

resultados obtenidos cuando se implementa en el dominio espacial. Sin embargo, los resultados de

la tabla 6.18 indica que el sistema usando la IWT no es robusta frente el ataque de ruido

Gaussiano.

Page 145: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

134

La tabla 6.18 muestra cuando el esteganograma es atacado con ruido Gaussiano,

Adición de ruido Gaussiano . 2σ =000001 BER

IWT Sin

CCE IWT con

CCE Lena Barco

Mandril Bárbara

Loro Goldhill

.0 0.0075

0 0

0.0050 0

0 0 0 0 0 0

Tabla 6.18 Diferencia de uso del CCE cuando le es aplicado ruido Gaussiano al esteganograma. 6.5 Comparación de los sistemas propuestos

En esta sección se realiza una comparación de los algoritmos basados en el dominio espacial y en el

dominio de la frecuencia haciendo uso de los planos de bits y la IWT.

6.5.1 Imperceptibilidad (distorsión) y Capacidad

Los sistemas esteganográficos en el dominio espacial y de la frecuencia son evaluados en esta

sección.

La figura 6.18 muestra la relación entre la capacidad del mensaje y la calidad de la imagen de Lena

con respecto a la esteganografía BPCS en el dominio espacial (usando la propuesta de Kawaguchi,

y el uso de la varianza) y la esteganografía BPCS usando la transforma entera Wavelet.

Como se visualiza en la grá,fica la esteganografía en el dominio espacial tiene mayor capacidad de

inserción así como mejor calidad de la imagen que la IWT, sin embargo, la transformada entera

Wavelet tiene una aceptable calidad de la imagen de acuerdo al MOS y esta puede ser utilizada

como un método eficiente de inserción.

La figura 6.18 muestra la relación entre la capacidad del mensaje y la calidad de la imagen de Lena

con respecto a la esteganografía BPCS en el dominio espacial y la esteganografía en el dominio de

la frecuencia

Page 146: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

135

Figura 6.18 Relación entre la capacidad del mensaje y la calidad de la imagen con respecto a la esteganografía BPCS

en el dominio espacial y la esteganografía en el dominio de la frecuencia.

Cuando la robustez del algoritmo nos interesa, la capacidad del mensaje disminuye debido a que el

4to plano es usado para insertar la información, la figura 6.19, muestra la diferencia entre el

dominio espacial y de la frecuencia con respecto a la calidad de la imagen del Mandril y la

capacidad de inserción. Como se observa, la esteganografía BPCS tiene menor calidad de la imagen

(PSNR) con respecto a la IWT, La gráfica también describe el uso del codificador de bloque lineal

en la IWT lo que permite visualizar que el uso de la IWT con el CCE disminuye la capacidad de

inserción así como la calidad de la imagen, sin embargo, el codificador permite asegurar los datos

ocultos en el esteganorama.

Page 147: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

136

Figura 6.19.Comparación de algoritmos en el dominio espacial y el dominio de la frecuencia insertando en el 4to plano

en la imagen del Mandril.

6.5.2 Robustez

En la tabla 6.19 se comparan los algoritmos en el dominio espacial y el dominio de la frecuencia

con respecto a la compresión JPEG, ocultando en el 4to plano de bit de diversas imágenes

Factor de compresión 100 BER

BPCS

KAWAGUCHI BPCS

VARIANZA IWT Sin

CCE IWT con

CCE Lena Barco

MandrilBárbara

Loro Goldhill

0.3000 0.3787 0.1563 0.1475 0.3212 0.1713

0.2044 0.3388 0.1387 0.1357 0.3313 0.3433

0.02 0.0425 0.0175

0.02 0.3837 0.3663

0 0.0113 0.0025 0.0050 0.1487 0.0875

Tabla 6.19.Comparación de algoritmos en el dominio espacial y el dominio de la frecuencia insertando en el 4to plano en

la imagen del Mandril.

En la tabla 6.20 se comparan los algoritmos en el dominio espacial y el dominio de la frecuencia

con respecto a la adición de ruido gaussiano, ocultando en el 4to plano de bit de diversas imágenes

Page 148: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

137

Adición de ruido Gaussiano . 2σ =000001 BER

BPCS

KAWAGUCHI BPCS

VARIANZA IWT Sin

CCE IWT con

CCE Lena Barco

Mandril Bárbara

Loro Goldhill

0.0250 0.2612 0.0250 0.0450 0.2612 0.1038

0.0650 0.3346 0.0254 0.0770 0.3513 0.2100

.0 0.0075

0 0

0.0050 0

0 0 0 0 0 0

Tabla 6.20.Comparación de algoritmos en el dominio espacial y el dominio de la frecuencia insertando en el 4to plano en

la imagen del Mandril y aplicado ruido gaussiano al esteganograma.

6.5.3 Obtención ε -secure

La figura 6.21 muestra los resultados obtenidos cuando la ε -secure es analizada con respecto a la

esteganografía en el dominio de la frecuencia y la esteganografía en el dominio espacial, los

histogramas indican que el uso del plano 4 para ocultar información afecta más en la

esteganografía espacial usando BPCS, a diferencia de la esteganografía IWT, la cual es una gran

ventaja por que al robustecer el algoritmo BPCS-IWT a través del CCE permitirá que la cubierta

no sea modificada considerablemente y pase desapercibida, en caso de un análisis de histogramas.

Histograma original

Imagen Bárbara

Histograma modificado Insertando 4to plano ( )c sD P P =0.111657

BPCS-Varianza

Page 149: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

138

Histograma modificado Insertando 4to plano

( )c sD P P = 0.111433

BPCS-Kawaguchi

Histograma modificado Insertando 4to plano ( )c sD P P = 0.040959

BPCS-IWT

Tabla 6.21.Comparación de algoritmos en el dominio espacial y el dominio de la frecuencia insertando .75bpp en el 4to

plano en la imagen del Mandril y obteniendo su ε -secure, correspondiente.

La eficiencia de los algoritmos esteganográficos en el dominio espacial y en el de la frecuencia es

resumida en la tabal 6.22, la cual indica que cuando se requiere robustez la capacidad de inserción

disminuye, sin embargo, si se requiere mayor capacidad de inserción es más susceptible a perder la

información.

BPCS Dominio espacial

BPCS-IWT Dominio Frecuencia

BPCS-IWT CCE

Imperceptibilidad X X X Robustez X

Capacidad X X

Tabla 6.22, Comparación de los algoritmos en el dominio espacial y dominio de la frecuencia.

6.6 Conclusiones En este capítulo se mostraron los resultados de dos algoritmos esteganográficos, el primero está

basado en el dominio espacial y el segundo en el dominio de la frecuencia, ambos algoritmos fueron

evaluados con respecto a la capacidad de inserción, compresión JPEG, la adición de ruido

Gaussiano, así como el ε -secure. Los resultados obtenidos muestran que los algoritmos

esteganográficos pueden ser robustos pero están limitados en la capacidad de inserción, el algoritmo

presentado utilizando IWT representa un método eficiente para ocultar la información su robustez

Page 150: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 6 Evaluación y Resultados

139

radica en el uso de un código detector y corrector de errores, aunque este sistema solo corrige

errores provocados por compresiones JPEG con factor de calidad 100, este método ha demostrado

que se podrían aplicar mayores compresiones si se utilizara un codificador más complejo para

corregir errores del texto extraído, aunque esto signifique disminución de la capacidad de

ocultamiento.

6.7 Referencias

[1] C. Cachin, “An Information-theoretic model for steganography”, Proc. 2nd Information Hiding

Workshop, vol. 1525, pag. 306-318, 1998.

[2] C. C. Chang and P. Y. Lin, “A Compression-Based Data Hiding Scheme Using Vector

Quantization and Principal Component Analysis”, Proc. of 2004 Int. Conf. on Cyberworld (CW04),

2004.

[3] Z. Ni, Y. Q. Shi, N. Ansari , W. Su, Q. Sun and X. Lin, “Robust Lossless Image Data Hiding”,

2004 IEEE Int. Conf. on Multimedia and Expo (ICME 2004), pp. 2199-2202, 2004 [4] J.R. Ohm, “Signal Distortion Measurement for multimedia System”

[5] F. Alturki, R. Mersereau, “Secure Blinf Image Steganographic Technique Using Discrete

Fourier Transformation”, Proc. on Int. Conf. on Image Processing, Vol. 2 pp. 542-545, 2001.

[6] R. Chandramouli, N. Memon, “Analysis of LSB Based Image Steganography Techniques”,

Proc. on Int. Conf. on Image Processing, vol. 3,

[7] William Stallings, “Comunicaciones y redes de computadores”, Prentice Hall, 6ta ed, 124pp

Page 151: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

140

Page 152: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

141

CAPITULO 7

Conclusiones

Contenido del capítulo

7.1 Conclusiones generales

7.2 Trabajo a futuro.

Page 153: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 7 Conclusiones

142

7.1 Conclusiones generales

Se presentaron dos métodos esteganográficos, los cuales hacen uso de la esteganografía BPCS

aplicada en el dominio espacial y dominio de la frecuencia, el primero de ellos es una derivación de

la esteganografía propuesta por Kawaguchi, a diferencia de ésta utiliza la varianza como una

medida de complejidad para determinar las áreas ruidosas donde se pueda insertar la información

sin causar distorsión visual en la imagen.

La varianza usada como una medida de complejidad en el algoritmo basado en el dominio espacial,

permite ser una herramienta matemática eficiente para determinar zonas complejas en las cuales se

inserte el mensaje secreto. La implementación de este método con respecto al esteganografía de

otros autores, permite obtener resultados similares en las que puede tener gran capacidad de

almacenamiento.

La ventaja de estos algoritmos basados en la esteganografía BPCS es que se relaciona con el

sistema visual humano lo que permite ocultar mayor cantidad de información sin que el ojo humano

pueda detectar patrones binarios complejos, de esta manera la capacidad de inserción se relaciona

por las características de la imagen, como son tamaño y la complejidad que tienen cada una.

La desventaja de utilizar este tipo de algoritmos en el dominio del tiempo es que estas técnicas son

muy conocidas y por lo tanto existen herramientas en Internet que fácilmente pueden extraer la

información.

De acuerdo a los resultados mostrados y afirmando la teoría vista en la literatura este tipo de

sistemas tienen la desventaja que pueden perder la información fácilmente cuando se aplica un

cambio de formato como es de BMP a JPEG, esto podría ser un grave problema si se considera un

canal inseguro como es el Internet.

El segundo método propuesto utiliza la esteganografía BPCS en la Transformada Wavelet Entera

(IWT), este sistema a diferencia de otros basados en la IWT, es que incluye la complejidad de

segmentación de planos de bits en los coeficientes enteros de la transformada Wavelet, obteniendo

alta capacidad de almacenamiento.

Debido a que la esteganografía BPCS está relacionada con el SVH, permite obtener una alta

capacidad de inserción para algunas imágenes (alrededor de 2bpp) manteniendo alta fidelidad en los

esteganogramas obtenidos.

El problema que enfrenta los sistemas en el dominio del tiempo se ha considerado actualmente

haciendo uso de algoritmos más complejos, por lo tanto este algoritmo fue enfocado a dos

Page 154: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Capitulo 7 Conclusiones

143

escenarios distintos en los que se consideraban el uso de un canal seguro, la cual el esteganograma

no sufre ninguna modificación y el uso de un canal inseguro donde la cubierta sufre de

alteraciones como es la adición de ruido Gaussiano y el cambio de formato.

En el primer caso, el esteganograma puede ocultar gran cantidad de información en los coeficientes

Wavelet, sin obtener una degradación notoria en la imagen debido a que hace uso de todos los

planos para ocultar la información, la tasa de error obtenida fue nula, lo que significa que los datos

secretos fueron extraídos por completo.

En el segundo escenario donde se considera un canal inseguro, el algoritmo BPCS basado en la

IWT se le integra un código detector y corrector de errores, éste tiene la ventaja de que proporciona

robustez a los datos ocultos, sin embargo, también reduce la capacidad de inserción debido a que

CCE es enviado junto con el esteganograma, los resultados mostrados indican que las tasas de error

del 4% pueden ser reducidas al .01%. Aunque las tasas de compresión aplicada no fueron altas, este

algoritmo ha demostrado ser un sistema que puede tener mayor eficiencia si un codificador más

complejo es utilizado.

El uso de algoritmos esteganográficos en el dominio espacial y dominio de la frecuencia depende de

la aplicación que se desee, cuando se requiere mayor robustez la capacidad de inserción debe ser

sacrificada y la IWT-CCE es un método viable. En el caso de requerir mayor capacidad de

inserción la esteganografía BPCS es la más eficiente, sin embargo, también la más susceptible

frente a ataques, por lo tanto la esteganografía de planos haciendo uso de IWT presenta mejores

resultados, sobre todo cuando se considera la robustez del algoritmo y la apariencia de un

contenedor inocente, los resultados del ε -secure demuestran que los histogramas de la imagen

original y del esteganograma no cambian mucho aún insertando en el 4to plano.

.

7.2 Trabajo a futuro.

• Implementar un código detector y corrector de errores más eficiente.

• Realizar pruebas con otros formatos de imagen

• Probar con otros tipos de Transformada Wavelet Entera.

Page 155: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

ANEXO A

COPIA DE PRODUCCION

ARTICULOS EN EXTENSO:

1. Silvia Torres Maya, Mariko Nakano Miyatake and Héctor Pérez Meana, “Image

Steganography Systems Based on BPCS and IWT”, Random Fields Modeling and

Processing in Inhomogeneous Media, RFMPIM,Guanajuato, 2005.

2. Silvia Torres Maya, Mariko Nakano Miyatake and Héctor Pérez Meana,”Esteganografía

usando la Complejidad de Segmentación de Planos de Bits (BPCS) en la Transformada

Wavelet Discreta (DWT)”, IEEE 3º Congreso Internacional en Innovación y Desarrollo

Tecnológico, 2005.

3. Silvia Torres-Maya, Mariko Nakano-Miyatake, Rubén Vázquez-Medina and

Yamaguchi-Kazuhiko,“Robust Steganography Using Bit Plane Complexity

Segmentation”, International Conference on Electronic Design, ICED 2004.

4. Silvia Torres Maya, Brian Kurkoski, Kazuhiko Yamaguchi, Mariko Nakano Miyatake,

Rubén Vázquez Medina “Steganography based on the variance like a measurement of

complexity segmentation”. The institute of electronics, Information and communication

Engineers IEICE Technical Group on Information Theory (IT), 2004.

5. Silvia Torres-Maya, Mariko Nakano-Miyatake, Rubén Vázquez-

Medina,“Esteganografía basada en la variancia como una medida de complejidad bajo

el dominio Wavelets”. IEEE ROC&C'2004, Decimoquinta Reunión de Otoño de

Comunicaciones, Computación, Electrónica y Exposición Industrial., Acapulco

Guerrero, Noviembre 2004.

Page 156: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

An Image Steganography Systems Based on BPCS and IWT

Silvia Torres-Maya, Mariko Nakano-Miyatake and Héctor Perez-Meana SEPI, Mechanical and Electrical Engineering School, National Polytechnic Institute

Av. Santa Ana 1000, 04430 Mexico D.F., [email protected]

Abstract In this paper, an image steganography system is proposed, in which the data hiding (embedding) is realized in bit planes of subband wavelets coefficients obtained by using the Integer Wavelet Transform (IWT). To increase data hiding capacity while keeping the imperceptibility of the hidden data, the replaceable IWT coefficient areas are defined by a complexity measure used in the Bit-Plane Complexity Segmentation Steganography (BPCS). The proposed system shows a high data hiding capacity (more than 2 bpp in many case), while keeping a high fidelity of stegoimage (more than 35 dB of PSNR). To make the proposed system robust enough to some distortion caused by non-ideal communication channel, we introduce an Error Control Coding to the system, which can reduce the Bit Error Rate (BER) of extracted hidden data when the stegoimage receive some channel distortion. 1.Introduction

Recently, together with a large diffusion of Internet,

the development of data hiding techniques to transmit confidential data or side information into multimedia data becomes active research area during the last several years. The goal of a steganography system is to get high capacity of hiding data, low steganogram fidelity loss, such as the stegoimage with respected to the original one and robustness to some distortion caused by non-ideal communication channel characteristics. However these three requirements are very difficult to be satisfied simultaneously because these three requirements have conflict among them. Many steganography systems focused only in the capacity and imperceptibility issues. A widely used method of data hiding is replacing the least significant bits of the digital image (LSB) by the secret message [1],[2]. The LSB methods generally achieve both high capacity and high imperceptibility. However these methods are very vulnerable to extraction by unauthorized third parties, because the embedding position of the hidden message can be easily known. Some methods to overcome this vulnerability have been

proposed which realize the data hiding in the frequency domain [3], [4]. However, because the stegoimage data must be quantized to the image range data (generally 8 bits/pixel) after the inverse transform is applied to the frequency coefficients with hidden message; to achieve a lossless extraction of the secret message is very difficult. Recently reversible image compression methods have been proposed using Integer Wavelet Transforms (IWT) [5]-[7]. The IWT maps the integer image data to the integer subband wavelets coefficients and also the inverse IWT maps integer coefficients to integer data without any loss. The IWT based image compression methods can achieve perfect reconstruction of images; although these methods have generally lower compression rate compared with DWT based compression methods. In this paper we propose a lossless data hiding method using IWT and BPCS, in which image data are decomposed by IWT and each bits plan of the subband is segmented in 8x8 blocks. All blocks are analyzed by complexity measures to determine which blocks will be replaced by secret message. The complexity measurement used in the proposed system is same one in the BPCS method proposed by [8], [9]. The proposed system can be recovered the hidden message in lossless manner if the communication channel is ideal. However the communication channel is not ideal, and then the extracted message include some erroneous bits. To increase the robustness of the secret message for non-ideal communication channel, we introduce the linear error control coding. This paper is organized as follows. Section 2, provides a brief review about IWT and BPCS. In Section 3, the proposed steganography system is described. The computer simulation results of the proposed system are shown in Section 4. Section 5 summarizes and concludes the proposed algorithm. 2. IWT and BPCS In this section, brief review about Integer Wavelet Transform (IWT) and Bit Plane Complexity Segmentation (BPCS) steganography method will be done.

Page 157: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

2.1 Integer Wavelet Transform (IWT) Discrete Wavelet Transform (DWT) has been widely used in many signal and image processing, because its spatial-frequency relationship. The principal drawback of the DWT for some applications is that the coefficients in the decomposed subbands are real values, and then some modifications (including the machine precision) to these values cause quantization errors at the reconstruction stage, and in consequence, a perfect reconstruction can not be achieved [6], [7]. The Integer Wavelet Transform (IWT) was proposed to overcome this problem in 1996 [6]. Depending on the number of vanishing moments of the analysis and synthesis filters, the IWTs can be classified as shown in the table 1, which lists some of IWTs. Table 1. Some IWTs [6].

For image compression, the biorthogonal (9-7) IWT is considered the better method, however, because for steganografic use we cannot observe any advantage of the (9-7) IWT, we use the (2,2) IWT. The (2,2) IWT and its inverse version are given by (1) and (2), respectively. IWT:

( )( )

1, 0,2 1 0,2 0,2 2

1, 0,2 1, 1 1,

1 2

1 4

l l l l

l l l l

d s round s s

s s round d d

+ +

⎡ ⎤= − +⎣ ⎦⎡ ⎤= + +⎣ ⎦

(1)

Inverse IWT

( )( )

0,2 1, 1, 1 1,

0,2 1 1, 1,2 1,2 2

1 4

1 2

l l l l

l l l l

s s round d d

s d round s s

+ +

⎡ ⎤= − +⎣ ⎦⎡ ⎤= + +⎣ ⎦ (2)

where 0,ls is l-th data of the original image. 2.2 Bit Plane Complexity Segmentation (BPCS)

The BPCS steganography, whose summary is shown tables 2 and 3, is one of the modified LSB steganography methods. Table 2 shows the secret message hiding process while the table 3 shows secret message extraction process. Table 2. BPCS data hiding process [8].

In BPCS, the conjugation map is constructed from the information of conjugated blocks, and also is embedded as a part of the message block into the cover image. The threshold value to determine if a block is complex or not is given by

CMaxTh 3.0= (3) where cmax is the maximum complexity.

Name Integer Wavelet Transform

(2,2) ( )

( )1, 0,2 1 0,2 0,2 2

1, 0,2 1, 1 1,

1 2

1 4

l l l l

l l l l

d s round s s

s s round d d

+ +

⎡ ⎤= − +⎣ ⎦⎡ ⎤= + +⎣ ⎦

(4,2)

( )( )

( )

0,2 0,2 21, 0,2 1

0,2 2 0,2 4

1, 0,2 1, 1 1,

9 16

1 16

1 4

l ll l

l l

l l l l

s sd s round

s s

s s round d d

++

− +

⎡ ⎤+⎢ ⎥= −⎢ ⎥− +⎣ ⎦

⎡ ⎤= + +⎣ ⎦

(9-7)

( )( )( )( )

(1)0,2 1 0,2 0,2 21,

(1) (1) (1)0,21, 1, 1, 1

(1) (1) (1)1, 1, 1, 1, 1

(1)1, 1, 1, 11,

l l ll

ll l l

l l l l

l l ll

d s round s s

s s round d d

d d round s s

s s round d d

α

β

γ

δ

+ +

+

⎡ ⎤= − +⎣ ⎦⎡ ⎤= + +⎣ ⎦⎡ ⎤= + +⎣ ⎦⎡ ⎤= + +⎣ ⎦

1.5860.053

0.8830.4441.1496K

αβγδ

≈ −≈ −≈≈≈

1. Bit plane decomposition. The cover image is decomposed to bit planes. (8-

bits image is decomposed to 8 bit planes) 2. Block segmentation. Each bit plane is segmented to blocks of 8x8

binary data. 3. Complexity measurement of each block. Each block of binary data is measured to

determine if complex block or no-complex block.

4. Complexity measurement of secret message. Each 8 letters form a block of message, and

complexity measurement is applied to each message block. If a massage block is determined as no-complex block, the message block is conjugated.

5. Replace complex image-data block to message

block. All complex image-data blocks determined by

step 3 are replaced by message blocks.

Page 158: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Table 3. BPCS hidden data extraction process. [8]

The BPCS steganography provides a high hiding capacity because the more significant bit planes are used to hide the message. It also provides a lower perceptibility of the hidden message in the stegoimage, because only sufficiently complex blocks are replaced by secret message, and generally, these blocks have a lower visual sensibility for HVS. However, although the BPCS steganography shows excellent properties, regarding hiding capacity and imperceptibility, it can be vulnerable to the extraction of the hidden message, due to its spatial domain data hiding realization. 3 Proposed Algorithm The secret message embedding and extraction process in the proposed system are shown by the Figs 1 and 2, respectively. In these figures, ECC means “Error Control Coding” and IIWT the “Inverse IWT”. 3.1 Secret Message Embedding Process In the secret message embedding process, the cover image is decomposed into four subbands using the (2,2) IWT given by (1). Once the IWT is applied to the cover image, the BPCS is then applied to the four subbands (LL, LH, HL HH) in an independent manner to select the complex blocks, which are replaced by secret message. The Linear Block Error Control Coding with code rate 4/8 [10] is used for message coding. Here we add 4 bits codes to each 4 bits of message and the Generator Matrix for coding is used as secret key.

Figure 1 Secret message embedding process of the proposed steganography.

Figure 2 Secret message extraction process

3.2 Secret Message Extraction Process In the secret message extraction process, the IWT is applied to the stegoimage to obtain four subbands, which are then analyzed using the BPCS and, from them, the complex blocks are extracted. These blocks are considered the coded secret message which is then decoded by using the ECC, to obtain the secret message. 4. Experimental Results

In this section, we evaluate the proposed system from different points of view using various common images. Here we show some common images used for evaluation (fig. 3) and we introduce some evaluation criteria commonly used for steganographic systems.

1. Bit plane decomposition. The stegoimage is decomposed to bit planes. 2. Block segmentation. Each bit plane is segmented to blocks of 8x8

binary data. 3. Complexity measurement of each block. Each block of binary data is measured to

determine if complex block or no-complex block.

4. Conjugation map extraction The first complex blocks are corresponded to

the conjugation map.

5. Hidden data extraction The complex blocks are extracted and conjugated if necessary to recover the secret message.

Page 159: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

(a) Lena (b) Boat

(c) Baboon (d) Goldhill

(e) Barbara (f) Parrot

Figure 3 Images used for evaluation

4.1 Evaluation Criteria 4.1.1 Distortion Measure. Generally the image distortion is measured numerically using PSNR (Peak Signal Noise Ratio), which is given by (4).

2

1025610logPSNRMSE

⎛ ⎞= ⎜ ⎟⎜ ⎟

⎝ ⎠ (4)

1 2 2

1 1

1 2

( )N N

c si j

I I

MSEN N

= =−

=∑∑

(5)

where sc II , are the cover image and the stegoimage, respectively. However, from the steganalysis point of view the statistical difference is more important than a perceptual difference between the cover image and stegoimage. In fact, Cachin [11] proposed a statistical measure for steganographic system, which is called ε-secure and is given by (6).

( ) log cc s c

s

PD P P P

Pε= ≤∑ (6)

where ,c sP P represent the distribution of cover image

and stegoimage, and ( )c sD P P is the relative entropy

between the two probability distributions. If c sP P= then ( )c sD P P =0. The security grade is measured by ε for all possible images. 4.1.2 Capacity Measure. The notion of capacity in data hiding indicates the maximum number of bits that can be hidden and successfully recovered by the steganographic system [14]. Because of that the number of hidden bits varies depending on cover image size, to measure the hidden capacity, we use bit-per-pixel (bpp) given by (7).

( )c

hidden bitsbppNumpix I

= (7)

where ( )cNumpix I is total píxels number of pixels in the cover image. 4.1.3 Bit Error Rate (BER). If the communication channel is ideal and there are not attacks, the proposed steganographic system successfully recovers the hidden data. However we must consider a real communication scheme, and then we have to measure the bit error rate (BER), which is computed by (8).

__

Error bitsBERMessage bits

= (8)

4.2 Distortion Issue Figure 4 shows the cover image and stegoimage generated by the proposed system and their respective distributions. The relative entropy between both distributions is 0.0011. Here the hidden data size is 15kbyte. Table 4 shows the PSNR and ( )c sD P P for several stegoimages. 4.3 Capacity Issue Table 5 shows the maximum capacity of hiding data and PSNR of stegoimage respect to the cover one. The hiding capacity of the proposed system is larger compared with other previously proposed systems [12]-[14], while keeping a higher PSNR. Naturally in the proportion as the hidden data size increase, the PSNR decrease. Figure 5 and 6 show the relation between the hidden data size and the PSNR.

Page 160: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

(a) (b)

(c) (d) Figure 4 Distortion of stegoimage. (a) cover image, (b) distribution of cover image, (c) stegoimage and (d) distribution of stegoimage. Table 4. PSNRs and ( )c sD P P

Image Hidden data size (Kbyte)

PSNR ( )c sD P P

Baboon 15 45.8946 0.010672 Baboon 40 40.7750 0.017711 Baboon 60 36.4497 0.014329 Parrot 15 45.8569 0.066450 Parrot 40 43.2071 0.073892 Goldhill 40 39.8388 0.041860 Airplane 40 40.9375 0.132122 Boat 40 40.4119 0.029747 Table 5. Maximum hiding capacity

image Maximum Capacity (bpp)

PSNR (dB)

Lena 2.8 37.7

Baboon 3.4 33.5

Parrot 1.6 43

Boat 2.8 37.2 Goldhill 3.2 36.4 Airplane 2.5 37.6

4.3 Robustness Issue If the communication channel is ideal and there are not attacks, the proposed steganographic system can recover the hidden message in a lossless manner. However it is

impossible in the real world. We simulated some non-ideal communication channel, where some bit errors are produced, to evaluate efficiency of the ECC. The table 6 shows BERs with and without ECC.

Figure 5. Relationship between hidden data size (bpp) and PSNR for image “Ballon”, “Lena” and “Parrot”.

Figure 6. Relationship between hidden data size (bpp) and PSNR for image “Boat”, “Goldhill” and “Airplane”. Table 6. Efficiency of Error Control Coding (ECC)

Image Without ECC With ECC Lena 0.02 0 Boat 0.0425 0.0113

Baboon 0.0175 0.0025 Barbara 0.02 0.005 Parrot 0.3837 0.1487

Goldhill 0.3663 0.0875

The table 7 shows some example of recovered message without ECC and with ECC.

pdf

Píxel_value

pdf

Píxel_value

Page 161: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Table 7. A example of recovered messages.

5. Conclusions This paper proposed a lossless steganography system, in which the IWT and BPCS are used to get high data hiding capacity and low perceptibility. Also an Error control coding is introduced in the system to increase the robustness of the hidden message. The simulation results show better performance of the proposed system compared with some previous works [12]-[14], from the capacity, imperceptibility and robustness point of view. Acknowledgements We thank to the CONACyT and the IPN for the financial support. References

[1] R. Schyndel, A. Tirkel and C. Os born, “A digital watermark”, in Proc. IEEE Int. Conf. Image Processing. 1994, vol. 2, pp. 86-90. [2] R. Wolfgang and E. Delp, “A watermark for digital image”, in Proc. IEEE Int. Conf. Image Processing , 1996, vol. 3, pp. 219-222. [3] M. Ramkumar and A. Akansu, “Some Design Issues for Robust Data Hiding Systems”, in Proc. The 33 Asilomar Conf. on Signal, System and Comp, vol. 2, 1999,pp. 1528-1532, [4] F. Alturki and R. Mersereau, “Secure Blind Image Steganographic Technique UsingDiscrete Fourier Transformation”, in Proc.IEEE Int. Conf. on Image Processing, vol. 2,2001, pp. 542-545. [5] W. Swedens “The lifting scheme: A Custom-design construction of biorthogonal wavelets” , Appl.

Comput. Harmon. Anal.vol. 3, no. 2, 1996, pp. 186-200. [6] A. R. Calderbank, I. Daubechies, W.Sweldens y B. Yeo, “Lossless ImageCompression Using Integer to Integer Wavelet Transforms”, Proc. of Int. Conf. on Image Proc, 1997, pp. 596-599. [7] M. Adams y F. Kossentini, “Reversible Interger-to-Integer Wavelet Transforms for Image Compression: Performance Evaluation and Analysis”, IEEE Trans. on Image Processing, vol. 9, no. 6, 2000, pp. 1010-1024. [8] M. Niimi, H. Noda and E. Kawaguch “A steganography based on region segmentation by using complexity measure”, Trans. on IEICE vol. J81-D-II, pp. 1132-1140, 1998. (Japanese) [9] W, Kawaguchi and R. O. Eason, “Principle and applications of BPCS-steganography”, in Proc. SPIE, vol. 3529, 1998, pp. 464-473. [10] K. Pohlmann, “Principles of digital audio”, McGraw, New York, 2000. [11] C. Cachin, “An information theoretic model for steganography”, Lecture notes in Computer Science, vol. 1525, 1998, pp. 306-318, Springer-Verlag. [12] L. Marvel, C. Boncelet and C. Retter, “Spread Spectrum Image Steganography”, IEEE Trans. on Image Processing, Vol. 8, No. 8, 1999, pp. 1075-1083. [13] G. Xuan, J. Chen J. Zhu, Y. Shi, Z. Ni and W. Su, “Lossless Data Hiding Based on Integer Wavelet Transform”, IEEE workshop on Multimedia Signal Processing, 2002, pp.312-315. [14] M. Goljan, J. Fridrich and R. Du, “Distortion-free data embedding”, in Proc. of 4th Information Hiding Workshop, 2001, pp. 27-41.

Original Message

Recovered Message without ECC

BER=0.025

Recovered Message with ECC

BER=0.002 Aunque fue aplicado desde épocas antiguas para ocultar información, la esteganografía es una técnica que emerge para que la información alcance mejores niveles de seguridad [1]. Informalmente la esteganografía se refiere a la práctica de ocultar mensajes secretos en comunicaciones sobre un canal público, de modo que los atacantes no estén enterados de la existencia de un mensaje.

Aunque fue aplicádo$deste époc`w intigwas para egurid infnrmaciój, la estloanowrafÍa es une0t¡cnica qõe eguri para aue la`información alcan#e0mejovesànHfeles dE s’guridad [1. Hnfor-Almente la(estecancgr&ía0se refiere a`la Práctic` fM egurid mejsájeó secreÔos en comunicacio~gs So`se un canal 0úblaco,”da Modo 1ue l�s cÔacanues!no estén”%nteòaegs lG”la existencia8de un menwyke,

Aunque fue aplicado desde épocas antiguas para ocultas información, la esteganografía es una pécnica que emerge para que la infor`ación alcance mejorµs niveles de suguridad [1]. Informalmente la esteganografía-se refiere a la práctica de ocultar mensajes secretos en comunicaciones sobre un ca>al público, de mo`o que los atacantes no estén enterados de la existencia de un mensaje.

Page 162: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

IEEE 3º Congreso Internacional en Innovación y Desarrollo Tecnológico, 28 al 30 de septiembre 2005, Cuernavaca, Morelos,

México

MORELOS

Esteganografía usando la complejidad de segmentación de planos de bits (BPCS) en la Transformada Wavelets Discreta (DWT)

S. Torres Maya. M. Nakano Miyatake, H. Pérez Meana Escuela Superior de Ingeniería Mecánica y Eléctrica

Unidad Profesional Culhuacan Sección de Estudios de Posgrado e Investigación

Av. Santa Ana No. 1000, Col San Francisco Culhuacan, Del Coyocán, México DF, CP 04430

Resumen: En este trabajo presenta la propuesta de un método esteganográfico basado en la esteganografía BPCS y la Transformada Wavelets Discreta (DWT) aplicada a una imagen en escala de gris. Este algoritmo utiliza las bases de compresión del Embedded Zerotree Wavelet (EZW) propuesto por Shapiro, donde los coeficientes wavelet de una imagen son cuantizados en una estructura de planos de bits y los datos secretos son ocultados en los coeficientes cuantizados de la DWT. Este algoritmo tiene la ventaja que los datos secretos son ocultados en el proceso de la cuantización de los coeficientes wavelets, lo que permite dar una solución al problema asociado con la esteganografía de planos de bits frente a la compresión de imágenes.

Abstract: This work shows the proposal of a steganographic method based on BPCS steganograhy and Discrete Wavelet Transform (DWT) applied to a gray scale image. This algorithm uses the bases of Embedded Zerotree Wavelet (EZW) compression proposed by Shapiro (1993), where the coefficients of the wavelet transform of an image are quantized in a structure of bit planes and the secret data are hidden in the quantized coefficients of DWT. This algorithm has the advantage that the secret data are hidden within the process of quantization of the wavelets coefficients, which allows to give a solution to the problem associated with the bit planes steganography when a compression is performed.

Keywords: steganography, information security, wavelets transform, bit-plane.

Introducción Con el rápido crecimiento de la Tecnologías de la Información (TI) y las telecomunicaciones se han abierto cada vez más las zonas vulnerables para una

empresa y su información. La Internet aparte de ser una herramienta de comunicación eficiente es también un medio para que la información se vuelva vulnerable a cualquier ataque.

Aunque fue aplicado desde épocas antiguas para ocultar información, la esteganografía es una técnica que emerge recientemente como tecnología de apoyo para que la información alcance mejores niveles de seguridad [1]. La adaptación de la esteganografía la hizo (Trithemius, 1462-1516) de la palabra esteganografía como una derivación de las palabras en Griego “estegano” ( cubierto) y “graphos”, (escritura) que significa “escritura encubierta”, se refiere al arte o técnica de ocultar mensajes secretos en canales para encubrir la información y prevenir la detección por terceras personas del mensaje oculto [1].

Existen diversas técnicas esteganográficas para ocultar información en imágenes digitales, algunas de ellas aprovechan las áreas ruidosas, o bien los bits menos significativos de la imagen para ocultar el mensaje secreto. En este trabajo se presenta un método esteganográfico que hace uso de las técnicas de planos de bits y la transformada wavelets discreta (DWT), permitiendo implementar un algoritmo esteganográfico robusto frente a pérdidas de información ocasionadas por la compresión JPEG ya que el proceso de ocultamiento de la información se realiza dentro del proceso de cuantización de los coeficientes wavelets.

Descomposición de planos de bits (Bit-Plane) La técnica de planos de bits consiste en descomponer una imagen en un grupo de imágenes binarias, llamadas planos de bits que corresponden a cada posición de los valores de los píxeles [2]. El primer plano de bit es una imagen binaria que consiste en los bits menos significativos de cada píxel de la imagen. El siguiente plano superior consiste en el segundo bit de cada píxel,

Page 163: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

3º Congreso Internacional en Innovación y Desarrollo Tecnológico, 28 al 30 de septiembre 2005, Cuernavaca, Mor., México

Pag. 2

considerando de esta manera formar los restantes planos de bits por cada posición de los bits de cada píxel de una imagen, en la Figura 1 se muestra la descomposición de los 8 planos de bits de una imagen en escala de gris.

Plano bit 8 Plano bit 7 Plano bit 6 Plano bit 5

Plano bit 4 Plano bit 3 Plano bit 2 Plano bit 1

Fig. 1 Descomposición de 8 planos de bits de una imagen digital

Tal descomposición provee una manera de realizar la inserción en el bit menos significativo (LSB). Simplemente se descompone a la imagen en sus planos de bit, se reemplaza los bits de uno o más bits inferiores con datos secretos, y después se restauran nuevamente los planos de bits en la imagen. Esta descomposición también es central en la idea de los BPCS

Complejidad de segmentación de planos de bits BPCS

Trabajos previos presentaron un método esteganográfico, llamado complejidad de segmentación de planos de bits (BPCS), el cual hace uso de la descomposición de planos de bits y las características del sistema visual humano, notando que el ojo humano es incapaz de notar diferencias entre patrones binarios complejos, de esta manera se puede reemplazar las regiones con apariencia de ruido de los planos de bits de la imagen por datos secretos sin deteriorar notablemente la calidad de la imagen.

La complejidad de los planos de cada región puede medirse. El área de baja complejidad tales como zonas homogéneas o formas simples aparecen como áreas uniformes con pocos cambios entre uno y cero. Las áreas complejas de la imagen aparecerían con forma parecida como regiones de ruido con muchos cambios

entre unos y ceros. No hay una definición estándar de complejidad de la imagen, varios autores han propuesto medidas de complejidad por ejemplo Hideki Noda[2] describió que la complejidad de cada subdivisión de los planos de bits definida como el número de las transiciones de uno a cero y cero a uno, ambos horizontalmente y verticalmente[2]. En esta implementación se propone una medida de complejidad a través de la obtención de la varianza. El término complejidad, se refiere al grado de varianza que contiene cierta área o bloques de bits. Se considera que entre mayor sea la varianza, el bloque de bits tendrá una alta actividad de textura y se clasificará como de mayor complejidad, por lo tanto la idea principal es sustituir bloques de mayor complejidad por bloques del mensaje secreto [4].

El proceso de inserción que realiza el algoritmo esteganográfico usando la varianza como una medida de complejidad, esta dividido en los siguientes pasos:

Descomponer la imagen en escala de gris en 8 planos de bits.

Dividir cada plano de bit en bloques de 8x8 y calcular la complejidad de cada bloque.

Si la complejidad es más grande que un umbral predefinido, se considera un bloque ruidoso, el umbral esta dado como el promedio de la máximas varianzas de los planos de bits.

Designar mapas de inserción que contiene los bloques ruidosos

Transformar los datos secretos a una representación binaria usando bloques de 8x8.

Reemplazar los bloques ruidosos por los bloques de información generada en el paso anterior, haciendo uso de los mapas de inserción

Para la extracción del mensaje secreto se aplica el proceso inverso descrito anteriormente.

Transformada Wavelets Discreta (DWT) La transformada discreta wavelets se describe como un árbol dinámico estructurado por subbandas y la idea básica consiste en tomar una señal original y separarla en dos frecuencias altas y bajas. La parte de las altas frecuencias de una imagen representa los bordes y se les denomina subbandas de detalle; la parte de las bajas

Page 164: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

3º Congreso Internacional en Innovación y Desarrollo Tecnológico, 28 al 30 de septiembre 2005, Cuernavaca, Mor., México

Pag. 3

frecuencias se conoce como subbandas de información. La separación de los dos componentes de frecuencias, se realiza de manera iterativa en la parte de las bajas frecuencias.

Cuando la Transformada Discreta de Wavelets es aplicada a una imagen digital se aplica un banco de filtrado proporcionando una matriz de coeficientes, conocidos como coeficientes wavelets, obteniendo tres matrices de aproximaciones de coeficientes: llamadas subbandas de detalle horizontal, vertical y diagonal (HL, LH, HH). La subbanda LL contiene la mayor parte de la energía de la imagen, es decir, la información más importante, mientras que los detalles tienen valores próximos a cero.

El proceso de descomposición se muestra en la Figura 2, la imagen es descompuesta mediante una multiresolución de tercer nivel donde el primer nivel esta representado por las subbandas LL1, LH1, HH1 y LH1 y así sucesivamente.

Fig. 2 Descomposición de tercer nivel de la DWT

Propiedades de la DWT en la integración de la esteganografía de BPCS

Los coeficientes de la DWT en una imagen tienen varias propiedades y la esteganografía BPCS es ideal para aprovecharlas, entre estas características se encuentran: [3].

Correspondencia: áreas espaciales en cada sección de los coeficientes en las subbandas corresponden directamente a las áreas en la imágen.

Complejidad: Los planos de bits en los niveles correspondientes de significancia de coeficientes wavelet y de la imagen original son proporcionalmente complejos.

Elasticidad: Los cambios en los valores de los coeficientes wavelet no crean cambios desproporcionados en la imagen reconstruida.

Esquema de compresión EZW

El algoritmo propuesto en este artículo utiliza las bases de compresión del Embedded Zerotree Wavelet (EZW) propuesto por Shapiro (1993) [3], donde los coeficientes de la wavelet de una imagen son cuantizados en una estructura de planos de bits y los datos secretos se ocultan en los coeficientes cuantizados. El esquema de compresión EZW proporciona buenas tasas de compresión por que aprovecha las correlaciones entre las subbandas en un sistema de coeficientes wavelets.

El método usando en el algoritmo de EZW es codificar los planos de bits de los coeficientes wavelet uno a la vez, comenzando con el bit de mayor significancia [3].

En la compresión EZW, cada coeficiente wavelet se expresa en la ecuación (1):

( )...22 22

110 +++= −− aaaTw , { },1,0∈ia (1)

Donde T es una constante que satisface max5.0 wT >

( maxw es el valor absoluto máximo entre todos los coeficientes wavelet en una imagen). Típicamente

[ ]max2log2 wT = , como ( )...22 22

110 +++ −− aaa es

una expresión binaria, la imagen de DWT se puede considerar para ser una estructura de planos de bits. La codificación comienza con la información más importante, así la decodificación puede realizarse también primero sobre la información más importante.

Page 165: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

3º Congreso Internacional en Innovación y Desarrollo Tecnológico, 28 al 30 de septiembre 2005, Cuernavaca, Mor., México

Pag. 4

Sistema Propuesto El método propuesto proporciona una integración de la esteganografía BPCS y la transformada wavelets discreta permitiendo obtener un algoritmo robusto frente a la pérdida debida a la compresión en las imágenes, la cual se considera como un problema asociado con la esteganografía de planos de bits.

Este algoritmo propuesto tienen la ventaja que los datos secretos son ocultados en el proceso de la cuantización de los coeficientes wavelets, lo que permite que la información secreta este integrada después de la pérdida de información que es causada por la cuantización, de tal manera que la información oculta es más difícil a ser destruida cuando se le aplique algún esquema de compresión como es JPEG.

Descripción del algoritmo

El algoritmo propuesto esta representado en la Figura 3 en donde muestra el proceso de inserción de datos ocultos en el dominio de la transformada wavelets.

Fig. 3 Algoritmo esteganográfico propuesto usando las

técnicas de planos de bits y la DWT

El método de inserción mostrado en la figura 3 consiste en varias etapas:

El cálculo de la transformada discreta wavelets DWT de tercer nivel aplicada a una imagen en escala de gris.

La obtención de un mapa de signos correspondientes a los coeficientes de cada subbanda.

La cuantización de los coeficientes por cada subbanda.

El proceso de inserción haciendo uso de la esteganografía BPCS descrita anteriormente.

La reconstrucción de los planos de bits.

Proceso inverso de los 3 primeros pasos (cuantización de los coeficientes wavelets, la integración de la matriz de signos correspondientes a los coeficientes de cada subbanda y la aplicación la IDWT para la obtención del esteganograma).

La primera etapa consiste en tener una imagen en escala de grises como contenedor de los datos secretos y posteriormente la obtención de la DWT de tercer nivel a partir de esta imagen, el segundo paso consiste en guardar los signos de los coeficientes wavelets de cada subbanda a través de un mapa de signos, esto con el objetivo de que el mapa sea utilizado posteriormente en la reconstrucción de la transformada discreta wavelets IDWT y aunque en el proceso de cuantificación se pierda cierta información, los valores de los signos de los coeficientes se conservan para no afectar de manera significativa en el proceso inverso de la transformada, y no pueda causar una notoria degradación visual. Cuantización de los coeficientes wavelets

Considerando la cuantización de los coeficientes wavelets usando un umbral T utilizada por Shapiro el algoritmo propuesto consiste en cuantizar los coeficientes wavelets comenzando por la subbanda de tercer nivel de manera de crear una estructura de planos de bits, de esta forma se considera que los coeficientes de la transformada varían dependiendo de cada nivel de la DWT, por ello la cuantización se lleva a cabo de manera independiente por cada una de las subbandas, los coeficientes wavelets por sus propiedades pueden ser positivos y negativos, también se considera los valores de los coeficientes en el primer nivel son aproximaciones a 0 y que al incrementar el nivel los valores de los coeficientes aumentan, de esta manera la cuantización será similar en las subbandas que pertenecen al mismo nivel.

Page 166: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

3º Congreso Internacional en Innovación y Desarrollo Tecnológico, 28 al 30 de septiembre 2005, Cuernavaca, Mor., México

Pag. 5

El umbral propuesto T para la implementación del algoritmo esta dado en la ecuación (2), y la cuantización de los coeficientes wavelets esta definida en la ecuación (3):

12max

−= NP

WT λθλθ (2)

( )⎭⎬⎫

⎩⎨⎧

=λθ

λθλθ T

WroundWQ (3)

Donde λθT es el umbral de cuantización, λθmaxW es el valor absoluto del máximo valor de la subbanda correspondiente al nivel λ y la orientación θ de los coeficientes wavelets definida por { }θλ, . .

NP corresponde a un escalar, que determinara el nivel de cuantización y por lo tanto la estructura de planos de bits, a medida que este valor aumente mayor numero de planos de bits se obtienen.

( )λθWQ Indica la cuantización obtenida, que corresponde al redondeo de los coeficientes wavelets y el umbral de cuantización.

λθW Es la subbanda correspondiente al nivel de descomposición y orientación.

Proceso de inserción

Cuando los coeficientes son cuantizados, una estructura de planos de bits puede ser obtenida, la esteganografía BPCS descrita anteriormente, es utilizada, para ocultar información en áreas complejas o de mayor ruido en los planos de bits. Datos secretos son representados en forma binaria usando bloques de 8x8 y reemplazados en los bloques ruidosos de los planos de bits.

Obtención del esteganograma

Cuando los datos secretos son ocultos en los planos de bits, los planos son restaurados a los coeficientes cuantizados, de esta manera después de la restauración de los planos, se aplica la formula (4), la cual permite aproximar nuevamente a los coeficientes wavelets de cada subbanda.

( ) ( )λθλθλθ TWQW ∗∗ = (4)

Donde ∗λθW , corresponde a una aproximación de los

coeficientes wavelets, ( )∗λθWQ son los coeficientes cuantizados, los cuales fueron usados para ocultar información secreta y ( )λθT es el umbral de cuantización descrito anteriormente.

A cada aproximación ∗λθW le es integrado los

signos que anteriormente fueron guardados en el mapa para no afectar los signos de los coeficientes wavelets en la aplicación de la transformada inversa wavelets (IDWT).

La IDWT es aplicada sobre los coeficientes wavelets, para obtener el esteganograma la cual contendrá la información secreta en los coeficientes wavelets cuantizados.

Para extraer el mensaje secreto se aplica el proceso inverso, descrito hasta el momento.

Simulación y resultados Para la implementación del algoritmo se toma imágenes en escala de gris y al aplicar la Transformada Wavelet Discreta (DWT), se utiliza un wavelet biortogonal con

Page 167: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

3º Congreso Internacional en Innovación y Desarrollo Tecnológico, 28 al 30 de septiembre 2005, Cuernavaca, Mor., México

Pag. 6

fase lineal 9/7 [3], por ser simétricos y de uso común en la compresión de imágenes.

El algoritmo propuesto se evalúa en base a dos requisitos fundamentales: la invisibilidad; y la máxima cantidad de información secreta que se puede ocultar. Para estimar la calidad de la imagen la medida más comúnmente aceptada es el PSNR.

El PSNR (peak signal-to-noise ratio), es muy común en el proceso de una imagen, su uso es para dar una relación del grado de supresión de ruido entre una imagen original y una imagen procesada, proporcionando una medida de calidad.

En la Tabla 1 muestra, los PSNRs obtenidos de la imagen de Lena de 512 x 512, los cuales dependen de la cantidad de información ocultada en Kb, los valores de PSNR disminuyen a medida de que el tamaño del mensaje secreto aumenta, de esta manera el PSNR disminuye conforme la calidad de la imagen decrece. En la extracción del mensaje secreto, se puede recuperar por completo la información oculta, sin embargo al aplicar al esteganograma una compresión con factor de calidad JPEG mostrada en la tabla 1 la extracción de la información oculta solo puede recuperarse en las subbandas HL3, LH3 y HH3.

Tabla 1: Obtención del PSNR en la imagen de Lena con diferente capacidad de mensaje oculto medido en Kb.

Capacidad del Mensaje Kb

PSNR dB

Factor de calidad JPEG

30 31 32 34

40.05 39.24 38.95 38.42

60 60 60 60

La invisibilidad del mensaje secreto en la imagen es evaluada a través del PSNR, el cual nos indica la calidad de la imagen original y el esteganograma, en la Figura 4 muestra a la izquierda la imagen de Lena 512x512 como contenedor del mensaje secreto, y a la derecha muestra el esteganograma obtenido, cuando 30 Kb de datos secretos son ocultos obteniendo un PSNR de 40.05 dB.

Fig. 4 Imagen original y el esteganograma obtenido con 30kb de datos ocultos y un PSNR de 40.05 dB

La cantidad máxima de información secreta es un factor que se relaciona con la invisibilidad en el sentido que la capacidad del sistema depende de la cantidad de información. Los valores del PSNR aproximan a valores que nos proporcionan la calidad de la imagen, pero que no definen en particular medidas sobre el sistema (HVS). La cantidad máxima para ocultar datos secretos en la imagen de Lena, se considera alrededor del 30 Kb, debido a que el PSNR disminuye a medida que más bits son insertados y la imagen comienza a presentar distorsiones visuales notables.

La tabla 2 muestra los PSNR obtenidos de diversas imágenes utilizadas comúnmente en el procesamiento de imágenes.

Tabla 2: Obtención del PSNR en imágenes en escala de gris

Imágen Capacidad del Mensaje Kb

PSNR dB

Barbara Goldhill Mandril

Boat

30 30 30

30

38.03 38.04 32.35 39.49

Conclusiones y futuros trabajos

La implementación del algoritmo esteganográfico usando las técnicas de planos de bits en la DWT proporciona un método viable, para ocultar datos secretos en los coeficientes wavelets cuantizados, de manera que los datos ocultos pueden ser extraídos, aún cuando el esteganograma le es aplicado una perdida de compresión JPEG con factor de calidad de 60, la información oculta en las subbandas del nivel 3 pueden ser recuperadas. Trabajos a futuro se considera realizar más pruebas de ataque, considerando imágenes de

Page 168: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

3º Congreso Internacional en Innovación y Desarrollo Tecnológico, 28 al 30 de septiembre 2005, Cuernavaca, Mor., México

Pag. 7

diversos tamaños e imágenes a color. Así como integrar el algoritmo a un esquema de compresión usando, codificación aritmética para proporcionar mayor robustez a los datos ocultos.

Agradecimiento Gracias al Consejo Nacional de Ciencia y Tecnología (CONACyT) por el apoyo brindado para la elaboración de este trabajo.

Referencias

[1] Stefan Katzenbeisser, Fabien, A.P. Petitcolas, “Information Hiding Techniques for Steganography and Digital Watermarking“, Artech Housea.

[2] Noda, H., Spaulding, J., Shirazi, M., Niimi, M. and Kawaguchi, E., "BPCS Steganography Combined with JPEG2000 Compression", Proceedings of Pacific Rim Workshop on Digital Steganography 2002, pp. 98-107, Kitakyushu, Japan, July 11-12, 2002.

[3] Noda, H., Spaulding, J., Shirazi, M., Niimi, M. and Kawaguchi, E, "BPCS steganography using EZW lossy compressed images", Pattern Recognition Letters, v.23 n.13, p.1579-1587, November 2002.

[4] S. Torres Maya, M. Nakano Miyatake, R. Vazquez Medina, "Robust Steganography using Bit Plane Complexity Segmentation", International Conference on Electronic Design, ICED 2004, Veracruz, Mexico, Noviembre, 2004.

Silvia Torres Maya

Nació en México el 25 de Mayo de 1979, en el Distrito Federal. Egresó de la carrera de Ingeniería en Computación en la Escuela Superior de Ingeniería Mecánica y Eléctrica, Unidad Culhuacan del Instituto Politécnico Nacional. Actualmente estudia el segundo semestre de la Maestría en Ciencias de la Microelectrónica, en la Sección de Estudios de Postgrado e Investigación (SEPI) Culhuacan, del Instituto Politécnico Nacional.

Mariko Nakano Miyatake

Recibió el titulo de licenciatura en informática y el grado de Maestra en Ciencias en Ingeniería Eléctrica, ambos de la Universidad de Electro-Comunicaciones de Tokio, Japón en 1983 y 1985, respectivamente, y el grado de Doctora en Ciencias de la Universidad Autónoma Metropolitana de la Ciudad de México en

1998. De marzo de 1985 a diciembre de1986 trabajó en el Laboratorio de Investigación de Toshiba Corporation de Kawasaki, Japón. De Enero de 1987 a Marzo de 1992 estuvo con Kokusai Data Systems de Tokio Japón. De Julio de 1992 a Febrero de 1997 fue profesora Titular “C” en la Universidad Autónoma Metropolitana, pasando en febrero de 1997 a formar parte de la planta docente de la Sección de Estudios de Posgrado e Investigación de la Escuela Superior de Ingeniería Mecánica y Eléctrica, Unidad Culhuacan del Instituto Politécnico Nacional donde actualmente es Profesora Titular “C”. En 1999 recibió el premio a la investigación por parte del I.P.N.

Hector Pérez Meana.

Recibió el grado de maestro en ciencias de la Universidad de Electro-Comunicaciones en Tokio Japón y el grado de Doctor en Ingeniería del Instituto Tecnológico de Tokio en 1986 y 1989 respectivamente. De 1981 a 1997 estuvo en la Universidad Autónoma Metropolitana UAM donde llegó a ser profesor titular “C”, pasando en febrero de 1997 a formar parte de la planta docente de la Sección de Estudios de Posgrado e Investigación de la Escuela Superior de Ingeniería Mecánica y Eléctrica, Unidad Culhuacan del Instituto Politécnico Nacional donde actualmente es Profesor Titular “C”. De marzo de 1989 a julio de 1991 fue investigador invitado en Fujitsu Laboratories Ltd. De Kawasaki Japón. En 1991 recibió The Best Paper Award otorgado por el Instituto de Ingenieros Electrónicos, en Informática y Comunicaciones, IEICE, del Japón, en 1999 recibió el Premio a la Investigación y en el 2000 el Diploma a la Investigación, ambos por parte del I.P.N. debido a sus investigaciones en filtrado adaptable y cancelación de eco. En 1998 fue “General Chair” y “Technical Program Chair” del International Symposium on Information Theory and Its Applications. Actualmente es Coordinador del Doctorado Institucional en Comunicaciones y Electrónica del Instituto Politécnico Nacional.

Dirección del autor: Sección de Estudios de Posgrado e Investigación, Av. Santa Ana No. 1000, Col San Francisco Culhuacan, Del Coyocán, México DF, CP 04430. email: [email protected]

Page 169: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Robust Steganography using Bit Plane Complexity Segmentation

Silvia Torres Maya, Mariko Nakano Miyatake and Ruben Vazquez Medina Seccion de Estudios de Posgrado e Investigacion

Escuela Superior de Ingenieria Mecanica y Electrica Unidad Culhuacan Instituto Politecnico Nacional

Av. Santa Ana No. 1000 Col. San Francisco Culhuacan, Mexico, D.F., Mexico Abstract – This paper presents a steganographical algorithm based on bit plane complexity segmentation (BPCS), which permits to implement hiding information into images for its secure transmission through no secure channels. Simulation results show that the proposed algorithm is robust against noisy channels. This algorithm offers higher hiding capacity due to that it exploits the variance of complex regions in each bit plane.

I. INTRODUCTION

Digital representation of media facilitates the access and potentially improves the portability, efficiency, and accuracy of the information presented. However, undesirable effects of easy data access include an increased opportunity for violation of information security with or without modification of content. Cryptography has provided a useful approach to information security, and encryption programs are widely available. However, the encryption clearly marks a message as containing “interesting” information, and the encrypted message becomes subject to attack. Furthermore, in many cases it is desirable to send information without noticing anyone that information has been sent. The steganography, as its Greek root implies, is covered writing. Although it was applied from ancient times to the hiding information, steganography is an emerging discipline for hiding information to achieve better security levels. Informally, steganography refers to the practice of hiding secret messages in communications over a public channel so that attackers will not be aware that the secret message exists. Unlike cryptography, which seeks to hide the content of the message, with steganography we seek to hide the existence of the message. Several constraints must be taken in account in a steganografhical process which affect on the whole system, among them, the quantity of data to be hidden, the need for invariance of these data under different channel conditions, distortions and lossy compression, and degree to which the data must be immune to interception, modification, or removal by non authorized person or attacker.

Generally two files and a secret key are required for steganography to work. The first file is cover data that will include the second file containing hidden information. The hidden message can be anything that is embeddable into a bit stream such as plain text or cipher text. In the basic form of steganography, transmitter and receiver share the same secret

key to hide and recover the information, respectively. There are several methods to hide information in digital images, from taking advantage of noisy areas where can be drown less attention in an image, to scatter the secret message randomly throughout the image.

In this paper we present a steganographical algorithm which uses an image as the cover data, and we embed secret information in the bit-planes of the cover image. This technique makes use of the characteristics of the human visual system whereby a human cannot perceive any shape information in a very complicated binary pattern. We can replace all of the “noise-like” regions in the bit-planes of the cover image with the secret data without deteriorating the image quality. Unlike the similar methods based on BPCS, we use the variance of complexity in each region of the image to determine optimal regions to insert the secret message.

The rest of the paper is organized as follows. In Section II, we introduce the concept of bit plane complexity segmentation and image complexity, their relation and application to hiding information. Section III, describe the proposed algorithm and the system model used in its implementation. The performance of the proposed steganographical method is shown via simulation and the results are presented in Section IV. Finally, Section V presents some conclusions and future work about this paper. II. BIT PLANE COMPLEXITY SEGMENTATION (BPCS)

A. Bit Plane Decomposition. In this section we introduce the concept of bit plane decomposition, which is the basic idea behind our proposed steganographical algorithm. Bit plane segmentation decomposes an image into a set of binary images, one for each bit position of the pixel values. For 8-bits image (there are 8 bits per pixel), 8 bit planes can be decomposed. Figure 1 illustrates bit plane decomposition of a sample image. The least significant bit plane would be a binary image consisting of the least significant bit of each pixel in the image. The next higher bit plane would consist of the next higher bit of each pixel, and so on. Such decomposition provides one efficient way to perform hiding information in digital images.

Page 170: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Fig 1. Bit plane decomposition.

After the image is decomposed into its bit planes, the bits of one or more of the lowest bit planes will be replaced with secret information, and then recompose the bit planes back into an image. This decomposition process is central idea of BPCS, which are discussed next. B) Complexity. To implement BPCS we need a binary complexity measure that can be applied to each region of each bit plane. There is no standard definition of image complexity. Most implementations of BPCS adopt a black-and-white border length to measure the image complexity. If the border is long, the image is complex, and if it is short, the image is simple. The total length of the black-and-white border is equal to the summation of the number of black/white-changes along the rows and along the columns in an image. In this paper we propose a measure of complexity based on the variance on each region of each bit plane.

The embedding capacity without obvious image degradation can be improved if we limit our embedding in the higher planes to regions of the image that are fairly “complex”; i.e., where there is already a natural variation in pixel values in the local region. Noise added to such regions through the embedding process is much less perceptible than noise added to flat regions. Using such a complexity measure, we can determine if each individual region of each bit plane is complex enough for embedding. Unlike the similar existent algorithms, our method uses the variance as a complexity measure, which permits to improve the hiding capacity and Bit Error Rate (BER) of the system.

III. PROPOSED STEGANOGRAPHICAL SYSTEM.

The proposed system model is shown in Fig. 2. The host image (cover image) is decomposed to the bit planes, while hidden source (secret information) is encoded and embedded to the cover image using bit planes variance criterion. In hidden information encoder, each symbol of the message is mapped to 8x8 binary block before it be added to the image. One of the goals of the steganographical scheme is to make it difficult to guess the exact mapping between secret

information and cover image. Due to that this algorithm is based on the image complexity on each bit plane, the secret key must include data about the exact mapping of secret information over the image. To determine if the complexity of determined region is enough for embedding, we use as reference a threshold value which is a function of the mean value of that region, and if the complexity of the region is greater or equal to this value, we deem that it is embeddable, and if not, we leave the region alone.

Based on this idea, we can build a map with regions complex enough to embed information for each bit plane. Figure 3 shows insertion maps for 5, 6, 7 and 8 bit planes of a sample image using the variance of each region as complexity measure. The embedding algorithm uses these maps to insert information bits into each bit plane of the cover image.

The channel models, those transformations suffered by the image during transmission, distribution and authorized usage by the intended recipient. The delivered image may also be intercepted and manipulated by an unauthorized agent (or even by the intended recipient) in order to delete or corrupt the stego-image to avoid recovering the original secret information. Unlike the watermarking systems in which the existence of the watermark can be known by third party, even though it must be difficult to detect the original watermark from the watermarked image when the secret key is not known, in steganography, the insertion process must guarante the invisibility of the message such as nobody knows about the existence of some secret message.

Fig 2. Proposed steganographical system.

Host Image

Hidden Source

Bit Plane Decomposition

Complexity Computation

Stego Image

Encoder

AWGN Channel

Stego Image

received

Bit Plane Decomposition

Complexity Computation

Extraction Decoder Recovered message

Bit Plane 1 Bit Plane 2 Bit Plane 3 Bit Plane 4

Bit Plane 5 Bit Plane 6 Bit Plane 7 Bit Plane 8

Page 171: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Fig 3. Generated maps with noisy regions for bit planes 5,6,7 and 8 of the

sample image. In the receiver, an estimation of the stego-image is received. This estimated image has been corrupted by noise during its transmission through the channel. In this paper, the noise is assumed as additive and white Gaussian noise. Once the image is delivered, an inverse process must be realized to recover the original transmitted secret message.

First, the received stego-image is decomposed to bit planes. Again, we have to compute the complexity for each region on each bit plane and obtain a map with noisy regions. Of course, only those modified blocks of the image will hold the threshold used in the complexity computation process in the receiver. The obtained maps will contain the specific regions of the stego-image where the secret message was inserted. Once the blocks have been extracted, the decoder will make an inverse process to recover the message in its original format. Next, a summary of the proposed algorithm is presented. In the transmitter:

1. Transform the secret information to equivalent form using blocks. Each block must have an 8-bit size.

2. Transform every block to a binary 8x8-bit image. 3. Decompose the host image in its bit planes. 4. Divide each bit plane in 8x8-bit blocks and

compute the complexity for each one. If the complexity is higher than a specific threshold value, consider the block as noisy (high complexity level).

5. Design a map with the noisy blocks. 6 Replace the noisy blocks by the information blocks

generated in Step 2 based on the insertion map.

In the receiver:

1. Decompose the host image in its bit planes. 2. Divide each bit plane in 8x8-bit blocks and

compute the complexity for each one. If the complexity is higher than a specific threshold value, consider the block as noisy.

3. Design a map with the noisy blocks. 4. Extract the noisy blocks from the image. 5. Using the same procedure as the transmitter,

decode these noisy blocks to get the original secret message.

Obviously, the original host image is not necessary to get secret message. This is because the unique useful information is contained in its noisy regions of the stego-image. In the steganography, the goal is to recover the inserted secret message, no to recover the host image in its original form.

IV. SIMULATION RESULTS. This section presents the obtained results via simulation. For this, a text of 8-Kb was used as the secret information to transmit. The threshold value used to determine the noisy blocks was the mean value of all blocks to achieve a better distribution of the message into the image. Figure 4 shows the original host image and Figure 5 shows the same image but after the secret message has been inserted. These figures permit us to verify the characteristic of invisibility offered by the proposed steganographic algorithm. Figures 6 and 7 show, respectively, the symbol error rate (SER) and the bit error rate (BER) after the message has been recovered in the receptor. Finally, Figure 8 shows the MSE achieved by the algorithm in simulation.

Fig 4. Original host image.

Page 172: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Fig 5. Host image with inserted message.

Fig 6. Symbol error rate achieved.

Fig 6. Symbol error rate achieved.

Fig 7. Mean square error between the original transmitted message and the

recovered message.

V. CONCLUSIONS In this paper we presented an algorithm for steganography based on bit plane complexity segmentation. The uses of the variance as parameter to determine the optimal regions on the image to insert the information improve the hiding capacity of the system and simulation results show that this algorithm is robust against additive and white Gaussian noise. Bit plane complexity segmentation has demonstrated be useful in steganographical methods and in future work, BPCS will be implemented in lossy compression schemes such as JPEG2000.

ACKNOWLEGMENTS Thanks to the National Science and Technology Council (CONACyT) for its support in the realization of this work.. We also are grateful with the University of Electro-Communications of Japan for the support provided through the JUSST program during the realization of this research.

REFERENCES [1] W. Bender, D. Gruhl, and N. Morimoto,

“Techniques for data hiding," in Proc. of the SPIE, (San Jose, CA), pp. 2420{2440, February 1995

[2] M.D. Swanson, B. Zhu, A.H. Tewfik: “Robust Data Hiding for Images”, IEEE DSP Workshop, 1996.

[3] M. Goljan, J. Fridrich, and R. Du, “Distortion-free data embedding,” Proceedings of 4th Information Hiding Workshop, pp. 27-41, Pittsburgh, PA, April, 2001.

[4] R. J. Anderson and A. P. Petitcolas, “On the limits of steganography,” IEEE Journal on Selected Areas in Communications, vol. 16, no. 4, pp. 474–481, May 1998.

[5] Stefan Katzenbeisser and Fabien A. P. Petitcolas. Information hiding techniques for steganography and digital watermarking. Artech House Books, 1999.

[6] G. J. Simmons, “Results Concerning the Bandwidth of Subliminal Channels,” IEEE J. on Selected Areas in Communications, vol. 16, no. 4, pp. 463–473, May 1998.

[7] F. Petitcolas, R. Anderson, and M. Kuhn, “Information Hiding — A Survey,” Proceedings of the IEEE, vol. 87, no. 7, pp. 1062–78, July 1999.

Page 173: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Esteganografía basada en la varianza como una medida de complejidad bajo el dominio Wavelets

Silvia Torres Maya; Mariko Nakano Miyatake; Rubén Vázquez Medina

Escuela Superior de Ingeniería Mecánica y Eléctrica. Unidad Profesional Culhuacán

Sección de Estudios de Postgrado e Investigación Av. Santa Ana No. 1000, Col. San Francisco Culhuacán, Del. Coyoacán, CP 04430, México DF

[email protected], [email protected] Resumen En este artículo se describe la implementación de un algoritmo esteganográfico bajo el dominio de frecuencia utilizando la transformada discreta wavelets (DWT), mediante el cual se calcula la variancia por bloques en las subbandas wavelets, para crear un mapa de complejidad, que permita identificar las áreas de menor energía que puedan ser reemplazadas por la información secreta, proporcionando la ventaja de insertarla en las frecuencias mas altas de la transformada sin presentar distorsión visual cuando se obtiene la transformada inversa. 1. Introducción La evolución de las tecnologías digitales significa grandes y nuevas oportunidades para la comunicación en medios electrónicos. Pero también implica nuevas amenazas potenciales, tales como hurto de los datos y acceso o modificación desautorizada de la información. Estas acciones han llevado a la aparición de técnicas que permitan proteger la información durante su transmisión sobre la red, existen diversas técnicas para proteger la información, una de ellas es que los datos sean ilegibles de tal forma que solo el destinatario pueda entender el significado, es decir, codificar o cifrar el mensaje para que una tercera persona no pueda leer el contenido. A esta método se le conoce como criptografía, pero si la información se protege sobre otro mensaje de menor importancia, tal que un enemigo incluso no tuviera conocimiento que un segundo mensaje esta presente, entonces se estaría describiendo a una técnica conocida como esteganografía. La diferencia consiste en que con la criptografía, se intenta ocultar el contenido del mensaje en tanto que con la esteganografía se trata de ocultar la existencia del mensaje.

Aunque fue aplicado desde épocas antiguas para ocultar información, la esteganografía es una técnica que emerge para que la información digital alcance mejores niveles de seguridad [1]. La esteganografía tiene su origen de la lengua griega y proviene de las palabras steganos (encubierta) y graphy (texto o dibujo), y se podría traducir como “escritura encubierta”. Informalmente la esteganografía se refiere a la práctica de ocultar mensajes secretos en comunicaciones sobre un canal público, de modo que los atacantes no estén enterados de la existencia de un mensaje, esta técnica utiliza un contenedor o recipiente que puede ser una imagen digital, un archivo de audio o de video, donde una vez que los datos han sido ocultados, la información puede ser transferida a través de medios de comunicación inseguros. Existen diversos métodos esteganograficos, entre los cuales se identifican en la manipulación de los pixeles de la imagen (dominio del tiempo), y el de la manipulación de características especificas como es la frecuencia (dominio de la frecuencia). Los algoritmos basados en el dominio espacial tales como LSB (Bit Least Significative), consisten en hacer la inserción del mensaje secreto en el bit menos significativo. Los algoritmos que están basados en el dominio de la frecuencia, utilizan los bordes y las texturas para ocultar el mensaje en las frecuencias de menor energía. Este artículo presenta un algoritmo esteganográfico, basado en la aplicación de la multiresolución wavelets, tanto en la imagen contenedora, así como en el mensaje a ocultar. Este método hace uso de la varianza como una medida de complejidad en las subbandas wavelets de la imagen contenedora, donde el secreto a ocultar, consiste en reemplazar áreas o regiones de baja energí

Page 174: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

a. El documento esta organizado de la siguiente manera: en la sección 2 se introduce el concepto de la transformada discreta wavelets, y 2. Transformada wavelet discreta La transformada discreta wavelets se describe como un árbol dinámico estructurado por subbandas y la idea básica consiste en tomar una señal original y separarla en dos componentes a través de filtros, estos componentes se definen como altas y bajas frecuencias. La parte de las altas frecuencias de una imagen representa los bordes y se les denomina subbandas de detalle; la parte de las bajas frecuencias se conoce como subbandas de información. La separación de los dos componentes de frecuencias, se realiza de manera iterativa en la parte de las bajas frecuencias. El proceso de descomposición se muestra en la Fig.1, la imagen es descompuesta mediante una multiresolución de tercer nivel donde el primer nivel esta representado por las subbandas LL1, LH1, HH1 y LH1:

Fig. 1. Descomposición de tercer nivel de la Transformada Discreta Wavelets. 3. La varianza como medida de complejidad en el dominio wavelets Este algoritmo esteganográfico en el dominio wavelets utiliza la variancia como una medida de dispersión, dada la medición de la actividad de textura en las regiones vecinas de un píxel, la cual permitirá identificar las áreas de menor y mayor actividad o complejidad, de acuerdo al Sistema Visual Humano (HVS), que considera

que el ojo humano es menos sensible al cambio de ruido local. El termino complejidad en este algoritmo, se refiere al grado de varianza de los coeficientes wavelets en cada subbanda. Se considera que entre mayor sea la varianza, el bloque tendrá una alta actividad de textura y se clasificara como de mayor complejidad, por lo tanto la idea principal es sustituir bloques de menor complejidad por bloques del mensaje secreto. 4. Algoritmo esteganográfico propuesto El algoritmo esteganográfico bajo el dominio wavelets que se presenta, utiliza como contenedor una imagen en escala de grises y como secreto a ocultar un texto. En la Fig.2 se muestra el procedimiento del algoritmo, en el que inicialmente la imagen es descompuesta en 3 niveles de multiresolución a través de la transformada discreta wavelets, después se calcula la varianza por bloques de N x N en cada subbanda y posteriormente se determina un umbral que es calculado a través del promedio de todas las varianzas, este umbral permitirá identificar el nivel de complejidad de cada bloque creando un mapa de complejidad que identifique los bloques o áreas con mayor y menor actividad en las subbandas wavelets, con el objetivo de que en el proceso de inserción los bloques de menor complejidad sean reemplazados por información secreta. Para ocultar el mensaje secreto, como primer paso se hace una segmentación de palabras de 8 bytes que se representarán en matrices o bloques binarios de 8 x 8, después se debe realizar un proceso de transformación que permita que los datos a ocultar contengan características similares a los coeficientes wavelets de la imagen recipiente para que no se genere distorsión visual, como se observa en la Figura 2, antes de aplicar la transformada de wavelets se deben codificar los bloques del mensaje secreto, para crear una máscara que permita obtener valores que se aproximen a los coeficientes de la imagen contenedora. Como última parte del proceso, los bloques secretos se remplazan por los bloques de la imagen recipiente que se determinaron con menor complejidad, lo que finalmente se convierte en el esteganográma.

Page 175: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Figura 2. Diagrama del algoritmo Esteganográfico propuesto. Cabe mencionar que para extraer el mensaje secreto, se debe aplicar el mismo proceso de manera inversa. 4.1 Relación de los coeficientes wavelets y el mensaje secreto El mensaje secreto que se pretende ocultar, debe tener las mismas dimensiones de los bloques y las mismas características que los coeficientes wavelets de la imagen, esto con el fin de que no se presente distorsión visual cuando la transformada inversa es aplicada en la imagen del recipiente. En el proceso de transformación cada bloque binario tiene que estar representado en una matriz binaria, aplicándole una máscara, esa mascara se realiza asignándole un valor por cada bit correspondiente a un umbral que se determina a través de obtener el promedio de las varianzas de todos los bloques de la imagen.

Cuando uno de los elementos de la matriz de cada bloque del mensaje secreto es representado por “0”, entonces se codifica asignándole un valor positivo correspondiente a un umbral que se determina calculando el promedio de las varianzas, en caso de que el elemento se represente por “1”, se le asigna un valor negativo correspondiente al mismo umbral, esto con el fin de que al aplicar la transformada wavelets en el bloque del mensaje

, se obtengan valores aproximados a los coeficientes wavelets de la imagen contendora. 4.2 Proceso de inserción Cuando se obtiene el nivel de complejidad de cada bloque de las subbandas y el mensaje secreto es transformado, el proceso de inserción se realiza considerando los valores del mapa de complejidad, el cual es utilizado para identificar los bloques de menor energía que puedan ser reemplazados, de esta forma, cuando en el mapa se identifica un bloque de varianza menos complejo, es entonces reemplazado por un bloque del mensaje secreto. En la Fig. 3 se muestra la transformada de tercer nivel aplicada a la imagen de Lena con su respectivo mapa de complejidad, en el cual se pueden visualizar las áreas negras que son las menos complejas y en las que se deben reemplazar los bloques secretos, ya que si el reemplazo de la información secreta se lleva a cabo en las áreas de mayor complejidad, representadas por las áreas blancas, implicaría distorsión visual, principalmente en los bordes de la imagen, esto debido a que esas áreas representan los bloques de mayor energía.

3(a) 3(b) Fig. 3a. Transformada de tercer nivel de la imagen de Lena. y 3b mapa de complejidad. 5. Simulación y resultados Para la implementación del algoritmo se hace uso de imágenes en escala de grises y al aplicar la Transformada Wavelet Discreta (DWT), utilizamos un wavelet biortogonal con fase lineal 9/7 [1], por ser simétricos y de uso común en la compresión de imágenes. El algoritmo propuesto se evalúa con base en dos requisitos significantes: la invisibilidad; y la máxima cantidad de información secreta que se puede ocultar. Para estimar la calidad de la imagen la medida más comúnmente aceptada es el PSNR.

Imagen

DWT 3 niveles

Varianza N x N

Mensaje Secreto DWT Codificación

Transformada Inversa

Esteganográma

Mapa de Complejidad

Page 176: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

5.1 Obtención del PSNR El PSNR (peak signal-to-noise ratio), es muy común en el proceso de una imagen, Su uso es para dar una relación del grado de supresión de ruido entre una imagen original y una imagen procesada, proporcionando una medida de calidad. El PSNR está dado en unidades llamadas decibelios (DB), que miden el cociente de la señal máxima peakX y de la diferencia entre dos imágenes, se define como:

MSEX

dBPSNR peak2

10log10)( = (1)

Donde:

El MSE es el error promedio y esta dado por la siguiente formula donde ),( jiX es una señal

original y ),( jiX•

es una señal procesada, n y m es el tamaño de la señal en 2 dimensiones.

∑∑= =

⎟⎟⎠

⎞⎜⎜⎝

⎛−

⋅=

n

i

m

j

jiXjiXmn

MSE1 1

2

),(),(1 (2)

MSE

jiXmn

dBSNR

n

i

m

j∑∑= =⋅

= 1 1

2

10

),(1

log10)( (3)

La medida del SNR (signal-to-noise ratio) indica el tamaño del error relativo de una señal.

El SNR es el cociente del valor ajustado medio de la fuente y el MSE (mean square error). En la figura 4 se muestra el PSNR obtenido en la imagen de Lena, donde el eje de las x es representado por la cantidad de mensaje secreto que es ocultado, esta grafica demuestra que entre mas grande sea la capacidad del mensaje, el PSNR disminuirá, esto debido a que el error de la imagen original y la imagen procesada aumenta y por lo tanto la calidad de la imagen decrece conforme al error. De manera similar, la figura 5 muestra el SNR correspondiente a la imagen de lena.

. Fig. 4. Indica el PSNR obtenido en la imagen de lena ocultando un mensaje de texto de 25 Kb.

Fig. 5. Indica el SNR obtenido en la imagen de

lena ocultando un mensaje de texto de 25 Kb.

5.2 Invisilidad La invisibilidad del mensaje secreto en la imagen es evaluada a través del PSNR, el cual nos indica la calidad de la imagen original y el esteganograma. En la figura 6(a) se muestra la imagen original de Lena, y la figura 6(b) muestra el esteganograma que es identificado como la imagen de Lena con 25Kb de información secreta.

Fig. 6(a). Indica imagen original de lena ocultando un mensaje de texto de 25 Kb

Page 177: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Fig. 6. Esteganograma de Lena con un mensaje de texto de 25 Kb 5.3 Máximo cantidad de inserción del mensaje secreto. La cantidad máxima (carga útil) de información secreta es un factor que se relaciona con la invisibilidad en el sentido que la carga útil o la capacidad del sistema depende la cantidad de información. La capacidad de la información ocultada debe permanecer invisible para el sistema visual humano (HVS). Así pues, de los valores del PSNR nos aproxima a valores que nos proporcionan la calidad de la imagen, pero que no definen en particular medidas sobre el sistema (HVS). Podemos decir que la capacidad de información pequeña en algoritmos esteganográficos bajo el dominio de la frecuencia pueda ofrecer un mejor funcionamiento contra las situaciones prácticas, implementando mayor robustez que serán sondeadas en un trabajo futuro. 6. Conclusiones En este trabajo se presenta un algoritmo esteganográfico basado en la varianza como un parámetro que identifica las regiones óptimas en la imagen para mejorar la capacidad de información que se oculta en la imagen. Los resultados de la simulación muestran que este algoritmo proporciona un método eficaz para ocultar un mensaje secreto, pero sin embargo no en grandes cantidades. El trabajo futuro considerará la compresión y la adición de ruido gaussiano en la imagen. Que permitirá conocer de acuerdo a la literatura, que los algoritmos esteganograficos basados en el dominio de frecuencia como es DWT son más robustos que otros métodos basados en dominio de tiempo.

7. Referencias

[1] W. Bender, D. Gruhl, and N. Morimoto, “Techniques for data hiding," in Proc. of the SPIE, (San Jose, CA), pp. 2420{2440, February 1995

[2] M.D. Swanson, B. Zhu, A.H. Tewfik: “Robust Data Hiding for Images”, IEEE DSP Workshop, 1996.

[3] R. J. Anderson and A. P. Petitcolas, “On the limits of steganography,” IEEE Journal on Selected Areas in Communications, vol. 16, no. 4, pp. 474–481, May 1998.

[4] Stefan Katzenbeisser and Fabien A. P. Petitcolas. Information hiding techniques for steganography and digital watermarking. Artech House Books, 1999.

[5] B. Watson, G. Y. Yang, J. A. Solomon and J. Villasenor, “Visibility of Wavelet Quantization Noise”, IEEE Trans. on Image Processing, vol.6, no.8, pp. 1164-1175, 1997.4, May 1998.

8. Currículum

Silvia Torres Maya, Nació en México el 25 de Mayo de 1979, en el Distrito Federal. Egresó de la carrera de Ingeniería en Computación en la Escuela Superior de Ingeniería Mecánica

y Eléctrica, Unidad Culhuacan del Instituto Politécnico Nacional. Actualmente estudia el segundo semestre de la Maestría en Ciencias de la Microelectrónica, en la Sección de Estudios de Postgrado e Investigación (SEPI) Culhuacan, del Instituto Politécnico Nacional.

Mariko Nakano Miyatake, Recibió el titulo de licenciatura en informática y el grado de Maestra en Ciencias en Ingeniería Eléctrica, ambos de la Universidad de Electro-

Comunicaciones de Tokio, Japón en 1983 y 1985, respectivamente, y el grado de Doctora en Ciencias de la Universidad Autónoma Metropolitana de la Ciudad de México en 1998. De marzo de 1985 a diciembre de1986 trabajó en el Laboratorio de Investigación de Toshiba

Page 178: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Corporation de Kawasaki, Japón. De Enero de 1987 a Marzo de 1992 estuvo con Kokusai Data Systems de Tokio Japón. De Julio de 1992 a Febrero de 1997 fue profesora Titular “C” en la Universidad Autónoma Metropolitana, pasando en febrero de 1997 a formar parte de la planta docente de la Sección de Estudios de Posgrado e Investigación de la Escuela Superior de Ingeniería Mecánica y Eléctrica, Unidad Culhuacan del Instituto Politécnico Nacional donde actualmente es Profesora Titular “C”. En 1999 recibió el premio a la investigación por parte del I.P.N.

Rubén Vázquez Medina He received the Electronics Engineering Degree from the Universidad Autónoma Metropolitana (UAM, in 1988), Mexico D.F. He is Master in

Science by the Investigation Center of Advanced Studies of the National Polytechnic Institute of Mexico (IPN). He is currently working toward the Ph.D. degree at UAM. From 1990 to 1993, he was with the Electrical Engineering Department, UAM - Iztapalapa and, since 1997, he is with the graduate department of the Electrical Engineering School of the IPN. From 1993 to 1997 he was in Merkatel S.A de C.V.

Page 179: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

ANEXO B

LISTA DE FIGURAS Y TABLAS

Capítulo 2 Marco Teórico

Figura 2.1 Tipos de esteganografía de acuerdo a la aplicación.

Figura 2.2 Modelo esteganográfico describiendo el problema de los prisioneros.

Figura 2.3 Descripción esquemática de la esteganografía: Alice aleatoriamente escoge

una cubierta c usando una fuente aleatoria privada r y un mensaje oculto m

en c usando una llave k, creando el estego-objeto s que ella pasa a Bob.

Bob reconstruye m con la llave k que comparte con Alice.

Figura 2.4 Proceso esteganográfico

Tabla 2.1 Comparación de Técnicas de comunicación secreta.

Capítulo 3 Complejidad de Segmentación de Planos de Bits

Figura 3.1 Representación de la descomposición de planos de bits

Figura 3.2 Descomposición de los 8 planos de bits en una imagen en escala de gris.

Figura 3.3 Inserción de .00024 bpp de información secreta en los planos

{ }87531 ,,,, PPPPP .

Figura 3.4 Inserción de 1bpp de información secreta en los planos de bits

{ }87531 ,,,, PPPPP .

Figura 3.5 Inserción de 1bpp de información secreta en el plano de bit { }4P .

Figura 3.6 (a) Bloque ruidoso de complejidad 68 y

(b) bloque informativo, cuya complejidad es 29

Figura 3.7 Diagrama general de la esteganografía BPCS.

Figura 3.8 Representación binaria de un bloque secreto.

Figura 3.9 Ilustración de la operación de conjugación de un bloque secreto.

Figura 3.10 Proceso de inserción.

Figura 3.11 Esteganogramas obtenidos en la aplicación del algoritmo BPCS

insertando a partir del 1er plano.

Figura 3.12(a) Relación entre la capacidad de inserción y la calidad de imagen

Page 180: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

DWT: Transformada Wavelet Discreta.

Firma digital: Mecanismo de autenticación que habilita al creador de un mensaje a adjuntar un

código que actúa como firma.

Histograma: Es el gráfico estadístico que se utiliza para representar datos continuos cuando vienen

agrupados en intervalos. El histograma de una imagen nos proporciona una medida del número de

pixeles que hay con un determinado nivel de gris

IWT: Transformada Wavelet Entera

IDWT: Transformada Inversa Wavelet Discreta

JPEG: (Joint Photographic Expert Group). Comité que ha creado varios estándares como el de

compresión de imágenes en formato JPEG.

JPEG2000 Es un nuevo estándar de compresión de imagenes que está siendo desarrollado por el

grupo JPEG (Joint Photographic Experts Group), y que forma parte de la organización internacional

de estándares (ISO), es un sistema de codificación basado en wavelets aplicable a diferentes tipos

de imágenes

Marcas de agua: (Watermarking), es una técnica que permite proteger los derechos de autor y

autenticar la información digital.

Objeto-cubierta. Es el contenedor usado para ocultar mensajes secretos

Plano de bit (Bit-plane): Es una técnica que permite descomponer una imagen en una serie de

imágenes binarias.

PSNR Peak Signal to Noise Ratio. Relación Pico señal ruido.

Page 181: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

SVH (Sistema Visual Humano). El SVH por sus características anatómicas naturales posee un

umbral de percepción para las realidades originales que puede ser mejorado a través de la aplicación

de algoritmos para el tratamiento de imágenes digitales

SPITH: Set partition In Hierarchical trees, Método de compresión basado en las ventanas aportadas por la utilización de wavelets.

Page 182: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

ANEXO C

IMÁGENES UTILIZADAS

Las pruebas realizadas hacen uso de imágenes con formato BMP y de tamaño 512x512, 8/píxel,

con 256 niveles de gris. Las imágenes fueron elegidas por ser utilizadas frecuentemente en el

procesamiento de imágenes, y porque visualmente presentan diferentes criterios de complejidad

Mandril Loro Lena,

Jet Barco Goldhill

Chiles Bárbara

Page 183: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

ANEXO D

GLOSARIO

BER: (Bit Error Rate), Es una de las mediciones más frecuentes en sistemas de transmisión

digitales y se define como la relación entre el número de bits errados al ser recibidos por el receptor

y el número de bits totales transmitidos en un determinado intervalo de tiempo durante una

comunicación.

BPCS: (Bit-Plane Complexity Segmentation Steganography). Esteganografía de complejidad de

segmentación de plano de bit).

Componente DC: Es el coeficiente de frecuencia cero en cada bloque de 8x8 en el dominio

espectral.

Cuantización: Proceso por el cual los coeficientes son reducidos en precisión.

Esteganografía: (Steganography) Se refiere a la práctica de ocultar mensajes secretos en

comunicaciones sobre un canal público, de modo que los atacantes no estén enterados de la

existencia de un mensaje.

Estego-objeto: Es el esteganograma obtenido que contiene la información secreta.

Esteganoanálisis. El arte de descubrir los datos secretos y hacerlos inútiles.

EZW: (Embedded Zerotree Wavelet), método de compresión de imágenes, es sensible al grupo de

bits transmitidos por orden de significancia, lo que le permite una compresión progresiva

(embedded coding) de la imagen. Cuantos más bits se añadan al resultado de la compresión, más

detalles se estarán transmitiendo

DCT: Discrete Cosine Transform, Transformada Discreta Coseno. Esta transformada es utilizada

para convertir una señal en el dominio espacial al dominio de la frecuencia.

DFT: Transformada de Fourier Discreta

Page 184: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

ANEXO E

PROGRAMAS

PROGRAMAS

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %PROGRAMA: ESTEGANOGRAFIA BPCS-KAWAGUCHI %FUNCION PRINCIPAL %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%PROCESO DE INSERCION clear all; close all; [ruta_imagen,ruta_sal]=get_im; ruta_ent='D:\imagenes\secreto1k.txt'; esteganograma = bpcs_ins(ruta_imagen,ruta_ent,ruta_sal); [M,N]=size(esteganograma); [imagen,Map]=imread(ruta_imagen); [PSNR] = psnrV(imagen,esteganograma,M,N) %%FUNCION REALIZA ATAQUES %[AY,fc]=ataques(ruta_sal); %%PROCESO DE EXTRACCION ruta='D:\imagenes\'; nom_imagen=input('Teclea nombre de archivo de esteganograma con extension: ','s'); nom_texto=input('Teclea nombre de archivo de texto extraído : ','s'); ruta_sal=strcat(ruta,nom_texto,'.txt');%.txt ruta_imagen=strcat(ruta,nom_imagen); texto_extraido= bpcs_ext(ruta_imagen,ruta_sal) %Subfunción Menú para elegir cubierta y nombre del esteganograma

% get_im % Esta función despliega nombres de archivos de imágenes y % regresa nombre de imagen cubierta y nombre de archivo de salida function [nom_im,nom_stg]=get_im fprintf(' ------------------------------------------------------ \n'); fprintf(' Selecciona una imagen \n'); fprintf(' 1. Lena \n'); fprintf(' 2. Barco \n'); fprintf(' 3. Mandrill \n'); fprintf(' 4. Puente \n'); fprintf(' 5. Barbara \n'); fprintf(' 6. Camara \n');%%Camara fprintf(' 7. Chiles \n'); fprintf(' 8. Pajaro \n'); fprintf(' 9. Goldhill \n'); num_im=input(' la imagen seleccionada (1-7) es : ') ruta1='D:\imagenes\'; %----- favor de adecuar ruta2='D:\imagenes\'; %----- favor de adecuar

Page 185: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

switch num_im case 1, % Lena nom_im=strcat(ruta1,'lena.bmp'); nom_stg=strcat(ruta2,'st_lena.bmp'); case 2, % Barco nom_im=strcat(ruta1,'barco.bmp'); nom_stg=strcat(ruta2,'st_barco.bmp'); case 3, % Mandrill nom_im=strcat(ruta1,'mandrill.bmp'); nom_stg=strcat(ruta2,'st_mandrill.bmp'); case 4, % Puente nom_im=strcat(ruta1,'bridge.bmp'); nom_stg=strcat(ruta2,'st_bridge.bmp'); case 5, % Barbara nom_im=strcat(ruta1,'barb.bmp'); nom_stg=strcat(ruta2,'st_barb.bmp'); case 6, %Camara nom_im=strcat(ruta1,'camera.bmp'); nom_stg=strcat(ruta2,'st_camara.bmp'); case 7, % Chiles nom_im=strcat(ruta1,'chiles.bmp'); nom_stg=strcat(ruta2,'st_chiles.bmp'); case 8, % Pajaro nom_im=strcat(ruta1,'pajaro.bmp'); nom_stg=strcat(ruta2,'st_pajaro.bmp'); case 9, %Goldhill nom_im=strcat(ruta1,'goldhill.bmp'); nom_stg=strcat(ruta2,'st_goldhill.bmp'); end %%Proceso de inserción % descripcion: esta funcion realiza la insercion del archivo inicado por % ruta_ent y graba al esteganograma en ruta_sal function [esteganograma,B]= bpcs_ins(ruta_imagen,ruta_ent,ruta_sal) alfa_max=112; fid=fopen(ruta_ent,'r'); imagen=imread(ruta_imagen); imshow(imagen); title('Imagen Original') if fid<0 error('El archivo no se encuentra...'); end texto=fread(fid); % lee en fomato double img_bpcs=bptran(imagen); % descomposicion en planos de bit [filas,cols,no_planos]=size(img_bpcs); bloques_reemplazables=0; %no_planos=4 fprintf('\n\nAnalizando la capacidad de inserción de la imagen %s...\n',ruta_imagen); for p=5:no_planos % analisis de la imagen for r=1:8:filas

Page 186: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

for c=1:8:cols bloque=img_bpcs(r:r+7,c:c+7,p); % extraccion del bloque if (complejidad_bloque(bloque) > (0.3*alfa_max)) % si es complejo bloques_reemplazables=bloques_reemplazables+1; end end end end fprintf('Capacidad= %12.0f\t Bytes\n',bloques_reemplazables*8); texto_codificado=codificar_texto(texto,bloques_reemplazables); % codificacion del texto [x,y,bloques_texto]=size(texto_codificado); esteganograma=zeros(filas,cols,no_planos); k=1; fprintf('insertando la información del archivo: %s...\n',ruta_ent); for p=5:no_planos for r=1:8:filas for c=1:8:cols bloque=img_bpcs(r:r+7,c:c+7,p); % extraccion del bloque if (complejidad_bloque(bloque) > (0.3*alfa_max)) && (k<=bloques_texto) % si es complejo esteganograma(r:r+7,c:c+7,p)=texto_codificado(:,:,k); k=k+1; else esteganograma(r:r+7,c:c+7,p)=bloque; end end end end %fprintf('Escribiendo esteganograma: %s\n',ruta_sal); esteganograma=ibptran(esteganograma); esteganograma=uint8(esteganograma); imwrite(esteganograma,ruta_sal,'bmp'); figure; imshow(esteganograma); title('Esteganograma'); M=512; N=M; [B] = psnrV(imagen,esteganograma,M,N) %[B] = psnr(imagen,esteganograma) fclose(fid);

Page 187: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

%Subfuncion Descomposición de planos de bits

% Descripcion: Esta funcion realiza la transformacion en planos de bit % de la imagen function planos = bptran(imagen) [filas,cols]=size(imagen); %tamaño de la imagen planos=zeros(filas,cols,8); % inicializacion de los planos for k=1:8 planos(:,:,k)=bitget(imagen,k); End %Subfunción codifica el texto function texto_bloques = codificar_texto(texto,L) % esta funcion lee el mensaje lo prepara para la insercion. alfa_max=112; mapa_conjugacion=[]; texto_bin=double(dec2bin(texto,8))-48; % conversion a matriz double binaria texto_formateado=FormatearTexto(texto_bin); [filas,cols,no_bloques]=size(texto_formateado); N=min([L,no_bloques]); for k=1:no_bloques % verificacion de conjugacion bloque=texto_formateado(:,:,k); if complejidad_bloque(bloque) < (0.3*alfa_max) bloque_conjugado=conjugar(bloque); mapa_conjugacion=[mapa_conjugacion,k+1]; texto_formateado(:,:,k)=bloque_conjugado; end end mapa=[num2str(N)]; % construccion del mapa de conjugacion for k=1:length(mapa_conjugacion) mapa=[mapa,',',num2str(mapa_conjugacion(k))]; % se convierte a texto end %mapa(1)=[]; % eliminar la primer coma mapa=[mapa,';']; mapa_bin=double(dec2bin(mapa,8))-48; mapa_bloques=FormatearTexto(mapa_bin); [filas,cols,no_bloques]=size(mapa_bloques); for k=1:no_bloques % verificacion de conjugacion bloque=mapa_bloques(:,:,k); if complejidad_bloque(bloque) < (0.3*alfa_max) bloque_conjugado=conjugar(bloque); mapa_bloques(:,:,k)=bloque_conjugado; end

Page 188: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

end [x,y,a]=size(mapa_bloques); [x,y,b]=size(texto_formateado); texto_bloques=zeros(8,8,a+b); for k=1:a % llenado del mapa de conjugacion texto_bloques(:,:,k)=mapa_bloques(:,:,k); end for k=1:b texto_bloques(:,:,a+k)=texto_formateado(:,:,k); end %fclose(fid); %%%%% Funciones auxiliares %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function TextoFormateado=FormatearTexto(TextoBinario) %%%%% genearacion de bloques %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [NoCars,NoBits]=size(TextoBinario); if mod(NoCars,8) Relleno=8-mod(NoCars,8); for R=1:Relleno TextoBinario(NoCars+R,:)=[1 0 1 0 1 0 1 0]; end end [NoCars,NoBits]=size(TextoBinario); NoBloques=ceil(NoCars/8); TextoFormateado=zeros(8,8,NoBloques); for K=1:NoBloques % contruccion de bloques TextoFormateado(:,:,K)=TextoBinario(8*K-7:8*K,:); end %Subfunción realiza la transformación inversa de planos de bits de la imagen

function imagen = ibptran(planos) % Descripcion: Esta funcion realiza la transformacion inversa de planos de % bit a la imagen [filas,cols,no_planos]=size(planos); %tamaño de la imagen imagen=zeros(filas,cols); % inicializacion de los planos for k=1:8 imagen=imagen+planos(:,:,k)*(2^(k-1)); % proceso de reconstruccion end imagen=uint8(imagen); %Función proceso de extracción

Page 189: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

function texto_decodificado = bpcs_ext(ruta_imagen,ruta_sal) % descripcion: esta funcion realiza la insercion del archivo inicado por % ruta_ent y graba al esteganograma en ruta_sal % % esteganograma = bpcs_ext(ruta_imagen,ruta_sal) alfa_max=112; esteganograma=imread(ruta_imagen); imshow(esteganograma); title('Esteganograma') fid=fopen(ruta_sal,'w'); %if fid<0 % error('El archivo no se encuentra...'); %end estego_bpcs=bptran(esteganograma); % descomposicion en planos de bit [filas,cols,no_planos]=size(estego_bpcs); %esteganograma=zeros(filas,cols,no_planos); k=1; bloques_reemplazables=0; fprintf('\n\nAnalizando imagen...\n'); for p=5:no_planos % analisis de la imagen for r=1:8:filas for c=1:8:cols bloque=estego_bpcs(r:r+7,c:c+7,p); % extraccion del bloque if (complejidad_bloque(bloque) > (0.3*alfa_max)) % si es complejo bloques_reemplazables=bloques_reemplazables+1; end end end end texto_extraido=zeros(8,8,bloques_reemplazables); fprintf('Extrayendo mensaje...\n'); for p=5:no_planos for r=1:8:filas for c=1:8:cols bloque=estego_bpcs(r:r+7,c:c+7,p); % extraccion del bloque

Page 190: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

if (complejidad_bloque(bloque) > (0.3*alfa_max)) % si es complejo texto_extraido(:,:,k)=estego_bpcs(r:r+7,c:c+7,p); k=k+1; end end end % fprintf('r=%3.0f c=%3.0f p=%3.0f\n',r,c,p); end texto_decodificado=decodificar_texto(texto_extraido,bloques_reemplazables); fwrite(fid,texto_decodificado); Fclose(fid); %Subfunción decodificar texto

function texto_extraido = decodificar_texto(texto_bloques,bloques_reemplazables) % Descripcion: esta funcion realiza la decodificacion del texto. % Ver codificar_texto(.) mapa_conjugacion=[]; texto_extraido=[]; [x,y,no_bloques]=size(texto_bloques); inicio_texto=1; texto_decodificado=[]; fin_mapa=[]; inicio=0; k=1; while isempty(fin_mapa) mapa_conjugacion=[mapa_conjugacion,DecodificarBloque(texto_bloques(:,:,k))]; fin_mapa=find(mapa_conjugacion==';'); inicio=inicio+1; k=k+1; end %bloques_trans=double(mapa_conjugacion(1)) mapa_conjugacion=[str2num(mapa_conjugacion(1:fin_mapa))]; if ~isempty(mapa_conjugacion) lon_informacion=mapa_conjugacion(1); % el primer dato es la longitud del texto mapa_conjugacion(1)=[]; else lon_informacion=bloques_reemplazables; inicio=0; end %fprintf('Recuperando %10.0f \t Bytes\n',8*lon_informacion); mapa_conjugacion=mapa_conjugacion+inicio-1; for k=inicio+1:inicio+lon_informacion if ~isempty(find(mapa_conjugacion==k)) % conjugacion % fprintf('conjugando %3.0f\n',k); texto_bloques(:,:,k)=conjugar(texto_bloques(:,:,k)); end bloque_decodificado=DecodificarBloque(texto_bloques(:,:,k));

Page 191: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

texto_extraido=[texto_extraido,bloque_decodificado]; end fin=char(170); % caracter 10101010 while fin==texto_extraido(end) % recorte de basura texto_extraido(end)=[]; end % fid=fopen(ruta,'w'); % fwrite(fid,texto_extraido); % fclose(fid); %%%%% funciones auxiliares %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function BloqueDecodificado=DecodificarBloque(Bloque) BloqueDecodificado=[]; for K=1:8 caracter_decodificado=sum(Bloque(K,:).*(2.^[7 6 5 4 3 2 1 0])); BloqueDecodificado=[BloqueDecodificado,char(caracter_decodificado)]; End %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%PROGRAMA: ESTEGANOGRAFIA BPCS-VARIANZA

%FUNCION PRINCIPAL

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%PROCESO DE INSERCIÓN clear all; close all; [ruta_imagen,ruta_sal]=get_im %ruta_imagen='D:\imagenes\jet.bmp' %ruta_sal='D:\imagenes\lenax.bmp' ruta_ent='D:\imagenes\secreto1k.txt';%--secreto %%.31bpp =10k esteganograma = bpcs_ins_var(ruta_imagen,ruta_ent,ruta_sal); [M,N]=size(esteganograma); [imagen,Map]=imread(ruta_imagen); [PSNR] = psnrV(imagen,esteganograma,M,N) %%PROCESO DE EXTRACCIÓN ruta='D:\imagenes\'; nom_imagen=input('Teclea nombre de archivo de esteganograma con extension: ','s'); nom_texto=input('Teclea nombre de archivo de texto extraído : ','s'); ruta_sal=strcat(ruta,nom_texto,'.txt');%.txt ruta_imagen=strcat(ruta,nom_imagen); texto_extraido= bpcs_ext_var(ruta_imagen,ruta_sal) %Subfunción Menú para elegir cubierta y nombre esteganograma

Page 192: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

% get_im % Esta función despliegar nombres de archivos de imagenes y % regresa nombre de imagen cubierta y nombre de archivo de salida function [nom_im,nom_stg]=get_im fprintf(' ------------------------------------------------------ \n'); fprintf(' Selecciona una imagen \n'); fprintf(' 1. Lena \n'); fprintf(' 2. Barco \n'); fprintf(' 3. Mandrill \n'); fprintf(' 4. Puente \n'); fprintf(' 5. Barbara \n'); fprintf(' 6. Camara \n');%%Camara fprintf(' 7. Chiles \n'); fprintf(' 8. Pajaro \n'); fprintf(' 9. Goldhill \n'); num_im=input(' la imagen seleccionada (1-7) es : ') ruta1='D:\imagenes\'; %----- favor de adecuar ruta2='D:\imagenes\'; %----- favor de adecuar switch num_im case 1, % Lena nom_im=strcat(ruta1,'lena.bmp'); nom_stg=strcat(ruta2,'st_lena.bmp'); case 2, % Barco nom_im=strcat(ruta1,'barco.bmp'); nom_stg=strcat(ruta2,'st_barco.bmp'); case 3, % Mandrill nom_im=strcat(ruta1,'mandrill.bmp'); nom_stg=strcat(ruta2,'st_mandrill.bmp'); case 4, % Puente nom_im=strcat(ruta1,'bridge.bmp'); nom_stg=strcat(ruta2,'st_bridge.bmp'); case 5, % Barbara nom_im=strcat(ruta1,'barb.bmp'); nom_stg=strcat(ruta2,'st_barb.bmp'); case 6, %Camara nom_im=strcat(ruta1,'camera.bmp'); nom_stg=strcat(ruta2,'st_camara.bmp'); case 7, % Chiles nom_im=strcat(ruta1,'chiles.bmp'); nom_stg=strcat(ruta2,'st_chiles.bmp'); case 8, % Pajaro nom_im=strcat(ruta1,'pajaro.bmp'); nom_stg=strcat(ruta2,'st_pajaro.bmp'); case 9, %Goldhill nom_im=strcat(ruta1,'goldhill.bmp'); nom_stg=strcat(ruta2,'st_goldhill.bmp'); end %Proceso de inserción usando esteganografía BPCS-Varianza

function [esteganograma] = bpcs_ins_var(ruta_imagen,ruta_ent,ruta_sal) % descripcion: esta funcion realiza la insercion del archivo inicado por ruta_ent y graba al %esteganograma en ruta_sal % esteganograma = bpcs_ins(ruta_imagen,ruta_ent,ruta_sal)

Page 193: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

fid=fopen(ruta_ent,'r'); imagen=imread(ruta_imagen); imshow(imagen); title('Imagen Original') if fid<0 error('El archivo no se encuentra...'); end %alfa_max=112; %Th=0.3*alfa_max; Th=VarPorPlano(imagen); texto=fread(fid); % lee en fomato double img_bpcs=bptran(imagen); % descomposicion en planos de bit [filas,cols,no_planos]=size(img_bpcs); bloques_reemplazables=0; fprintf('\n\nAnalizando la capacidad de inserción de la imagen %s...\n',ruta_imagen); for p=4:no_planos % analisis de la imagen for r=1:8:filas for c=1:8:cols bloque=img_bpcs(r:r+7,c:c+7,p); % extraccion del bloque if ((std(bloque(:)).^2) > (Th(p))) % si es complejo bloques_reemplazables=bloques_reemplazables+1; end end end end fprintf('Capacidad= %12.0f\t Bytes\n',bloques_reemplazables*8); texto_codificado=codificar_texto_var(texto,bloques_reemplazables,Th); % codificacion del texto [x,y,bloques_texto]=size(texto_codificado); esteganograma=zeros(filas,cols,no_planos); k=1; fprintf('insertando la información del archivo: %s...\n',ruta_ent); for p=4:no_planos for r=1:8:filas for c=1:8:cols bloque=img_bpcs(r:r+7,c:c+7,p); % extraccion del bloque

Page 194: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

if ((std(bloque(:)).^2) > (Th(p))) && (k<=bloques_texto) % si es complejo esteganograma(r:r+7,c:c+7,p)=texto_codificado(:,:,k); k=k+1; else esteganograma(r:r+7,c:c+7,p)=bloque; end end end end fprintf('Escribiendo esteganograma: %s\n',ruta_sal); esteganograma=ibptran(esteganograma); esteganograma=uint8(esteganograma); imwrite(esteganograma,ruta_sal,'bmp'); figure; imshow(esteganograma); title('Esteganograma'); M=512; N=512; [A] = psnrV(imagen,esteganograma,M,N); [B] = psnr(imagen,esteganograma); fclose(fid); %%subfunción calcula el umbral

function Umbral=VarPorPlano(imagen) % esta funcion calcula el umbral basandose en varianzas... img_bpcs=bptran(imagen); % descomposicion en planos de bit [filas,cols,no_planos]=size(img_bpcs); mapa_varianzas=zeros(floor(filas/8),floor(cols/8),no_planos); % inicializacion % del mapa de varianzas %size(mapa_varianzas) %fprintf('\n\nAnalizando la capacidad de inserción de la imagen %s...\n',ruta_imagen); m=1; n=1; umbral=zeros(1,no_planos); for p=1:no_planos % analisis de la imagen %fprintf('Calculando varianzas para el plano %3.0f\n',p); m=1; for r=1:8:filas n=1; for c=1:8:cols bloque=img_bpcs(r:r+7,c:c+7,p); % extraccion del bloque %size(bloque) mapa_varianzas(m,n,p)=std(bloque(:)).^2; % varianza del bloque n=n+1; end

Page 195: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

m=m+1; end end %%%%% aqui se define el criterio del umbral for p=1:no_planos %Umbral(p)=mean2(mapa_varianzas(:,:,p)); Umbral(p)=(max(max(mapa_varianzas(:,:,p)))-min(min(mapa_varianzas(:,:,p))))/2; End %Subfunción Obtiene los planos de bits

function planos = bptran(imagen) % Descripcion: Esta funcion realiza la transformacion en planos de bit de la imagen [filas,cols]=size(imagen); %tamaño de la imagen planos=zeros(filas,cols,8); % inicializacion de los planos for k=1:8 planos(:,:,k)=bitget(imagen,k); end %Subfunción codificar texto

function texto_bloques = codificar_texto_var(texto,L,ThM) % esta función lee el mensaje lo prepara para la inserción. %alfa_max=112; %Th=0.3*alfa_max; %Th=min(ThM); Th=(max(max(ThM))-min(min(ThM)))/2; mapa_conjugacion=[]; texto_bin=double(dec2bin(texto,8))-48; % conversión a matriz double binaria texto_formateado=FormatearTexto(texto_bin); [filas,cols,no_bloques]=size(texto_formateado); N=min([L,no_bloques]); for k=1:no_bloques % verificacion de conjugacion bloque=texto_formateado(:,:,k); if (std(bloque(:)).^2) < (Th) bloque_conjugado=conjugar(bloque); mapa_conjugacion=[mapa_conjugacion,k+1]; texto_formateado(:,:,k)=bloque_conjugado; end end mapa=[num2str(N)]; % construccion del mapa de conjugacion for k=1:length(mapa_conjugacion) mapa=[mapa,',',num2str(mapa_conjugacion(k))]; % se convierte a texto end %mapa(1)=[]; % eliminar la primer coma mapa=[mapa,';'];

Page 196: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

mapa_bin=double(dec2bin(mapa,8))-48; mapa_bloques=FormatearTexto(mapa_bin); [filas,cols,no_bloques]=size(mapa_bloques); for k=1:no_bloques % verificacion de conjugacion bloque=mapa_bloques(:,:,k); if (std(bloque)) < (Th) bloque_conjugado=conjugar(bloque); mapa_bloques(:,:,k)=bloque_conjugado; end end [x,y,a]=size(mapa_bloques); [x,y,b]=size(texto_formateado); texto_bloques=zeros(8,8,a+b); for k=1:a % llenado del mapa de conjugacion texto_bloques(:,:,k)=mapa_bloques(:,:,k); end for k=1:b texto_bloques(:,:,a+k)=texto_formateado(:,:,k); end %fclose(fid); %%%%% Funciones auxiliares %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function TextoFormateado=FormatearTexto(TextoBinario) %%%%% genearacion de bloques %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [NoCars,NoBits]=size(TextoBinario); if mod(NoCars,8) Relleno=8-mod(NoCars,8); for R=1:Relleno TextoBinario(NoCars+R,:)=[1 0 1 0 1 0 1 0]; end end [NoCars,NoBits]=size(TextoBinario); NoBloques=ceil(NoCars/8); TextoFormateado=zeros(8,8,NoBloques); for K=1:NoBloques % contruccion de bloques TextoFormateado(:,:,K)=TextoBinario(8*K-7:8*K,:); end %Subfuncion Proceso para restaurar los planos de bits

Page 197: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

function imagen = ibptran(planos) % Descripcion: Esta funcion realiza la transformacion inversa de planos de % bit a la imagen [filas,cols,no_planos]=size(planos); %tamaño de la imagen imagen=zeros(filas,cols); % inicializacion de los planos for k=1:8 imagen=imagen+planos(:,:,k)*(2^(k-1)); % proceso de reconstruccion end imagen=uint8(imagen); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ESTEGANOGRAFIA DE PLANOS DE BITS APLICADA EN LA IWT

PROGRAMA PRINCIPAL

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear all; close all; [ruta_imagen,ruta_sal]=get_im; %PROCESO INSERCIÓN ruta_ent='D:\imagenes\secreto15k.txt';%--secreto %%.31bpp =10k esteganograma = iwtbpcs_ins(ruta_imagen,ruta_ent,ruta_sal); [M,N]=size(esteganograma); [imagen,Map]=imread(ruta_imagen); [PSNR] = psnrV(imagen,esteganograma,M,N) %%PROCESO EXTRACCION ruta='D:\imagenes\'; nom_imagen=input('Teclea nombre de archivo de esteganograma con extension: ','s'); nom_texto=input('Teclea nombre de archivo de texto extraído : ','s'); ruta_sal=strcat(ruta,nom_texto,'.txt');%.txt ruta_imagen=strcat(ruta,nom_imagen); texto_extraido= iwtbpcs_ext(ruta_imagen,ruta_sal) %%Subfunción Proceso de inserción

function esteganograma = iwtbpcs_ins(ruta_imagen,ruta_ent,ruta_sal) alfa_max=112; fid=fopen(ruta_ent,'r'); [imagen,Map]=imread(ruta_imagen); figure(1); imshow(imagen); title('Imagen Original') if fid<0 error('El archivo no se encuentra...'); end texto=fread(fid); % lee en fomato double % Valor umbral th=0.3; fprintf('\nLongitud del texto = %10.0f \tBytes\n',length(texto));

Page 198: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

[AC,CH,CV,CD]=dwt1N(imagen); %------ Modificado Sp_AC=1; Ep_AC=1; Sp_CH=1; Ep_CH=8; Sp_CV=1; Ep_CV=8; Sp_CD=1; Ep_CD=8; [AC_X,S_AC]=cuant_banda(AC); %---- Modificado [CH_X,S_CH]=cuant_banda(CH); %---- Modificado [CV_X,S_CV]=cuant_banda(CV); %---- Modificado [CD_X,S_CD]=cuant_banda(CD); %---- Modificado AC_QS=[]; CH_QS=[]; CV_QS=[]; CD_QS=[]; fprintf('Analizando imagen %s\n',ruta_imagen); L_AC=anaband(AC_X,th,Sp_AC,Ep_AC); L_CH=anaband(CH_X,th,Sp_CH,Ep_CH); L_CV=anaband(CV_X,th,Sp_CV,Ep_CV); L_CD=anaband(CD_X,th,Sp_CD,Ep_CD); L=L_AC+L_CH+L_CV+L_CD; fprintf('Capacidad de insercion = %10.0f \t Bytes\n',8*L); texto_codificado=cod_texto(texto,L); % formacion de bloques. sin codificador %texto_codificado=cod_texto_ecc(texto,L); % formacion de bloques. uso de codificador tc=texto_codificado; % copia de respaldo del texto... [x,y,Ltexto]=size(tc); N=min([L_AC,Ltexto]); AC_QS=ins_banda(AC_X,tc(:,:,1:N),th,Sp_AC,Ep_AC); tc(:,:,1:N)=[]; % borrar el texto ya insertado. if ~isempty(tc) [x,y,Ltexto]=size(tc); N=min([L_CH,Ltexto]); CH_QS=ins_banda(CH_X,tc(:,:,1:N),th,Sp_CH,Ep_CH); tc(:,:,1:N)=[]; % borrar el texto ya insetado. end if ~isempty(tc) [x,y,Ltexto]=size(tc); N=min([L_CV,Ltexto]); CV_QS=ins_banda(CV_X,tc(:,:,1:N),th,Sp_CV,Ep_CV); tc(:,:,1:N)=[]; % borrar el texto ya insetado. end if ~isempty(tc) [x,y,Ltexto]=size(tc); N=min([L_CD,Ltexto]);

Page 199: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

CD_QS=ins_banda(CD_X,tc(:,:,1:N),th,Sp_CD,Ep_CD); tc(:,:,1:N)=[]; % borrar el texto ya insetado. end %%%% descuantizar bandas %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if ~isempty(AC_QS) AC_S=decuant_banda(AC_QS,S_AC); else AC_S=AC; end if ~isempty(CH_QS) CH_S=decuant_banda(CH_QS,S_CH); else CH_S=CH; end if ~isempty(CV_QS) CV_S=decuant_banda(CV_QS,S_CV); else CV_S=CV; end if ~isempty(CD_QS) CD_S=decuant_banda(CD_QS,S_CD); else CD_S=CD; end esteganograma= idwt1N(AC_S,CH_S,CV_S,CD_S); %%%%% escritura del estego objeto %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %pause; fprintf(' rango de imagen : [%d - %d ]\n',min(min(esteganograma)),max(max(esteganograma))); fprintf('Escribiendo esteganograma: %s\n',ruta_sal); %esteganograma=ibptran(double(esteganograma)); esteganograma=uint8(esteganograma); imwrite(esteganograma,Map,ruta_sal,'bmp'); %Map es para versión 5 figure(2); imshow(esteganograma,Map); title('Esteganograma'); fclose(fid); %Subfunción Obtiene la IWT

Page 200: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

function [AC1,CH1,CV1,CD1]= dwt1N(imagen) imagen=double(imagen); [AC1,CH1,CV1,CD1]=iwt(imagen); % % realizar Integer Wavelet Transform % % X: imagen % LL,LH,HL y HH: subbandas % function [LL,LH,HL,HH]=IWT(X) [T1,T2]=size(X); X=double(X); for k1=1:T1 S=X(k1,1:2:T2); D=X(k1,2:2:T2); N=length(S); for i=1:N-1 D(i)=D(i)-round((S(i)+S(i+1))/2); end D(N)=D(N)-round(S(N)/2); S(1)=S(1)+round(D(1)/4); for i=2:length(S) S(i)=S(i)+round((D(i-1)+D(i))/4); end L(k1,:)=S; H(k1,:)=D; end for k2=1:T2/2 S=L(1:2:T1,k2); D=L(2:2:T1,k2); N=length(S); for i=1:N-1 D(i)=D(i)-round((S(i)+S(i+1))/2); end D(N)=D(N)-round(S(N)/2); S(1)=S(1)+round(D(1)/4); for i=2:N S(i)=S(i)+round((D(i-1)+D(i))/4); end LL(:,k2)=S; LH(:,k2)=D; end for k2=1:T2/2 S=H(1:2:T1,k2); D=H(2:2:T1,k2); N=length(S);

Page 201: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

for i=1:N-1 D(i)=D(i)-round((S(i)+S(i+1))/2); end D(N)=D(N)-round(S(N)/2); S(1)=S(1)+round(D(1)/4); for i=2:N S(i)=S(i)+round((D(i-1)+D(i))/4); end HL(:,k2)=S; HH(:,k2)=D; end %subfunción Obtiene mapa de signos

function [banda_Q,mapa_signos]=cuant_banda(banda) % Esta función calcula el mapa de signos y los coeficientes cuantizados para la banda de entrada. mapa_signos=hardlims(banda); banda_Q=abs(banda); %subfunción determina la capacidad de inserción

function Nb=anaband(banda,th,S_plano,E_plano) % esta funcion determina el numero de bloques disponibles en una banda % determinada. %fprintf('\n\nAnalizando la capacidad de inserción de la banda...\n'); img_bpcs=bptran(banda); alfa_max=112; [filas,cols,no_planos]=size(img_bpcs); Nb=0; for p=S_plano:E_plano % analisis de la imagen for r=1:8:filas for c=1:8:cols bloque=img_bpcs(r:r+7,c:c+7,p); % extraccion del bloque if (complejidad_bloque(bloque) > (th*alfa_max)) % si es complejo Nb=Nb+1; end end end End %Subfunción codifica el texto (NO HACE USO DEL CODIGO DETECTOR DE ERRORES )

Page 202: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

function texto_bloques = cod_texto(texto,L) % esta funcion lee el mensaje lo prepara para la insercion. alfa_max=112; mapa_conjugacion=[]; th=0.3; texto_bin=double(dec2bin(texto,8))-48; % conversion a matriz double binaria %texto_bin(:) %pause; texto_formateado=FormatearTexto(texto_bin); [filas,cols,no_bloques]=size(texto_formateado); N=min([L,no_bloques]); fprintf('Preparando %10.0f Bytes ( %5.0f Bloques )para insertar...\n',8*N,N); for k=1:no_bloques % verificacion de conjugacion bloque=texto_formateado(:,:,k); if complejidad_bloque(bloque) < (th*alfa_max) bloque_conjugado=conjugar(bloque); mapa_conjugacion=[mapa_conjugacion,k+1]; texto_formateado(:,:,k)=bloque_conjugado; end end mapa=[num2str(N)]; % construccion del mapa de conjugacion for k=1:length(mapa_conjugacion) mapa=[mapa,',',num2str(mapa_conjugacion(k))]; % se convierte a texto end %mapa(1)=[]; % eliminar la primer coma mapa=[mapa,';']; %mapa mapa_bin=double(dec2bin(mapa,8))-48; mapa_bloques=FormatearTexto(mapa_bin); [filas,cols,no_bloques]=size(mapa_bloques); for k=1:no_bloques % verificacion de conjugacion bloque=mapa_bloques(:,:,k); if complejidad_bloque(bloque) < (th*alfa_max) bloque_conjugado=conjugar(bloque); mapa_bloques(:,:,k)=bloque_conjugado; end end [x,y,a]=size(mapa_bloques); [x,y,b]=size(texto_formateado); texto_bloques=zeros(8,8,a+b); for k=1:a % llenado del mapa de conjugacion texto_bloques(:,:,k)=mapa_bloques(:,:,k); end for k=1:b texto_bloques(:,:,a+k)=texto_formateado(:,:,k);

Page 203: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

end %fclose(fid); %%%%% Funciones auxiliares %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function TextoFormateado=FormatearTexto(TextoBinario) %%%%% genearacion de bloques %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [NoCars,NoBits]=size(TextoBinario); if mod(NoCars,8) Relleno=8-mod(NoCars,8); for R=1:Relleno TextoBinario(NoCars+R,:)=[1 0 1 0 1 0 1 0]; end end [NoCars,NoBits]=size(TextoBinario); NoBloques=ceil(NoCars/8); TextoFormateado=zeros(8,8,NoBloques); for K=1:NoBloques % contruccion de bloques TextoFormateado(:,:,K)=TextoBinario(8*K-7:8*K,:); end %%Codifica texto Hace uso del CODIGO DETECTOR DE ERRORES CODIGO DE BLOQUE LINEAL (8,4) function texto_extraido = deco_texto_ecc(texto_bloques,bloques_reemplazables) % Descripcion: esta funcion realiza la decodificacion del texto. % Ver codificar_texto(.) G=[[1 1 0 0; 0 1 1 0; 1 1 1 1; 1 0 1 0],eye(4)]; [Kmsg,Ncode]=size(G); mapa_conjugacion=[]; texto_extraido=[]; [x,y,no_bloques]=size(texto_bloques); inicio_texto=1; texto_decodificado=[]; fin_mapa=[]; inicio=0; k=1; while isempty(fin_mapa) mapa_conjugacion=[mapa_conjugacion,DecodificarBloque(texto_bloques(:,:,k))]; fin_mapa=find(mapa_conjugacion==';'); inicio=inicio+1; k=k+1; end %bloques_trans=double(mapa_conjugacion(1)) mapa_conjugacion=[str2num(mapa_conjugacion(1:fin_mapa))]; mapa_conjugacion if ~isempty(mapa_conjugacion) lon_informacion=mapa_conjugacion(1); % el primer dato es la longitud del texto

Page 204: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

mapa_conjugacion(1)=[]; else lon_informacion=bloques_reemplazables; inicio=0; end [Lb,Mb,Nb]=size(texto_bloques); lon_informacion=min([lon_informacion,Nb])-inicio; % asegura la recuperacion fprintf('Recuperando %10.0f \t Bytes\n',8*lon_informacion); mapa_conjugacion=mapa_conjugacion+inicio-1; bloque_ext=[]; mapa_conjugacion %pause; for k=inicio+1:inicio+lon_informacion if ~isempty(find(mapa_conjugacion==k)) % conjugacion fprintf('conjugando %3.0f\n',k); texto_bloques(:,:,k)=conjugar(texto_bloques(:,:,k)); end %bloque_decodificado=DecodificarBloque(texto_bloques(:,:,k)); bloque_ext=[bloque_ext;texto_bloques(:,:,k)]; %texto_extraido=[texto_extraido,bloque_decodificado]; end bl_ext=bloque_ext'; rcv=decode(bl_ext(:),Ncode,Kmsg,'linear',G); bloque_rcv=vec2mat(rcv,8); for k=1:length(bloque_rcv) caracter_decodificado=sum(bloque_rcv(k,:).*(2.^[7 6 5 4 3 2 1 0])); texto_extraido=[texto_extraido,char(caracter_decodificado)]; end fin=char(170); % caracter 10101010 while fin==texto_extraido(end) % recorte de basura texto_extraido(end)=[]; end % fid=fopen(ruta,'w'); % fwrite(fid,texto_extraido); % fclose(fid); %%%%% funciones auxiliares %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function BloqueDecodificado=DecodificarBloque(Bloque) BloqueDecodificado=[]; for K=1:8 caracter_decodificado=sum(Bloque(K,:).*(2.^[7 6 5 4 3 2 1 0])); BloqueDecodificado=[BloqueDecodificado,char(caracter_decodificado)]; end %Subfunción inserta los bloques secretos

Page 205: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

function estego_banda=ins_banda(banda,texto_codificado,th,Sp,Ep) alfa_max=112; banda_bpcs=bptran(banda); % descomposiciion en planos de bit [filas, cols, no_planos]=size(banda_bpcs); k=1; [a,b,bloques_texto]=size(texto_codificado); for p=1:no_planos for r=1:8:filas for c=1:8:cols bloque=banda_bpcs(r:r+7,c:c+7,p); % extraccion del bloque if (complejidad_bloque(bloque) > (th*alfa_max)) & (k<=bloques_texto) & (p<=Ep) & (p>=Sp) % si es complejo estego_banda(r:r+7,c:c+7,p)=texto_codificado(:,:,k); k=k+1; else estego_banda(r:r+7,c:c+7,p)=bloque; end end end end estego_banda=ibptran(estego_banda); %Subfunción retorna el mapa de signos a los coeficientes

function banda=decuant_banda(banda_Q, mapa_signos) %banda=double(umbral.*banda_Q).*mapa_signos; banda=double(banda_Q).*mapa_signos;

%Subfuncion aplica la Transformada inversa IWT

function imagen= idwt1N(AC1,CH1,CV1,CD1) imagen=iiwt(AC1,CH1,CV1,CD1); % Invesro de IWT % % Recuperación de imagen function Y=IIWT(LL,LH,HL,HH) [S1,S2]=size(LL); T1=S1*2; T2=S2*2; HR=zeros(T1,T2/2); for k2=1:T2/2 S=HL(:,k2); D=HH(:,k2);

Page 206: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

Anexo E Programas

N=length(S); S(1)=S(1)-round(D(1)/4); for i=2:N S(i)=S(i)-round((D(i-1)+D(i))/4); end for i=1:N-1 D(i)=D(i)+round((S(i)+S(i+1))/2); end D(N)=D(N)+round(S(N)/2); HR(1:2:T1,k2)=S; HR(2:2:T1,k2)=D; end LR=zeros(T1,T2/2); for k2=1:T2/2 S=LL(:,k2); D=LH(:,k2); N=length(S); S(1)=S(1)-round(D(1)/4); for i=2:N S(i)=S(i)-round((D(i-1)+D(i))/4); end for i=1:N-1 D(i)=D(i)+round((S(i)+S(i+1))/2); end D(N)=D(N)+round(S(N)/2); LR(1:2:T1,k2)=S; LR(2:2:T1,k2)=D; end %%%%%%%%%%%% Reconstrucción de imagen %%%%%%%%%% Y=zeros(T1,T2); for k1=1:T1 S=LR(k1,:); D=HR(k1,:); N=length(S); S(1)=S(1)-round(D(1)/4); for i=2:N S(i)=S(i)-round((D(i-1)+D(i))/4); end for i=1:N-1 D(i)=D(i)+round((S(i)+S(i+1))/2); end D(N)=D(N)+round(S(N)/2); Y(k1,1:2:T1)=S; Y(k1,2:2:T1)=D; end

Page 207: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

DWT: Transformada Wavelet Discreta.

Firma digital: Mecanismo de autenticación que habilita al creador de un mensaje a adjuntar un

código que actúa como firma.

Histograma: Es el gráfico estadístico que se utiliza para representar datos continuos cuando vienen

agrupados en intervalos. El histograma de una imagen nos proporciona una medida del número de

pixeles que hay con un determinado nivel de gris

IWT: Transformada Wavelet Entera

IDWT: Transformada Inversa Wavelet Discreta

JPEG: (Joint Photographic Expert Group). Comité que ha creado varios estándares como el de

compresión de imágenes en formato JPEG.

JPEG2000 Es un nuevo estándar de compresión de imagenes que está siendo desarrollado por el

grupo JPEG (Joint Photographic Experts Group), y que forma parte de la organización internacional

de estándares (ISO), es un sistema de codificación basado en wavelets aplicable a diferentes tipos

de imágenes

Marcas de agua: (Watermarking), es una técnica que permite proteger los derechos de autor y

autenticar la información digital.

Objeto-cubierta. Es el contenedor usado para ocultar mensajes secretos

Plano de bit (Bit-plane): Es una técnica que permite descomponer una imagen en una serie de

imágenes binarias.

PSNR Peak Signal to Noise Ratio. Relación Pico señal ruido.

Page 208: Esteganografía usando el método de BPCS en los …...The second algorithm is a proposal to use the BPCS Steganography in the Integer Wavelet Transform (IWT), where the integer wavelet

SVH (Sistema Visual Humano). El SVH por sus características anatómicas naturales posee un

umbral de percepción para las realidades originales que puede ser mejorado a través de la aplicación

de algoritmos para el tratamiento de imágenes digitales

SPITH: Set partition In Hierarchical trees, Método de compresión basado en las ventanas aportadas por la utilización de wavelets.