La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Esteganografía Digital (Parte 2) Córdoba, febrero 2009 Ángela Rojas Matas.

Presentaciones similares


Presentación del tema: "Esteganografía Digital (Parte 2) Córdoba, febrero 2009 Ángela Rojas Matas."— Transcripción de la presentación:

1 Esteganografía Digital (Parte 2) Córdoba, febrero 2009 Ángela Rojas Matas

2 Formatos de imágenes digitales Las imágenes bmp, jpg, tiff, …, con una profundidad de color de 24 bits por píxel (8 bits para rojo, 8 para verde, 8 para azul) tienen un total de: ¡¡Más de 16 millones de colores distintos!! Color verdadero o True Color, pesan más. Imágenes en formato gif, png, …pesan menos. Usan como mucho 256 colores ( 8 bits por píxel). Son imágenes indexadas con su correspondiente paleta de color.

3 Formatos de imágenes digitales índiceRGBcolor 10, 0, 0Negro 2255, 0, 0Rojo 30, 255, 0Verde 40, 0, 255Azul 5255, 255, 0Amarillo 6255, 0, 255Rosa 70, 255, 255Turquesa 8255, 255, 255Negro

4 Formatos de imágenes digitales Los diseñadores de páginas web usan como mucha frecuencia en Internet imágenes gif con paletas de 216 colores llamadas Web- Safe 216 porque así las imágenes pesan menos y se ven mejor en todos los navegadores y sistemas operativos. Consiste en dividir el rango de rojo en 5 partes iguales: 0, 0.2, 0.4, 0.6, 0.8, 1. Es decir, sólo nos quedamos con 6 tonos de rojo. Análogamente se hace con el verde y análogamente se hace con el azul. La mezcla de los tres colores primarios: un tono de rojo, un tono de verde y un tono de azul, dará lugar a

5 Métodos basados en la paleta: EZStego Existen muchos programas esteganográficos que usan imágenes indexadas con paleta de colores con fines esteganográficos. Un ejemplo muy famoso es EZ-Stego de R. Machado (1996), pionero en el uso de un método esteganográfico basado en la paleta de colores. Romana Machado, Sillicon Valley, CA. La idea es sencilla: Vamos a cambiar ligeramente el color de un píxel por otro parecido de nuestra paleta de colores con objeto de ocultar bits. La estego-imagen tendrá exactamente la misma paleta de colores que la imagen original.

6 Métodos basados en la paleta: EZStego Colores ordenados por luminancia: luminancia=0.299*R+0.587*G+0.114*B; índiceRGBcolor 10, 0, 0Negro 2255, 0, 0Rojo 30, 255, 0Verde 40, 0, 255Azul 5255, 255, 0Amarillo 6255, 0, 255Rosa 70, 255, 255Turquesa 8255, 255, 255Blanco Indice-ordenadoIndice original

7 Métodos basados en la paleta: EZStego índiceRGBcolor 10, 0, 0Negro 2255, 0, 0Rojo 30, 255, 0Verde 40, 0, 255Azul 5255, 255, 0Amarillo 6255, 0, 255Rosa 70, 255, 255Turquesa 8255, 255, 255Blanco Indice-ordenadoIndice original Mensaje=101 Primer píxel=Rojo=índice_orig=2, entonces índice_ord=3 y bit=1. No hacer nada: resu=2 Segundo píxel=Verde=índice_orig=3,entonces índice_ord=5 y bit=0, entonces cambiar a índice_ord=4, que se corresponde con el original resu=6 Tercer píxel=amarillo=índice_orig=5, entonces índice_ord=7 y bit=1, entonces no hacer nada: resu=5

8 Métodos basados en la paleta: EZStego Imagen original Estego-imagen Ejemplo: imagen gif de tamaño 256x256 con una paleta de 256 colores

9 Métodos basados en la paleta: EZStego

10 Una ampliación de la estego-imagen nos permite ver cómo píxeles que eran verdes (correspondientes a la hoja de la rosa) son coloreados como rojos en la estego-imagen. ¿A qué se debe este cambio incorrecto de color?

11 Métodos basados en la paleta: EZStego Una ampliación de la imagen nos permite ver que, por ejemplo, el píxel que ocupa la posición (75, 55), que en la imagen original tenía una tonalidad verde, tenía un índice original igual a 34 que se correspondía con el color original: , , que es un tono verde. Al ordenar por luminancia se convertía en el índice número 38. Había que guardar un bit igual a 1 y entonces se le asignó al píxel el siguiente índice de la paleta ordenada, es decir, el índice 39 que se corresponde con el índice original 64. El índice original 64 tiene un color igual a , , 0 Que es un tono rojizo. Ambos colores se representan a continuación:

12 Métodos basados en la paleta: EZStego EL mensaje está oculto en la paridad (o LSB) de los índices ordenados por luminancia Para extraer el mensaje de la estego-imagen, bastará con coger los índices de la estego-imagen, ordenarlos por luminancia y quedarnos con la paridad de estos últimos índices. El método se comporta bien en general, pero en algunas ocasiones, cambia de manera inadecuada algunas colores. Esto ocurre porque colores distintos pueden tener luminancia parecida, como le pasaba al tono de rojo y de verde que comentamos antes. ¿Se puede mejorar este método?.

13 Métodos basados en la paleta: Fridrich (1999) Jessica Fridrich, Universidad de Binghamton, NY Ella propone que, en lugar de ordenar los índices por luminancia, se ordenen los colores por sus distancias entre ellos. Si un color a y otro b tiene de componentes: a=(r1, g1, b1) b=(r2, g2, b2) la distancia entre estos dos colores sería:

