Mensajes ocultos utilizando el método de Inserción en el bit menos significativo
(Least Significant Bit Insertion)
El 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
¿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.
Dicho 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
Y aplicamos la sustitución LSB de cada número binario por cada bit del carácter “A” (nuestro mensaje)
Como 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
Si, 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
Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.
Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye
Enjoy! :)
En esta oportunidad dejo a consideracion un proyecto para la captura de video desde una webcam, utilizando filtros como...
En ocasiones los administradores de sitios web experimentan problemas de lentitud en su carga o en el peor de los casos...
En post pasados [Ejemplo práctico de MVC java Swing con Netbeans, 3 en raya java con MVC y Netbeans , MVC: Modelo, Vista...
Las aplicaciones para celulares inteligentes con sistema operativo Android, se distribuyen en archivos *.APK, si como pr...
En este tutorial crearemos un formulario de logueo de forma circular usando el lenguaje java y el IDE de Netbeans. Neces...
Como se vio en un post anterior (Capturar video de una webcam con JMF) la captura de un video desde una webcam utilizand...
Los comentarios estan cerrados
Sourcetrail el explorador de código fuente de los lenguaje C, C ++, Java y Python se pasa al Software Libre y desde ahor...
Tapiti v1.2.0 es un Software Educativo Gratuito multiplataforma para los sistemas operativos Windows y Linux el cual no...
En este post vemos un ejemplo de como convertir un archivo de imagen JPG en un archivo PDF utilizando para ellos la libr...
El modelo Tweetbotornot es un algoritmo de aprendizaje automático que se entrenó en miles de cuentas reales de bot y no...
Hola.
El archivo no esta en el link de descarga, me interesa mucho el tema y quiero descargar el programa. Espero que lo solucionen pronto. Gracias.
enlace actualizado
el enlace esta activo y todos los archivos necesarios están en el *.rar 🙂
Realmente es la primera ves que visito la pagina y me gusto mucho, te agradezco por compartir tu conocimiento o ideas para nosotros, este post desconocía sobre el, y es muy interesante, así como la forma de construcción de un *.PNG que esta por un algoritmo de tipo arreglo multidimensional o como me han dicho que puede ser cubico, y con esto seria una forma de manipularlo en proyectos. y claro que haré difusión de tu sitio … Gracias!!
puedes subir el codigo de nuevo 😀
ok, gracias por el aviso lo subire lo mas rapido posible
hola, felicitaciones entre tu blog y tu tienes de todo ,me reclute en tu sitio pero me gustaria ver en que te puedo ayudar, a verdad, podrias enviarme el codigo de este proyecto porfavor en link de descarga ha muerto…
gracias por el aviso, lo resubire lo antes posible 🙂
Hola me interesa saber de este proyecto, podrías resubirlo por favor?
resubido 🙂
excelente amigo me encanto tu sitio la verdad 😀 te felicito es un gran aporte
Hola me interesa mucho este tema pero tambien uno como hace zooms a una imagen(HACERLE UN ACERCAMIENTO Y UN ALEJAMIENTO COMO GOOGLE MAPS POR ASI DECIR GRACIAS POR EL APORTE ESPERO QUE ME PUEDAS AYUDAR O DAR PAGINAS DONDE BUSCAR
java cuenta con métodos que te permiten escalar la imagen claro que no hacen milagros si tu imagen es pequeña y le haces zoom se vera pixelada, si quieres lograr el efecto de google maps, si te fijas al hacer zoom pasan unos segundos para que la imagen se aclare y se vea nítida, esto es porque google maps (según creo 🙂 ) usa una serie de imágenes que según las coordenadas y zoom que realices va reemplazando en pantalla
ES LA PRIMERA VEZ QUE VEO TU PAGINA Y ESTA SUPER BIEN EXPLICADO TODO TE FELICITO, ME PODRIAS MANDAR EL CODIGO FUENTE?
PUEDES SUBIR EL ARCHIVO DE NUEVO?
la descarga esta activa para 4shared, lo subire también a mega