Este es un un trabajo que presente en la universidad el 2004 para el curso de Algebra Universal, y quiero postearlo por aqui para que no se pierda en el olvido.
Es una aplicacion de esteganografia que permite ocultar un texto ascii o inclusive un archivo binario cualquiera dentro de una imagen BMP de 24 bits.
Esteganos: Oculto, Grafia: Escrito
La esteganografía tiene como objeto de estudio las técnicas que permitan ocultar información detrás de otros datos; de tal forma que al ser "mezclados" sean visibles solo los datos de soporte y nuestra información confidencial pase desapercibida ante los ojos de cualquier observador.
Ej.
Es una aplicacion de esteganografia que permite ocultar un texto ascii o inclusive un archivo binario cualquiera dentro de una imagen BMP de 24 bits.
Esteganos: Oculto, Grafia: Escrito
La esteganografía tiene como objeto de estudio las técnicas que permitan ocultar información detrás de otros datos; de tal forma que al ser "mezclados" sean visibles solo los datos de soporte y nuestra información confidencial pase desapercibida ante los ojos de cualquier observador.
Ej.
Otro ejemplo.
La iglesia mas antigua, puso el rumor ultimo.
...si extraemos la primera letra de cada palabra obtenermos:
La iglesia mas antiguaa, puso el rumor ultimo. = Lima peru.
Este es un ejemplo muy sencillo en texto, ya se les podra ocurrir miles de ideas distintas para ocultar sobre texto, pero... como ocultar sobre una imagen?
La primera alternativa para ocultar un mensaje (bits) sobre un BMP de 24 bits es aprovechar su estructura simar al siguiente grafico. solo debemos ocultar nuestros datos justo despues de los metadatos (primeros 54 bytes) y modificar el campo offset (campo que guarda la distancia entre los metadatos y los pixeles) de tal manera que podamos hacer espacio para todo lo que queremos esconder.
Esta alternativa si bien es cierto es muy sencilla de implementar tiene el defecto de que la imagen obtenida sera considerablemente grande, seria extranho tener una imagen de un icono (10x10) que nos ocupe 10 Mb no?
Otra alternativa -desde mi parecer mucho mejor- es esconder lo que queremos esconder en los LSB de cada componente de un pixel.
En espanhol:
...si extraemos la primera letra de cada palabra obtenermos:
La iglesia mas antiguaa, puso el rumor ultimo. = Lima peru.
Este es un ejemplo muy sencillo en texto, ya se les podra ocurrir miles de ideas distintas para ocultar sobre texto, pero... como ocultar sobre una imagen?
La primera alternativa para ocultar un mensaje (bits) sobre un BMP de 24 bits es aprovechar su estructura simar al siguiente grafico. solo debemos ocultar nuestros datos justo despues de los metadatos (primeros 54 bytes) y modificar el campo offset (campo que guarda la distancia entre los metadatos y los pixeles) de tal manera que podamos hacer espacio para todo lo que queremos esconder.
Esta alternativa si bien es cierto es muy sencilla de implementar tiene el defecto de que la imagen obtenida sera considerablemente grande, seria extranho tener una imagen de un icono (10x10) que nos ocupe 10 Mb no?
Otra alternativa -desde mi parecer mucho mejor- es esconder lo que queremos esconder en los LSB de cada componente de un pixel.
En espanhol:
Cada pixel, en un archivo BMP (de 24 bits), esta representado por 3 bytes conteniendo la intensidad de color para ROJO, VERDE y AZUL (RGB: red, green, blue). Entonces combinando valores en esas posiciones podemos obtener los = (16777216) colores que puede mostrar un pixel, habitualmente se dice 16 millones de colores, pero son un poquito mas.
Bueno entonces... cada byte contiene un valor entre 0 y 255 (en binario 00000000 y 11111111), estos bytes igual que en el sistema decimal conforme sus cifras esten mas a la izquierda tendran mas valor (peso) por citar un ejemplo:
5768, si cambiamos la primera cifra (la mas significativa) a 3 nos queda 3768, la diferencia es notable. Pero si cambiamos la ultima cifra (la menos significativa) por ejemplo a un 2 nos queda 5762, la diferencia es relativamente minima.
Con esto quiero decir que podemos modificar los LSB (less significant bits, o cifras menos significativas) sin producir mayor alteracion.
Un caso:
Si observamos estos dos pixels, tan solo se le ha cambiado una unidad a cada componente R, G, B, y la variacion de color ha sido minima. Al ojo humano son practicamente el mismo color.
Con esto hemos logrado sembrar 3 bits que originalmente eran 101 ahora hemos sembrado 010, eso significa que por cada pixel podemos almacenar 3 bit sin producir un cambio aparente en el pixel.
Si repetimos este paso, recorriendo los pixels de la imagen, podemos ir sembrando (ocultando) los bits que querramos dentro de nuetra imagen. En cada pixel podremos poner 3 bits es decir necesitaremos masomenos 8 pixels para poner 3 bytes (un byte tiene 8 bits :P).Como se puede ver no es muy dificil
Esta es una imagen que contiene un mensaje, si logran recuperarlo lo comentan :P
La imagen de bart con el mensaje la pueden descargar aqui.
La aplicacion ejecutable la pueden descargar aqui.
El codigo fuente para vb 6, lo pueden descargar aqui.
Un instalador de la aplicacion lo pueden descargar de aqui.
y si no tienen el winrar lo pueden descargar de aqui
Saludos.
32 comentarios:
felicitaciones x tu trabajo!
a pesar de su relativa complejidad, esta muy bien explicado, lo q lo hace muy facil de entender!!
Por cierto, con este trabajo, quedaste 2do puesto en el ITLA de hace un par de años, cierto?
Felicitaciones nuevamente!
y, una pregunta: como haces para saber cuando acaba de leer el mensaje "encriptado"? en caso de q el mensaje sea corto y no necesites usar todos los pixels de la misma imagen...
gracias.
Saludos :)
Hola Carlos, interesante tu trabajo y también contarte que tu trabajo me sirvio como base para realizar un mejor método de esteganografía, seguro te va a parecer interesante, lo puedes ver en: http://seccperu.org/?q=node/362
sta bien el prog
si c tarda bastant pero es entendible dado el proceso ke tiene ke realizar
lo malo es ke agranda demaciado el archivo lo kual lo puede acer bastante sospechoso
espero ke lo mejores
felicidades
generic xanax is xanax good for opiate withdrawal - xanax bars quotes
buy tramadol online buy tramadol online echeck - tramadol overdose hallucinations
xanax online safe place buy xanax online - drug interactions xanax diflucan
buy tramadol online buy cheap tramadol online - can buy tramadol online legally
buy tramadol online the tramadol high - buy tramadol in europe
tramadol 100mg buy tramadol online cod no prescription - tramadol withdrawal medicine
buy tramadol online tramadol hcl and zoloft - strong tramadol 50mg tablets
buy carisoprodol online no prescription vicodin online no prescription overnight - soma carisoprodol schedule
buy tramadol online tramadol 50 mg canine - tramadol 50 mg normal dosage
generic cialis no prescription generic cialis in usa - cialis price compared to viagra
xanax online xanax withdrawal erowid - xanax bars vs xanax
buy cialis professional buy cialis brand online - cialis daily dose cost
buy tramadol buy tramadol online fedex delivery - order tramadol usa
http://landvoicelearning.com/#44827 long does 50mg tramadol take work - que es tramadol 50mg
learn how to buy tramdadol tramadol hcl 93 58 - took 3 50mg tramadol
http://landvoicelearning.com/#23561 tramadol for dogs and side effects - tramadol hcl 50mg buy
learn how to buy tramdadol tramadol 50 mg many get high - tramadol for cheap
buy tramadol ultram er vs tramadol - tramadol withdrawal rls
buy tramadol buy tramadol online safe - tramadol 200mg er high
buy tramadol buy tramadol ultram ultracet online - tramadol no prescription mastercard
buy ativan online where to buy lorazepam online - buy cheap ativan no prescription
ativan pharmacy ativan and alcohol overdose - ativan overdose with alcohol
http://reidmoody.com/#37982 ativan side effects diarrhea - lorazepam 1 mg tablet myl
How can i create a blog without needing blogger or any of those
websites?
Here is my website http://Paginasamarillas-atl.Com/
buy tramadol cheap online pharmacy tramadol overnight - tramadol overdose symptoms dogs
Hello every one, here every person is sharing such know-how,
therefore it's nice to read this web site, and I used to go to see this website all the time.
my blog; cheap dental implants
cytotec 0.2 mg - where to buy cytotec quiapo - buy mifepristone and misoprostol online
can you buy tramadol onlinelegally best buy tramadol - buy tramadol online
levitra oral jelly duration [url=http://flavors.me/rge48ha9/#pharmacy-Ceclor-online-in-MS-Mc-Carley]buy online prescription Ceclor 250 mg without[/url] buy cheap discount clomid in australia buy clomid tablets buy cheapest viagra capsules online http://flavors.me/uukv289z/#Trecator-SC-wholesale generic viagra professional europe
Publicar un comentario