Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Esteganografía / Ingenieria de Sistemas / Java / Java / Proyectos / Seguridad / Esteganografia LSB en Java – [Proyecto Completo]

Esteganografia LSB en Java – [Proyecto Completo]

Por jc mouse domingo, junio 26, 2011

Mensajes ocultos utilizando el método de Inserción en el bit menos significativo
(Least Significant Bit Insertion)

Esteganografia LSB en JavaEl método de Inserción en el Bits Menos Significativo, llamado también método de Sustitución,  consiste en reemplazar el Bits menos significativo de los pixeles de una imagen digital  por otro Bits del mensaje que se quiere ocultar.

¿Cuál es el Bits menos significativo?
El Bits menos significativo o LSB (Abreviatura en ingles) de un numero binario, es el bits que se encuentra al extremo derecho de este

 

LSB¿Y qué es un pixel?
Un píxel o pixel es la menor unidad homogénea en color que forma parte de una imagen digital, ya sea esta una fotografía, un fotograma de vídeo o un gráfico.

Pixel JavaDicho de otra forma, si se aplica zoom a una imagen digital, se podrá observar que está formada por varios puntos (cuadrados) de colores, esta sucesión de pixeles en forma de una matriz es lo que conocemos como imagen, cada uno de estos pixeles está formado por 3 bytes cada uno de estos almacena un color primario Rojo, Verde, Azul (RGB en ingles) y la variación entre ellas forman los distintos colores que podemos ver en pantalla.

¿Y cómo funciona el método de sustitución?
Si quisieramos esconder la letra A=01000001 que  esta formado por 8 bits, dentro la imagen de abajo, necesitarios utilizar 3 pixeles de la imagen, cada pixel tiene 3 bytes para cada color RGB

Primero debemos extraer los 3 primeros pixeles de la fotografía

LSB step1Y aplicamos la sustitución LSB de cada número binario por cada bit del carácter “A” (nuestro mensaje)

Sustitucion bytesComo se observa se ha sustituido cada bits LSB (recuadro rojo) por cada bits del carácter “A” formando nuevos valores para los colores RGB, estos nuevos colores no cambian mucho con respecto al original y así no pueden ser distinguidos por el ojo humano, pasando inadvertidos.

Se utilizaron 8 bits LSB en total, uno por cada bit del mensaje, los que no se utilizan, se dejan como están.

Para este método de sustitución LSB puede emplearse cualquier formato de imagen fuente (*.JPG, *.PNG, *.BMP) pero este debe ser guardado en formato *.BMP (destino), esto porque los otros formatos tienden a perder información con la compresión, BMP no tiene compresión por eso son más grandes, este método además tiene la ventaja de no alterar el tamaño de la imagen. El tamaño del mensaje que se desee ocultar, dependerá del tamaño de la imagen, se utiliza un promedio de 3 pixeles por carácter lo que en una imagen de 200×200 pixeles nos da para almacenar 13000 caracteres, suficientes creo para guardar mucha información.

Proyecto completo: Codigo Fuente, Tutorial, Demo, Aplicación portable + Bonus

Enlace de DescargaBONUS

bonus proyectoSi, como me gusta fomentar la investigación, dejo en un rar una sopresa (solo para entendidos), esta con contraseña, asi que el que quiera la «llave» ya sabe donde buscar

Tags

Artículos similares

Programa en la nube sin instalar nada con repl.it

Repl.it es un proyecto de tres jóvenes emprendedores (Amjad, Haya, Maso), es un compilador en linea el cual te permite p[...]

Facturación electrónica: El Código de Control

¿Que es la facturación electrónica? Una factura es un documento que sirve para describir el costo de los servicios y des[...]

Introducción a Scene Builder y MVC (Parte I)

En este tutorial realizaremos una introducción al diseño de interfaces gráficas en JavaFX y Scene Builder, así también v[...]

Videojuego educativo contra el Ciberbullying

¿Que es el Ciberbullying? Ciberbullying es la unión de dos palabras en inglés cyber + bullying, en español lo conocemos[...]

Juego de Tragamonedas o Tragaperras

El juego de las tragamonedas o tragaperras es un juego muy popular de azar que se puede encontrar tanto en los casinos o[...]

Dibujando con Canvas

La clase Canvas (Lienzo)  de Android es una superficie que nos permite pintar figuras, texto e imágenes utilizando para[...]