Estegoanalisis PDF
Estegoanalisis PDF
Estegoanalisis PDF
NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
CULHUACAN
TESIS
QUE PARA OBTENER EL GRADO DE:
PRESENTA:
ASESORES:
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
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
gas, el cual tiene como principal objetivo detectar la presencia de mensajes ocultos
terı́sticas de una imagen, las cuales son los tres primeros momentos estadı́sticos de
Máquina de Soporte Vectorial (SVM) para clasificar a las imágenes como imágenes con
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,
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
proposed system has shown to have a higher performance in the detection of stego-
1. Introducción 1
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Metas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4. Metodologı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Marco teórico 5
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
i
ÍNDICE GENERAL ii
2.7. Estegoanálisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.9. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3. Sistema propuesto 43
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4. Clasificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.6. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4. Resultados 73
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.8. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Bibliografı́a 87
A. Glosario 93
C. Código fuente 97
D. Publicaciones 105
Índice de Tablas
3.1. Resultados del sistema usando diferentes wavelets con una red neuronal 52
de estegoanálisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
iv
Índice de figuras
mediante la función φ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
v
Capı́tulo 1
Introducción
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
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
digitales como lo son las fotografı́as, videos, archivos de audio, archivos de texto, etc.
las personas ajenas o que no son dueños de esta información. Ası́ como la criptografı́a
de los objetivos del estegoanálisis es clasificar los diferentes archivos digitales en dos
1
CAPÍTULO 1. INTRODUCCIÓN 2
1.1. Objetivos
El sistema será capaz de detectar si las imágenes han sido marcadas por alguno de los
emisor y receptor.
1.2. Justificación
ésta a salvo de poder ser usada para fines maliciosos, ejemplo de esto es como algunas
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,
1.3. Metas
goanálisis.
de la especialidad.
1.4. Metodologı́a
1. Se realiza la revisión del estado del arte tanto de la esteganografı́a como del
estegoanálisis.
anteriores.
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
1.6. Conclusiones
se dieron a conocer los objetivos de este proyecto y las metas que se pretenden alcanzar
Marco teórico
2.1. Introducción
En los últimos años tanto las tecnologı́as de la información como las telecomunica-
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
para sus dueños. Ciertamente el Internet nos ha permitido una comunicación rápida y
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
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
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
mación entre diferentes grupos terroristas, otro uso que se le ha dado es la distribución
digitales.
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
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
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
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-
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
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,
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
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
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
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.
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
diana de muchas familias y de la mayor parte de las empresas. Sin embargo, la falta
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.
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,
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
com/.
Gracias a los avances que se han tenido en la computación y al uso más frecuente
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
el orbe.
de algún archivo digital. Los bits que componen el mensaje oculto se introducen (ya
continuación:
y video que son utilizados como archivos portadores, el mensaje secreto se oculta en
y tiene la caracterı́stica de ser un archivo inocente de tal forma que este no levante
ser cualquier medio digital descrito anteriormente, cuando el mensaje secreto es ocultado
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,
en el canal ninguna persona sabe la existencia del mensaje sin embargo esta expuesta
inverso.
CAPÍTULO 2. MARCO TEÓRICO 11
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-
tipo de comunicación entre ellos será vigilada por la guardia Eve y ella no les permi-
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
Por ejemplo Bob podrı́a esconder su mensaje secreto usando la primera letra de cada
la guardia Eve.
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
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.
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
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
den ser cualquier tipo de información entendible para una computadora, tales como:
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.
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
tas transmitidas entre ambos participantes de la comunicación. Él debe ser incapaz de
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
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
ser utilizado dos veces debido a que un adversario, tiene acceso a las dos versiones de la
la reutilización accidental, tanto el emisor como el receptor deben destruir todas las
Esteganografı́a pura
secreto de la cubierta. Es necesario que ambos, remitente y receptor deban tener acceso
por ejemplo el remitente cifra el mensaje secreto antes del proceso de ocultamiento,
ilegibilidad del mensaje sino también, porque al cifrar el mensaje este adquiere un
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
de cada cubierta enviada entre Alice y Bob. Para proveer de una mayor seguridad al
el remitente escoge una cubierta c y oculta el mensaje secreto usando una llave secreta
el proceso inverso extraer el mensaje secreto. Ninguna persona que no conoce la llave
ser encarcelados.
requieren el uso de dos llaves, una privada y una pública. Mientras que la llave pública
de criptosistemas de llave pública. Se podrı́a asumir que Alice y Bob pueden inter-
entero de C ). Para éste último caso se tiene que al aplicar la función D, ésta dará como
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.
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
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
de que la información extraı́da no son más que simples bits aleatorios. Por lo tanto, ella
permiten ocultar datos en un objeto determinado, sin embargo todos los protocolos y
el proceso.
se pudiera notar, una tercera persona puede ver que hay información que ha sido
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
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
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
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
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
Tal vez ésta sea una de las técnicas más comunes y también una de las más sencillas
El proceso de ocultamiento es muy sencillo, puesto que lo único que se tiene que realizar
longitud del mensaje) por los bits que conforman el mensaje secreto.
CAPÍTULO 2. MARCO TEÓRICO 21
(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
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
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
cambios es 0 cuando todos los pı́xeles sean negros o todos sean blancos, mientras que el
k
α= (2.1)
2 × m × (m − 1)
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
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-
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
Como se vio anteriormente, los sistemas de sustitución son una manera sencilla
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
frecuencia de la imagen puesto que esto resulta mucho más robusto que ocultar la
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-
que usan la transformada discreta de Furier (DFT) para realizar el ocultamiento. Las
lo largo de la ésta. El precio que se paga por tener una mayor robustez, se ve reflejado
las más usadas en este tipo de esteganografı́a. La DCT esta dada por la ecuación 2.2 y
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
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
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-
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
imagen.
blemente en su mayorı́a éstos sean ruido por lo que no se espera que contribuyan con
reconstruir los datos. La imagen reconstruida será muy parecida a la imagen original
humano.
CAPÍTULO 2. MARCO TEÓRICO 25
El método que se describe a continuación es muy similar al sistema propuesto por Zhao
ques de 8×8 pı́xeles, cada uno de los bloques esconderá exactamente un bit del mensaje
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
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
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
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
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
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
frecuencias de las bandas, suficiente información debe estar presente en las otras bandas
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
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
Método de piva
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].
si por el contrario se transmite un “0” la cubierta debe de pertenecer sin cambios. Por lo
ples sistemas de “1-bit”, la cubierta debe de ser dividida en l(m) bloques separados
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
para restaurar los bits del mensaje secreto. Este tipo de esteganografı́a es muy difı́cil
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
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.
Las técnicas de distorsión pueden ser fácilmente aplicadas a las imágenes digitales,
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.
El receptor compara todos los pı́xeles l(m) seleccionados del estego-objeto contra los
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
2.7. Estegoanálisis
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-
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
C =p+t (2.7)
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
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
más perceptibles de la cubierta, harı́an a la información más robusta pero esto también
que es utilizada; la detección de información oculta se convierte en una tarea muy com-
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-
información oculta. Cualquier cubierta puede ser manipulada con la intensión de desha-
la cual solo se tomaran en cuenta a las cubiertas que contengan información escondida.
estegoanalista[10]:
análisis.
CAPÍTULO 2. MARCO TEÓRICO 32
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
nográficas especı́ficos.
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
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
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
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
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-
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
en el cual los objetos de las clases son representados (p. ej., el espacio de caracterı́sticas).
cometer dos tipos de errores, uno es decidir que una cubierta es un estego-objeto, a esto
clases son representadas por una o más caracterı́sticas, de este modo un clasificador de
tarán a las cubiertas y a los estego-objetos. Este paso es muy importante ya que una
esta adecuada elección se tendrá por resultado una pobre clasificación. La transformada
256 dimensiones y cada instancia del vector caracterı́stico puede ser considerada como
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
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
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
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
de un objeto encubridor, lo cual puede ser utilizado para obtener valiosas caracterı́sticas
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
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
valor grande al calcular dicha suma, como lo pueden ser imágenes con muchas texturas
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
En resumen, las caracterı́sticas que deben ser tomadas en cuenta para el diseño de
esteganografı́a que se quieren atacar son desconocidos. Es por eso que se debe de tener
como una guı́a para la elección de las caracterı́sticas, éstas deberán estar presentes en
Una vez que las caracterı́sticas han sido dadas, el clasificador debe de ser entrenado.
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.
estego-objetos que han sido generados por una gran variedad de algoritmos estega-
las cubiertas. Esto hace referencia al aprendizaje de una-clase. Este clasificador simple-
por consiguiente, etiquetará cualquier objeto que no sea compatible con la distribución
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-
bración
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
estego-objeto. Si esto se hace con exactitud y se obtiene una gran diferencia entonces
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
para calibrar algunas cantidades macroscópicas como puede ser el histograma DCT 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
ya que se usa el hecho de que los pı́xeles vecinos en una imagen están correlacionados,
el dominio espacial, una vez echo esto es recortada cuatro pı́xeles en cada dirección y
sificador. Uno de los mas simples es el clasificador lineal discriminante de Fisher, pero
dor, este es entrenado por dos grupos especiales de caracterı́sticas uno es extraı́do de las
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
hs = hc ∗ f (2.9)
donde hs será más suave que hc , esto quiere decir que mas energı́a estará concentrada
estego-imagen. Una vez hecha la trasformación, serı́a de gran ayuda poder aplicar algo
útiles que representen a las estego-imágenes y a las cubiertas. Ya que los algoritmos
CAPÍTULO 2. MARCO TEÓRICO 41
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
2.9. Conclusiones
en épocas antiguas y de su uso en tiempos más recientes, se hizo mención de las técni-
seguridad.
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
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
Sistema propuesto
3.1. Introducción
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
ples caracterı́sticas de una imagen, estas caracterı́sticas son los momentos estadı́sticos
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
cuatro. En las siguientes secciones se vera con mas detalle a cada una de las partes que
puesto
aquı́ mostrado de una forma global, éste consta de tres partes fundamentales:
Extracción de caracterı́sticas
Toma de decisión
cuales son un factor importante para la correcta clasificación de las imágenes analizadas,
pasan a ser la entrada del clasificador (SVM, GMM o RN) el cual se encarga de separar
la sección 2.7.3 el clasificador puede ser entrenado con estego-objetos generados por
método, los algoritmos esteganográficos usados fueron los siguientes: Piva, ZDSS, LSB
analizada como una potencial portadora de información secreta o como una simple
tenerla, éstas pueden ser clasificadas en dos grupos: imágenes con información ocul-
patrones, el cual trata de identificar a que grupo pertenece cualquier imagen que sea
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
to con una sola caracterı́stica, por lo tanto este trabajo usa múltiples caracterı́sticas
usando las descomposición wavelet de la imagen, los pasos para la extracción de estas
el cual es una representación del mensaje secreto, éste tiene una función de masa de
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
la que el ruido afecta a los pı́xeles podemos considerar de manera general que este tiene
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
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
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
donde N es igual a la intensidad mas grande que puede tener un pı́xel en una imagen,
de la siguiente forma
permitirá encontrar patrones que pueden ser usados como caracterı́sticas particulares
reflejan la distribución estadı́stica de los coeficientes en cada una de las subbadas. Esto
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
las subbandas en diferentes niveles de la DWT, se propuso en [23] usar los momentos
P
N/2
fin |H[fi ]|
i=1
Mn = (3.4)
P
N/2
|H[fi ]|
i=1
total de puntos que hay en el eje horizontal del histograma. De acuerdo con la teorı́a
CAPÍTULO 3. SISTEMA PROPUESTO 49
es |H[fi ]| simétrica, por lo tanto solo se necesita usar la mitad de los puntos para el
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
secreto en una imagen como la adición de ruido, en la mayorı́a de los casos este ruido
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
Para poder clasificar a las imágenes que serán analizadas por el sistema de este-
estegoanálisis propuesto en este trabajo hace uso de 39 caracterı́sticas, éstas están con-
imagen, 12 de ellas (LL1 , HL1 , LH1 , HH1 , LL2 , HL2 , LH2 , HH2 , LL3 , HL3 , LH3 , HH3 )
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
En la tabla 3.1 se muestran los resultados del sistema usando diferentes wavelets
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
Tabla 3.1: Resultados del sistema usando diferentes wavelets con una red neuronal
3.4. Clasificadores
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
patrones, los clasificadores analizados fueron los siguientes: red neuronal entrenada con
vectorial. En las siguientes secciones solo se dará una breve introducción de cada uno
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
Las redes neuronales han demostrado ser una buena herramienta en la solución
trabaja se utilizó una red neuronal con una arquitectura de perceptrón multicapa o MLP
El perceptrón simple
Este modelo neuronal fue introducido por Rosenblatt a finales de los años cincuenta.
alto nivel.
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
mación (en principio consideraremos señales discretas {0,+1}) a las neuronas de salida.
con H(·) la función escalón. El perceptrón puede utilizarse tanto como clasificador,
por Rosenblatt, permite determinar automáticamente los pesos sinápticos que clasifican
El perceptrón multicapa
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
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-
recurrentes.
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
Algoritmo de retropropagación
a través de las diferentes capas de la red: una hacia delante y otra hacia atrás. En la
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
red, haciendo que los pesos se ajusten de tal forma que la salida de la red se aproxime
minimización del error mediante el descenso del gradiente, donde los pesos de la capa
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
salida se calcula según la ecuación 3.12 donde fs (·) es la función de activación de las
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:
3. Propagar la activación hacia delante a través de los pesos hasta que la activación
4. Calcular los valores de δ para las capas de salida (δk ) usando los valores objetivo
6. Actualizar los pesos de la capa de salida y de la capa oculta, de acuerdo con las
Tomando como medida del error la media del error cuadrático (MSE), la actualiza-
∂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
por
Mi
X
p(x|λi ) = wij pij (x), (3.17)
j=1
De esta forma se obtiene que la función 3.17 es también una función de probabilidad.
1 1 −1
pij (x) = n 1 exp(− (x − µij )Σij (x − µij )T ), j = 1, . . . , Mi . (3.19)
(2π) |Σij |
2 2 2
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
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
cociente:
p(x|λi )
(3.21)
p(x|¬λi )
al que se denomina Cociente de Probabilidades y es denotado por LR por sus siglas
esta manera el cociente LR toma también un valor máximo para el conjunto Ei , el cual
y error:
p(x|λi ) ≥ θi x pertenece a λi .
LR(x) = (3.23)
p(x|¬λi )
< θi x pertenece a ¬λi .
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
pertenece x con mayor probabilidad, es suficiente elegir el modelo cuyo valor de LLR(x)
mización del riesgo estructural de Vapnik. Las SVM son usadas en la clasificación de
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
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
w · x + b = 0, b∈R (3.30)
CAPÍTULO 3. SISTEMA PROPUESTO 61
existen una infinidad de tales vectores. Ası́, es necesario establecer un criterio que
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
w · w + b = −ε (3.33)
CAPÍTULO 3. SISTEMA PROPUESTO 62
con yj ∈ {1, −1}, para cada uno de los vectores xj de C, entonces el problema de
yi (w · xi + b) ≥ ε, i = 1, . . . , l,
ε > 0, b ∈ R. (3.36)
de la siguiente forma:
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)
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
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
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
ε
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,
Ası́, el vector w dado en la ecuación 3.40 es conocido como el vector de soporte del
Vectorial.
Puede considerarse que el sistema lineal de ecuaciones dado en 3.43, es una conclu-
dicho sistema puede ser obtenido también para cualesquiera dos conjuntos en Rn . Ası́,
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
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
para C2 ).
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
En el caso linealmente separable, puede observarse que las operaciones con vectores
función que determina una norma y a su vez una métrica para el espacio:
√
kxk = x · x, (3.44)
espacio es
½ ¾
1
mı́n f (w) = kwk2 , w∈R m
2ε
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)
suficiente, como lo muestra la ecuación 3.47, con establecer la función núcleo K para
Lineal:
K(xi , xj ) = xi · xj (3.51)
Polinomial:
Sigmoide:
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
Del los tres clasificadores mencionados anteriormente, la SVM es la que nos ofrece
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
las SVMs, dicho entrenamiento permitirá que las SVMs puedan hacer la distinción entre
cada una de las SVMs, la salida que arroja cada una de estas SVMs, es utilizada para
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
Rf = R1 ∧ R2 ∧ R3 ∧ R4 (3.55)
CAPÍTULO 3. SISTEMA PROPUESTO 69
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
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
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
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
capı́tulo cuatro. El sistema propuesto hace uso de cuatro SVMs una por cada uno de
SVMs intervendrá en la toma de decisión final acerca de que si la imagen oculta algún
Resultados
4.1. Introducción
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
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-
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
en el campo del estegoanálisis para conocer con que eficiencia los sistemas lleva acabo
confundidas como imágenes naturales y FP es la tasa que nos indica cuantas imágenes
continuación.
una red neuronal artificial, ya que estas han presentado un buen desempeño en la cla-
Algoritmo VP FN FP
esteganográfico
ZDSS 85 15 8
BPCS 57 43 39
Piva 98 2 1
LSB 97 3 6
perceptrones simples para obtener una red neuronal de perceptrones multicapa, usual-
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
esteganográficos usados para realizar las pruebas, sin embargo para el algoritmo BPCS
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
en 3.20, para que estos maximicen la función 3.17, el algoritmo que se utiliza para
CAPÍTULO 4. RESULTADOS 74
Algoritmo VP FN FP
esteganográfico
ZDSS 82 18 9
BPCS 71 29 45
Piva 94 6 3
LSB 79 21 35
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
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
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
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
(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
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
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
Algoritmo VP FN FP
Esteganográfico
ZDSS 92 8 7
BPCS 70 30 41
Piva 95 5 4
LSB 91 9 19
observar que el clasificador que nos ofrece un mejor desempeño es la SVM ya que el
goanálisis
Los resultados que se obtuvieron del clasificador SVM fueron comparados con otros
tes:
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
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
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
zados con la SVM se muestran en la tabla 4.8. Para comparar los diferentes sistemas se
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
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
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
Algoritmo VP FN FP
esteganográfico
Métodos 91 9 52
mezclados
4.8. Conclusiones
En este capı́tulo se presentaron los resultados obtenidos al probar cada uno de los
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
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
BPCS se tuvo una tasa de detección VP de 70 % y en los otros casos se obtuvieron tasas
mejor desempeño para ser usada en el sistema propuesto, ya que esta presentó mejores
esteganográficos ya mencionados.
la detección de estego-imágenes (VP), ası́ como una baja tasa FN lo cual es deseable
tasa FP es ligeramente alta, esto no afecta al sistema propuesto, ya que uno de los
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
Para finalizar con este capı́tulo, mencionaremos que el sistema propuesto fue com-
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
nográficas, las cuales son las más usadas en los algoritmos de ocultamiento de datos en
Sistemas de sustitución
Métodos estadı́sticos
Técnicas de distorsión
81
CAPÍTULO 5. CONCLUSIONES Y TRABAJO A FUTURO 82
tales por medio del estegoanálisis ası́ como los diferentes ataques que puede realizar el
se tiene que discernir entre dos clases, imágenes naturales e imágenes esteganografiadas
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
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
puesto que en la práctica no se sabe o conoce con certeza por medio de que método
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
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
estuvo por debajo de lo que se esperaba, lo que hizo que su desempeño disminuyera. En
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-
mos de esteganografı́a, los cuales estén basados o hagan usos de alguno de los tipos de
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.
más caracterı́sticas, las cuales permitan una mejor diferenciación entre estego-imágenes
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
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
[2] A. Tacticius. How to survive under siege/Aineas the tactician. Clarendon ancient
1954.
sciences, volume VI. Leon Lichfield, Oxford, for R. Young and E. Forest, 1640.
[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,
2002.
85
BIBLIOGRAFÍA 86
[9] G. J. Simmons. The prisoner’s problem and the subliminal channel. In D. Chaum,
Steganography and Digital Watermarking. Artech House, Inc., Norwood, MA, USA,
2000.
the WIPO Seminar for Asia and the Pacific Region on Internet and the Protection
plexity based region segmentation method. In ICIP ’97: Proceedings of the 1997
[14] J. Zhao and E. Koch. Embedding robust labels into images for copyright protection.
Verlag GmbH.
the 1997 International Conference on Image Processing (ICIP ’97) 3-Volume Set-
Volume 1, pages 520–523, Washington, DC, USA, 1997. IEEE Computer Society.
Provably secure steganography: Achieving zero k-l divergence using statistical res-
Oct 2006.
[19] S. Craver, N. Memon, B. Yeo, and M. Yeung. Resolving rightful ownerships with
[20] I. Cox, M. Miller, J. Bloom, J. Fridrich, and T. Kalker. Digital Watermarking and
[21] J.J. Harmsen. Steganalysis of additive noise modelable information hiding. Mas-
[22] A. Leon Garcı́a. Probability and random processes for electrical engineering.
[23] G. Xuan, Y. Shi, J. Gao, D. Zou, C. Yang, Z. Zhang, P. Chai, C. Chen, and
[24] J.C. Lopez Hernandez and K. Yamaguchi. A survey of steganalysis methods base
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.
de la Rioja, 2006.
[27] D. Reynolds, T. Quatieri, and R. Dunn. Speaker verification using adapted gaus-
[28] J.G. Pedroza Bernal. Aplicación de las máquinas de soporte vectorial al reconoci-
[29] Christopher J. C. Burges. A tutorial on support vector machines for pattern re-
[30] Chih-Chung Chang and Chih-Jen Lin. A practical guide to support vector classifi-
[32] Chih-Chung Chang and Chih-Jen Lin. LIBSVM: a library for support vector machi-
[33] H. Farid. Detecting hidden messages using higher-order statistical models. In In-
[34] Y. Shi, G. Xuan, D. Zou, J. Gao, C. Yang, Z. Zhang, P. Chai, W. Chen, and
Glosario
utilizada para convertir una señal del dominio del tiempo, al dominio de la frecuencia.
utilizada para convertir una señal del dominio del tiempo, al dominio de la frecuencia.
utilizada para convertir una señal del dominio del tiempo al domino de la frecuencia
FP - Tasa de medición Falso Positivo, tasa que permite conocer el número de imágenes
90
APÉNDICE A. GLOSARIO 91
disperso.
SVM - Support Vector Machine (Máquina de Soporte Vectorial), técnica utilizada para
la clasificación de patrones.
cual hace uso de los coeficientes DCT para ocultar el mensaje secreto.
Apéndice B
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);
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);
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,:));
[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;
[LL0,HL0,LH0,HH0]=dwt2(double(X),wname);
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
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;
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;
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)’];
parametros=[’-s 0 -t 2 -c ’,num2str(bestc),’ -g ’,
num2str(bestg),’ -b 1’];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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)];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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
suma_cover=0; suma_stg=0;
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);
Publicaciones
Revistas
pp 169-176, 2007.
Julio Lopez, Alondra Hernandez, Karina Toscano, Mariko Nakano and Hector
Congresos Nacionales
Carlos Velasco, Julio López, Mariko Nakano y Hector Pérez. Comparación de algorit-
Miniconference for Exchange Students XIX, pages 37-40, Tokyo, Japan, march 2008.
102
APÉNDICE D. PUBLICACIONES 103
Congresos Internacionales
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