Estegoanalisis PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 161

INSTITUTO POLITÉCNICO

NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA

SECCIÓN DE ESTUDIOS DE POSGRADO E INVESTIGACIÓN UNIDAD

CULHUACAN

ESTEGOANÁLISIS DE IMÁGENES DIGITALES


USANDO TÉCNICA DE RECONOCIMIENTO
DE PATRONES

TESIS
QUE PARA OBTENER EL GRADO DE:

MAESTRO EN CIENCIAS DE INGENIERÍA EN MICROELECTRÓNICA

PRESENTA:

JULIO CÉSAR LÓPEZ HERNÁNDEZ

ASESORES:

DRA. MARIKO NAKANO MIYATAKE

DR. KAZUHIKO YAMAGUCHI

MÉXICO, D.F. ENERO 2009.


Gracias a Dios, por todas sus bendiciones.

Gracias Emelia, Norma, Dulce y Betzy por

todo su amor y cariño incondicional.

Gracias Dra. Mariko y Dr. Yamaguchi por

su apoyo y sus consejos.

Gracias al CONACyT, al IPN y a la UEC

por el apoyo brindado.


Resumen

En los últimos años la Internet ha pasado a formar parte de nuestra vida diaria,

por élla enviamos y recibimos información de valor incalculable, es por eso que varios

métodos de protección de la información han aparecido. Uno de ellos es la estegano-

grafı́a, pero como suele pasar con algunas de las tecnologı́as, esta puede ser usada de

una forma poco ética. Se sospecha que la esteganografı́a ha sido utilizada para el inter-

cambio de planes de ataques entre diferentes grupos terroristas, otro uso que se le ha

dado es la distribución de pornografı́a infantil a través de Internet, por tales motivos se

ha desarrollado un campo complementario a la esteganografı́a, éste es el estegoanálisis,

el cual se enfoca en la detección de mensajes ocultos en los diferentes medios digitales.

En estas tesis nosotros proponemos un sistema de estegoanálisis de detección a cie-

gas, el cual tiene como principal objetivo detectar la presencia de mensajes ocultos

en imágenes digitales. Este sistema está basado en la extracción de múltiples carac-

terı́sticas de una imagen, las cuales son los tres primeros momentos estadı́sticos de

la función caracterı́stica de la Transformada Wavelet de la imagen, y hace uso de la

Máquina de Soporte Vectorial (SVM) para clasificar a las imágenes como imágenes con

información oculta o como imágenes sin información, dependiendo de sus caracterı́sticas

extraı́das. El sistema propuesto ha demostrado tener una mayor capacidad de detección

de estego-imágenes con respecto a otros sistemas de estegoanálisis de detección a ciegas

encontrados en la literatura.
Abstract

In recent days, Internet has become essential to our way of life, through it we

send and get invaluable information, therefore many information protection methods

have appeared. One of them is steganography, but as often happens with some of the

technologies, this one can be used in an unethical manner. It is suspected that the

steganography has been used to interchange plans of attacks among different terrorists

groups; another use for the steganography is the distribution child pornography through

Internet, therefore a new field complementary to the steganography has been created,

it is called steganalysis. It focuses on detection of messages embedded into different

media content.

In this thesis, we propose a blind steganalysis system, which has as main objective

to detect messages hidden in digital images. This system is based on the extraction

of multiple features from an image; these characteristics are the first three statistical

moments of the wavelet characteristic function. This system uses a support vector

machine (SVM) in order to classify the images as images with hidden information

or image without information embedded, it depends on the extracted features. The

proposed system has shown to have a higher performance in the detection of stego-

image with respect to others blind steganalysis systems.


Índice general

1. Introducción 1

1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Metas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4. Metodologı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.5. Organización de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. Marco teórico 5

2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2. Historia de la esteganografı́a . . . . . . . . . . . . . . . . . . . . . . . . 6

2.3. Definición actual de la esteganografı́a . . . . . . . . . . . . . . . . . . . 9

2.4. Principio básico de la esteganografı́a . . . . . . . . . . . . . . . . . . . 11

2.5. Protocolos esteganográficos . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.5.1. Esteganografı́a pura . . . . . . . . . . . . . . . . . . . . . . . . 15

2.5.2. Esteganografı́a de llave privada . . . . . . . . . . . . . . . . . . 16

2.5.3. Esteganografı́a de llave pública . . . . . . . . . . . . . . . . . . 16

2.6. Técnicas de esteganografı́a . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.6.1. Sistemas de sustitución . . . . . . . . . . . . . . . . . . . . . . . 20

i
ÍNDICE GENERAL ii

2.6.2. Técnicas en el dominio de la transformada . . . . . . . . . . . . 22

2.6.3. Técnicas de espectro disperso . . . . . . . . . . . . . . . . . . . 26

2.6.4. Métodos estadı́sticos . . . . . . . . . . . . . . . . . . . . . . . . 27

2.6.5. Técnicas de distorsión . . . . . . . . . . . . . . . . . . . . . . . 28

2.6.6. Métodos de generación de cubiertas . . . . . . . . . . . . . . . . 29

2.7. Estegoanálisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.7.1. Detección de estego-objetos . . . . . . . . . . . . . . . . . . . . 33

2.7.2. Estegoanálisis de objetivo especı́fico . . . . . . . . . . . . . . . . 35

2.7.3. Estegoanálisis a ciegas . . . . . . . . . . . . . . . . . . . . . . . 36

2.8. Algoritmos para el estegoanálisis . . . . . . . . . . . . . . . . . . . . . . 38

2.8.1. Estegoanálisis a ciegas de imágenes JPEG usando calibración . . 38

2.8.2. Estegoanálisis a ciegas en el dominio espacial . . . . . . . . . . . 40

2.9. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3. Sistema propuesto 43

3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2. Vista global del sistema de estegoanálisis propuesto . . . . . . . . . . . 44

3.3. Extracción de caracterı́sticas . . . . . . . . . . . . . . . . . . . . . . . . 45

3.3.1. La adición del mensaje secreto considerado como ruido . . . . . 46

3.3.2. Función caracterı́stica . . . . . . . . . . . . . . . . . . . . . . . 47

3.3.3. Decorrelación de la Transformada Wavelet . . . . . . . . . . . . 49

3.3.4. Caracterı́sticas para el estegoanálisis . . . . . . . . . . . . . . . 49

3.3.5. Vector caracterı́stico . . . . . . . . . . . . . . . . . . . . . . . . 50

3.4. Clasificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.4.1. Red neuronal entrenada con retropropagación . . . . . . . . . . 53

3.4.2. Modelo de mezclas gaussianas (GMM) . . . . . . . . . . . . . . 57


ÍNDICE GENERAL iii

3.4.3. Máquina de soporte vectorial (SVM) . . . . . . . . . . . . . . . 61

3.4.4. SVM como clasificador . . . . . . . . . . . . . . . . . . . . . . . 69

3.5. Toma de decisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

3.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4. Resultados 73

4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.2. Red neuronal como clasificador . . . . . . . . . . . . . . . . . . . . . . 74

4.3. GMM como clasificador . . . . . . . . . . . . . . . . . . . . . . . . . . 75

4.4. SVM como clasificador . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

4.5. Comparación entre clasificadores . . . . . . . . . . . . . . . . . . . . . . 78

4.6. Comparación con otros sistemas de estegoanálisis . . . . . . . . . . . . 79

4.7. Resultados del sistema propuesto . . . . . . . . . . . . . . . . . . . . . 80

4.8. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

5. Conclusiones y trabajo a futuro 83

5.1. Conclusiones generales . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.2. Trabajo a futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Bibliografı́a 87

A. Glosario 93

B. Base de datos de imágenes 95

C. Código fuente 97

D. Publicaciones 105
Índice de Tablas

2.1. Valores de cuantización estándar usados en la compresión JPGE . . . . 24

3.1. Resultados del sistema usando diferentes wavelets con una red neuronal 52

4.1. PSNR máximo, mı́nimo y promedio de cada grupo de estego-imágenes . 74

4.2. Resultados alcanzados por la red neuronal . . . . . . . . . . . . . . . . 75

4.3. Parámetros de la función emgmm() utilizados. . . . . . . . . . . . . . . 76

4.4. Resultados obtenidos con GMM como clasificador . . . . . . . . . . . . 76

4.5. Parámetros usados para la obtención de los modelos . . . . . . . . . . . 78

4.6. Resultados alcanzados por la SVM . . . . . . . . . . . . . . . . . . . . 78

4.7. comparación de los tres clasificadores . . . . . . . . . . . . . . . . . . . 78

4.8. Comparación de porcentajes del sistema propuesto con otros esquemas

de estegoanálisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

4.9. Resultados del sistema propuesto . . . . . . . . . . . . . . . . . . . . . 81

iv
Índice de figuras

2.1. Proceso esteganográfico . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2. Esquema del problema del prisionero . . . . . . . . . . . . . . . . . . . 12

2.3. Esquema de un protocolo esteganográfico: Alice escoge una cubierta c

e inserta el mensaje secreto m en c usando una llave k, creando ası́ el

estego-objeto s el cual será enviado a Bob. Bob reconstruye el mensaje

m con la ayuda de la llave k. . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1. Esquema global del estegoanálisis a ciegas . . . . . . . . . . . . . . . . 45

3.2. Modelado de la adición de estego-ruido a una imagen . . . . . . . . . . 47

3.3. f∆ (x) y f∆ [i] para N (0, 1) . . . . . . . . . . . . . . . . . . . . . . . . . 47

3.4. Subbandas de la imagen . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.5. Perceptrón simple y función de transferencia de su neurona . . . . . . . 54

3.6. Perceptrón multicapa y función de transferencia de la neurona . . . . . 55

3.7. Separación de un conjunto de datos mediante SVM . . . . . . . . . . . 62

3.8. Caso linealmente separable . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.9. Esquema de la transformación de dos conjuntos no separables linealmente

mediante la función φ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.1. Imágenes de muestra . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

4.2. Diagrama a bloques del sistema propuesto . . . . . . . . . . . . . . . . 81

v
Capı́tulo 1

Introducción

Es indiscutible que en los últimos años la Internet se ha convertido en un medio

de comunicación fundamental para nuestra vida diaria, por ella enviamos y recibimos

información la cual puede tener un valor incalculable, un ejemplo de esto son las mi-

les o millones de transacciones bancarias realizadas por medio de Internet. Por años

el método mas usado para la protección de esta información ha sido la criptografı́a.

Por medio de ella, la información es transformada de tal modo que sea inentendible

para las personas que no tengan derecho al acceso de esta información. En la última

década una nueva forma de protección de la información ha comenzado a ser utilizada,

esta es la esteganografı́a, la cual trata de ocultar la información en medios inocentes

digitales como lo son las fotografı́as, videos, archivos de audio, archivos de texto, etc.

El poder de la esteganografı́a radica en la imperceptibilidad de la información para

las personas ajenas o que no son dueños de esta información. Ası́ como la criptografı́a

tiene su contraparte en el criptoanálisis, la esteganografı́a tiene su parte complemen-

taria en el estegoanálisis. Esta es la ciencia que trata de descubrir la información que

ha sido ocultada en medios digitales mediante uso de métodos esteganográficos. Unos

de los objetivos del estegoanálisis es clasificar los diferentes archivos digitales en dos

grupos: archivos naturales (archivos sin información oculta) y archivos esteganogra-

1
CAPÍTULO 1. INTRODUCCIÓN 2

fiados (archivos con información oculta), la correcta clasificación de estos archivos es

parte fundamental en un sistema de estegoanálisis ya que el éxito de éste depende de

su eficacia para detectar archivos esteganografiados.

1.1. Objetivos

El presente trabajo tiene como principal objetivo el desarrollo de un sistema de

estegoanálisis enfocado a imágenes digitales como posibles portadoras de información.

El sistema será capaz de detectar si las imágenes han sido marcadas por alguno de los

métodos más comunes de esteganografı́a y ası́ poder interrumpir la comunicación entre

emisor y receptor.

1.2. Justificación

Muchas de las tecnologı́as pueden tener un uso poco ético, la esteganografı́a no

ésta a salvo de poder ser usada para fines maliciosos, ejemplo de esto es como algunas

organizaciones terroristas han utilizado esta tecnologı́a para comunicarse en secreto y no

ser descubiertos por las agencias de seguridad, la esteganografı́a también ha sido usada

para ocultar pornografı́a infantil, lo cual representa un grave problema para la sociedad.

Por tales motivos, es necesario tener métodos capaces de detectar esta información

escondida en los diferentes medios digitales de esto se encarga el estegoanálisis, él cual

tiene como uno de sus objetivos detectar si un medio digital contiene información oculta,

si esto ocurre la comunicación entre transmisor y receptor debe ser cortada.


CAPÍTULO 1. INTRODUCCIÓN 3

1.3. Metas

Para esté proyecto se han planteado las siguientes metas:

1. Presentar un marco teórico para la comprensión de la esteganografı́a y el este-

goanálisis.

2. Desarrollar un sistema de estegoanálisis de detector a ciegas.

3. Evaluar el sistema mediante simulaciones en Matlab.

4. Presentar los resultados obtenidos de esta investigación en congresos o revistas

de la especialidad.

1.4. Metodologı́a

La metodologı́a que se siguió en este trabajo es la siguiente:

1. Se realiza la revisión del estado del arte tanto de la esteganografı́a como del

estegoanálisis.

2. También fueron revisados los sistemas de estegoanálisis propuestos en trabajos

anteriores.

3. Se compararon los sistemas de estegoanálisis existentes y el sistema propuesto,

para encontrar ventajas y desventajas de cada uno de estos.

1.5. Organización de la tesis

El resto del trabajo se encuentra organizado de la siguiente manera: un marco teórico

acerca del estegoanálisis y la esteganografı́a es presentado en el capı́tulo dos. El capı́tulo


CAPÍTULO 1. INTRODUCCIÓN 4

tres está dedicado a la explicación de cada una de las partes del sistema de estegoanálisis

propuesto. Los resultados de esta investigación son mostrados en el capı́tulo cuatro. Por

último, en el capı́tulo cinco las conclusiones de este proyecto son presentadas.

1.6. Conclusiones

En este capı́tulo se ha dado una introducción muy general acerca de la esteganografı́a

y el estegoanálisis, se argumento el porqué es importante contar con un buen sistema de

estegoanálisis en la lucha contra información maliciosa proveniente de Internet. También

se dieron a conocer los objetivos de este proyecto y las metas que se pretenden alcanzar

con la elaboración de esta tesis.


Capı́tulo 2

Marco teórico

2.1. Introducción

En los últimos años tanto las tecnologı́as de la información como las telecomunica-

ciones han tenido grandes avances tecnológicos y un crecimiento exponencial, trayendo

consigo enormes cambios a nuestras vidas, uno de ellos es el uso cada vez más común

del Internet, él cual ha llegado a ser el medio de comunicación más importante de nues-

tros tiempos. Muchas de nuestras actividades diarias ahora las realizamos por medio

de Internet. Ejemplo de esto son las compras que hacemos por medio de los portales

electrónicos de las miles de tiendas que se encuentran en Internet. Otro uso común para

la Internet es la transferencia de información, la cual puede poseer un valor incalculable

para sus dueños. Ciertamente el Internet nos ha permitido una comunicación rápida y

eficaz, pero también ha traı́do grandes problemas de seguridad y confiabilidad de los

datos que viajan a través de él, es por eso que varios métodos de protección de la infor-

mación han surgido a la par del desarrollo de Internet, tal vez él más conocido sea la

criptografı́a, esta es la práctica de cifrar un mensaje secreto de tal forma que sea ilegible

a terceras personas. Otra forma de protección de la información es la esteganografı́a,

aunque ya se sabı́a de su existencia desde hace cientos de años, no fue hasta hace poco

5
CAPÍTULO 2. MARCO TEÓRICO 6

que comenzó a utilizarse en los medios electrónicos. La esteganografı́a ha demostrado

ser un método eficaz para la protección de la información, pero como suele pasar con

algunas de las tecnologı́as esta puede ser usada de una forma poco ética, se sospecha

que la esteganografı́a ha sido usada para el intercambio de planes de ataques e infor-

mación entre diferentes grupos terroristas, otro uso que se le ha dado es la distribución

de pornografı́a infantil a través de Internet, por tales motivos se ha desarrollado un

campo complementario a la esteganografı́a, éste es el estegoanálisis, él cual se enfoca en

el desarrollo de métodos capaces de detectar mensajes ocultos en los diferentes medios

digitales.

2.2. Historia de la esteganografı́a

A lo largo de la historia de la humanidad, se han presentado diferentes situaciones en

las que la información ha tenido que viajar con la mayor seguridad y discreción posible,

para no ser interceptada por algún adversario, por lo cual se ha hecho uso de diversos e

imaginativos métodos para ocultar la información y que esta no se vea comprometida

bajo ninguna circunstancia.

Los primeros datos escritos que se tienen del uso de la esteganografı́a para enviar

mensajes provienen de las historias de Herodoto [1], él cual cuenta historias acerca de

las cabezas afeitadas de los esclavos para escribir mensajes en ellas, ası́ una vez que

el cabello volvı́a a crecer el mensaje quedaba oculto y listo para ser enviado sin riesgo

alguno. Herodoto también documentó la historia de Demeratos, quien advirtió a la

ciudad de Esparta de la invasión del Rey persa Xerxes a Grecia. Demeratos removió la

cera de una tabla para escribir y tallo sobre esta su mensaje de advertencia después

la volvió a cubrir con una capa de cera para que la tabla tomara su forma original de

una simple tablilla para escribir, de esta manera la tabla podı́a atravesar el territorio
CAPÍTULO 2. MARCO TEÓRICO 7

enemigo sin levantar la más mı́nima sospecha.

Eneas el estratega [2] propuso diferentes técnicas de esteganografı́a que pueden ser

consideradas como “el estado del arte” de sus tiempos, algunos ejemplos de estos méto-

dos es el ocultamiento de mensajes en los aretes de las mujeres y los mensajes enviados

por medio de palomas mensajeras. Eneas también describió diferentes métodos de ocul-

tamiento en texto por medio de la modificación del ancho del trazo de las letras o mar-

cando algunas letras en el texto usando pequeños hoyos. La lingüı́stica esteganográfica

también llamado acróstico, fue uno de los métodos más populares de la antigua estega-

nografı́a. Los mensajes secretos eran escondidos en las letras iniciales de cada párrafo

o en los tercetos consecutivos de un poema. Uno de los ejemplos mas famosos de esta

técnica es la “Amorosa Visione” de Giovanni Boccacio [3].

Una versión mas avanzada de la lingüı́stica esteganográfica fue originalmente con-

cebida en China y reinventada por Girolamo Cardano, nos referimos a la famosa rejilla

de Cardano. Las letras del mensaje se encuentran dispersas en forma aleatoria dentro

de un texto cualquiera, para poder leer el mensaje es necesario poner una rejilla, la

cual está perforada en ciertos puntos que permiten ver la letras del mensaje. El uso de

acrósticos también fue implementado en la primera guerra mundial por ambos bandos,

tanto el de los aliados como el de los alemanes.

Un precursor de los métodos de esteganografı́a modernos fue descrito por François

Bacon [4]. Bacon hacia uso de letras cursivas o letras normales para formar un código

binario y ası́ poder representar las letras del mensaje secreto. Él usaba cinco caracte-

res para poder representar una letra del alfabeto. Este método pasaba relativamente

inadvertido por la variabilidad de la tipografı́a del siglo XVI.

Otra idea que jugó un papel importante en diferentes guerras entre los siglos XIX

y XX fue propuesta por David Brewster [5]. Él sugirió que los mensajes podı́an ser

ocultados fácilmente si estos se encogı́an. El encogimiento de los mensajes fue posible


CAPÍTULO 2. MARCO TEÓRICO 8

gracias a la tecnologı́a desarrollada por el fotógrafo francés Dragon durante la guerra

franco-prusiana. Las imágenes microscópicas podı́an ser escondidas en los orificios na-

sales, los oı́dos o debajo de las uñas. En la Primera Guerra Mundial, los alemanes los

usaron como “micropuntos” que escondieron en las esquinas de tarjetas postales, estos

micropuntos podı́an contener fotografı́as o páginas de texto. Los Aliados descubrieron

el uso de los micropuntos en 1941.

Aunque el método de escritura con tinta invisible es usado desde la edad media, es

en la Segunda Guerra Mundial cuando adquiere una importancia mayor. Esta técnica

fue usada muy activamente por la resistencia en los campos de prisioneros nazis.

Generalmente se usa de la siguiente forma: en primer lugar se escribe una carta

completamente normal, y después se escribe, entre las lı́neas de esa carta, otro texto

donde está la información importante. Era habitual el uso de vinagre, zumos de frutas u

orina, aunque hoy en dı́a existen compuestos quı́micos especı́ficos que sirven igualmente

y no desprenden olores tan fuertes (que serı́an fácilmente detectados). Al calentar el

papel, la escritura oculta se hace visible.

En la actualidad la comunicación por Internet ha formado parte de la vida coti-

diana de muchas familias y de la mayor parte de las empresas. Sin embargo, la falta

de seguridad en Internet continúa siendo un obstáculo muy importante para el desa-

rrollo de compras, trámites burocráticos, cargos a tarjetas de crédito, comunicaciones

corporativas entre otras actividades.

Por tal motivo, los mecanismos de seguridad de información han cobrado importan-

cia y entre los más comunes podemos citar a la criptografı́a y más recientemente a la

esteganografı́a.

La criptografı́a es la práctica de cifrar un mensaje secreto de tal forma que se ilegible

