Esteganografía: Ocultar una imagen dentro de otra…

Iniciado por Andrey, Junio 30, 2018, 11:43:42 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


En esta ocasión les quiero traer algunos conceptos de procesamiento de imágenes y quiza mas adelante traiga un nuevo post donde se aplique lo aqui mencionado.

Primero debemos comprender que es la esteganografía, una imagen digital, pixeles y modelos de color.


¿Qué es la esteganografía?

La esteganografía es la práctica de ocultar un archivo, mensaje, imagen o video dentro de otro archivo, mensaje, imagen o video.

¿Cuál es la ventaja de la esteganografía respecto a la criptografía?

La ventaja es que el mensaje secreto intencionalmente, no llama la atención sobre sí mismo como un objeto de escrutinio. Los mensajes cifrados claramente visibles, sin importar cuan irrompibles sean, despiertan interés y pueden ser incriminadores en países en los que el cifrado es ilegal.

Con esto entendemos que la esteganografía es más discreta que la criptografía cuando queremos enviar información secreta, por otro lado, el mensaje oculto es más fácil de extraer.

¿Qué es una imagen digital?

Ahora aprendamos algunos conceptos simples de procesamiento de imágenes.
Antes de ocultar algo en una imagen debemos entender que es una imagen digital.

Se puede describir una imagen digital como un conjunto finito de valores digitales, llamados pixeles, estos son los elementos individuales más pequeños de una imagen, con valores que representan el brillo de un color determinado en cualquier punto específico. Podemos pensar en una imagen como una matriz de pixeles que contiene un número fijo de filas y columnas.


Cuando utilizamos el término "imagen digital", nos referimos (al menos aquí) a los "gráficos de trama" que son básicamente una estructura de datos de matriz de puntos, que representan una cuadricula de pixeles, que a su vez puede almacenarse en archivos de imágenes con diferentes formatos. Puede leer más a continuacion sobre imágenes digitales (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta), gráficos de mapas y mapas de bits (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta).

Concepto de pixel y modelos de color

Como ya se vio, los pixeles son el elemento individual más pequeño de una imagen por lo cual podemos decir que cada pixel es una muestra de una imagen original. Significa que más muestras proporcionan representaciones más precisas del original. La intensidad de cada pixel es variable. En los sistemas de imágenes en color, un color se representa normalmente por tres o cuatro intensidades de componentes como rojo, verde y azul o cian, magenta, amarillo y negro.

Aquí veremos el modelo de color RGB. Como se puede imaginar, el modelo de color RGB tiene tres canales, rojo, verde y azul.

El modelo de color RGB es un modelo de color aditivo, en el que se agregan: luz roja, verde y azul de varias formas para reproducir una amplia gama de colores. El nombre del  modelo proviene de las iniciales de los tres colores  primarios aditivos, rojo, verde y azul. El objetivo principal del modelo de color RGB es la detección, representación y visualización de imágenes en sistemas electrónicos, como televisores y computadoras, aunque también se ha utilizado en la fotografía convencional.


Entonces, cada píxel de la imagen se compone de 3 valores (rojo, verde, azul) que son valores de 8 bits (el rango es 0-255).


Como podemos ver en la imagen de arriba, para cada píxel tenemos tres valores, que se pueden representar en código binario (el lenguaje de la computadora).

Cuando trabajamos con códigos binarios, tenemos bits más significativos y bits menos significativos, como puede ver en la imagen a continuación.


El bit más a la izquierda es el bit más significativo. Si cambiamos el bit más a la izquierda tendrá un gran impacto en el valor final. Por ejemplo, si cambiamos el bit más a la izquierda de 1 a 0 ( 11111111 a 01111111 ), cambiará el valor decimal de 255 a 127 .

Por otro lado, el bit más a la derecha es el bit menos significativo. Si cambiamos el bit más a la derecha, tendrá menos impacto en el valor final. Por ejemplo, si cambiamos el bit más a la izquierda de 1 a 0 ( 11111111 a 11111110 ), cambiará el valor decimal de 255 a 254 . Tenga en cuenta que el bit situado más a la derecha cambiará solo 1 en un rango de 256 (representa menos del 1%).

Resumiendo: cada píxel tiene tres valores (RGB), cada valor RGB es de 8 bits (significa que podemos almacenar 8 valores binarios) y los bits más a la derecha son menos significativos. Entonces, si cambiamos los bits de la derecha, tendrá un pequeño impacto visual en la imagen final. Esta es la clave de esteganografía para ocultar una imagen dentro de otra. Cambie los bits menos significativos de una imagen e incluya los bits más significativos de la otra imagen.


Respecto a la siguiente imagen:

(Izquierda) Bits de la imagen que contendrá la imagen oculta.

(Derecha) Bits de la imagen a ocultar.

(Abajo) Bits resultantes al combinar cada bit mas significativo de cada imagen, desechando asi los bits menos significativos de cada una.


Fin del post...


"Es un mundo brutal y peligroso el que hay allá afuera... Pero encontré mi camino. El caos es mi hogar, y me aseguraré de que no escapes de el"...

"Solo se necesita una excusa para cambiar el mundo"

Buen post!, aca una herramienta de estenografía para ocultar archivos en imagenes;)
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta