Para ello disponemos de técnicas criptográficas que están muy avanzadas y que nos proporcionan algoritmos a día de hoy seguros e irrompibles.
Lo que ocurre es que cuando uno ve una codificación extraña de símbolos, automáticamente sabe que la intención del remitente es la de ocultarnos el mensaje.
Lo que ocurre es que cuando uno ve una codificación extraña de símbolos, automáticamente sabe que la intención del remitente es la de ocultarnos el mensaje.
Pero ¿Cómo podríamo hacer lo mismo pero haciendo que el mensaje pasase totalmente desapercibido por los ojos de curiosos?...
La respuesta a esta pregunta nos la da la 'esteganografía' y que como burda definición podriamos decir que es "escritura encubierta", en contraposición a la criptografía, que podríamos definirla como "la transformación de un mensaje legible en uno ilegible por nadie, excepto por el receptor".
Un ejemplo clásico de esteganografía empleado ya en tiempos remotos sería la famosa escritura en papel con tinta invisible (zumo de limón).
Trataré de explicar someramente dos técnicas básicas esteganográficas y veremos algun que otro ejemplo, para ello y acorde con nuestros tiempos usaremos archivos de imágen como contendor para ocultar nuestro mensaje, pero podrían ser otras extensiones como audio, etc.
La imagen de origen sera esta:
Una foto cándida de mi chiquitín y yo en la ciudad más bella del mundo (Salamanca), que nos servirá de contenedor de mensajes y/o archivos ocultos.
La primera técinica es por EOF (End Of File) o Fin De Fichero y que básicamente consiste en insertar el mensaje (en crudo o cifrado) al final del fichero.
Como ejemplo pondré el mensaje secreto justo al final del archivo origen que como sabemos tiene extensión PNG y el EOF nos lo dá la marca "IEND".
Así es como quedaría la imagen con el mensaje secreto:
Ahora el receptor de mensaje solo tendrá que editar la imagen con un editor hexadecimal y voilá.
Como se observa el mensaje está en crudo, pero si hubiesemos utilizado cualquier algoritmo criptográfico moderno el resultado sería totalmente imperceptible por el "enemigo".
Un ejemplo de esto último se podría hacer con un cifrado básico e inseguro como el cifrado XOR con clave "eternoAprendiz" y cuyo resultado sería esto otro:
La segunda técnica es un poco más elaborada y por eso es también la más usada y se denomina "LSB (Less significant byte)" o inserción del último bit menos significante.
Como todos sabemos, una imagen está compuesta por una matriz de píxeles.
Cada pixel se construye con tres bytes.
Cada byte codifica un color básico (rojo, verde, azul) en un escala de 0 a 255, de manera que si queremos codificar un pixel con el color blanco pues pondríamos cada byte con valor máximo (255) o si por el contrario quisiéramos codificar el pixel con el color negro, pues pondríamos cada byte con valor mínimo (0) y así jugando con la mezcla de estos tres byte conseguiremos los 16 millones de colores que podemos formar.
Pues la mágia de esta segunda técnica es aprovecharse de los bits menos significativos de cada byte de un pixel para codificar el mensaje.
El resultado es una nueva imagen con colores distintos a la original pero que para el ojo humano es inapreciable.
El resultado es una nueva imagen con colores distintos a la original pero que para el ojo humano es inapreciable.
Como hacer esto último a mano es tedioso, lo que haremos es usar una aplicación openSource, desde mi punto de vista excelente, que se llama OpenStego.
Esta vez ocultaremos un fichero de texto, con un mensaje secreto y que dejo a los lectores que hagan el paso inverso par leer dicho mensaje secreto.
Logicamente no solo podremos incrustar mensajes de texto, sino cualquier formato binario que se nos ocurra, desde otra imagen, a un audio, video, pdf, zip, ....y hasta el infinito y más allá.
La esteganografía además nos permite incrustar nuestra propia huella digital (fingerPrint). Pensemos que algún día elaboramos algún trabajo que alguien nos plagia, pues si a ese trabajo le hemos incrustado nuestra huella tendremos todo de nuestra parte para demostrar que el trabajo es nuestro.
La esteganografía además nos permite incrustar nuestra propia huella digital (fingerPrint). Pensemos que algún día elaboramos algún trabajo que alguien nos plagia, pues si a ese trabajo le hemos incrustado nuestra huella tendremos todo de nuestra parte para demostrar que el trabajo es nuestro.
Para finalizar dedico este post íntegramente a mi gran amigo Alberto (Magic). Va por ti maestro.
¡Feliz año, calamardos! Por cierto, muy curioso el post. Saludos a todos en la oficina!
ResponderEliminarPero bueno que sorpresa. Feliz año a ti también.
ResponderEliminar¿Cómo te va la vida calamardín?
Feliz año Longi!!! y enhorabuena por el post, me ha parecido muy interesante y además es algo que desconocía por completo. Animo con los exámenes!! Me alegra que sigas con ese animo de investigar todo lo que nos rodea!!
ResponderEliminarUn saludo!
Igualmente figura, ¿Cómo lo llevas?. A ver si nos vemos pronto.
ResponderEliminarUn par de años después, pero muy buena entrada L0ngin0x y prospero 2013!!
ResponderEliminarMe alegra que te haya gustado Ike. Yo también te deseo un buen 2013 ;)
ResponderEliminar