a terceras personas y la esteganografı́a (palabra que proviene del griego steganos, “ocul-

to”, y graphos, “escribir”) trata de ocultar el mensaje en una portadora que para todas
CAPÍTULO 2. MARCO TEÓRICO 9

las intenciones o propósitos parezca inofensiva como pueden ser imágenes digitales,

señales de audio y aun archivos ejecutables.

En la actualidad una gran cantidad de productos esteganográficos se encuentran

disponibles en Internet para poder ser descargados e implementados, se calcula hay

mas de 300 herramientas esteganográficas disponibles en el ciberespacio. Algunas de

estas herramientas ofrecen métodos muy robustos de encriptación para poder cifrar

los mensajes secretos proveyéndolo de una capa extra de seguridad en caso de que el

esquema esteganográfico fuera descubierto. Un ejemplo de estos programas es Steganos

(http://www.steganos.com/) o Stealthencrypt (http://www.stealthencrypt.com/)

y otros tantos que se encuentran en una lista disponible en http://www.stegoarchive.

com/.

2.3. Definición actual de la esteganografı́a

Gracias a los avances que se han tenido en la computación y al uso más frecuente

del Internet, se ha propiciado un terreno fértil para que la esteganografı́a crezca y

se desarrolle de una manera notable. El poder de cálculo que nos proporcionan las

computadoras de hoy en dı́a permite que las operaciones necesarias para ocultar algún

mensaje se realicen de una manera rápida y eficiente, por otra parte el Internet ha

permitido el intercambio de grandes cantidades de información entre usuarios de todo

el orbe.

La esteganografı́a actual se basa en esconder datos binarios en los bits redundantes

de algún archivo digital. Los bits que componen el mensaje oculto se introducen (ya

sea añadiéndolos o reemplazando los ya existentes, por medio de alguna operación

aritmética) en el archivo portador, procurando que el nuevo archivo con el mensaje

incrustado cause la menor distorsión posible.


CAPÍTULO 2. MARCO TEÓRICO 10

Algunas otras definiciones que se le han dado a la esteganografı́a se muestran a

continuación:

La esteganografı́a es el arte de encubrir información especı́fica dentro de un canal

que parezca inocuo [6].

Hoy, la esteganografı́a se refiere a la información que se oculta en archivos digitales

que pueden ser audio, video, imágenes, etc [7].

Esteganografı́a es el conjunto de técnicas que nos permiten ocultar o camuflar cual-

quier tipo de datos [8].

La esteganografı́a utiliza un medio digital como archivos de texto, audio, imagen

y video que son utilizados como archivos portadores, el mensaje secreto se oculta en

estos, a este tipo de archivos se les denomina contenedores, cubiertas o portadoras

y tiene la caracterı́stica de ser un archivo inocente de tal forma que este no levante

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 estego-objeto que

contendrá el mensaje oculto en el archivo portador, este proceso es descrito en la figura

2.1 la cual muestra al contenedor y al mensaje secreto el cual puede estar 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 ninguna persona sabe la existencia del mensaje sin embargo esta expuesta

a cualquier ataque, finalmente para recuperar el mensaje secreto se aplica el proceso

inverso.
CAPÍTULO 2. MARCO TEÓRICO 11

Figura 2.1: Proceso esteganográfico

2.4. Principio básico de la esteganografı́a

La primera definición informal de un esquema de esteganografı́a fue dada por Sim-

mons [9] como el problema de los prisioneros. En el cual se describe a dos prisioneros;

Alice y Bob, quienes fueron arrestados por algún crimen y encarcelados en celdas sepa-

radas. Ellos quieren desarrollar un plan de escape pero desafortunadamente cualquier

tipo de comunicación entre ellos será vigilada por la guardia Eve y ella no les permi-

tirá 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 men-

sajes. Por este motivo, ambas partes deberán comunicarse de una forma secreta sin que

Eve se de cuenta de la existencia de esta, por lo que deberán usar 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 esconder su mensaje secreto usando la primera letra de cada

palabra dentro de un párrafo aparentemente inocente el cual no llamará la atención de

la guardia Eve.

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


CAPÍTULO 2. MARCO TEÓRICO 12

Bob, por ejemplo Eve puede alterar el mensaje que Bob le ha mandado a Alice. Eve

podrı́a cambiar las palabras que Bob ha usado y ası́ destruir la información, o aun

peor, si actuara de forma maliciosa podrı́a falsificar en mensaje y enviarlo a uno de los

dos criminales pretendiendo ser uno de ellos. El problema del prisionero se encuentra

representado en la figura 2.2.

Figura 2.2: Esquema del problema del prisionero

Este modelo es generalmente aplicable en situaciones de comunicaciones estega-

nográficas, donde Alice y Bob representan dos partes de la comunicación (emisor y

receptor) deseando intercambiar información secreta, ası́ mismo Eve representa un ter-

cer sujeto con posibilidad de leer y posiblemente alterar los mensajes enviados entre

emisor y receptor.

2.5. Protocolos esteganográficos

Muchas aplicaciones esteganográficas siguen un principio general el cual es mostrado

en la figura 2.3. Alice quien quiere compartir un mensaje secreto m con Bob, selecciona

un mensaje inofensivo c llamado cubierta, el cual puede ser transmitido a Bob sin le-
CAPÍTULO 2. MARCO TEÓRICO 13

vantar sospechas, La inserción del mensaje en c probablemente puede hacerse 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 no pueda detectar la existencia del mensaje oculto. En un sistema “ideal”, un

estego-objeto no debe de distinguirse de la cubierta. Teóricamente las cubiertas pue-

den ser cualquier tipo de información entendible para una computadora, tales como:

archivos de imagen, sonido, video o texto.

Alice transmite por un canal inseguro a Bob y espera que Eve no note el mensaje

oculto. Bob puede reconstruir el mensaje m gracias a que él conoce el método de

inserción utilizado por Alice y tiene acceso a la llave k usada en le proceso de inserción.

Este proceso de extracción debe ser posible sin el uso de la cubierta original c.

Figura 2.3: Esquema de un protocolo esteganográfico: Alice escoge una cubierta c e


inserta el mensaje secreto m en c usando una llave k, creando ası́ el estego-objeto s el
cual será enviado a Bob. Bob reconstruye el mensaje m con la ayuda de la llave k.

Si una tercera persona observa la comunicación entre emisor y receptor, ésta no debe
CAPÍTULO 2. MARCO TEÓRICO 14

de ser capaz de decidir si el objeto enviado contiene información oculta o no. De una

manera más formal, si un observador tiene acceso al conjunto {c1 , c2 , . . . , cn } de cubier-

tas transmitidas entre ambos participantes de la comunicación. Él debe ser incapaz de

decidir cuales cubiertas ci contienen información secreta. Por lo tanto la seguridad de la

comunicación radica principalmente en la incapacidad de poder distinguir las cubiertas

de los estego-objetos.

En la práctica no todos los archivos pueden ser utilizados como cubiertas en los

esquemas esteganográficos, pues para que un archivo digital sea considerado para la

transportación de información oculta, debe de contener suficientes datos los cuales serán

remplazados por la información secreta. Como ejemplo, debido a errores de medición

cualquier dato resultado de algún proceso de escaneo fı́sico, contendrá un componen-

te estocástico llamado ruido, tales datos aleatorios pueden utilizarse para el envió de

información secreta. De hecho se tiene que los datos ruidosos tienen propiedades más

ventajosas en la mayorı́a de las aplicaciones esteganográficas. Una cubierta no debe de

ser utilizado dos veces debido a que un adversario, tiene acceso a las dos versiones de la

cubierta y puede fácilmente detectar y posiblemente recuperar el mensaje. Para evitar

la reutilización accidental, tanto el emisor como el receptor deben destruir todas las

cubiertas que hayan utilizado para la transferencia de información secreta.

Existen tres tipos de protocolos esteganográficos.

Esteganografı́a pura

Esteganografı́a de llave privada

Esteganografı́a de llave publica

Esta ultima basada en los principios de la criptografı́a de llave pública.


CAPÍTULO 2. MARCO TEÓRICO 15

2.5.1. Esteganografı́a pura

La esteganografı́a pura es un sistema en el cual no se requiere de un intercambio

previo de información como por ejemplo el intercambio de una estego-llave. Formal-

mente el proceso de ocultamiento puede ser descrito mapeando E : C × M → C̃, donde

C es un conjunto de posibles cubiertas y M un conjunto de posibles mensajes [10].

El proceso de extracción consiste de un mapeo D : C̃ → M , 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.

La esteganografı́a pura se define de la siguiente manera:

Sea S = hC, M, D, Ei, donde C es un conjunto de posibles cubiertas y M es el

conjunto de posibles mensajes secretos con |C| ≥ |M |, la función de ocultamiento E :

C × M → C̃ y la función de extracción D : C̃ → M , con la propiedad D(E(c, m)) = m,

para toda m ∈ M y c ∈ C , a esto se le llama esteganografı́a pura [10].

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

mensajes significativos y al parecer inofensivos. El proceso de ocultamiento esta definido

de tal manera que una cubierta y su respectivo estego-objeto sean perceptualmente

similares, por ejemplo en el caso de imágenes o sonidos digitales la correlación entre

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

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 robustez del esquema esteganográfico, no solo por la

ilegibilidad del mensaje sino también, porque al cifrar el mensaje este adquiere un

aspecto aleatorio, lo cual lo hace más difı́cil de detectar.


CAPÍTULO 2. MARCO TEÓRICO 16

2.5.2. Esteganografı́a de llave privada

En la esteganografı́a pura no es necesario el conocimiento de información (aparte

de las funciones E y D) extra para comenzar con el proceso de comunicación. De esta

manera, la seguridad del mensaje secreto depende solamente de la discreción del estego-

objeto para no llamar la atención y no ser descubierto. Este sistema no es muy seguro

en la práctica porque se podrı́a asumir que Eve conoce el algoritmo que Alice y Bob

usan para la transferencia de información, en teorı́a ella puede extraer la información

de cada cubierta enviada entre Alice y Bob. Para proveer de una mayor seguridad al

sistema esteganográfico se debe de hacer uso de una estego-llave, sin el conocimiento

de esta llave nadie podrı́a extraer la información oculta.

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 del intercambio de información extra (lla-

ve), aunque la transmisión de una información adicional secreta subvierte la intención

original de una comunicación invisible. Como en la criptografı́a, se podrı́a asumir que

ambas partes de la comunicación pueden permitir negociar llaves secretas a través de

un canal seguro. Alice y Bob podrı́an tener el conocimiento de la 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 llave pública no confı́a

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


CAPÍTULO 2. MARCO TEÓRICO 17

requieren el uso de dos llaves, una privada y una pública. Mientras que la llave pública

es usada en el proceso de ocultamiento de la información, la llave privada es usada para

reconstruir el mensaje secreto.

Un forma de construir un sistema esteganográfico de llave pública es haciendo uso

de criptosistemas de llave pública. Se podrı́a asumir que Alice y Bob pueden inter-

cambiar llaves públicas de algún algoritmo criptográfico antes del encarcelamiento. La

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, ya sea que

éste contenga o no un mensaje secreto (recordar que D es una función de un conjunto

entero de C ). Para éste último caso se tiene que al aplicar la función D, ésta dará como

resultado un elemento aleatorio de M, podemos llamar a este elemento “aleatoriedad

natural”de la cubierta. Si uno asume que esta aleatoriedad natural es indistinguible de

un texto cifrado, él cual fue producido por algún criptosistema de llave publica, enton-

ces un sistema de esteganografı́a segura puede ser construido por medio de la inserción

de textos cifrados.

Un protocolo que permite el uso de esteganografı́a de llave pública fue propuesto

por Anderson en [11, 12], éste se basa en el hecho de que la información encriptada

es lo suficientemente aleatoria como para que se pueda ocultar de forma sencilla: Alice

encripta la información con la llave pública de Bob para obtener un mensaje aparen-

temente aleatorio, éste se envı́a a través de un canal conocido por Bob (y también por

Eve). Se asumirá que tanto el algoritmo criptográfico como la función de inserción son

públicamente conocidas. Bob, quien no puede decidir previamente si la información se-

creta es transmitida en una cubierta especı́fica, sospechara que un mensaje ha llegado,

él simplemente tratara de extraerlo y desencriptarlo usando su llave privada. Si la cu-

bierta realmente contiene información, la información desencriptada es el mensaje de

Alice.
CAPÍTULO 2. MARCO TEÓRICO 18

Ya que se asume que Eve conoce el método de ocultamiento que se uso, ella tra-

tará de extraer el mensaje enviado a Bob por Alice. De cualquier forma, si el método de

encriptación produce un texto cifrado aparentemente aleatorio, Eve no tendrá evidencia

de que la información extraı́da no son más que simples bits aleatorios. Por lo tanto, ella

no podrá decidir si la información extraı́da es relevante o es parte de la aleatoriedad

natural, a menos de que ella sea capaz de romper el criptosistema.

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 presenta a continuación 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 ocultada. 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

oculta y por lo tanto podrı́a intentar extraerla o destruirla.

Siempre se debe de asumir que los atacantes pueden sospechar de la existencia de

información oculta dentro de cualquier cubierta.


CAPÍTULO 2. MARCO TEÓRICO 19

2.6. Técnicas de esteganografı́a

Diversos métodos de esteganografı́a han sido propuestos durante los últimos años;

muchos de ellos pueden ser vistos como sistemas de sustitución. Estos métodos tratan

de sustituir las partes redundantes de una señal con el mensaje secreto. La principal

desventaja de estos métodos es la relativa debilidad de la cubierta para ser modificada.

Gracias al desarrollo de nuevas y robustas técnicas de marcas de agua; se ha podido

construir sistemas de esteganografı́a más robustos y seguros.

Existen diferentes enfoques en la clasificación de sistemas esteganográficos. Uno de

ellos los clasifica de acuerdo al tipo de cubierta que utiliza para la comunicaron secreta,

mientras que otro los clasifica de acuerdo a las modificaciones que se aplicaron en el

proceso de ocultamiento. Éste enfoque clasifica a los sistemas esteganográficos en las

siguientes seis categorı́as (aunque en algunos casos la clasificación no es posible) [10]:

Sistemas de sustitución. Las partes redundantes de la cubierta son sustituidas

con el mensaje secreto.

Técnicas en el dominio de la transformada. Éstas técnicas incrustan el

mensaje en el espacio transformado de la señal (p. ej., El dominio de la frecuencia)

Técnicas de espectro disperso. En éstas se adoptan ideas utilizadas en las

comunicaciones de espectro disperso.

Métodos estadı́sticos. Ellos codifican la información por medio de varios cam-

bios de las propiedades estadı́sticas de alguna cubierta, y utiliza pruebas de hipóte-

sis 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.


CAPÍTULO 2. MARCO TEÓRICO 20

Métodos de generación de cubiertas. Codifican la información de tal manera

que se crea una cubierta para la comunicación secreta.

En las siguientes secciones se hablará brevemente de las seis categorı́as de este-

ganografı́a presentadas previamente, también se presentarán algunos métodos estega-

nográficos los cuales pueden ser clasificados dentro de estas categorı́as, es importante

mencionar que dichos métodos están enfocados al uso de imágenes digitales que sirven

como cubiertas (imagen-encubridora) para el mensaje secreto.

2.6.1. Sistemas de sustitución

En este grupo hay varios métodos que permiten la inserción de información secreta

en diferentes medios digitales. Estos métodos van desde la sustitución del bit menos

significativo (LSB por sus siglas en inglés), la inserción del mensaje secreto en los

diferentes planos de bits, hasta los algoritmos de compresión que modifican propiedades

de la imagen como la luminancia. Un sistema básico de sustitución trata de ocultar la

información secreta sustituyendo las partes insignificantes de la cubierta por los bits

del mensaje secreto, el mensaje puede ser extraı́do si se conocen los puntos donde la

información fue incrustada.

Sustitución del bit menos significativo(LSB)

Tal vez ésta sea una de las técnicas más comunes y también una de las más sencillas

de la esteganografı́a en imágenes, este método permite el ocultamiento de una gran

cantidad de información con un mı́nimo deterioro perceptual de la imagen-encubridora.

El proceso de ocultamiento es muy sencillo, puesto que lo único que se tiene que realizar

es el cambio del bit menos significante de algunos pı́xeles de la imagen (dependiendo la

longitud del mensaje) por los bits que conforman el mensaje secreto.
CAPÍTULO 2. MARCO TEÓRICO 21

Esteganografı́a de segmentación de la complejidad de los planos de bits

(BPCS)

Este método de esteganografı́a fue propuesto por Niimi, et al., [13], dicha técnica

realiza el ocultamiento de la información en las regiones ruidosas que hay en los planos

de bits de la imagen-encubridora. Para incrustar el mensaje secreto, el algoritmo BPCS

primero segmenta cada plano de bits en bloques para después medir la complejidad de

estos. El propósito de medir la complejidad es para tener un parámetro que nos indique

el grado de información significativa que hay en cada bloque. La esteganografı́a BPCS

usa una medida de complejidad basada en el cambio de valor de un pı́xel con respecto

a sus vecinos, en una imagen binaria. Los cambios totales se calculan haciendo la suma

de los cambios de color (de blanco a negro y viceversa) en las columnas y las filas del

bloque. El numero de pı́xeles en cada bloque es de m × m, por lo tanto el mı́nimo de

cambios es 0 cuando todos los pı́xeles sean negros o todos sean blancos, mientras que el

numero máximo de cambios es 2 × m × (m − 1), esto ocurre cuando la imagen binaria

tiene el patrón como el de un tablero de ajedrez. De esta forma la complejidad de un

bloque puede ser calculada por la siguiente ecuación

k
α= (2.1)
2 × m × (m − 1)

donde k es el número total de cambios de color de un bloque.

De una imagen-encubridora en escala de grises se pueden obtener imágenes binarias,

por medio de la descomposición en planos de bits, una vez obtenidas las imágenes bi-

narias, estas pueden ser divididas en bloques y a cada uno de ellos se le puede medir su

complejidad. Los bloques pertenecientes a las imágenes binarias pueden ser clasificados

en dos categorı́as dependiendo de su medida de complejidad; éstos pueden ser clasifica-

dos como regiones informativas o como regiones ruidosas. Para realizar la clasificación

de los bloques es necesario establecer un umbral (αT H ), el cual nos permitirá discernir a
CAPÍTULO 2. MARCO TEÓRICO 22

que clase pertenece cada uno de ellos. Una región ruidosa se definirá como aquel bloque

que tenga una complejidad igual o mayor al umbral αT H , mientras que una región infor-

mativa será aquel bloque cuya complejidad no sobrepase el umbral αT H . En un tı́pico

esquema de esteganografı́a BPCS, las regiones ruidosas son remplazadas por el mensaje

secreto y las regiones informativas se dejan tal cual. Este método no solo inserta el

mensaje secreto en el plano LSB sino que también lo hace en los planos superiores, por

lo tanto los métodos de estegoanálisis LSB no sirven para detectar una estego-imagen

creada por esta técnica.

2.6.2. Técnicas en el dominio de la transformada

Como se vio anteriormente, los sistemas de sustitución son una manera sencilla

y práctica de ocultar información, pero tienen una gran vulnerabilidad a cualquier

modificación por pequeña que esta sea. Un atacante podrı́a aplicar llanamente cualquier

técnica de procesamiento de señales para destruir la información secreta que esta oculta

en la cubierta. En la mayorı́a de los casos, cualquier pequeño cambio significarı́a la

pérdida total de la información. Esto ha sido tomado en cuenta para el desarrollo de

sistemas esteganográficos, sistemas que insertan la información en el dominio de la

frecuencia de la imagen puesto que esto resulta mucho más robusto que ocultar la

información en el dominio espacial. Muchos de los sistemas esteganográficos de hoy en

dı́a operan en el dominio de la frecuencia.

Los métodos en el dominio de la trasformada esconden los mensajes en partes sig-

nificativas de la imagen-encubridora lo cual los hace más robustos a ataques como las

compresiones, los recortes y a algunos procesamientos de imágenes, más robustos que los

métodos de sustitución LSB. De cualquier forma aunque estos métodos son más robus-

tos a diferentes tipos de procesamientos de señal, éstos mantienen la imperceptibilidad


CAPÍTULO 2. MARCO TEÓRICO 23

con respecto al sistema de visión humano.

Existen diferentes métodos de inserción en el dominio de la frecuencia, algunos de

éstos hacen uso de la transformada discreta de coseno (DCT) para la incrustación de la

información en imágenes, otros usan la transformada wavelet, también existen métodos

que usan la transformada discreta de Furier (DFT) para realizar el ocultamiento. Las

transformadas pueden ser aplicadas a la imagen completa o bien aplicarse a bloques a

lo largo de la ésta. El precio que se paga por tener una mayor robustez, se ve reflejado

en la cantidad de de información que se puede ocultar en las imágenes, esta cantidad

es mucho menor que en los métodos de sustitución LSB.

Antes de presentar los métodos esteganográficos en el dominio de la transformada,

se dará una breve descripción de la transformada de coseno (DCT), la cual es una de

las más usadas en este tipo de esteganografı́a. La DCT esta dada por la ecuación 2.2 y

su transformada inversa por la ecuación 2.3.

N −1 µ ¶
C(k) X (2j + 1)kπ
S(k) = D{s} = s(j)cos (2.2)
2 j=0 2N

N
X −1 µ ¶
−1 C(j) (2j + 1)kπ
s(k) = D {S} = s(j)cos (2.3)
j=0
2 2N

Donde C(u) = √1 si u = 0 y C(u) = 1 otro caso. En el procesamiento de imágenes


2

digitales, la DCT en dos dimensiones esta definida por la ecuación 2.4 y la inversa por

la ecuación 2.5.

N
X −1 N
X −1 µ ¶ µ ¶
2 πu(2x + 1) πv(2y + 1)
S(u, v) = C(u)C(v) s(x, y) cos cos (2.4)
N x=0 y=0
2N 2N

N −1 N −1 µ ¶ µ ¶
2 XX πu(2x + 1) πv(2y + 1)
s(u, v) = C(u)C(v)S(u, v) cos cos (2.5)
N x=0 y=0 2N 2N
CAPÍTULO 2. MARCO TEÓRICO 24

(u,v) 0 1 2 3 4 5 6 7
0 16 11 10 16 24 40 51 61
1 12 12 14 19 26 58 60 55
2 14 13 16 24 40 57 69 56
3 14 17 22 29 51 87 80 62
4 18 22 37 56 68 109 103 77
5 24 35 55 64 81 104 113 92
6 49 64 78 87 103 121 120 101
7 72 97 95 98 112 100 103 99

Tabla 2.1: Valores de cuantización estándar usados en la compresión JPGE

La DCT bidimensional es una parte esencial del método de compresión con pérdida

más usado en estos dı́as, nos referimos al sistema JPEG. Este método primero transfor-

ma a la imagen en un espacio de color YCbCr y divide cada plano de color en bloques

8 × 8 pı́xeles, después a cada uno de estos bloques se le aplica la transformada DCT. En

el siguiente paso todos lo coeficientes DCT son divididos por valores de cuantización

previamente definidos (ver tabla 2.1) y redondeados al entero más cercano, el propósito

de este proceso es modular la influencia de los diferentes componentes espectrales de la

imagen.

La influencia de los coeficientes DCT de alta frecuencia es reducida, ya que proba-

blemente en su mayorı́a éstos sean ruido por lo que no se espera que contribuyan con

detalles significativos a la imagen. El resultado que se obtiene de la cuantización de los

coeficientes DCT es comprimido usando un codificador entrópico (p. ej., Huffman o un

codificador aritmético). Para la decodificación de JPEG, todos lo coeficientes DCT son

descuantizados por medio de la multiplicación de éstos por los valores de cuantización

definidos anteriormente. El siguiente paso es aplicar la transformada inversa DCT para

reconstruir los datos. La imagen reconstruida será muy parecida a la imagen original

pero no idéntica, de cualquier manera la diferencia no es notable para el sistema visual

humano.
CAPÍTULO 2. MARCO TEÓRICO 25

Esteganografı́a en el dominio DCT

Uno de los métodos más populares para insertar información en el dominio de la

frecuencia es la modulación del tamaño de dos o más coeficientes DCT de la imagen.

El método que se describe a continuación es muy similar al sistema propuesto por Zhao

and Koch [14].

Durante el proceso de codificación, el emisor dividirá la imagen-encubridora en blo-

ques de 8×8 pı́xeles, cada uno de los bloques esconderá exactamente un bit del mensaje

secreto. El proceso de inserción comienza con la selección seudoaleatoria del bloque bi

el cual será usado para ocultar el i-esimo bit del mensaje. Donde Bi = D{bi } es la

transformada DCT del bloque. Antes de que la comunicación comience, tanto el emisor

como el receptor deben de estar de acuerdo en que coeficientes DCT se usaran para el

ocultamiento del mensaje; estos se denotaran con (u1 , v1 ) y (u2 , v2 ). Los coeficientes de-

ben pertenecer a las frecuencias medias, esto asegura que la información será guardada

en una parte significativa de la señal (de otro modo la información podrı́a ser dañada

por la compresión JPEG), además se puede asumir que la cubierta no será degradada.

Ya que el sistema que se construye debe ser robusto a la compresión JPEG, se esco-

gerán los coeficientes DCT de tal manera que los valores de cuantización (ver tabla 2.1)

asociados a ellos sean iguales, por consiguiente los coeficientes (4, 1) y (3, 2) o (1, 2) y

(3, 0) son buenos candidatos a considerar.

Un bloque ocultará un “1” si Bi (u1 , v1 ) > B(u2 , v2 ) , si no esto será un “0”. En

el proceso de codificación los dos coeficientes serán cambiados si sus tamaños relativos

no coinciden con el bit que será codificado. Ya que la compresión JPEG puede afectar

(en el paso de la cuantización) el tamaño relativo de los coeficientes, el algoritmo debe

asegurarse de que |Bi (u1 , v1 ) − B(u2 , v2 ) > x| para alguna x > 0, por medio de la

adición de valores aleatorios a ambos coeficientes, entre mas grande sea la x el algoritmo
CAPÍTULO 2. MARCO TEÓRICO 26

será mas robusto a la compresión JPEG a expensas de la calidad visual de la imagen.

Por último el emisor hará uso de la DCT inversa regresar a los coeficientes al dominio

espacial. Para la extracción del mensaje oculto en la imagen, todos los bloques elegidos

anteriormente para ocultar la información, son transformados por la DCT. Por medio

de la comparación de los dos coeficientes de cada uno de los bloques, la información

puede ser recuperada.

2.6.3. Técnicas de espectro disperso

Las tecnologı́as de comunicación de espectro disperso (spread spectrum, SS) han

sido diseñadas desde 1950 en un intento de proveer medios con baja probabilidad de

intercepción. Pickholtz et al [15] define las técnicas de espectro disperso, como un medio

de transmisión en el cual la señal ocupa un ancho de banda mucho mayor al que necesita

para enviar la información; el esparcimiento se logra por medio de un código el cual

es independiente de los datos, el destinatario hace uso de una recepción sincronizada

con el código, para aglomerar y subsecuentemente recuperar los datos. Aunque el poder

de la señal a ser transmitida puede ser muy grande, la relación señal a ruido en toda

la frecuencia de banda será pequeña. Si partes de la señal fueran removidas en varias

frecuencias de las bandas, suficiente información debe estar presente en las otras bandas

para recuperar la información. De esta manera SS hace difı́cil detectar y eliminar la

señal. Esta situación es similar a la que se presenta en los sistemas de esteganografı́a, lo

cuales tratan de esparcir un mensaje secreto sobre una cubierta para que sea imposible

de percibir. Ya que las señales esparcidas tienden a ser difı́ciles de remover, los métodos

de ocultamiento basados en SS proveen un nivel considerable de robustez.

Dos variantes especiales de SS son usadas generalmente en el ocultamiento de in-

formación: secuencia directa y salto de frecuencia. En el esquema de frecuencia directa,


CAPÍTULO 2. MARCO TEÓRICO 27

la señal secreta es esparcida por medio de una constante llamada taza chip, modulada

con una señal seudoaleatoria y añadida a la cubierta. Por otro lado el esquema de salto

de frecuencia altera la frecuencia de la señal portadora de tal manera que ésta brinca

rápidamente de una frecuencia a otra.

Método de piva

El método de Piva es un método de marca de agua, el cual opera en el dominio

de la frecuencia. La información escondida consiste en una secuencia seudo aleatoria

M de números reales X = {x1 , x2 , . . . , xM }. Esta secuencia se añade a los coeficientes

DCT previamente seleccionados, usualmente los coeficientes provienen de las frecuencias

medias para darle mayor robustez a la marca de agua y para que la imagen no se degrade

en una forma notoria, este algoritmo se puede ver con mayor detalle en [16].

2.6.4. Métodos estadı́sticos

Las técnicas de esteganografı́a estadı́stica utilizan esquemas esteganográficos de “1-

bit”, la inserción de información se hace modificando la cubierta de tal manera que

algunas caracterı́sticas estadı́sticas cambien significativamente si un “1” es transmitido,

si por el contrario se transmite un “0” la cubierta debe de pertenecer sin cambios. Por lo

tanto el receptor debe de ser capaz de distinguir cubiertas modificadas y no modificadas.

Para la construcción de un sistema esteganográfico l(m)-bit por medio de múlti-

ples sistemas de “1-bit”, la cubierta debe de ser dividida en l(m) bloques separados

B1 , . . . , Bl(m) . El bit secreto mi es insertado en el i-esimo bloque colocando un “1”

dentro de Bi si mi = 1. Si no es ası́ el bloque no es modificado en el procesamiento de

ocultamiento. La detección de un bit especı́fico es hecha por una función de prueba, la

cual distingue bloques modificados de bloques no modificados:


CAPÍTULO 2. MARCO TEÓRICO 28



 1 si el bloque Bi fue alterado
f (Bi ) = (2.6)

 0 si no fue alterado

La función f puede ser interpretada como una función de prueba de hipótesis, donde

la hipótesis nula es “el bloque Bi no fue alterado” contra la hipótesis alternativa “el

bloque Bi fue alterado”. El receptor aplicara sucesivamente f a todos los bloques Bi

para restaurar los bits del mensaje secreto. Este tipo de esteganografı́a es muy difı́cil

de implementar puesto que encontrar una f no es tarea fácil.

Método zero divergence steganography (ZDSS)

Este esquema de esteganografı́a provee un alto grado de seguridad ya que alcanza la

divergencia cero de Kullback-Leibler, entre la estego-imagen y la imagen-encubridora.

Este método también ofrece una alta tasa de ocultamiento de datos.

El método ZDSS usa el principio de la restauración estadı́stica, El método consiste

en usar una cierta cantidad de coeficientes para ocultar la información mientras que

el resto de ellos es usado para compensar los cambios hechos a la imagen huésped en

sus estadı́sticas. Evitando el ocultamiento en las regiones de baja probabilidad de la

distribución estadı́stica de la imagen. De esta manera es posible alcanzar una divergencia

cero de Kullback-Leibler, entre la estego-imagen y la imagen-encubridora. Este método

se explica con mayor detalle en [17].

2.6.5. Técnicas de distorsión

En contraste con los métodos de sustitución, las técnicas de distorsión requieren

del conocimiento de la cubierta original en el proceso de extracción. En este tipo de

esteganografı́a se aplica una serie de modificaciones a la cubierta para obtener un estego-

objeto, el receptor compara las diferencias que existen entre la cubierta original y el
CAPÍTULO 2. MARCO TEÓRICO 29

estego-objeto para reconstruir el mensaje secreto. Para muchas aplicaciones estos sis-

temas no son funcionales, ya que el receptor debe tener acceso a la cubierta original.

Distorsión de imágenes digitales

Las técnicas de distorsión pueden ser fácilmente aplicadas a las imágenes digitales,

usando un enfoque similar al de las técnicas de sustitución. El receptor escoge los

pı́xeles-encubridores l(m) que quiera para esconder la información. Para la elección de

los pı́xeles, se puede hacer uso nuevamente de generadores de números aleatorios. Para

ocultar un 0 en un pı́xel, éste se deja tal cual, por el contrario si se quiere ocultar

un 1, el emisor debe añadir un valor aleatorio ∆x al valor del pı́xel. Este enfoque es

muy similar a las técnicas de sustitución con una gran diferencia; de que los LSB de

los pı́xeles seleccionados no son necesariamente iguales a los bits del mensaje secreto.

Cuando se oculta un 0 no es necesario hacer modificaciones a la cubierta, a demás

∆x puede escogerse de tal manera que las propiedades estadı́sticas de la cubierta se

preserven mucho mejor.

El receptor compara todos los pı́xeles l(m) seleccionados del estego-objeto contra los

correspondientes pı́xeles de la cubierta original. Si los i-esimos pı́xeles son diferentes,

el i-esimo bit del mensaje es 1, si no es ası́, es 0.

2.6.6. Métodos de generación de cubiertas

En contraste con todos los métodos presentados anteriormente, donde la información

secreta es añadida a una cubierta especı́fica gracias a la aplicación de un algoritmo de

inserción, algunas aplicaciones esteganográficas un objeto digital con el único propósito

de ser una cubierta para el envı́o de información secreta. Ejemplo de esto son las fun-

ciones imitadoras, propuesta por Wayner [18], éstas pueden ser usadas para ocultar la
CAPÍTULO 2. MARCO TEÓRICO 30

identidad de un mensaje gracias al cambio de su perfil estadı́stico de forma tal que se

parezca al perfil de cualquier objeto digital inocente.

2.7. Estegoanálisis

El estegoanálisis tiene el principal objetivo de detectar la presencia de mensajes

ocultos en algún medio digital. Se puede definir al estegoanálisis como el arte de des-

cubrir y hacer a los mensajes ocultos inútiles para una comunicación efectiva. Para

ocultar información en algún medio digital es necesario manipular alguna de sus pro-

piedades, lo cual degrada al archivo original de alguna forma, estas degradaciones se

pueden considerar como una firma del método de esteganografı́a que se uso para ocultar

la información, por medio de estas firmas se puede saber si un archivo digital contiene

algún tipo de información oculta, y ası́ derrotar al esquema de esteganografı́a.

Todas las técnicas de esteganografı́a en imágenes digitales pueden ser representadas

por la formula dada en 2.7

C =p+t (2.7)

Tomando en cuenta el umbral de la perceptibilidad de la visión humana en una

imagen, t es la cantidad de información en la imagen que puede ser manipulada sin

causar una distorsión perceptible. La otra porción de información, que si es modificada

provocarı́a una distorsión, es representada por p. Finalmente C es alguna imagen con

potencial para ser la cubierta del mensaje secreto. El tamaño de t esta disponible

tanto para el usuario del sistema esteganográfico como para algún atacante que espera

poder destruir la información en t. Siempre y cuando t se mantenga en las regiones

imperceptibles, existe alguna t0 que puede ser usada por el atacante en C 0 = p +

t0 , donde no existe una diferencia perceptible entre C y C 0 , este ataque puede ser
CAPÍTULO 2. MARCO TEÓRICO 31

para remplazar o remover las regiones que ocupa t. Una variación de este ataque fue

presentada en [19], si se agrega información extra al medio digital de tal forma que

no se note, existe la posibilidad de que parte de esta información agregada, remueva

o sobrescriba a la información oculta en la cubierta. Incrustar la información en áreas

más perceptibles de la cubierta, harı́an a la información más robusta pero esto también

provocarı́a la aparición de marcas, que advertirı́an la presencia de un mensaje oculto.

Algunas degradaciones o distorsiones ocurren durante el proceso, pero éstas no son

fácilmente detectadas por el sistema de visión humana.

Las herramientas esteganográficas varı́an en sus enfoques de ocultamiento de infor-

mación. Sin el conocimiento de cual herramienta es usada, y tampoco de la estego-llave

que es utilizada; la detección de información oculta se convierte en una tarea muy com-

pleja. De cualquier forma, algunos de los enfoques esteganográficos tienen caracterı́sticas

que actúan como una firma del método o herramienta usada.

El objetivo de la esteganografı́a es evitar la sospecha acerca de la transmisión de un

mensaje oculto y que éste se mantenga sin ser detectado. Si se levanta alguna sospecha,

esta meta es frustrada. El análisis y los ataques hechos a la información oculta pue-

de tomar diferentes formas: detección, extracción, confusión y la deshabilitación de la

información oculta. Cualquier cubierta puede ser manipulada con la intensión de desha-

bilitar o destruir la información oculta independientemente si existe o no. La detección

de la existencia de mensajes ocultos, ahorrara tiempo en la fase de deshabilitación en

la cual solo se tomaran en cuenta a las cubiertas que contengan información escondida.

La siguiente lista muestra algunos de los ataques que puede realizar el

estegoanalista[10]:

Ataque de estego-objeto. Solo los estego-objetos están disponibles para el

análisis.
CAPÍTULO 2. MARCO TEÓRICO 32

Ataque a una cubierta conocida. Tanto la cubierta como el estego-objeto

están disponibles para ser analizados.

Ataque de mensaje conocido. En algún punto, el mensaje oculto puede ser

conocido por el atacante. Analizando el estego-objeto para encontrar patrones que

correspondan con el ocultamiento del mensaje, esto puede ser de beneficio para

futuros ataques en contra de éste sistema. A un con el mensaje esto puede ser

muy difı́cil y probablemente esto sea equivalente al ataque de estego-objeto.

Ataque de estego elegido. Tanto la herramienta esteganográfica y el estego-

objeto son conocidos.

Ataque de mensaje elegido. El estegoanalista genera un estego-objeto me-

diante una herramienta o algún algoritmo esteganográfico, usando un mensaje

elegido. El objetivo de este ataque es determinar los patrones correspondientes en

el estego-objeto, que puedan señalar el uso de herramientas o algoritmos estega-

nográficas especı́ficos.

Ataque de estego conocido. El algoritmo esteganográfico es conocido y tanto

la cubierta original como el estego-objeto están disponibles.

Aun cuando se le de la mejora alternativa al atacante, el mensaje oculto puede ser

muy difı́cil de extraer. A veces la estrategia no es atacar al algoritmo o a la imagen,

si no atacar la contraseña que fue usada para encriptar o para elegir los bits, en la

fase de ocultamiento del mensaje. Esta fuerza bruta es funcional en contra de algunas

herramientas pero aun se necesita más tiempo de investigación para lograr resultados

favorables.
CAPÍTULO 2. MARCO TEÓRICO 33

2.7.1. Detección de estego-objetos

La detección de un mensaje secreto oculto en un objeto encubridor es usualmente

tratado como un problema de clasificación. Los algoritmos de estegoanálisis tienen por

entrada a las cubiertas digitales, las cuales pueden ser clasificadas como cubiertas na-

turales o como estego-objetos. Se puede decir que existen dos enfoques distintos para

la elaboración de algoritmos de estegoanálisis, por un lado están los algoritmos que

idealmente tratan de detectar todas las formas de esteganografı́a, o por lo menos una

amplia gama de ellos, esta clase de algoritmos son conocidos como de estegoanálisis a

ciegas. Por otra parte se, tienen a los algoritmos que tratan de detectar un algoritmo

de esteganografı́a especı́fico, a esta clase de algoritmos se consideran como estegoanáli-

sis de objetivo especı́fico. En ambos casos, el problema de distinción entre cubiertas

naturales y estego-objetos se debe considerar como un problema de clasificación y de

reconocimiento de patrones, el cual puede hacer uso de una máquina de aprendizaje.

A grandes rasgos la clasificación de patrones divide a un gran conjunto de objetos

en subconjuntos inconexos, en donde cada uno de estos subconjuntos forma una cla-

se. Si solo hay dos clases, se dirá que se trata de un problema de detección y no de

clasificación. El clasificador es una especie de mapa, cuyo rendimiento depende de uno

o más parámetros los cuales son determinados por el entrenamiento y por la deseable

disminución de los dos tipos de errores (falso positivo y falso negativo en el caso de

la clasificación de dos grupos) que un clasificador puede cometer. Por ejemplo, si los

objetos a ser clasificados son representados por valores escalares, lo cual ocurre frecuen-

temente en el estegoanálisis de objetivo especı́fico, el parámetro del clasificador es un

umbral, el cual representa el lı́mite entre las dos clases. Dependiendo de la localización

del umbral, las dos tazas de errores se verán afectadas. El umbral puede ser determinado

mediante el uso de un grupo de imágenes de prueba. En general un clasificador puede


CAPÍTULO 2. MARCO TEÓRICO 34

tener múltiples parámetros dependiendo de su tipo y de la dimensionalidad del espacio

en el cual los objetos de las clases son representados (p. ej., el espacio de caracterı́sticas).

En teorı́a, si se supiera la probabilidad de distribución de las cubiertas y de los

estego-objetos en el espacio donde están definidos ambos grupos, se podrı́a construir un

clasificador óptimo usando la prueba de razón de verosimilitud. Este clasificador puede

cometer dos tipos de errores, uno es decidir que una cubierta es un estego-objeto, a esto

se le llama un falso positivo. El segundo error es confundir a un estego-objeto con una

cubierta, a este error se le conoce como falso negativo.

Desafortunadamente, en la realidad un clasificador ideal no puede ser construido

puesto que las probabilidades de distribución de los estego-objetos y las cubiertas no

son siempre exactamente conocidas, esto se debe al espacio multidimensional donde

se encuentran definidas ambas clases. Para reducir esta multidimensionalidad, ambas

clases son representadas por una o más caracterı́sticas, de este modo un clasificador de

menor espacio dimensional puede ser diseñado.

El estegoanálisis debe comenzar con la elección de las caracterı́sticas que represen-

tarán a las cubiertas y a los estego-objetos. Este paso es muy importante ya que una

correcta elección de las caracterı́sticas permitirá una certera clasificación, de no hacerse

esta adecuada elección se tendrá por resultado una pobre clasificación. La transformada

de Fourier aplicada a la intensidad del histograma de una imagen es un simple ejemplo

de un grupo de caracterı́sticas. Para este ejemplo se tiene un vector caracterı́stico de

256 dimensiones y cada instancia del vector caracterı́stico puede ser considerada como

un punto en un espacio de 256 dimensiones.

En una situación ideal todos los vectores caracterı́sticos de las cubiertas deberı́an

ser graficados como un simple punto en el espacio caracterı́stico, también los vectores

caracterı́sticos de los estego-objetos deberı́an ser representados por un punto en di-

cho espacio. De esta forma la clasificación se convertirı́a en un problema trivial. En la


CAPÍTULO 2. MARCO TEÓRICO 35

práctica los vectores caracterı́sticos que representan a las cubiertas, son graficados en

una región o en un grupo del espacio caracterı́stico ası́ también los estego-objetos son

representados en otras regiones o grupos del espacio caracterı́stico. Si estas dos regiones

no se traslapan se puede realizar una excelente clasificación. Por más que se intente

siempre habrá un cierto grado de traslapamiento. Después de la elección de las carac-

terı́sticas el problema de la clasificación será la definición de un lı́mite para separar las

dos clases, esto se debe de hacer de tal manera que se disminuyan el número de errores

al clasificar.

Entre más traslapadas estén las dos regiones más errores ocurrirán en la clasificación.

Por lo tanto minimizar este solapamiento es de suma importancia. Para poder realizar

esta minimización se deben buscar caracterı́sticas que cambien muy poco en todo el

grupo de objetos encubridores, para poder compactar al grupo. Dichas caracterı́sticas

deben de ser muy diferentes a las caracterı́sticas de los estego-objetos, estas también

deben ser muy particulares para formar un grupo compacto. Una posibilidad para lograr

estos requerimientos es comparar los objetos encubridores con los estego-objetos, en la

práctica esto es raramente posible.

Usualmente no es posible recobrar una cubierta a partir de un estego-objeto, sin

embargo para algunos métodos esteganográficos es posible obtener una aproximación

de un objeto encubridor, lo cual puede ser utilizado para obtener valiosas caracterı́sticas

para el estegoanálisis. Al proceso de estimación de una cubierta por medio de un estego-

objeto se le llama calibración.

2.7.2. Estegoanálisis de objetivo especı́fico

En el estegoanálisis de objetivo especı́fico se conoce que tipo de algoritmo está siendo

usado. Esto lo provee de una poderosa pista para escoger alguna caracterı́stica repre-
CAPÍTULO 2. MARCO TEÓRICO 36

sentativa.

Para poder ilustrar esto consideremos que la guardiana Eve puede proceder a cons-

truir un clasificador cuando ella sospeche que Alice y Bob están usando la técnica LSB

en el dominio espacial para comunicarse secretamente. Cambiando el valor LSB de un

pı́xel o añadiendo ruido a una imagen, provocará que la diferencia entre pı́xeles vecinos

se incremente. Ası́ de este modo, Eve puede escoger calcular la suma de los valores ab-

solutos de las diferencias practicadas a todas las parejas de pı́xeles vecinos que hay en

la imagen, bajo la suposición de que un valor grande de esta suma puede indicarnos el

uso de esteganografı́a LSB. Desafortunadamente hay imágenes naturales que tienen un

valor grande al calcular dicha suma, como lo pueden ser imágenes con muchas texturas

o imágenes ruidosas (fotografı́as tomadas bajo condiciones de poca luz). Consecuente-

mente la guardiana acabará con un clasificador poco confiable, el cual exhibirá una alta

taza de falsos positivos. Una forma más inteligente de diseñar un clasificador serı́a si

la guardiana notará que los cambios hechos a los LSB donde se incrusto el mensaje,

no son simétricos. Se puede considerar que para la inserción LSB, un pı́xel con valor

par nunca decrecerá (éste puede mantener su valor o incrementar). Por el contrario los

valores impares decrecerán o mantendrán su valor. Es posible tomar ventaja de esta

asimetrı́a para el diseño de un clasificador de objetivo especı́fico.

En resumen, las caracterı́sticas que deben ser tomadas en cuenta para el diseño de

estegoanálisis de objetivo especı́fico, serán determinadas por el análisis del algoritmo

de incrustración el cual cuantificará el efecto de la inserción en el estego-objeto.

2.7.3. Estegoanálisis a ciegas

Al igual que el estegoanálisis de objetivo especı́fico el estegoanálisis a ciegas sigue

los siguientes pasos: la elección de una caracterı́stica representativa y el planteamiento


CAPÍTULO 2. MARCO TEÓRICO 37

de un lı́mite de decisión. Pero la principal diferencia la cual es también una de las

dificultades para diseñar un estegoanálisis a ciegas, es el hecho de que los algoritmos de

esteganografı́a que se quieren atacar son desconocidos. Es por eso que se debe de tener

un conocimiento general de algoritmos de esteganografı́a, este conocimiento puede servir

como una guı́a para la elección de las caracterı́sticas, éstas deberán estar presentes en

la mayorı́a de los algoritmos de esteganografı́a y no solo en algunos particulares.

Una vez que las caracterı́sticas han sido dadas, el clasificador debe de ser entrenado.

Usualmente en la fase de entrenamiento, un clasificador necesita etiquetar a los dos

grupos, a uno como cubiertas y al otro como estego-objetos. Sin embargo, para el

estegoanálisis a ciegas no se cuenta con los estego-objetos especı́ficos con los que se

pueda entrenar al clasificador. Para resolver este problema se tienen dos opciones.

La primera opción es entrenar al clasificador del estegoanálisis a ciegas usando

estego-objetos que han sido generados por una gran variedad de algoritmos estega-

nográficos conocidos. La segunda opción consiste en entrenar al clasificador usando solo

las cubiertas. Esto hace referencia al aprendizaje de una-clase. Este clasificador simple-

mente aprenderá a reconocer objetos que parecen cubiertas en el espacio caracterı́stico y

por consiguiente, etiquetará cualquier objeto que no sea compatible con la distribución

de las cubiertas como potenciales estego-objetos.

Los clasificadores a ciegas que son diseñados para detectar esteganografı́a en cual-

quier dominio son llamados universales. Otros clasificadores a ciegas son diseñados para

un dominio especı́fico, por ejemplo para métodos esteganográficos que realizan la inser-

ción en el dominio espacial o en coeficientes DCT de imágenes JPEG cuantizados.


CAPÍTULO 2. MARCO TEÓRICO 38

2.8. Algoritmos para el estegoanálisis

A continuación se presentan algunos de los algoritmos usados en el estegoanálisis

tanto en el dominio espacial como en el dominio de la DCT.

2.8.1. Estegoanálisis a ciegas de imágenes JPEG usando cali-

bración

De manera general todos los métodos de esteganografı́a diseñados para el formato

JPEG, realizan el ocultamiento a través de la sutil manipulación de coeficientes DCT.

Las caracterı́sticas derivadas del dominio DCT pueden ser más sensibles al proceso

de inserción que las caracterı́sticas provenientes del dominio espacial. Los algoritmos

de estegoanálisis a ciegas usan una gran variedad de caracterı́sticas procedentes de

una imagen. Estas caracterı́sticas a menudo se basan en el primer orden estadı́stico de

los coeficientes DCT (histograma) y en el segundo orden estadı́stico (cantidades que

dependen de parejas de coeficientes).

Una técnica común empleada por los algoritmos de estegoanálisis a ciegas es el

uso de la calibración, la cual trata de calcular la cubierta por medio de un supuesto

estego-objeto. Si esto se hace con exactitud y se obtiene una gran diferencia entonces

se puede hablar de que el objeto sospechoso es en realidad un estego-objeto. También,

a partir de la diferencia entre la cubierta calculada y el estego-objeto, se puede estimar

el número de cambios durante la inserción. Para las imágenes JPEG es posible calcular

una cubierta por medio de un estego-objeto gracias a que los coeficientes DCT son

robustos a pequeñas distorsiones provocadas por el proceso de inserción. La calibración

comienza con la descompresión de la estego-imagen al dominio espacial, después se

recortan cuatro pı́xeles de la imagen y se vuelve a comprimir la imagen usando la

misma matriz de cuantización que se uso para comprimir la estego-imagen. La imagen


CAPÍTULO 2. MARCO TEÓRICO 39

JPEG resultante es una estimación de la imagen-encubridora la cual puede ser usada

para calibrar algunas cantidades macroscópicas como puede ser el histograma DCT de la

imagen original. El recorte de cuatro pı́xeles y la recompresión, rompen efectivamente

la estructura de los coeficientes DCT cuantizados. Como resultado las propiedades

estadı́sticas de los coeficientes DCT son similares a las de la cubierta original.

Con la calibración también se pueden calcular otras propiedades macroscópicas de la

estego-imagen. De forma general se puede decir que todas las técnicas de esteganografı́a

para imágenes JPEG aumentan la diferencia entre los pı́xeles que están en los lı́mites

de los bloques de 8 × 8. La suma de estas diferencias son de un alto orden estadı́stico

ya que se usa el hecho de que los pı́xeles vecinos en una imagen están correlacionados,

a esto se le puede llamar ”debilidad de bloque”. La debilidad de bloque calculada de

una estego-imagen y de una imagen-encubridora, pueden ofrecer caracterı́sticas útiles

para la calibración en el estegoanálisis a ciegas.

En general, se puede describir al proceso de calibración de la siguiente manera. Una

función seleccionada F, es aplicada a la estego-imagen, J1 . Esta función puede ser el

histograma de todos los coeficientes DCT. La estego-imagen J1 es descomprimida en

el dominio espacial, una vez echo esto es recortada cuatro pı́xeles en cada dirección y

recomprimida con la misma tabla de cuantización que se usó en J1 , para obtener J2 .

La misma función F es aplicada a la imagen calibrada J2 . El vector caracterı́stico de

calibración f, se puede obtener mediante la siguiente diferencia (k · kL1 )

f = kF (J1 ) − F (J2 )kL1 (2.8)

Una vez especificado el grupo de caracterı́sticas, se procede a la elección de un cla-

sificador. Uno de los mas simples es el clasificador lineal discriminante de Fisher, pero

también existen clasificadores no lineales coma la maquina de soporte vectorial (SVM)

el cual ofrece un buen desempeño en la clasificación. Después de que se elige el clasifica-


CAPÍTULO 2. MARCO TEÓRICO 40

dor, este es entrenado por dos grupos especiales de caracterı́sticas uno es extraı́do de las

cubierta y el otro de estego-imágenes creadas por un algoritmo esteganográfico especı́fi-

co. El propósito del entrenamiento es determinar parámetros que permitan la distinción

de ambos grupos. Finalmente el desempeño de clasificador es probado mediante el uso

de cubiertas y estego-imágenes nunca vistas por el clasificador.[20]

2.8.2. Estegoanálisis a ciegas en el dominio espacial

Muchos de los métodos esteganográficos en el dominio espacial pueden ser interpre-

tados como la adición de ruido con propiedades especificas. La adición de ruido en el

domino espacial equivale a pasar el histograma de una imagen por un filtro pasa bajas,

esto se puede representar de la siguiente manera. Donde hc [i] y hs [i] son los histogramas

de la imagen encubridora y la estego-imagen en escala de grises respectivamente. Asu-

miendo que la estego-señal agregada a la imagen es una señal aleatoria independiente


P
de la imagen con una función de masa de probabilidad f [j], j f [j] = 1, el histograma

de la estgo-imagen es una convolución,

hs = hc ∗ f (2.9)

donde hs será más suave que hc , esto quiere decir que mas energı́a estará concentrada

en las bajas frecuencias. Para fines prácticos es conveniente representar al histograma

en el dominio de la frecuencia, por lo tanto se aplica la transformada de Furier,

Hs [k] = Hc [k]F [k], para cada k. (2.10)

La función Hs es llamada la función caracterı́stica del histograma (HCF) de la

estego-imagen. Una vez hecha la trasformación, serı́a de gran ayuda poder aplicar algo

parecido a la calibración presentada en el método anterior, para obtener caracterı́sticas

útiles que representen a las estego-imágenes y a las cubiertas. Ya que los algoritmos
CAPÍTULO 2. MARCO TEÓRICO 41

esteganográficos en el dominio espacial son en su mayorı́a modelados como la adición

de ruido (altas frecuencias), se pueden usar filtros pasa bajas o algoritmos de eliminación

de ruido para lograr una calibración. De esta forma se pueden obtener las caracterı́sticas

del dominio espacial, las cuales son necesarias para el proceso de clasificación el cual es

idéntico al del método anterior.[20]

2.9. Conclusiones

En el presente capı́tulo se ha dado al lector un breve marco teórico de la estegano-

grafı́a y el estegoanálisis. Se ha hablado de la esteganografı́a desde sus humildes orı́genes

en épocas antiguas y de su uso en tiempos más recientes, se hizo mención de las técni-

cas usadas a través de la historia para el ocultamiento de mensajes secretos, también

se hablo de cómo la esteganografı́a ha evolucionado en los últimos años gracias a los

avances tecnológicos tanto en las comunicaciones como en el campo de la computación.

Diferentes métodos de esteganografı́a utilizados actualmente fueron presentados de for-

ma breve, a manera de tener un panorama más amplio de este nuevo paradigma de

seguridad.

Pero no solo la esteganografı́a fue tratada en este capı́tulo, si no que también se

presentó y habló del estegoanálisis el cual es la parte complementaria ésta, ası́ como

de los diferentes tipos de ataques que se pueden realizar en contra de los esquemas

esteganográficos, y de los dos enfoques diferentes para el desarrollo de sistemas de

estegoanálisis, los cuales son el estegoanálisis de objetivo y el estegoanálisis de detector

a ciegas, algunos de los esquemas desarrollados bajo este enfoque fueron presentados

para tener una mejor idea de cómo es que el sistema de estegoanálisis discierne entre

estego-imágenes e imágenes naturales, lo cual es un paso crı́tico para la identificación

y la interrupción de comunicaciones secretas.


Capı́tulo 3

Sistema propuesto

3.1. Introducción

Como se mencionó anteriormente es importante contar con sistemas de estegoanálisis

capaces de detectar diferentes tipos de algoritmos esteganográficos, ya que la estegano-

grafı́a puede ser usada como una arma de dos filos, por un lado nos ofrece una nueva

y eficaz forma de protección de nuestra información pero también puede ser usada por

grupos criminales como un medio de comunicación secreto de sus actividades delictivas.

Es por esos que este trabajo propone la construcción de un sistema de estegoanálisis

de detección a ciegas el cual tiene como principal objetivo detectar la presencia de

mensajes ocultos en imágenes digitales.

El sistema de estegoanálisis propuesto tendrá la capacidad de detectar diferentes

tipos de métodos esteganográficos usados para la inserción de datos en imágenes. El es-

quema de estegoanálisis descrito en este capı́tulo, está basado en la extracción de múlti-

ples caracterı́sticas de una imagen, estas caracterı́sticas son los momentos estadı́sticos

de la función caracterı́stica de la Transformada Wavelet de la imagen. Dependiendo de

las caracterı́sticas de cada imagen estas pueden ser clasificadas como imágenes naturales

(imágenes sin mensajes ocultos) o estego-imágenes, para poder realizar esta separación

42
CAPÍTULO 3. SISTEMA PROPUESTO 43

se hizo uso de un clasificador de patrones. En este trabajo se realizaron pruebas con

tres tipos de clasificadores: maquina de soporte vectorial (SVM), modelos de mezclas

gaussianas (GMM) y una red neuronal(RN) entrenada con el algoritmo de retropro-

pagación, los resultados obtenidos en los experimentos son mostrados en el capitulo

cuatro. En las siguientes secciones se vera con mas detalle a cada una de las partes que

componen al sistema de estegoanálisis.

3.2. Vista global del sistema de estegoanálisis pro-

puesto

El sistema de estegoanálisis de imágenes digitales presentado en este trabajo, es

aquı́ mostrado de una forma global, éste consta de tres partes fundamentales:

Extracción de caracterı́sticas

Clasificación de las imágenes

Toma de decisión

En la figura 3.1 se muestra un diagrama a bloques del sistema propuesto, como

se puede observar el primer bloque representa la extracción de las caracterı́sticas las

cuales son un factor importante para la correcta clasificación de las imágenes analizadas,

las caracterı́sticas que se extrajeron fueron los momentos estadı́sticos de la función

caracterı́stica de la Transformada Wavelet, una vez obtenidas las caracterı́sticas estas

pasan a ser la entrada del clasificador (SVM, GMM o RN) el cual se encarga de separar

las imágenes en posibles estego-objetos o en imágenes naturales. Como se menciono en

la sección 2.7.3 el clasificador puede ser entrenado con estego-objetos generados por

diferentes algoritmos esteganográficos. El sistema aquı́ propuesto hizo uso de cuatro


CAPÍTULO 3. SISTEMA PROPUESTO 44

métodos de esteganografı́a para el entrenamiento de cuatro clasificadores una por cada

método, los algoritmos esteganográficos usados fueron los siguientes: Piva, ZDSS, LSB

y BPCS, previamente descritos en el capı́tulo dos. La información proporcionada a

la salida de cada uno de los clasificadores es considerada para etiquetar a la imagen

analizada como una potencial portadora de información secreta o como una simple

imagen sin mensajes ocultos.

Figura 3.1: Esquema global del estegoanálisis a ciegas

3.3. Extracción de caracterı́sticas

Basándonos en el hecho de que las imágenes podrı́an tener información oculta o no

tenerla, éstas pueden ser clasificadas en dos grupos: imágenes con información ocul-

ta (estego-imágenes) e imágenes sin información oculta (imágenes naturales). De esta

forma podemos considerar al estegoanálisis como un problema de reconocimiento de

patrones, el cual trata de identificar a que grupo pertenece cualquier imagen que sea

analizada. Un paso crı́tico en el estegoanálisis al igual que en el reconocimiento de pa-


CAPÍTULO 3. SISTEMA PROPUESTO 45

trones es la correcta elección de caracterı́sticas. Las caracterı́sticas deben ser sensitivas

al proceso de ocultación de datos, lo cual significa que las caracterı́sticas extraı́das de las

imágenes con información incrustada y las caracterı́sticas de las imágenes sin mensajes

ocultos deben de ser muy diferentes, entre mas grande sea esta diferencia, mejor será la

caracterı́stica. En la práctica es muy difı́cil alcanzar una alta tasa de reconocimien-

to con una sola caracterı́stica, por lo tanto este trabajo usa múltiples caracterı́sticas

para incrementar dicha tasa de reconocimiento, las caracterı́sticas que se usaron en

este trabajo están basadas en los momentos estadı́sticos de la función caracterı́stica

usando las descomposición wavelet de la imagen, los pasos para la extracción de estas

caracterı́sticas se presentan con mayor detalle en las siguientes secciones.

3.3.1. La adición del mensaje secreto considerado como ruido

Una forma de modelar la inserción de un mensaje secreto en una imagen digital,

es considerar al mensaje como una especie de ruido el cual es añadido a la imagen

portadora, a este seudo ruido se le llama “estego-ruido”. En la figura 3.2 se puede

observar la representación de este modelo en un diagrama a bloques, en él se tienen una

imagen portadora con un histograma hc [i], a esta imagen se le agrega el estego-ruido

el cual es una representación del mensaje secreto, éste tiene una función de masa de

probabilidad (FMP) f∆ [i]. El resultado de añadir estego-ruido a la imagen portadora,

es una estego-imagen con un histograma hs [i]. De manera general podemos decir que

f∆ [i] es la probabilidad de que un pı́xel sea alterado por i. En este modelo se asume

que el ruido actúa de manera independientemente en cada pı́xel. Debido a la forma en

la que el ruido afecta a los pı́xeles podemos considerar de manera general que este tiene

una FMP de tipo Gaussiana, figura 3.3.[21]


CAPÍTULO 3. SISTEMA PROPUESTO 46

Figura 3.2: Modelado de la adición de estego-ruido a una imagen

Figura 3.3: f∆ (x) y f∆ [i] para N (0, 1)

3.3.2. Función caracterı́stica

Algo que es de interés para nosotros es como el estego-ruido afecta o modifica a

las caracterı́sticas estadı́sticas de una imagen que ha sido marcada por la adición de

dicho ruido, las modificaciones a las caracterı́sticas estadı́sticas pueden ser usadas como

patrones que permitirán la detección de estego-imágenes. El histograma h[i], de una

imagen es el conteo de la frecuencia con la que aparecen pı́xeles con el mismo nivel

de intensidad de color. El histograma puede ser visto como una FMP multiplicada por

el número de pı́xeles presentes en una imagen. Cuando el estego-ruido es añadido a

la imagen se asume que este altera cada uno de los pı́xeles. El grado de modificación
CAPÍTULO 3. SISTEMA PROPUESTO 47

que afecta a cada pı́xel es una variable aleatoria discreta con una FMP f∆ [i]. Usando

la FMP f∆ [i] del estego-ruido y el histograma hc [i] de la imagen-encubridora se puede

estimar el histograma hs [i] de la estego-imagen. En un sistema esteganográfico donde el

ruido añadido es independiente de la imagen-encubridora, el histograma de la estego-

imagen es igual a la convolución de la FMP del estego-ruido con el histograma de la

imagen-encubridora. Esto se encuentra representado en la ecuación 3.1.

hs [i] = hc [i] ∗ f∆ [i] (3.1)

De acuerdo con [22] podemos considerar a la función caracterı́stica (FC) como el

complejo conjugado de la trasformada discreta de Fourier del histograma. La DFT

está dada por la siguiente ecuación


N
X −1
2πjifi
H[fi ] = DF T (h[i]) = h[i]e− N (3.2)
i=0

donde N es igual a la intensidad mas grande que puede tener un pı́xel en una imagen,

por ejemplo, en una imagen de escala de grises (8 bits) N seria 28 o 256. fi es el

componente de frecuencia. Usando la ecuación 3.2 podemos reescribir la ecuación 3.1

de la siguiente forma

Hs [fi ] = Hc [fi ]F∆ [fi ]. (3.3)

Al usar la transformada de Fourier o mejor dicho la función caracterı́stica de los

histogramas, se facilitara el análisis, de como el estego-ruido afecta al histograma de

la imagen-encubridora. Esto es particularmente útil en el estegoanálisis ya que nos

permitirá encontrar patrones que pueden ser usados como caracterı́sticas particulares

las cuales nos ayudaran en la clasificación de estego-imágenes e imágenes naturales.


CAPÍTULO 3. SISTEMA PROPUESTO 48

3.3.3. Decorrelación de la Transformada Wavelet

Los histogramas de las subbandas de la Transformada Discreta Wavelet (DWT) solo

reflejan la distribución estadı́stica de los coeficientes en cada una de las subbadas. Esto

no refleja la correlación de los coeficientes dentro de estas subbandas. La Transformada

Wavelet es conocida por su capacidad de descomposición multiresolucional y por la

decorrelación de los coeficientes. Se sabe que para la Transformada Discreta Wavelet,

las diferentes subbandas de alta frecuencia dentro de algún nivel no tendrán correlación

la una con la otra. De esta forma las caracterı́sticas extraı́das de alguna subbanda

de alta frecuencia no tendrán correlación con las otras caracterı́sticas extraı́das de las

demás subbandas que se encuentran en el mismo nivel. Por lo tanto, lo más probable es

que las caracterı́sticas provenientes de diferentes niveles no tengan una correlación entre

ellas. Desde este punto de vista, estas caracterı́sticas serı́an apropiadas para representar

a una imagen en un sistema de estegoanálisis.

3.3.4. Caracterı́sticas para el estegoanálisis

Aprovechando las caracterı́sticas de independencia que tienen los coeficientes de

las subbandas en diferentes niveles de la DWT, se propuso en [23] usar los momentos

estadı́sticos de la función caracterı́stica de las subbadas obtenidas por medio de la

trasformada wavelet, como caracterı́sticas para el estegoanálisis. El n-esimo momento

estadı́stico de la función caracterı́stica, Mn , esta dado por la ecuación 3.4

P
N/2
fin |H[fi ]|
i=1
Mn = (3.4)
P
N/2
|H[fi ]|
i=1

donde |H[fi ]| es la magnitud del componente de frecuencia fi de la FC, N es el número

total de puntos que hay en el eje horizontal del histograma. De acuerdo con la teorı́a
CAPÍTULO 3. SISTEMA PROPUESTO 49

de la transformada de Fourier, ya que el histograma tiene un valor real, la magnitud

es |H[fi ]| simétrica, por lo tanto solo se necesita usar la mitad de los puntos para el

cálculo de los momentos estadı́sticas. El componente de frecuencia cero de la FC es

excluido del cálculo de los momentos porque este representa tan solo la suma de todos

los componentes del histograma, para una imagen esto representa el número total de

pı́xeles. Mientras que para una subbanda de la trasformada wavelet, esto representa el

número total de coeficientes que hay en una subbanda. En cualquiera de los dos casos

esto no cambia durante la inserción del mensaje secreto.

Como se mencionó anteriormente podemos considerar la inserción de un mensaje

secreto en una imagen como la adición de ruido, en la mayorı́a de los casos este ruido

obedece una distribución de probabilidad Gaussiana. Esto significa que la magnitud de


N
la DFT de los datos insertados decrece conforme el ı́ndice avanza de 1, 2, hasta 2
. Clara-

mente la secuencia de |H[fi ]| no es negativa, por lo tanto, usando la inigualdad discreta

de Chebyshev, ésta puede demostrar que los momentos de la función caracterı́stica an-

teriormente definidos decrecen después de la inserción del mensaje secreto, esto indica

que las caracterı́sticas propuestas son sensibles al ocultamiento de información en una

imagen digital [21].

3.3.5. Vector caracterı́stico

Para poder clasificar a las imágenes que serán analizadas por el sistema de este-

goanálisis, es necesario hacer usos de un vector caracterı́stico, este tiene la finalidad de

agrupar las caracterı́sticas extraı́das de la imagen en un vector el cual será la represen-

tación de ésta en un espació caracterı́stico. El vector caracterı́stico para el sistema de

estegoanálisis propuesto en este trabajo hace uso de 39 caracterı́sticas, éstas están con-

formadas por el 1ro , 2do y 3er momentos de la función caracterı́stica de 13 subbandas de la


CAPÍTULO 3. SISTEMA PROPUESTO 50

Figura 3.4: Subbandas de la imagen

imagen, 12 de ellas (LL1 , HL1 , LH1 , HH1 , LL2 , HL2 , LH2 , HH2 , LL3 , HL3 , LH3 , HH3 )

fueron obtenidas al aplicar la DWT hasta el tercer nivel de descomposición, la wavelet

usada en la DWT fue la wavelet Haar ya que ésta ha mostrado tener un mejor desem-

peño con respecto a otras wavelets [24], esto lo podemos observar en la tabla 3.1. La

treceava subbanda no es mas que la imagen en si misma, antes de la descomposición por

medio de la DWT, a ésta se le denomina LL0 , las subbandas de la imagen se pueden

observar en la figura 3.4. En total se tienen 39 caracterı́sticas las cuales formarán un

vector caracterı́stico de 39 dimensiones (39-D), este vector es la entrada que el clasifi-

cador recibe, el clasificador se encargará de discernir mediante el vector recibido si la

imagen contiene o no algún mensaje oculto en su interior.

En la tabla 3.1 se muestran los resultados del sistema usando diferentes wavelets

procedentes de la familia Daubechies de diferente orden (dbn), el clasificador que se uso

en este experimento fue una red neuronal entrenada con BP, se usaron cuatro algorit-

mos de esteganografı́a para crear las estego-imágenes que se utilizaron para probar el

desempeño del sistema, para medir la eficiencia del sistema se uso la tasa VP (verdadero

positivo, es la detección correcta de estego-imágenes).


CAPÍTULO 3. SISTEMA PROPUESTO 51

Wavelet VP ZDSS VP BPCS VP PIVA VP LSB Promedio


Haar 85 57 98 97 84.25
db2 84 57 97 98 84
db4 87 53 98 97 83.75
db6 83 57 99 97 84
db8 81 56 98 97 83
db10 78 58 99 98 83.25

Tabla 3.1: Resultados del sistema usando diferentes wavelets con una red neuronal

3.4. Clasificadores

El clasificador es una parte fundamental de los sistemas de estegoanálisis. Puesto

que no solo se necesitan buenas caracterı́sticas para la detección de estego-imágenes,

sino que también es necesario tener un buen clasificador el cual debe de ser capaz de

separar estego-imágenes de imágenes naturales con una tasa de error muy pequeña,

para poderlo considerar al sistema de estegoanálisis como confiable. Para la elección del

clasificador usado en este trabajo, se hizo una comparación entre tres diferentes tipos de

clasificadores, para conocer cual de ellos tiene un mejor desempeño en la detección de

estego-imágenes generadas por diferentes algoritmos esteganográficos, estos clasificado-

res han mostrado tener un buen desempeño en diferentes ámbitos de la clasificación de

patrones, los clasificadores analizados fueron los siguientes: red neuronal entrenada con

el algoritmo de retropropagación, modelo de mezclas gaussianas y maquina de soporte

vectorial. En las siguientes secciones solo se dará una breve introducción de cada uno

de los clasificadores mencionados. Los resultados de la comparación de estos tres clasifi-

cadores son mostrados en el capı́tulo cuatro, por medio de estos resultados se concluye

que la SVM es el clasificador que ofrece un mejor desempeño. Por lo tanto este sistema

de estegoanálisis hace usos de la SVM para la clasificación de las imágenes en los dos

grupos anteriormente mencionados (estego-imágenes e imágenes naturales).


CAPÍTULO 3. SISTEMA PROPUESTO 52

3.4.1. Red neuronal entrenada con retropropagación

Las redes neuronales han demostrado ser una buena herramienta en la solución

de diferentes problemas, uno de ellos es el reconocimiento de patrones, en el presente

trabaja se utilizó una red neuronal con una arquitectura de perceptrón multicapa o MLP

(Multi-layer Perceptron), la cual fue entrenada con el algoritmo de retropropagación. La

arquitectura MLP y el algoritmo de retropropagación son presentados a continuación.

El perceptrón simple

Este modelo neuronal fue introducido por Rosenblatt a finales de los años cincuenta.

La estructura del perceptrón se inspira en las primeras etapas de procesamiento de

los sistemas sensoriales de los animales, en los duales la información va atravesando

sucesivas capas de neuronas, que realizan un procesamiento progresivamente de más

alto nivel.

El preceptrón simple es un modelo unidireccional, compuesto por dos capas de

neuronas, una sensorial o de entradas y otra de salida, ver figura 3.5. La operación de

una red de este tipo, con n neuronas de entrada y m de salida, se puede expresar como
à n !
X
yi (t) = f wij xj − θi , ∀i, 1 ≤ i ≤ m. (3.5)
j=1

Las neuronas de entrada no realizan ningún cómputo, únicamente envı́an la infor-

mación (en principio consideraremos señales discretas {0,+1}) a las neuronas de salida.

La función de activación de las neuronas de la capa de salidas es de tipo escalón. Ası́,

la operación de un perceptrón simple puede escribirse


à n !
X
yi (t) = H wij xj − θi , ∀i, 1, ≤ i ≤ m (3.6)
j=1

con H(·) la función escalón. El perceptrón puede utilizarse tanto como clasificador,

como para la representación de funciones booleanas, pues su neurona es esencialmente


CAPÍTULO 3. SISTEMA PROPUESTO 53

Figura 3.5: Perceptrón simple y función de transferencia de su neurona

de tipo MacCulloch- Pitts, de salida binaria. La importancia histórica del perceptrón

radica en su carácter de dispositivo entrenable, pues el algoritmo de aprendizaje descrito

por Rosenblatt, permite determinar automáticamente los pesos sinápticos que clasifican

un conjunto de patrones a partir de un conjunto de ejemplos etiquetados.[25]

El perceptrón multicapa

Si añadimos capas intermedias (ocultas) a un perceptrón simple, obtendremos un

percetrón multicapa (Multi-Layer Perceptron, MLP). La estructura del MLP se presenta

en la figura 3.6. Denominaremos xi a las entradas de la red, yj a las salidas de la capa

oculta y zk a las de la capa final (y globales de la red); tk serán las salidas objetivo. Por
0
otro lado, wi j son los pesos de la capa oculta y θj sus bias, wkj los pesos de la capa de

salida y θk0 sus bias. La operación de un MLP con una capa oculta y neuronas de salida

lineal se expresan matemáticamente de la siguiente manera


à !
X X X
0
zk = wkj yj − θi0 = 0
wkj f wji xi − θj − θi0 (3.7)
j j i

siendo f (·) de tipo sigmoideo, como por ejemplo, la siguiente


1
f (x) = (3.8)
1 + e−x
CAPÍTULO 3. SISTEMA PROPUESTO 54

Figura 3.6: Perceptrón multicapa y función de transferencia de la neurona

Ésta es la arquitectura más común de MLP, aunque existen numerosas variante,

como incluir neuronas no lineales en la capa de salida, introducir más capas ocultas,

emplear otras funciones de activación, limitar el número de conexiones entre una neu-

rona y las de la capa siguiente, introducir dependencias temporales o arquitecturas

recurrentes.

El algoritmo de entrenamiento por excelencia del preceptrón multicapa, es el algo-

ritmo de retro propagación del error, que no es más que la generalización de la regla

del Error Cuadrático Medio (Least Mean Square, LMS) en el caso de perceptrones

multicapa. Este algoritmo se presenta a continuación.

Algoritmo de retropropagación

Básicamente, el algoritmo de aprendizaje de retropropagación consta de dos pasadas

a través de las diferentes capas de la red: una hacia delante y otra hacia atrás. En la

primera, se presenta un patrón de entrada (xµi ) a la primera capa de la red y se propaga

hacia delante a través de los pesos (W ), capa por capa, hasta que se alcanzan las

neuronas de la capa de salida. Durante esta fase, los pesos de la red permanecen fijos.

Sin embargo, durante la pasada hacia atrás, estos pesos se ajustan con una regla de
CAPÍTULO 3. SISTEMA PROPUESTO 55

corrección del error. Concretamente, la señal de salida de la red (ykµ ) se compara con

el patrón de salida deseado (tµk ) y se calcula una señal de error (según un determinado

criterio E ), que se propaga hacia atrás, en dirección contraria a las conexiones de la

red, haciendo que los pesos se ajusten de tal forma que la salida de la red se aproxime

a la respuesta deseada, es decir, que se minimice la señal de error.

De forma similar al algoritmo LMS, el algoritmo de retropropagación lleva a cabo la

minimización del error mediante el descenso del gradiente, donde los pesos de la capa

de salida y de la capa oculta se modifican aplicando una corrección ∆w, proporciona a

la derivada parcial de la señal del error respecto a los pesos:

0 0 0 0 ∂E(W )
wkj = wkj + ∆wkj = wkj −α 0
, (3.9)
∂wkj

∂E(W )
wkj = wkj + ∆wkj = wkj − α . (3.10)
∂wkj
Para un determinado patrón de entrada, la salida de la neurona j-ésima de la capa

oculta se calcula según la ecuación 3.11, donde f (·) es la función de activación de las

neuronas en dicha capa, y la respuesta de la red para la neurona k-ésima de la capa de

salida se calcula según la ecuación 3.12 donde fs (·) es la función de activación de las

neuronas en la capa de salida[26].


à !
X
zjµ = f wji xµi − θi = f (γiµ ), j = 1, 2, . . . , l, (3.11)
i
à !
X
yjµ = fs 0
wkj zjµ − θkµ = fs (υkµ ), k = 1, 2, . . . , q. (3.12)
j

De esta forma, utilizando la regla de la cadena, las actualizaciones de los pesos

de la capa de salida y oculta, respectivamente, se llevan a cabo según las siguientes

expresiones:
∂E ∂fs (υkµ )
0
∆wkj = αδk zjµ con δk = − , (3.13)
∂ykµ ∂υkµ
CAPÍTULO 3. SISTEMA PROPUESTO 56

X ∂f (γjµ )
∆wji = αδj xµi con δj = 0
(δk wkj ) . (3.14)
k
∂γiµ
En resumen, el algoritmo de retropropagación consta de las siguientes etapas:

1. Inicializar los pesos a valores pequeños aleatorios.

2. Escoger un patrón de entrada, xµ , y presentarlo a la capa de entrada.

3. Propagar la activación hacia delante a través de los pesos hasta que la activación

alcance las neuronas de la capa de salida.

4. Calcular los valores de δ para las capas de salida (δk ) usando los valores objetivo

para el patrón de entrad seleccionado.

5. Calcular los valores de δ para la capa oculta (δj ).

6. Actualizar los pesos de la capa de salida y de la capa oculta, de acuerdo con las

ecuaciones 3.13 y 3.14 respectivamente.

7. Repetir del paso 2 al 6 para todos los patrones de entrada.

Tomando como medida del error la media del error cuadrático (MSE), la actualiza-

ción de los pesos queda de la siguiente manera:

∂fs (υkµ ) µ
0
∆wkj = α(tµk − ykµ ) z , (3.15)
∂υkµ j
µ µ
µ ∂fs (υk ) 0 ∂f (γj ) µ
∆wji = α(tµk − yk ) wkj x . (3.16)
∂υkµ ∂γiµ i

3.4.2. Modelo de mezclas gaussianas (GMM)

Una mezcla Gaussiana o mezcla de funciones de Gauss (Gaussian Mixture Models,

GMM) para un modelo λi , es una combinación de funciones de probabilidad denotada


CAPÍTULO 3. SISTEMA PROPUESTO 57

por
Mi
X
p(x|λi ) = wij pij (x), (3.17)
j=1

donde x ∈ R , pij es una función de probabilidad de Gauss en Rn , con media µij ∈ Rn


n

y una matriz de covarianzas Σij ∈ Rn × Rn . wij ∈ R, j = 1 . . . Mi , es un conjunto de

valores positivos que satisface


Mi
X
wij = 1. (3.18)
j=1

De esta forma se obtiene que la función 3.17 es también una función de probabilidad.

Ası́, se puede denotar a cada una de las funciones pij como

1 1 −1
pij (x) = n 1 exp(− (x − µij )Σij (x − µij )T ), j = 1, . . . , Mi . (3.19)
(2π) |Σij |
2 2 2

Por lo anterior el modelo λi queda determinado por

λi = ({wij }, {µij }, {Σij }, Mi ). (3.20)

La función 3.17 puede ser empleada para implementar un sistema de clasificación. Si

suponemos la existencia de conjuntos de vectores de caracterı́sticas para entrenamiento

Ei el cual es un subconjunto de grupo de estego-imágenes Ui , y Bi que corresponde a

un conjunto de imágenes naturales, entonces es posible generar un modelo λi asociado

a Ei y un modelo λBi asociado a Bi . Cada uno de estos modelos se obtiene ajustando

los valores dados en 3.20 de forma que se maximice la función 3.17, para cada uno de

los vectores del conjunto considerado. El algoritmo utilizado para este fin es denotado

por EM, por sus siglas en inglés Expectation Maximization. Este algoritmo incrementa

de forma monótona el valor de probabilidad de la función 3.17, para cada uno de los

vectores de Ei ó Bi en cada iteración.

Una vez obtenidos los modelos λi y λBi se obtienen también los valores de probabi-

lidad asociados a dichos modelos ası́ como su media y su varianza. Dado un conjunto
CAPÍTULO 3. SISTEMA PROPUESTO 58

de prueba Pi , se puede validar dichos modelos, al determinar la pertenencia de cada

x ∈ Pi al modelo al que muestre una mayor proximidad, en términos de sus parámetros

de media y varianza. Dado que se sabe a priori si x proviene de una estego-imagen o

una imagen natural, de esta forma se pueden determinar porcentajes de error.

Si denotamos por ¬λi al modelo de las imágenes naturales se tiene el siguiente

cociente:
p(x|λi )
(3.21)
p(x|¬λi )
al que se denomina Cociente de Probabilidades y es denotado por LR por sus siglas

en inglés Likelihood Ratio. Debido a que el modelo λi se obtiene maximizando p(x|λi )

para un conjunto de vectores x ∈ Ei , la función p(x|¬λi ) es entonces minimizada. De

esta manera el cociente LR toma también un valor máximo para el conjunto Ei , el cual

puede denotarse por

LRmax (Ei ). (3.22)

Mediante el cociente LR y un valor de umbral θi es posible determinar si un vector

x corresponde al grupo de estego-imágenes Ui o no y ası́ obtener porcentajes de acierto

y error: 

p(x|λi )  ≥ θi x pertenece a λi .
LR(x) = (3.23)
p(x|¬λi ) 
 < θi x pertenece a ¬λi .

El establecimiento de un valor de umbral θi es una labor experimental que depende

de los conjuntos de entrenamiento y prueba utilizados, pues su valor depende directa-

mente de LRmax (Ei ) , es decir que

0 ≤ θi < LRmax (Ei ). (3.24)

Es común que se utilice el logaritmo natural del cociente LR en lugar de este último

[27]:
µ ¶
p(x|λi )
log(LR(x)) = log = log p(x|λi ) − log p(x|¬λi ), (3.25)
p(x|¬λi )
CAPÍTULO 3. SISTEMA PROPUESTO 59

el cual se denota por LLR por sus siglas en inglés Logarithmic Likelihood Ratio. Para el

caso de clasificación se generan dos modelos; λi y λBi correspondientes al subconjunto

Ei del conjunto de estego-imágenes Ui y Bi que representa a las imágenes naturales,

respectivamente. De esta forma, dado un conjunto de prueba Pi y un vector x ∈ Pi del

cual se conoce su origen, se pueden obtener los siguientes valores:


µ ¶
P (x|λi )
−LLRλi (x) = − log , (3.26)
P (x|¬λi )
µ ¶
P (x|λBi )
−LLRλBi (x) = − log . (3.27)
P (x|¬λBi )
Para determinar, con base en las ecuaciones 3.26 y 3.27, a cual de los dos modelos

pertenece x con mayor probabilidad, es suficiente elegir el modelo cuyo valor de LLR(x)

sea mayor. Supongamos por ejemplo que

LLRλi (x) > LLRλB i (x), (3.28)

entonces se da el siguiente desarrollo:


µ ¶ µ ¶
P (x|λi ) P (x|λBi )
log > log ⇒
P (x|¬λi ) P (x|¬λBi )
P (x|λi ) P (x|λBi )
> ⇒
P (x|¬λi ) P (x|¬λBi )
P (x|λi )P (x|¬λBi ) > P (x|λBi )P (x|¬λi ). (3.29)

La desigualdad 3.29, significa que es más probable que x pertenezca a λi y no

pertenezca a λBi , a que esta pertenezca a λBi y no pertenezca a λi . De este silogismo se

deduce que x corresponde al conjunto de las estego-imágenes Ui con mayor probabilidad.

Al invertir la desigualdad en 3.28 se obtiene, de manera análoga, que x corresponde a

una imagen natural con mayor probabilidad.[28]


CAPÍTULO 3. SISTEMA PROPUESTO 60

3.4.3. Máquina de soporte vectorial (SVM)

Las SVM surgieron como un método de clasificación basado en la teorı́a de mini-

mización del riesgo estructural de Vapnik. Las SVM son usadas en la clasificación de

objetos correspondientes a dos clases diferentes (C1 y C2 ), estas se basan en encontrar

una superficie de clasificación determinada por ciertos puntos de un conjunto de entre-

namiento, este conjunto de vectores debe estar en la frontera entre los dos subconjuntos

en que se clasificarán los puntos, estos vectores son llamados vectores de soporte.

Para poder clasificar con las SVM se debe comenzar con una etapa de aprendizaje la

cual consiste en encontrar el hiperplano h(x) = 0 que mejor separe a los conjuntos C1 y

C2 . Dicho hiperplano corresponde al que maximice la distancia al punto más próximo de

cada clase, por lo tanto, estará a la misma distancia de los ejemplos más cercanos entre

ellos de cada categorı́a, ver figura 3.7. Según la teorı́a de Vapnik, el separador lineal

que maximiza el margen (e veces la distancia al punto más próximo de cada clase) es

el que nos da la mayor capacidad de generalización, es decir, la capacidad de distinguir

caracterı́sticas comunes de los datos de cada clase, lo cual permitirá la clasificación de

datos que no fueron usados en el entrenamiento.

La distribución en el espacio caracterı́stico de los datos que conforman C1 y C2

es desconocida. Podemos considerar de forma general, dos casos; cuando C1 y C2 son

linealmente separables y cuando no lo son.

Caso linealmente separable

Se dice que C1 y C2 son linealmente separables cuando existe un hiperplano en Rn

determinado por un vector w perpendicular al mismo de forma que

w · x + b = 0, b∈R (3.30)
CAPÍTULO 3. SISTEMA PROPUESTO 61

Figura 3.7: Separación de un conjunto de datos mediante SVM

para cualquier punto x en el hiperplano y además

w · xi + b > 0, ∀xi ∈ C1 (3.31)

w · xj + b < 0, ∀xj ∈ C2 . (3.32)

Puede obtenerse fácilmente que si C1 y C2 son linealmente separables entonces la

existencia de un hiperplano tal, determinado por un vector w, no es única, de hecho

existen una infinidad de tales vectores. Ası́, es necesario establecer un criterio que

permita determinar cual de ellos se tomará para la clasificación. También es inmediato

que si ambos conjuntos son separables entonces existe una distancia mı́nima entre ambos

conjuntos. Este caso se puede observar en la figura 3.8 podemos observar la construcción

de dos hiperplanos paralelos al original, determinado éste por w, los cuales delimitan

un margen entre los conjuntos y cuya magnitud m podemos relacionar con dichos

hiperplanos de la siguiente forma: supongamos que w está contenido en el hiperplano

inferior entonces sucede que

w · w + b = −ε (3.33)
CAPÍTULO 3. SISTEMA PROPUESTO 62

Figura 3.8: Caso linealmente separable

para alguna constante ε > 0. Entonces el vector dado por


w
w+ m (3.34)
kwk
está incluido en el hiperplano superior, lo cual implica que

kwkm = 2ε ⇒ m = . (3.35)
kwk
Dada la igualdad 3.35 se infiere que si deseamos maximizar la magnitud del margen

m es necesario minimizar la magnitud de w. Retomando nuevamente la notación (xj , yj )

con yj ∈ {1, −1}, para cada uno de los vectores xj de C, entonces el problema de

encontrar un hiperplano que separe a C1 y C2, maximizando el margen de separación

entre dichos conjuntos, queda planteado como:


½ ¾
1 2
mı́n f (w) = kwk ,

yi (w · xi + b) ≥ ε, i = 1, . . . , l,

ε > 0, b ∈ R. (3.36)

Este es un problema de optimización de tipo cuadrático sujeto a l restricciones en

Rn y cuya solución puede darse a partir del usos de la teorı́a de multiplicadores de


CAPÍTULO 3. SISTEMA PROPUESTO 63

Lagrange en n variables. Denotamos las restricciones que aparecen en el problema 3.36

de la siguiente forma:

gi (w) = yi (w · xi + b), i = 1, . . . , l, (3.37)

entonces si denotamos por wk a la k-ésima entrada de w sabemos que se cumple

X ∂gi l
∂f
(w) = αi (w), k = 1, . . . , l (3.38)
∂wk i=1
∂w k

αi gi (w) = ε, i = 1, . . . , l, (3.39)

para ciertas constantes αi ∈ R a determinar. Sustituyendo en la ecuación 3.38 a la

función f y a las funciones gi se tiene el siguiente desarrollo:

X ∂gi l X l
∂f 1
= wk = αi = αi yi xi (k) ⇒
∂wk ε i=1
∂w k i=1
l
X
w=ε αi yi xi .
i=1

Por otro lado de la igualdad 3.39 se tiene que


Pl X l
∂ i=1 αi gi (w)
=0⇒ αi yi = 0
∂b i=1

Por lo tanto la solución al sistema 3.36 está dada por


l
X
w=ε αi yi xi (3.40)
i=1

l
X
αi yi = 0 (3.41)
i=1

Para obtener el valor de cada una de las constantes αi sustituimos la ecuación 3.40

en las restricciones iniciales 3.39 con lo que se obtiene la siguiente ecuación:


à l
!
X
αj yj εxj · αi yi xi + b = ε, j = 1, . . . , l. (3.42)
i=1
CAPÍTULO 3. SISTEMA PROPUESTO 64

Derivando parcialmente cada una de las ecuaciones dadas en 3.42 con respecto αj ,

se obtiene que
l
X
2 yj b
αj kxj k + yj αi yi xi · xj = − , j = 1, . . . , l. (3.43)
i=1
ε

Las igualdades descritas en 3.43 conforman un sistema lineal de l ecuaciones con

incógnitas αi , i = 1, . . . , l, por lo que se tiene un sistema de forma Aα = B, con A ∈ Rlxl

y B ∈ Rl , siendo α el vector que el valor l es la cardinalidad del conjunto C, por lo

que la complejidad en la obtención de una solución mediante alguna implementación,

dependerá del orden de dicho conjunto. Los valores de las constantes αi quedarán en

términos de b y ε, de los cuales uno de ellos puede ser propuesto y el otro determinado,

por ejemplo, con la ecuación 3.33.

Ası́, el vector w dado en la ecuación 3.40 es conocido como el vector de soporte del

hiperplano que separa a C1 y C2 , de donde deriva el nombre de Máquina de Soporte

Vectorial.

Caso no linealmente separable

Puede considerarse que el sistema lineal de ecuaciones dado en 3.43, es una conclu-

sión al tratar el caso de dos conjuntos C1 y C2 , separables linealmente. Sin embargo

dicho sistema puede ser obtenido también para cualesquiera dos conjuntos en Rn . Ası́,

podemos decir que C1 y C2 no son separables linealmente cuando la matriz correspon-

diente al sistema 3.43 no tenga solución, en cuyo caso no es posible la construcción de

un hiperplano que satisfaga las condiciones del problema planteado en 3.36. El trata-

miento para el caso de dos conjuntos no separables linealmente consiste en utilizar una

función φ : Rn → Rm , con n, m ∈ N, m ≥ n ó m = ∞. Dicha función mapea a los

conjuntos C1 = {x1 , . . . , xk } y C2 = {xk+1 , . . . , xl }, a un espacio de mayor dimensión,

donde podemos denotarlos por Γ1 = {φ(x1 ), . . . , φ(xk )} y Γ2 = {φ(xk+1 ), . . . , φ(xl )}


CAPÍTULO 3. SISTEMA PROPUESTO 65

Figura 3.9: Esquema de la transformación de dos conjuntos no separables linealmente


mediante la función φ

respectivamente. El objetivo de realizar este mapeo es que los conjuntos obtenidos Γ1 y

Γ2 sean separables linealmente o en su caso se minimice el error mediante la separación

con un hiperplano, es decir que el número de vectores clasificados incorrectamente sea

mı́nimo. La figura 3.9 esquematiza la operación ideal de la función φ sobre un conjunto

dado. Como se mencionó anteriormente, idealmente la función φ mapea los conjuntos

de vectores no separables linealmente a un espacio de mayor dimensión. Éstos vectores

son separables linealmente y la solución al problema original mediante el procedimiento

explicado anteriormente, es un hiperplano H1 ⊂ Rm . En este caso se considera que

existen vectores de los conjuntos Γ1 y Γ2 que se encuentran contenidos en H1 . A di-

chos vectores se les conoce como vectores de soporte. Para obtener una solución en el

espacio Rn original, se realiza el mapeo inverso de los vectores de soporte, los cuales

determinarán las fronteras que separarán a los conjuntos C1 y C2 . Se considera que los

vectores que determinan estas fronteras conforman el modelo C1 (o equivalentemente

para C2 ).

No es posible determinar a priori, dados dos conjuntos de vectores C1 , C2 ⊂ Rn ,

una función φ que cumpla los objetivos descritos previamente, por lo que el procedi-
CAPÍTULO 3. SISTEMA PROPUESTO 66

miento para determinarla no es constructivo. Por tanto el tratamiento para este caso

está basado en la realización de ensayos con funciones φ conocidas, Ası́, la función φ es

de especial importancia en la solución del problema de clasificación.

En el caso linealmente separable, puede observarse que las operaciones con vectores

involucran el producto punto o producto interno canónico en Rn . Éste proporciona una

función que determina una norma y a su vez una métrica para el espacio:


kxk = x · x, (3.44)

d(x, y) = kx − yk. (3.45)

Tales normas y métrica, respectivamente, son empleadas también al separar los

conjuntos Γ1 y Γ2 en Rm . Ası́ que el problema análogo al 3.36, planteado en este nuevo

espacio es
½ ¾
1
mı́n f (w) = kwk2 , w∈R m

yi (w · φ(xi ) + b) ≥ ε, i = 1, . . . , l,

² > 0, b ∈ R. (3.46)

Por lo anterior la ecuación análoga a 3.43 en este nuevo espacio está dada por
l
X yj b
αj kφ(xj )k2 + yj αi yi φ(xi ) · φ(xj ) = − , j = 1, . . . , l. (3.47)
i=1
ε

Se infiere de la ecuación 3.47, que la función φ puede ser vista como una que modifica

la norma y métrica del espacio original (dadas en 3.44 y 3.45), por las siguientes:

p
kxkφ = φ(x) · φ(x) (3.48)

dφ (x, y) = kx − ykφ . (3.49)

A la función definida por


CAPÍTULO 3. SISTEMA PROPUESTO 67

K(xi , xj ) = φ(xi ) · φ(xj ) (3.50)

se le conoce como función núcleo y su uso es más importante que el de la propia

función φ, de la cual no se requiere su conocimiento en forma explı́cita, ya que es

suficiente, como lo muestra la ecuación 3.47, con establecer la función núcleo K para

obtener una solución.[28]

Algunos ejemplos de funciones núcleo que han sido sugeridas o empleadas en

problemas de clasificación son las siguientes:

Lineal:

K(xi , xj ) = xi · xj (3.51)

Polinomial:

K(xi , xj ) = (γxi · xj + r)d , γ > 0, r, d ∈ R (3.52)

Función de Base Radial (RBF):

K(xi , xj ) = exp(−γkxi − xj k2 ), γ>0∈R (3.53)

Sigmoide:

K(xi , xj ) = tanh(γxi · xj + r), γ, r, ∈ R (3.54)

Aún cuando existen diferentes funciones núcleo, es común el uso de la Función de

Base Radial, por los resultados obtenidos durante la clasificación [29], [30]. Sin embargo

puede optarse por el uso de otros núcleos dependiendo de los resultados obtenidos para

un caso particular.
CAPÍTULO 3. SISTEMA PROPUESTO 68

3.4.4. SVM como clasificador

Del los tres clasificadores mencionados anteriormente, la SVM es la que nos ofrece

un mejor desempeño en la detección de estego-imágenes, como se puede ver en los

resultados que se muestran en el capı́tulo 4, es por eso que el sistema propuesto en esta

tesis hace uso de ella. En este trabajo se usaron cuatro SVMs, una por cada uno de los

siguientes algoritmos esteganográficos: método de Piva, método LSB, método ZDSS,

método BPCS. Estos sistemas esteganográficos fueron usados para el entrenamiento de

las SVMs, dicho entrenamiento permitirá que las SVMs puedan hacer la distinción entre

imágenes naturales y estego-imágenes. Al usar diferentes métodos esteganográficos se

pretende que el sistema de estegoanálisis tenga un mayor rango de detección. Cuando

un vector caracterı́stico se presenta a la entrada del clasificador, este es clasificado por

cada una de las SVMs, la salida que arroja cada una de estas SVMs, es utilizada para

tomar la decisión de si la imagen es una imagen natural o una etego-imagen.

3.5. Toma de decisión

La toma de decisión se hace con base en los datos arrojados por las SVM, se puede

ver a la toma de decisión el resultado de una operación AND, puesto que para que el

vector caracterı́stico se considere procedente de una imagen natural las cuatro SVMs

deberán coincidir en la clasificación de este vector, es decir las cuatro SVMs deberán

clasificar al vector como una imagen natural, si alguna de ellas clasifica al vector como

estego-imagen este automáticamente se considera como tal. Esta toma de decisión se

encuentra representada en la ecuación 3.55

Rf = R1 ∧ R2 ∧ R3 ∧ R4 (3.55)
CAPÍTULO 3. SISTEMA PROPUESTO 69

donde Rf representa la toma de decisión y Rn n = 1, . . . , 4 representa la salida de

cada una de las SVMs. Para que la imagen sea considerada como un imagen natural

todas las Rn deben de tener un valor de “1” (un 1 a la salida de la SVM significa que la

imagen fue clasificada como imagen natural, mientras que un 0 indica que la imagen es

clasificada como estego-imagen), y si alguna Rn llegará a tener un valor “0” la imagen

será considerada como una estego-imagen.

3.6. Conclusiones

En este capı́tulo se mostró cada uno de los bloques que conforman al sistema de

estegoanálisis propuesto, éste tiene como primer bloque la extracción de las caracterı́sti-

cas de la imagen digital, dichas caracterı́sticas nos permitirán conocer si la imagen tiene

algún mensaje escondido o simplemente se trata de una imagen natural. Las caracterı́sti-

cas utilizadas son los tres primeros momentos estadı́sticos de la función caracterı́stica

de cada una de las subbandas de la imagen. Estas caracterı́sticas fueron utilizadas por

su comportamiento a la adición de información, pues como se ha mostrado en trabajos

previos, los momentos estadı́sticos decrecen cuando a la imagen se le agrega información

(estego-ruido) a la imagen. Las subbandas se obtuvieron por medio de la descomposi-

ción de la DWT, la wavelet que se utilizó en la DWT fue la wavelet Haar ya que las

caracterı́sticas extraı́das al usar esta wavelet mostraron tener un mejor desempeño con

respecto a otras wavelets. El siguiente bloque trata acerca del uso de un clasificador el

cual se encarga de detectar si alguna imagen contiene información incrustada en ella.

En el presente capı́tulo se hizo mención de tres diferentes clasificadores los cuales han

mostrado buenas caracterı́sticas para la clasifican de patrones, pero al hacer las com-

paraciones entre ellos se llego a la conclusión de que es la SVM la que nos ofrece un

mejor desempeño en la detección de estego-imágenes, esto se vera con mas detalle en el


CAPÍTULO 3. SISTEMA PROPUESTO 70

capı́tulo cuatro. El sistema propuesto hace uso de cuatro SVMs una por cada uno de

los sistemas esteganográficos usados en el entrenamiento. La salida de cada una de las

SVMs intervendrá en la toma de decisión final acerca de que si la imagen oculta algún

mensaje o no es más que una imagen natural sin información en su interior.


Capı́tulo 4

Resultados

4.1. Introducción

En este capı́tulo se presentan los resultados obtenidos al probar el sistema de es-

tegoanálisis con los tres diferentes clasificadores mencionados en el capı́tulo tres. Los

experimentos fueron realizados con una base de datos la cual contiene 500 imágenes

a color en formato JPEG, algunas de estas se muestran en la figura 4.1, a todas las

imágenes se les inserto un mensaje por medio cuatro algoritmos esteganográficos (Piva,

LSB, BPCS, ZDSS), utilizando el máximo numero de bits permitidos para realizar la in-

serción. De esta forma se obtuvo una base de datos con un total de 2500 imágenes. Para

conocer la distorsión visual provocada por cada uno de los algoritmos esteganográficos,

el PSNR (Peak Signal-to-Noise Ratio) fue medido, en la tabla 4.1 se muestran el PSNR

mı́nimo, máximo y promedio de cada grupo de estego-imágenes. De la base de datos

total se tomaron 400 imágenes por cada grupo (imágenes naturales, Piva, LSB, BPCS,

ZDSS) para el entrenamiento de los clasificadores. El resto de las imágenes se utilizó pa-

ra realizar las pruebas de veracidad de cada uno de los clasificadores mencionados en

el capı́tulo tres. Para determinar la certeza del sistema, las tasas verdadero positivo

(VP) y falso negativo (FN) fueron cuantificadas, estas tasas generalmente se utilizan

71
CAPÍTULO 4. RESULTADOS 72

Figura 4.1: Imágenes de muestra

Método PSNR (dB) PSNR (dB) PSNR (dB)


esteganográfico mı́nimo promedio máximo
Piva 31.34 42.52 54.51
LSB 50.34 51.39 53.19
BPCS 42.64 46.76 53.16
ZDSS 33.89 38.11 40.35

Tabla 4.1: PSNR máximo, mı́nimo y promedio de cada grupo de estego-imágenes

en el campo del estegoanálisis para conocer con que eficiencia los sistemas lleva acabo

la detección de estego-imágenes, la tasa falso positivo (FP) también fue medida. VP es

la tasa que mide la cantidad de estego-imágenes que fueron correctamente clasificadas,

la tasa FN es la que nos permite conocer el número de estego-imágenes que fueron

confundidas como imágenes naturales y FP es la tasa que nos indica cuantas imágenes

naturales han sido confundidas como imágenes esteganografiadas. En los esquemas de

estegoanálisis es importante mantener el FN lo más bajo posible. Las tasas mencionadas

anteriormente son presentadas como porcentajes ( %) en las tablas que se muestran a

continuación.

4.2. Red neuronal como clasificador

El primer clasificador que se utilizó con el sistema de estegoanálisis propuesto fue

una red neuronal artificial, ya que estas han presentado un buen desempeño en la cla-

sificación de patrones. El clasificador que se utilizó, fue construido mediante capas de


CAPÍTULO 4. RESULTADOS 73

Algoritmo VP FN FP
esteganográfico
ZDSS 85 15 8
BPCS 57 43 39
Piva 98 2 1
LSB 97 3 6

Tabla 4.2: Resultados alcanzados por la red neuronal

perceptrones simples para obtener una red neuronal de perceptrones multicapa, usual-

mente este tipo de red es entrenada con el algoritmo de aprendizaje de retropropagación,

previamente explicado en el capı́tulo tres. En la construcción de la red neuronal se uso

una capa de entrada de 40 neuronas, posteriormente se utilizaron cuatro capas ocul-

tas cada una de ellas con 40 neuronas las cuales usaron una función de transferencia

tangencial sigmoidea, mientras que en la capa de salida solo se uso una neurona con

una función de transferencia lineal. Los resultados obtenidos con la red neuronal se

presentan en la tabla 4.2. En esta se puede observar que la red neuronal tiene un buen

desempeño en la detección de estego-imágenes creadas por tres de los cuatro algoritmos

esteganográficos usados para realizar las pruebas, sin embargo para el algoritmo BPCS

muestra un bajo desempeño, el cual afecta la eficacia del sistema de estegoanálisis.

4.3. GMM como clasificador

Las pruebas del clasificador GMM se llevaron acabo con el toolbox stprtool de

Matlab el cual se encuentra disponible en [31]. Como se explico en el capı́tulo tres, para

encontrar un modelo asociado, el cual describa bien a cada una de las clases (en este

caso un modelo para imágenes naturales (IN) y otros cuatro modelos para cada uno

de los algoritmos esteganográficos utilizados), es necesario ajustar los valores dados

en 3.20, para que estos maximicen la función 3.17, el algoritmo que se utiliza para
CAPÍTULO 4. RESULTADOS 74

Modelo cov type ncomp


IN full 1
Piva full 2
ZDSS full 2
LSB full 1
BPCS full 1

Tabla 4.3: Parámetros de la función emgmm() utilizados.

Algoritmo VP FN FP
esteganográfico
ZDSS 82 18 9
BPCS 71 29 45
Piva 94 6 3
LSB 79 21 35

Tabla 4.4: Resultados obtenidos con GMM como clasificador

alcanzar este fin es el EM (Expectation Maximization), el cual calcula la estimación

de la máxima verosimilitud (maximum likelihood) de los parámetros de los modelos

de las mezclas Gaussianas. Este algoritmo se encuentra programado dentro del toolbox

stprtool, el cual es invocado por la función emgmm(), con los siguientes parámetros de

función; cov type, este indica el tipo de matriz de covarianza estimado; ncomp, el cual

le da a la función el número de componentes de GMM. En la tabla 4.3 se presentan los

parámetros usados para calcular los modelos de cada una de las clases, estos valores

fueron obtenidos a prueba y error, por lo cual se presentan los parámetros que dieron

mejores resultados al momento de clasificar. Con los modelos arrojados por la función

emgmm() se llevaron acabo las pruebas de desempeño del sistema, en las cuales se

midió las tasas VP, FN, FP. Los resultados obtenidos al usar el GMM se muestran en

la tabla 4.4.
CAPÍTULO 4. RESULTADOS 75

4.4. SVM como clasificador

Para realizar la clasificación de estego-imágenes e imágenes naturales por medio de la

SVM, se utilizó la maquina de soporte vectorial disponible en [32]. Como se mencionó en

el capı́tulo tres, la SVM depende de una función núcleo para realizar la clasificación de

los patrones, las funciones núcleo más comunes son las siguientes:

Lineal: K(xi , xj ) = xi · xj

Polinomial: K(xi , xj ) = (γxi · xj + r)d , γ > 0, r, d ∈ R

Función de base radial (RBF): K(xi , xj ) = exp(−γkxi − xj k2 ), γ>0∈R

Sigmoide:K(xi , xj ) = tanh(γxi · xj + r), γ, r ∈ R

En la tabla 4.5 se muestran los parámetros utilizados para la obtención de los diferentes

modelos, en donde “-t” define el tipo de función núcleo que se va a utilizar, “-c” es el

parámetro de castigo del termino del error, “-g” define el valor de γ para la función

núcleo, “-r” es el valor que se le da a r en la función núcleo, “-d” define el grado

(d) de la función polinomial, por ultimo “-v” indica el número de subgrupos que ha

de utilizar el método croos-validation, este método fue utilizado para determinar los

valores óptimos de los parámetros mencionados anteriormente. Para mas información

acerca de estos parámetros véase [32]. En todos los casos la SVM fue entrenada con 400

imágenes, a excepción del modelo IN&BPCS el cual fue entrenado con 300 imágenes

para evitar problemas de sobreaprendizaje. Con los modelos que se obtuvieron en la

fase de entrenamiento, se alcanzaron los resultados mostrados en la tabla 4.6.


CAPÍTULO 4. RESULTADOS 76

Modelos -t -c -g -r -d -v
IN&Piva RBF 16 4 — — 2
IN&ZDSS RBF 131072 0.0625 — — 2
IN&LSB Polinomial 16 2 1 3 2
IN&BPCS RBF 8 0.25 — — 2

Tabla 4.5: Parámetros usados para la obtención de los modelos

Algoritmo VP FN FP
Esteganográfico
ZDSS 92 8 7
BPCS 70 30 41
Piva 95 5 4
LSB 91 9 19

Tabla 4.6: Resultados alcanzados por la SVM

4.5. Comparación entre clasificadores

La comparación de los tres clasificadores se muestra en la tabla 4.7. En ella se puede

observar que el clasificador que nos ofrece un mejor desempeño es la SVM ya que el

promedio de la tasa VP es el mas alto mientras que el promedio de la tasa FN es la

mas baja de los tres clasificadores.

Promedio RN GMM SVM


VP 84.25 81.5 87
FN 15.75 18.5 13
FP 13.5 23 17.75

Tabla 4.7: comparación de los tres clasificadores


CAPÍTULO 4. RESULTADOS 77

4.6. Comparación con otros sistemas de este-

goanálisis

Los resultados que se obtuvieron del clasificador SVM fueron comparados con otros

sistemas de estegoanálisis encontrados en la literatura, dichos esquemas son los siguien-

tes:

Sistema propuesto por H. Farid

Sistema propuesto por J. J. Harmsen

Sistema propuesto por G. Xuan

En [33], Farid propone un método general de estegoanálisis basado en las estadı́sticas

de la imagen de alto orden. Estas estadı́sticas están basadas en la descomposición

de las imágenes mediante el uso de filtros de espejos de cuadratura separables. Las

estadı́sticas de alto orden provenientes de las subbandas son usadas como caracterı́sticas

para el estegoanálisis. Este sistema usa un clasificador de tipo bayesiano para realizar

la separación de las dos clases de imágenes.

Harmsen [21] propuso un sistema de estegoanálisis basado en el centro de masa

(primer momento estadı́stico) del histograma de la función caracterı́stica, el cual es

usado como caracterı́stica para la detección de estego-imágenes. Al igual que el sistema

anterior este también usa un clasificador bayesiano.

En [34], Xuan presentó un sistema de estegoanálisis basado en los momentos es-

tadı́sticos de la función caracterı́sticas de la Trasformada Wavelet y la predicción del

error de la imagen, este sistema usa como caracterı́sticas para el estegoanálisis los tres

primeros momentos estadı́sticos de las subbandas, las cuales son obtenidas al aplicar la

descomposición Wavelet hasta el tercer nivel, el sistema usa una red neuronal para la

clasificación de los dos grupos de imágenes.


CAPÍTULO 4. RESULTADOS 78

VP VP VP VP
Algoritmo Farid Harmsen Xuan Sistema
esteganográfico [33] [21] [34] propuesto
BPCS — — 57 70
Piva 88 79 98 95
LSB 72 56 97 91
ZDSS — — 85 92

Tabla 4.8: Comparación de porcentajes del sistema propuesto con otros esquemas de
estegoanálisis

La comparación entre los sistemas previamente mencionados y los resultados alcan-

zados con la SVM se muestran en la tabla 4.8. Para comparar los diferentes sistemas se

hizo uso de la tasa de detección VP la cual indica el porcentaje de estego-imágenes que

fueron clasificadas como tales correctamente. Los datos fueron tomados de los artı́culos,

en los que fueron presentados cada uno de los sistemas. Los sı́mbolos “—” significan

que no hay información disponible.

4.7. Resultados del sistema propuesto

En la figura 4.2 se puede observar el diagrama a bloques del sistema propuesto,

el cual hizo uso de la SVM en la parte del clasificador. La eficiencia del desempeño

del sistema propuesto fue medida haciendo uso nuevamente de las tasas VP, FN, FP,

las cuales se adquirieron por medio del siguiente experimento: de los cuatro conjuntos

de imágenes marcadas por diferentes algoritmos esteganográficos (Piva, ZDSS, BPCS,

LSB), se tomaron 25 imágenes por cada conjunto, estas imágenes fueron mezcladas en

un solo grupo de 100 estego-imágenes, este nuevo conjunto fue introducido al sistema

propuesto para conocer cuantas de estas estego-imágenes eran reconocidas como tales,

ası́ de este modo podemos obtener la tasa VP que es la que nos indica el numero de

estego-imágenes reconocidas exitosamente. Este experimento se repitió en 10 ocasiones,


CAPÍTULO 4. RESULTADOS 79

Figura 4.2: Diagrama a bloques del sistema propuesto

Algoritmo VP FN FP
esteganográfico
Métodos 91 9 52
mezclados

Tabla 4.9: Resultados del sistema propuesto

el promedio obtenido de estas repeticiones se muestra en la tabla 4.9.

4.8. Conclusiones

En este capı́tulo se presentaron los resultados obtenidos al probar cada uno de los

clasificadores, previamente mencionados en el capı́tulo tres. Se puede decir que en el

caso de los tres clasificadores se obtuvieron buenos resultados, haciendo para cada uno

de ellos las siguientes observaciones: para el caso de la red neuronal se observo que esta

tiene un buen desempeño en la detección de estego-imágenes creadas por los algoritmos

Piva, LSB, ZDSS pero tiene una deficiencia importante en la detección de imágenes

marcados por el algoritmo BPCS, para el cual presento una tasa VP del 57 % lo cual
CAPÍTULO 4. RESULTADOS 80

representa una tasa de detección muy baja. En el caso del GMM este presentó buenos

resultados ya que la tasa VP en el caso del algoritmo BPCS aumentó hasta un 71 % pero

tuvo una retroceso en la detección de estego-imágenes que usaron el método LSB para

ocultar la información. Por último, la SVM presentó un buen desempeño en la detección

de los cuatro algoritmos esteganográficos, ya que en el caso de imágenes marcadas por el

BPCS se tuvo una tasa de detección VP de 70 % y en los otros casos se obtuvieron tasas

mayores al 90 %. De estos tres clasificadores se concluye que es la SVM la que ofrece un

mejor desempeño para ser usada en el sistema propuesto, ya que esta presentó mejores

resultados en la detección de las diferentes estego-imágenes creadas por los métodos

esteganográficos ya mencionados.

En la tabla 4.9 se muestra que el sistema propuesto tiene un buen desempeño en

la detección de estego-imágenes (VP), ası́ como una baja tasa FN lo cual es deseable

para todo sistema de estegoanálisis. También es importante mencionar que aunque la

tasa FP es ligeramente alta, esto no afecta al sistema propuesto, ya que uno de los

propósitos del estegoanálisis es cortar la comunicación entre el emisor y el receptor,

esto se logra destruyendo la información que esta escondida en la estego-imagen por

medio de métodos de tratamiento digital de señales, como algún tipo de compresión, lo

cual no afecta a la calidad visual de las imágenes. Por lo tanto si una imagen natural

es confundida como estego-imagen esta será tratada por métodos digitales de señales

los cuales no repercutirán en la calidad visual de la imagen.

Para finalizar con este capı́tulo, mencionaremos que el sistema propuesto fue com-

parado con otros sistemas de estegoanálisis existentes en la literatura. Los resultados

muestran que el sistema propuesto tiene una mayor capacidad de detección de estego-

imágenes, sin importar el método esteganográfico que haya sido usado para su creación.
Capı́tulo 5

Conclusiones y trabajo a futuro

5.1. Conclusiones generales

En la presente tesis se dio un breve marco teórico referente a la esteganografı́a y

al estegoanálisis en el capı́tulo dos, en este se vieron los humildes inicios de la estega-

nografı́a desde tiempos antiquı́simos, ası́ como la definición y principios básicos de la

esteganografı́a moderna, también los protocolos esteganográficos más comunes fueron

presentados. En este mismo capı́tulo se presentaron las diferentes técnicas de estega-

nográficas, las cuales son las más usadas en los algoritmos de ocultamiento de datos en

imágenes digitales, dichas técnicas son las siguientes:

Sistemas de sustitución

Técnicas en el dominio de la transformada

Técnicas de espectro disperso

Métodos estadı́sticos

Técnicas de distorsión

Métodos de generación de cubiertas

81
CAPÍTULO 5. CONCLUSIONES Y TRABAJO A FUTURO 82

En el capı́tulo dos también se trató la detección de información oculta en archivos digi-

tales por medio del estegoanálisis ası́ como los diferentes ataques que puede realizar el

estegoanalista para la detección de información escondida. Se hablo también de la difı́cil

labor que conlleva la detección de estego-objetos, el problema de detección es usualmen-

te tratado como un problema de reconocimiento y clasificación de patrones, en el cual

se tiene que discernir entre dos clases, imágenes naturales e imágenes esteganografiadas

o también llamadas estego-imágenes. También se trataron los dos enfoques diferentes

que hay en la elaboración de algoritmos de estegoanálisis, por un lado están los algo-

ritmos que tratan de detectar todas las formas de esteganografı́a o por lo menos una

gran mayorı́a de ellos, a este enfoque se le llama estegoanálisis a ciegas. Por otra parte

se tienen los algoritmos que tratan de detectar un tipo especı́fico de esteganografı́a, a

este enfoque se le conoce como esteganálisis de objetivo especı́fico.

De estos dos enfoques, es el esteganálisis a ciegas el de mayor utilidad ya que este

trata de identificar estego-objetos procedentes de diferentes tipos de sistemas estega-

nográficos y no solo de un sistema en especı́fico. Para el entrenamiento de un sistema de

estegoanálisis a ciegas, se usan diferentes tipos de sistemas esteganográficos conocidos,

de esta forma el sistema tiene una mayor probabilidad de detectar sistemas estega-

nográficos desconocidos, los cuales hacen uso de algún tipo de esteganografı́a usada por

alguno de los sistemas que se utilizaron para el entrenamiento.

En el presente trabajo se propuso un sistema de estegoanálisis, basado en el enfoque

de estegoanálisis a ciegas, ya que es este enfoque el de mayor utilidad en el mundo real,

puesto que en la práctica no se sabe o conoce con certeza por medio de que método

esteganográfico fue creado el estego-objeto, por lo cual deben de existir sistemas de

estegoanálisis capaces de realizar la detección de diferentes tipos de esteganografı́a,

para asegurar que el sistema es confiable.


CAPÍTULO 5. CONCLUSIONES Y TRABAJO A FUTURO 83

Como se ha mencionado, una parte clave de un sistema de estegoanálisis es el cla-

sificador, ya que este es el encargado de discernir (en base a las caracterı́sticas que se

le dan) a cual grupo pertenece el objeto analizado. Por tal motivo en este trabajo se

utilizaron tres diferentes tipos de clasificadores: redes neuronales, GMM, SVM. Con

la finalidad de conocer cuál de ellos es el que nos ofrece un mayor desempeño en la

detección de estego-imágenes. Tras la realización de diferentes experimentos se llego a

la conclusión de que es la SVM la que nos ofrece un mejor desempeño en la detección

y clasificación de estego-imágenes, esto se pueden observar en el capı́tulo cuatro en el

cual se presentan los resultados que arrojaron los experimentos, en estos resultados se

puede observar que al usar la SVM se obtiene una mejora notable, como en el caso de la

detección de imágenes elaboradas por el método BPCS. El clasificador GMM también

obtuvo una notable mejora en la detección de estego-imágenes procedentes del algorit-

mo BPCS, sin embargo la detección de estego-imágenes elaboradas por el método LSB

estuvo por debajo de lo que se esperaba, lo que hizo que su desempeño disminuyera. En

cuanto a la detección de estego-imágenes creadas por otros algoritmos esteganográficos,

se obtuvo un desempeño muy similar para los tres clasificadores, los cuales tuvieron una

alta tasa de detección VP, esto significa que el clasificador detectó y clasificó correc-

tamente a la mayorı́a de las estego-imágenes que se le presentaron. Al usar diferentes

métodos esteganográficos para el entrenamiento del sistema propuesto se puede decir

que el sistema es capaz de detectar estego-imágenes procedentes de diferentes algorit-

mos de esteganografı́a, los cuales estén basados o hagan usos de alguno de los tipos de

esteganografı́a, con los cuales fue entrenado él sistema.

Para finalizar podemos concluir que el sistema de estegoanálisis aquı́ propuesto, al

hacer uso de la SVM como clasificador, tiene un mejor desempeño en la detección de

estego-imágenes procedentes de diferentes tipos de esteganografı́a (ya sea en el dominio

espacial o en el dominio frecuencial), que al usar alguno de los otros dos clasificadores
CAPÍTULO 5. CONCLUSIONES Y TRABAJO A FUTURO 84

mencionados anteriormente.

5.2. Trabajo a futuro

Como trabajo a futuro se propone que al vector caracterı́stico se le sean agregadas

más caracterı́sticas, las cuales permitan una mejor diferenciación entre estego-imágenes

e imágenes naturales, lo cual facilitarı́a en gran medida la clasificación de estas dos

clases. También se propone hacer una mejora a la parte de la toma de decisión ya

que la utilizada provocó que el error VP aumentara de forma considerable, una posible

solución serı́a calcular un umbral para la toma de decisión. Otro punto que podrı́a ser

mejorado, es la obtención de nuevos parámetros para la función núcleo utilizada por

la SVM, debido a que la única forma efectiva hasta ahora conocida para obtener los

parámetros óptimos de esta función es mediante el uso de prueba y error, por lo cual

cabe la posibilidad de encontrar nuevos parámetros que mejoren el desempeño de la

SVM para realizar la clasificación de imágenes naturales y estego-imágenes.


Bibliografı́a

[1] Herodotus. The histories. Penguin Books, London, 1996.

[2] A. Tacticius. How to survive under siege/Aineas the tactician. Clarendon ancient

history series, 1990.

[3] E. H. Wilkins. A history of Italian literature. Oxford University Press, London,

1954.

[4] F. Bacon. Of the advancement and proficiencies of learning or the partitions of

sciences, volume VI. Leon Lichfield, Oxford, for R. Young and E. Forest, 1640.

[5] D. Brewster. Microscope, volume XIV. Encyclopedia Britannica or the Dictionary

of Arts, Sciences, and General Literature, Edinburgh, IX-application of photo-

graphy to the microscope, 8th edition, 1857.

[6] R. Eason. A tutorial on BPCS Steganography and its applications. Dept. of Elec-

trical and computer Engineering, University of Maine 5708 Barrows Hall, Oronto,

Maine 04473-5708 USA.

[7] H. Noda, J. Spaulding, M. Shirazi, M. Niimi, and E. Kawaguchi. BPCS stega-

nography combined with JPEG2000 compression. In Proceedings of Pacific Rim

Workshop on Digital Stanography, pages 98–107, Kitakyushu, Japan, July 11-12

2002.

85
BIBLIOGRAFÍA 86

[8] H. Noda, J. Spaulding, M. Shirazi, M. Niimi, and E. Kawaguchi. Application

of bit-plane decomposition steganography to JPEG2000 encoded images. IEEE

Signal Processing Letters, 9(12):410–413, Dec 2002.

[9] G. J. Simmons. The prisoner’s problem and the subliminal channel. In D. Chaum,

editor, Advances in Cryptology-CRYPTO 83, pages 51–67, Plenum Press, 1983.

[10] S. Katzenbeisser and F. Petitcolas, editors. Information Hiding Techniques for

Steganography and Digital Watermarking. Artech House, Inc., Norwood, MA, USA,

2000.

[11] Wipo copyright treaty, 1996.

[12] Document prepared by the international bureau, wipo/int/sin/98/9. Presented at

the WIPO Seminar for Asia and the Pacific Region on Internet and the Protection

of Intellectual Property Rights, Singapore, 1998.

[13] M. Niimi, H. Noda, and E. Kawaguchi. An image embedding in image by a com-

plexity based region segmentation method. In ICIP ’97: Proceedings of the 1997

International Conference on Image Processing (ICIP ’97) 3-Volume Set-Volume 3,

pages 74–77, Washington, DC, USA, 1997. IEEE Computer Society.

[14] J. Zhao and E. Koch. Embedding robust labels into images for copyright protection.

In KnowRight ’95: Proceedings of the conference on Intellectual property rights and

new technologies, pages 242–251, Munich, Germany, Germany, 1995. R. Oldenbourg

Verlag GmbH.

[15] R. Pickholtz, D. Schilling, and L. Milstein. Theory of spread-spectrum

communications-A tutorial. Communications, IEEE Transactions on [legacy, pre

- 1988], 30(5):855–884, 1982.


BIBLIOGRAFÍA 87

[16] A. Piva, M. Barni, F. Bartolini, and V. Cappellini. Dct-based watermark recovering

without resorting to the uncorrupted original image. In ICIP ’97: Proceedings of

the 1997 International Conference on Image Processing (ICIP ’97) 3-Volume Set-

Volume 1, pages 520–523, Washington, DC, USA, 1997. IEEE Computer Society.

[17] K. Solanki, K. Sullivan, U. Madhow, B. S. Manjunath, and S. Chandrasekaran.

Provably secure steganography: Achieving zero k-l divergence using statistical res-

toration. In IEEE International Conference on Image Processing 2006 (ICIP06),

Oct 2006.

[18] P. Wayner. Mimic functions. Cryptologia, XVI(3):193–214, 1992.

[19] S. Craver, N. Memon, B. Yeo, and M. Yeung. Resolving rightful ownerships with

invisible watermarking techniques: Limitations, attacks, and implications. IEEE

Journal on Selected Areas in Communications, 16(4):573–586, 1998.

[20] I. Cox, M. Miller, J. Bloom, J. Fridrich, and T. Kalker. Digital Watermarking and

Steganography. Morgan Kaufmann, 2nd edition, 2007.

[21] J.J. Harmsen. Steganalysis of additive noise modelable information hiding. Mas-

ter’s thesis, Rensselaer Polytechnic Institute, New York.

[22] A. Leon Garcı́a. Probability and random processes for electrical engineering.

Addison-Wesley, 2nd edition, 1994.

[23] G. Xuan, Y. Shi, J. Gao, D. Zou, C. Yang, Z. Zhang, P. Chai, C. Chen, and

W. Chen. Steganalysis based on multiple features formed by statistical moments of

wavelet characteristic functions. In Information Hiding, 7th International Works-

hop, IH 2005, pages 262–277, Barcelona, Spain, June 2005. Springer.


BIBLIOGRAFÍA 88

[24] J.C. Lopez Hernandez and K. Yamaguchi. A survey of steganalysis methods base

on statistical moments of wavelet characteristic function. In UEC International

Miniconference for Exchange Students XIX, pages 37–40, Tokyo, Japan, march

2008.

[25] B. Martı́n del Brı́o and A. Sanz Molina. Redes neuronales y sistemas difusos.

Alfaomega, 2nd edition, 2001.

[26] A. Gonzáles Marcos. Desarrollo de técnicas de minerı́a de datos en procesos in-

dustriales: modelización en lı́neas de producción de acero. PhD thesis, Universidad

de la Rioja, 2006.

[27] D. Reynolds, T. Quatieri, and R. Dunn. Speaker verification using adapted gaus-

sian mixture models. Digital Signal Processing, 10:19–4, 2000.

[28] J.G. Pedroza Bernal. Aplicación de las máquinas de soporte vectorial al reconoci-

miento de hablantes. Master’s thesis, UAM, 2007.

[29] Christopher J. C. Burges. A tutorial on support vector machines for pattern re-

cognition. Data Min. Knowl. Discov., 2(2):121–167, 1998.

[30] Chih-Chung Chang and Chih-Jen Lin. A practical guide to support vector classifi-

cation, 2001. http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf.

[31] Stprtoolbox for matlab. http://cmp.felk.cvut.cz/cmp/cmp\_software.html.

[32] Chih-Chung Chang and Chih-Jen Lin. LIBSVM: a library for support vector machi-

nes, 2001. Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm.

[33] H. Farid. Detecting hidden messages using higher-order statistical models. In In-

ternational Conference on Image Processing, pages 905–908, Rochester, NY, 2002.


BIBLIOGRAFÍA 89

[34] Y. Shi, G. Xuan, D. Zou, J. Gao, C. Yang, Z. Zhang, P. Chai, W. Chen, and

C. Chen. Image steganalysis based on moments of characteristic functions using

wavelet decomposition, prediction-error image, and neural network. In ICME,

Amsterdam, The Netherlands. IEEE.


Apéndice A

Glosario

BPCS - Bit-Plane Complexity Steganography, técnica de esteganografı́a basada en la

segmentación de los planos de bits.

DCT - Discrete Cosine Transform (Transformada Discreta del coseno). Transformada

utilizada para convertir una señal del dominio del tiempo, al dominio de la frecuencia.

DFT - Discrete Fourier Transform (Transformada Discreta de Fourier). Transformada

utilizada para convertir una señal del dominio del tiempo, al dominio de la frecuencia.

DWT - Discrete Wavelet Transform (Transformada Discreta Wavelet). Transformada

utilizada para convertir una señal del dominio del tiempo al domino de la frecuencia

mediante la descomposición de la señal original en varias subbandas de frecuencia.

FN - Tasa de medición Falso Negativo, sirve para cuantificar el numero de estego-

imágenes que fueron confundidas como imágenes naturales.

FP - Tasa de medición Falso Positivo, tasa que permite conocer el número de imágenes

naturales confundidas con estego-imágenes.

GMM - Gaussian Mixture Model, método utilizado para la clasificación de patrones.

LSB - Least Significant Bit.

Piva - Método esteganográfico el cual realiza la inserción de la información en los

coeficientes de la transformada DCT. Es considerado como una técnica de espectro

90
APÉNDICE A. GLOSARIO 91

disperso.

SS - Spread Spectrum (Espectro Disperso).

SVM - Support Vector Machine (Máquina de Soporte Vectorial), técnica utilizada para

la clasificación de patrones.

VP - tasa de medición Verdadero Positivo, esta nos permite conocer el numero de

estego-imágenes detectadas por el sistema de estegoanálisis.

ZDSS - Zero Divergence Secure Steganography, es un algoritmo de esteganografı́a el

cual hace uso de los coeficientes DCT para ocultar el mensaje secreto.
Apéndice B

Base de datos de imágenes

92
APÉNDICE B. BASE DE DATOS DE IMÁGENES 93
Apéndice C

Código fuente

Programa main.m
%Programa que manda a llamar las imágenes a las que se les extraerán
%las caracterı́sticas para el estegoanálisis
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
%Ruta de las imágenes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ruta1=’/Users/julio/Desktop/prueba/’;
ruta2=’/Users/julio/Desktop/stg_ZDSS_p2/’;

cover=[]; stego=[];

for ic=1:810

if ic<10
nombre1=strcat(ruta1,’foto00’,num2str(ic),’.jpg’)
elseif ic<100
nombre1=strcat(ruta1,’foto0’,num2str(ic),’.jpg’)
elseif ic<1000
nombre1=strcat(ruta1,’foto’,num2str(ic),’.jpg’)
end

imagen=imread(nombre1);

%Llamada al programa que realiza la extracción de las caracterı́sticas


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
resultado=analisis(imagen);

%La variable resultado contiene un vector con las 39 caracterı́sticas


%que se extrajeron.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cover=[cover;resultado];

end

for ic=1:810

if ic<10
nombre2=strcat(ruta2,’stg00’,num2str(ic),’.jpg’)
elseif ic<100
nombre2=strcat(ruta2,’stg0’,num2str(ic),’.jpg’)
elseif ic<1000
nombre2=strcat(ruta2,’stg’,num2str(ic),’.jpg’)

94
APÉNDICE C. CÓDIGO FUENTE 95

end

imagen=imread(nombre2);

%Llamada al programa que realiza la extracción de las caracterı́sticas


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
resultado=analisis(imagen);

%La variable resultado contiene un vector con las 39 caracterı́sticas


%que se extrajeron.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
stego=[stego;resultado];

end

Subrutina analisis.m
%Esta función extrae las 39 caracterı́sticas basadas en los momentos
%estadı́sticos de la transformada wavelet
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [moments] = analisis(imagen)

imagen_original=imagen;

[N,M,Z]=size(imagen);

if Z==3
imagen=rgb2ycbcr(imagen);
end imagen=imagen(:,:,1);

nombres2=[’db1 ’];

elementos_imagen=struct(’fr’,{},’x’,{},’fc’,{});

for ic=1:1
%descomposición de la imagen mediante la transformada wavelet
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[LL1,HL1,LH1,HH1]=sub_dwt(imagen,nombres2(ic,:));
[LL2,HL2,LH2,HH2]=sub_dwt(LL1,nombres2(ic,:));
[LL3,HL3,LH3,HH3]=sub_dwt(LL2,nombres2(ic,:));

%Llamada a la función histofc, la cual devuelve la función caracterı́stica


%de cada subbanda de la DWT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[elementos_imagen(1).fr,elementos_imagen(1).x,elementos_imagen(1).fc]=histofc(double(imagen));

[elementos_imagen(2).fr,elementos_imagen(2).x,elementos_imagen(2).fc]=histofc(LL1);
[elementos_imagen(3).fr,elementos_imagen(3).x,elementos_imagen(3).fc]=histofc(HL1);
[elementos_imagen(4).fr,elementos_imagen(4).x,elementos_imagen(4).fc]=histofc(LH1);
[elementos_imagen(5).fr,elementos_imagen(5).x,elementos_imagen(5).fc]=histofc(HH1);

[elementos_imagen(6).fr,elementos_imagen(6).x,elementos_imagen(6).fc]=histofc(LL2);
[elementos_imagen(7).fr,elementos_imagen(7).x,elementos_imagen(7).fc]=histofc(HL2);
[elementos_imagen(8).fr,elementos_imagen(8).x,elementos_imagen(8).fc]=histofc(LH2);
[elementos_imagen(9).fr,elementos_imagen(9).x,elementos_imagen(9).fc]=histofc(HH2);

[elementos_imagen(10).fr,elementos_imagen(10).x,elementos_imagen(10).fc]=histofc(LL3);
[elementos_imagen(11).fr,elementos_imagen(11).x,elementos_imagen(11).fc]=histofc(HL3);
[elementos_imagen(12).fr,elementos_imagen(12).x,elementos_imagen(12).fc]=histofc(LH3);
[elementos_imagen(13).fr,elementos_imagen(13).x,elementos_imagen(13).fc]=histofc(HH3);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
elemento=0;

%Calculo de los tres primeros momentos estadı́sticos de cada una


APÉNDICE C. CÓDIGO FUENTE 96

%de las funciones caracterı́sticas.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for jc1=1:13
for jc2=1:3
elemento=elemento+1;
moments(elemento)=momentos(elementos_imagen(jc1).fc,elementos_imagen(jc1).x,jc2);
end
end
%"moments" es el vector con las 39 caracterı́sticas

%Esta operación convierte a los valores del vector moments, en valores


%que se encuentran en el rango {0,1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
moments=moments/max(moments);
end

Subrutina sub dwt.m


%Esta función descompone la imagen mediante la DWT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [LL0, HL0, LH0, HH0] = sub_dwt(X,wname)

[LL0,HL0,LH0,HH0]=dwt2(double(X),wname);

LL0=LL0/2; HL0=HL0/2; LH0=LH0/2; HH0=HH0/2;

Subrutina histofc.m
%Esta función devuelve la función caracterı́stica de la subbanda
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [fre, abc, fc]= histofc(subbanda)

subbanda=round(subbanda);

variable_a= subbanda(1:end);
valores=min(subbanda(:)):max(subbanda(:));

[fre,abc]= hist(variable_a,valores);

fc=abs(conj(fft(fre,1024)));

Subrutina momentos.m
%Esta función calcula el n-esimo momento estadı́stico de la
%función caracterı́stica.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [m_n]= momentos(H,x,n)

mitad=round(length(H)/2);

f=length(x)*(1:length(H))/length(H);

m_n=sum((f(2:mitad).^n).*H(2:mitad))/sum(H(2:mitad));

Programa RNback.m
%Este programa realiza la clasificación de las imágenes mediante una
%red neuronal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
%se cargan las matrices que contienen los vectores caracterı́sticos
%de las imágenes naturales
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
load vectorfuture\cover;
APÉNDICE C. CÓDIGO FUENTE 97

%se cargan las matrices que contienen los vectores caracterı́sticos


%de las imágenes esteganografiadas
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
load vectorfuture\stego;

for j=1:1

entrenamiento=1:400;
prueba=401:500

mitad1=cover(entrenamiento,:)’;
mitad2=stego(entrenamiento,:)’;

p=[mitad1,mitad2];

t=[-1*ones(1,300),ones(1,300)];
%creación de la red neuronal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
net1=newff(minmax(p),[41 41 41 41 1],{’tansig’ ’tansig’ ’tansig’ ’tansig’ ’purelin’},’trainscg’);

net1=init(net1);

net1.trainParam.show=10;
net1.trainParam.epochs=500000;
net1.trainparam.goal=0.01;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%fase de entrenamiento de la red neuronal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[net1,tr]=train(net1,p,t);

original=0;

a=sim(net1,mitad1);

original=a./abs(a);
original=(original==-1);
original=sum(original);

marcada=0;

b=sim(net1,mitad2);

marcada=b./abs(b);
marcada=(marcada==1);
marcada=sum(marcada);

entrenamiento=[original/300,marcada/300]*100;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Fase de prueba de la red neuronal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
original=0;

a=sim(net1,cover(prueba,:)’);

original=a./abs(a);
original=(original==-1);
original=sum(original);
%La variable "original" nos indica el numero de imágenes naturales
%que fueron clasificadas correctamente
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
marcada=0;

b=sim(net1,stego(prueba,:)’);
APÉNDICE C. CÓDIGO FUENTE 98

marcada=b./abs(b);
marcada=(marcada==1);
%La variable "marcada" nos indica el numero de estego-imágenes que
%fueron clasificadas correctamente
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
marcada=sum(marcada);

end

Programa emGmmprueba.m
%este programa realiza la clasificación de las imágenes mediante
%el uso del GMM incluido en el toolbox stprtool
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;

%se cargan las matrices con los vectores caracterı́sticos tanto de


%las imágenes naturales como de las estego-imágenes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
load cover; load stg_lsb2; load stg_piva; load stg_zdss; load
stg_bpcs;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Este proceso se repite en varias ocasiones para encontrar


%los modelos que nos ofrezcan un mejor desempe~no en la clasificación
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for ia=1:100
entrenamiento=1:400;
prueba=401:500;
%parámetros para calcular los modelos de cada grupo(imágenes
%naturales y estego-imágenes)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
options.cov_type=’full’;
options.ncomp=2;
options.init=’random’;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Calculo de los modelos mediante la función "emgmm"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
control=1;
while control==1
try
modelCover=emgmm(cover(entrenamiento,:)’,options);
control=0;
catch ME
control=1
end
end

control=1
while control==1
try
modelStg=emgmm(stg_piva(entrenamiento,:)’,options);
control=0;
catch ME2
control=1
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Fase de prueba de los modelos encontrados
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
X=[cover(prueba,:)’,stg_piva(prueba,:)’];
y=[ones(1,100),2*ones(1,100)];
tst=struct(’X’,X,’y’,y);
APÉNDICE C. CÓDIGO FUENTE 99

resultados=[];
for i=1:200
resultado1=pdfgmm(tst.X(:,i),modelCover);
resultado2=pdfgmm(tst.X(:,i),modelStg);
aux=[resultado1,resultado2];
[val,pos]=max(aux);
resultados=[resultados,pos];
end

posicion2=(resultados(100:200)==2);
num_stg=sum(posicion2)
%La variable "num_stg" nos indica el numero de estego-imágenes que
%fueron clasificadas correctamente
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
posicion1=(resultados(1:100)==1);
num_cover=sum(posicion1)
%La variable "num_cover" nos indica el numero de imágenes naturales
%que fueron clasificadas correctamente
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end

Programa tesSvmDb1.m
%este program realiza la clasificación de las imágenes mediante la
%SVM incluida en el toolbox libsvm
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all; clc;

%se cargan las matrices con los vectores caracterı́sticos tanto de


%las imágenes naturales como de las estego-imágenes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
load BD1\cover; load BD1\stg_piva; load BD1\stg_lsb2; load
BD1\stg_bpcs; load BD1\stg_zdss;

entrenamiento=1:400; prueba=401:500;

instancias=[cover(entrenamiento,:);stg_zdss(entrenamiento,:)];
etiquetas=[ones(1,400)’;-1*ones(1,400)’];

instancias2=[cover(prueba,:);stg_zdss(prueba,:)];
etiquetas2=[ones(1,100)’;-1*ones(1,100)’];

%Este segmento de código realiza la cross-validation la cual nos


%permite encontrar los parámetros óptimos para realizar la
%clasificación y utiliza la función núcleo "RBF"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
bestcv = 0; for log2c = 17:17,
for log2g = -4:-4,
cmd = [’-s 0 -t 2 -v 2 -c ’, num2str(2^log2c), ’ -g ’, num2str(2^log2g)];
cv = svmtrain(etiquetas,instancias, cmd);
if (cv > bestcv),
bestcv = cv; bestc = 2^log2c; bestg = 2^log2g;
end
fprintf(’%g %g %g (best c=%g, g=%g, rate=%g)\n’, log2c, log2g, cv, bestc, bestg, bestcv);
end
end

parametros=[’-s 0 -t 2 -c ’,num2str(bestc),’ -g ’,
num2str(bestg),’ -b 1’];

%Este segmento de código realiza la cross-validation con la función


%núcleo "polinomial" esta se utiliza si la función RBF no nos dio
%resultados aceptables
APÉNDICE C. CÓDIGO FUENTE 100

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% bestcv = 0;
% for log2d= 3:3
% for log2r = 1:1
% for log2c = 4:4,
% for log2g = 1:1,
% cmd = [’-s 0 -t 1 -v 2 -c ’, num2str(2^log2c), ’ -g ’, num2str(2^log2g), ...
% ’ -r ’,num2str(log2r),’ -d ’,num2str(log2d)];
% cv = svmtrain(etiquetas,instancias, cmd);
% if (cv >= bestcv),
% bestcv = cv; bestc = 2^log2c; bestg = 2^log2g; bestr=log2r;
% bestd=log2d;
% end
% fprintf(’%g %g %g ’, log2c, log2g, cv);
% fprintf(’(best r=%g, d=%g, c=%g, g=%g, rate=%g)\n’, bestr, bestd, bestc, bestg, bestcv);
% end
% end
% end
% end
% % % % % % bestc=256;bestg=1024;bestr=-4;bestd=1;
% parametros=[’-s 0 -t 1 -c ’,num2str(bestc),’ -g ’, num2str(bestg) ...
% ’ -r ’, num2str(bestr),’ -d ’,num2str(bestd)];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

modelo = svmtrain(etiquetas, instancias,parametros);


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%la variable accurancy nos indica el porcentaje de aprendizaje de la
%SVM en la fase de entrenamiento
[predict_label, accuracy, prob_estimates] = svmpredict(etiquetas,
...
instancias, modelo,’-b 1’);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[predict_label2, accuracy2, prob_estimates2] =


svmpredict(etiquetas2(1:100,:), ...
instancias2(1:100,:), modelo);
%La variable "accurancy" nos indica el numero de imagenes naturales
%que fueron clasificadas correctamente en la fase de prueba
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[predict_label3, accuracy3, prob_estimates3] =


svmpredict(etiquetas2(101:200,:), ...
instancias2(101:200,:), modelo);
%La variable "accurancy3" nos indica el numero de estego-imágenes que
%fueron clasificadas correctamente en la fase de prueba
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Programa cuatroSVMs.m
%Este programa es utiliza 4 SVMs para realizar la identificación de
%estego-imágenes creadas por diferentes métodos esteganográficos, e
%imágenes naturales
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all; clc

%se cargan las matrices con los vectores caracterı́sticos tanto de


%las imágenes naturales como de las estego-imágenes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
load BD1\cover; load BD1\stg_piva; load BD1\stg_lsb2; load
BD1\stg_bpcs; load BD1\stg_zdss;

%Se cargan los modelos SVM para realizar la clasificación de las


%imágenes
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
APÉNDICE C. CÓDIGO FUENTE 101

load modelo_lsb2; load modelo_piva2; load modelo_zdss2; load


modelo_bpcs2;

suma_cover=0; suma_stg=0;

%Experimento se realizo en diferentes ocasiones


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for iext=1:30
%Se cargan las imagenes con las que se probará al sistema
prueba=500+randperm(100);

X_cover=[cover(prueba,:)];

X_stg=[stg_bpcs(prueba(1:25),:);stg_zdss(prueba(26:50),:);...
stg_piva(prueba(51:75),:);stg_lsb2(prueba(76:100),:)];

X=[X_cover;X_stg];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
num_cover=0;
num_stg1=0;
%Se lleva a cabo la clasificación de cada uno de las imágenes, ya
%sea como estego-imágenes o como imagen natural
for i=1:100
res1=svmpredict(-1,X(i,:),modelo_lsb2);
res2=svmpredict(-1,X(i,:),modelo_piva);
res3=svmpredict(-1,X(i,:),modelo_zdss);
res4=svmpredict(-1,X(i,:),modelo_bpcs);

%Todas las variable res-n tiene que ser igual a 1


%para que la imagen sea considerada como imagen natural
if res1==1&&res2==1&&res3==1&&res4==1
num_cover=num_cover+1;
%La variable "num_cover" nos indica el numero de imágenes naturales
%que fueron clasificadas correctamente en la fase de prueba
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end

%Si alguna variable res-n es igual a -1 la imagen es considerada


%como estego-imagen.
if res1==-1||res2==-1||res3==-1||res4==-1
num_stg1=num_stg1+1;
end
%La variable "num_stg1" nos indica el numero de estego-imágenes que
%fueron clasificadas correctamente en la fase de prueba
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
suma_cover=suma_cover+num_cover;
suma_stg=suma_stg+num_stg1;
end

%Se saca el promedio de imágenes naturales clasificadas correctamente


suma_cover/30
%Se saca el promedio de estego-imágenes clasificadas correctamente
suma_stg/30
Apéndice D

Publicaciones

Revistas

C. Velasco Bautista, J.C. López Hernández, M. Nakano Miyatake y H. Pérez Meana.

Esteganografı́a en una imagen digital en el dominio DCT. En Cientı́fica Vol.11, No 4,

pp 169-176, 2007.

Julio Lopez, Alondra Hernandez, Karina Toscano, Mariko Nakano and Hector

Perez. A Reliable Methodology of Image Steganalysis. In NOVA

Congresos Nacionales

Carlos Velasco, Julio López, Mariko Nakano y Hector Pérez. Comparación de algorit-

mos esteganográficos desde el punto de vista del esteganálisis y robustez. En Congreso

de Instrumentación, SOMI XXII, 30 Sep-4 Oct, CVBXXII97, 2007.

J.C Lopez Hernadez and K. Yamaguchi. A survey of steganalysis methods base

on statistical moments of wavelet characteristic function. In UEC International

Miniconference for Exchange Students XIX, pages 37-40, Tokyo, Japan, march 2008.

102
APÉNDICE D. PUBLICACIONES 103

Congresos Internacionales

J. Lopez-Hernadez, R. Martinez-Noriega, M. Nakano-Miyatake and k. Yamaguchi. A

survey of wavelet domain steganalysis methods. In Symposium on Cryptography and

Information Security, SCIS2008, Miyazaki, Japan, January, 2008.

J. Lopez-Hernandez, R. Martinez-Noriega, M. Nakano-Miyatake and K. Yama-

guchi. Detection of BPCS-steganography using SMWCF steganalysis and SVM. In

International Symposium on Information Theory and its Application, ISITA2008,

Auckland, New Zealand, December, 2008.

A. Hernandez-Chamorro, A. Espejel-Trujillo, J. Lopez-Hernandez, M. Nakano-

Miyatake, H. Perez-Meana. A Methodology of Steganalysis for Images. In CONIELE-

COMP2009.
APÉNDICE D. PUBLICACIONES 104
APÉNDICE D. PUBLICACIONES 105
APÉNDICE D. PUBLICACIONES 106
APÉNDICE D. PUBLICACIONES 107
APÉNDICE D. PUBLICACIONES 108
APÉNDICE D. PUBLICACIONES 109
APÉNDICE D. PUBLICACIONES 110
APÉNDICE D. PUBLICACIONES 111
APÉNDICE D. PUBLICACIONES 112
APÉNDICE D. PUBLICACIONES 113
APÉNDICE D. PUBLICACIONES 114
APÉNDICE D. PUBLICACIONES 115
APÉNDICE D. PUBLICACIONES 116
APÉNDICE D. PUBLICACIONES 117
APÉNDICE D. PUBLICACIONES 118
APÉNDICE D. PUBLICACIONES 119
APÉNDICE D. PUBLICACIONES 120
APÉNDICE D. PUBLICACIONES 121
APÉNDICE D. PUBLICACIONES 122
APÉNDICE D. PUBLICACIONES 123
APÉNDICE D. PUBLICACIONES 124
APÉNDICE D. PUBLICACIONES 125
APÉNDICE D. PUBLICACIONES 126
APÉNDICE D. PUBLICACIONES 127
APÉNDICE D. PUBLICACIONES 128
APÉNDICE D. PUBLICACIONES 129
APÉNDICE D. PUBLICACIONES 130
APÉNDICE D. PUBLICACIONES 131
APÉNDICE D. PUBLICACIONES 132
APÉNDICE D. PUBLICACIONES 133
APÉNDICE D. PUBLICACIONES 134
APÉNDICE D. PUBLICACIONES 135
APÉNDICE D. PUBLICACIONES 136
APÉNDICE D. PUBLICACIONES 137
APÉNDICE D. PUBLICACIONES 138
APÉNDICE D. PUBLICACIONES 139
APÉNDICE D. PUBLICACIONES 140
APÉNDICE D. PUBLICACIONES 141
APÉNDICE D. PUBLICACIONES 142
APÉNDICE D. PUBLICACIONES 143
APÉNDICE D. PUBLICACIONES 144
APÉNDICE D. PUBLICACIONES 145
APÉNDICE D. PUBLICACIONES 146
APÉNDICE D. PUBLICACIONES 147
APÉNDICE D. PUBLICACIONES 148
APÉNDICE D. PUBLICACIONES 149
APÉNDICE D. PUBLICACIONES 150

También podría gustarte