14 Métodos basados en la paleta: Fridrich Si el bit a ocultar es 0 y el índice del color en la imagen original es par, entonces no hacer nada. Si el bit a ocultar es 1 y el índice del color en la imagen original es impar, entonces no hacer nada. Si el bit a ocultar es 1 y el índice del color en la imagen original es par, buscar el color más próximo al original con distinta paridad. Asignar como color al píxel este último índice.

15 Métodos basados en la paleta: Fridrich Imagen originalEstego-imagen

16 Métodos basados en la paleta: Fridrich EZ-Stego Fridrich

17 Asignación óptima de paridad Hasta ahora hemos considerado un color par o impar de acuerdo a la paridad de su índice en la paleta. Existen otras formas de hacerlo, por ejemplo: (R+G+B) (mod 2) Otra forma más adecuada podría ser declarar un color par o impar según nos convenga. Por ejemplo: Se calculan todas las distancias entre pares de colores de la paleta. Si d ij es la más pequeña, entonces el índice menor será declarado par y el índice mayor será declarado impar. Los colores i y j no se vuelven a coger. Se elige la siguiente distancia más pequeña d kl y repetimos el proceso anterior hasta que no queden más colores que coger.

18 Asignación óptima de paridad Imagen resultado

19 Métodos basados en la paleta: S-Tools4 Desarrollado por Andy Brown en Uno de los primeros programas gratuitos de esteganografia digital puestos a disposición de cualquier usuario sin conocimientos de informática. Muy popular Permite usar imágenes bmp y también imágenes gif. Con las imágenes bmp, emplea el método LSB para ocultar información tal como fue descrito anteriormente. Con las imágenes en formato gif lo que hace es reducir el número de colores de la imagen original. Si la imagen original tiene una paleta de 256 colores, lo que hace es cambiar esta imagen por otra imagen con sólo 32 colores. Después ocultará la información en esta segunda imagen. ¿Cómo se reducen el número de colores en nuestra paleta?.

20 Reducción del número de colores de una imagen digital Existen muchos algoritmos para la reducción del color. Una imagen en TrueColor o color verdadero (bmp, jpg, tiff) usa 8 bits para cada color (entre 0 y 255) lo que da lugar a un total de 256x256x256= Si se quiere salvar como gif o png nos veremos obligados a reducir el número de colores a 256, ya que se emplean sólo 8 bits para el color de un píxel. El primer algoritmo que se propuso fue el de la popularidad. John Bradley autor del popular programa XV de Unix (programa que permite trabajar con imágenes digitales) usa un algoritmo de reducción de colores que llamó Diversity Algorithm. Stools, GIMP, PhotoShop, Paint Shop Pro y muchos otros programas usan el algoritmo llamado Median-Cut.

21 Reducción del número de colores de una imagen digital: Algoritmo Median-Cut Imagen original: 24 bits por píxel 1 bit por píxel Paleta

22 Reducción del número de colores de una imagen digital: Algoritmo Median-Cut 2 bits por píxel: 4 colores 5 bits por píxel: 32 colores

23 Reducción del número de colores de una imagen digital: Algoritmo Median-Cut Imagen original: 24 bits por píxel 8 bits por píxel: 256 colores

24 Métodos basados en la paleta: S-Tools4 Si la imagen de entrada es una imagen gif con 256 colores lo que hace es reducir el número de colores a 32, usando el algoritmo median-cut. Como resultado tendrá una paleta de 32 colores, por ejemplo: A continuación oculta tres bits en el color de cada píxel de la siguiente forma: Número de color RGB 1(255, 31, 225) 2(128, 35, 221) …… 32(32, 126, 235) Píxel = (128, 35, 221) Bits = 1, 1, 0 Píxel_Stego= (127, 35, 220)

25 Métodos basados en la paleta: S-Tools4 Píxel = (128, 35, 221) Bits = 1, 1, 0 Píxel_Stego= (127, 35, 220) Puede ocurrir que el color (127, 35, 220) coincida con un color de los 32 que tiene la paleta, pues en ese caso, estupendo, seguimos con 32 colores. Si no es así, aumentamos la paleta con este nuevo color, con lo que nuestra paleta pasaría a tener 33 colores y al píxel de la estego-imagen le asociamos el índice 33.

26 Métodos basados en la paleta: S-Tools4 Píxel = (128, 35, 221) Píxel_Stego , 35, , 34, , 35, , 34, , 34, Este color de la paleta, como mucho se expandirá a 8 colores. Como hay 32 colores en la paleta, el número máximo de colores en la estego_imagen será: 32x8=256 ¡¡Perfecto, una imagen gif o png debe tener como mucho 256 colores!!

27 Métodos basados en la paleta: S-Tools4 Imagen original (gif), 256 colores Estego-imagen (gif), 256 colores. Se ha ocultado el primer capítulo del Quijote.

28 Métodos basados en la paleta Existen multitud de variaciones de las técnicas descritas anteriormente. A method to improve the stego-image quality for palette-based image steganography. Wu, Ho, Lee. Lecture and Notes in Computer Science, A palette-based image steganographic method using colour quantisation. Wang, Yao, Li. IEEE, A new steganographic method for color and grayscale image hiding, Yu, Chang, Lin. Computer Vision and Image Understanding, ¡¡y muchos más!!. Todavía hay mucho que investigar sobre el tema.


Descargar ppt "Esteganografía Digital (Parte 2) Córdoba, febrero 2009 Ángela Rojas Matas."

Presentaciones similares


Anuncios Google