Este tutorial enseña como hacer esteganografía con la tecnica LSB (Least singnificant bit) o Bit menos significativo en imagenes PNG. Programaremos paso a paso un script en PHP que logre nuestro objetivo: dejar un mensaje oculto en una imagen.

Definición de LSB:

En computación, el bit menos significativo (LSB o Least Significant Bit, en sus siglas en inglés) es la posición de bit en un número binario que tiene el menor valor (el situado más a la derecha). En ocasiones, se hace referencia al LSB como el bit del extremo derecho.
wiki

Ascii Decimal Binario Bit Menos Significativo
L 76 01001100 01001100
S 83 01010011 01010011
B 66 01000010 01000010

Tabla 1

En el cuadro anterior vemos cual es el bit menos significativo para las letras “LSB”. Lo que haremos será ocultar un mensaje en el bit menos significativo de cada pixel de una imagen PNG. Las imágenes de color verdadero, suele usar tres bytes para definir un color. El primer byte para el color rojo (red), el segundo byte para el color verde (green) y el tercer byte para el color azul (blue), lo que comunmente conocemos como RGB. Cada color va desde 00000000 hasta 11111111, presentando 256 posibles combinaciones. Al combinar los tres colores obtenemos un pixel.

rgb

Imagen 1

Decimal Binario Bit Menos Significativo
47 00101111 00101111
174 10101110 10101110
1 00000001 00000001

Tabla 2

El proceso es sencillo, convertir los pixeles de la imagen de decimal a binario y ocultar nuestro mensaje, que tambien debe estar convertido en un numero binario. Asi para ocultar la letra “A” que en binario seria representada por 01000001 dentro del siguiente binario: 01100001 01110011 01100100 01100110 01100111 01101000 01101010 01101011 01101100

este seria el resultado:

Original 01100001 01110011 01100100 01100110 01100111 01101000 01101010 01101011 01101100
Modificado 01100000 01110011 01100100 01100110 01100110 01101000 01101010 01101011 01101100

Tabla 3

Práctica


ver video en alta calidad http://vimeo.com/13750495

Lecturas:

http://www.sinfocol.org/2008/09/solucion-reto-1-esteganografia-con-bit-menos-significativo/

http://www.sinfocol.org/2009/09/explicacion-de-los-valores-retornados-por-imagecolorat/

Agradecimientos:
www.sinfocol.org

Imagenes:
lsbCreate.png
lsbOut.png

Ficheros:
hidden.txt
lsbCreate.php

  • Compartir: