Está en la página 1de 18

Esteganografía MIDI

(Ejecutando el programa)

ING CRIPTOGRÁFICA Y APLIC SERV


Universidad de los Andes

Profesor: Milton Emigdio Quiroga Becerra Alumno: Rafael Humberto Zapata Vargas
Objetivo
• El presente documento muestra el procedimiento necesario para ejecutar el código realizado para esconder
mensajes secretos en archivos MIDI cumpliendo de esta manera el taller “Estenografía en MIDI”.

• La documentación del código se encuentra comentada en el mismo archivo “Esteganografia_MIDI_Rafael


Zapata.py” adjunta con este documento.
Desarrollo
• Para el desarrollo de este programa utilizamos el software Visual Studio Code para su programación y
compilación, puede ser descargado en https://code.visualstudio.com/.

Imagen 1
Desarrollo
• Una vez Visual Studio Code instalado en nuestro sistema, podemos instalar Phyton, para este caso en
sistema operativo Windows, lo podemos descargar en el siguiente enlace https://www.python.org/downloads/

Imagen 2
Desarrollo
• Una vez “Visual Studio Code” y Phyton estén instalados en nuestro sistema, es necesario la instalación de
Phyton en Visual Studio Code, para que este compilador pueda interpretar el lenguaje y de esta manera
entender su sintaxis.

Imagen 3
Desarrollo
• Después de instalar Phyton en nuestro compilador, es necesario instalar el siguiente modulo “docopt”,
docopt es una herramienta para construir interfaces de línea de comandos a partir de mensajes de ayuda.

• Al importar el modulo docopt, nos ayuda a definir la interfaz de esta aplicación de línea de comandos y generar
automáticamente un analizador para ello.

Imagen 4
Desarrollo
• Una vez instalado el modulo “docopt”, procedemos a instalar el mas importante para este código, Python-
Midi. Este modulo nos permite la manipulación del archivo MIDI para tener la posibilidad de esconder
información arbitraria como lo es el objetivo del taller y por ende del programa.

Imagen 5
Desarrollo
• Después de instalar Python-Midi, instalamos el modulo mido, este es opcional pero nos da una mayor
flexibilidad a la ahora de interactuar con events y tracks en los archivos MIDI.

Imagen 6
Desarrollo
• Ahora instalamos Git para Phyton, Git un software de control de versiones y lo vamos a requerir en el siguiente
paso donde es necesario conectarnos a un repositorio.

Imagen 7
Desarrollo
• Después de instalar Git para Phyton, procedemos a un conectarnos a un repositorio en GitHub con el objetivo de
instalar una versión mas completa y actualizada de Phyton-Midi

Imagen 8

• Después de haber realizado este procedimiento habremos resuelto todas las dependencias necesarias
para ejecutar nuestro código.
Desarrollo
• Como ya hemos resuelto todas las dependencias necesarias para ejecutar este programa, procedemos a
ejecutarlo con el icono de “play” de la esquina superior derecha de Visual Studio Code, como se muestra en
la imagen 9, posterior a esto, debe aparecer la ayuda del programa como se resalta en la imagen 10,
Imagen 9
Imagen 10
Desarrollo
• Una vez el programa haya compilado, nos mostrara el menú de ayuda del mismo, dándonos una indicación
de las posibles opciones, adicionalmente, también incluye una descripción de los demás argumentos que
necesita la opción:

• --help  Muestra el menú de ayuda


• --versión  Muestra la versión del programa
• --hide  Esconde el mensaje
• --reveal  Revela el mensaje escondido previamente

Imagen 11
Desarrollo
• Para demostrar el funcionamiento del programa vamos a utilizar la opción “--hide”, esta opción es la que nos
permite esconder un mensaje secreto en el archivo MIDI, en este ejemplo queremos esconder el PAN de una
tarjeta de crédito MasterCard en un archivo MIDI llamado starwars.

• Pero antes de continuar vamos a verificar el hash MD5 del archivo starwars, con el objetivo que después de
que este sea modificado por el programa su integridad se va a ver comprometida y por ende el hash va a
cambiar.
Imagen 12
Desarrollo
• Una vez ya tenemos el hash del archivo starwars.mid, podemos proceder a usar la opción “--hide” con el
argumento “--file” para indicarle al programa donde esta el archivo MIDI, seguido de el argumento “--
message” para introducir el mensaje secreto que para esta ocasión va a ser un numero de tarjeta de crédito

--hide --file=C:\Esteganografía_MIDI\Esteganografía_MIDI_RZ\starwars.mid --message="MasterCard 5370


6902 0743 4444"

Imagen 13
Desarrollo
• Ahora vemos que después de esconder el mensaje de la tarjeta de crédito en el archivo starwars.mid este
cambio su hash MD5 con respecto al que se muestra en la imagen 12, lo que significa que el programa
modifico el archivo.

Imagen 14
Desarrollo
• Ahora que tenemos el mensaje oculto (PAN de tarjeta de crédito) en el archivo starwars.mid, podemos
proceder con su revelamiento a través de la siguientes línea:

-reveal --file=C:\Esteganografía_MIDI\Esteganografía_MIDI_RZ\starwars.mid

Imagen 15

• Y de esta manera logramos cumplir el objetivo del taller escondiendo “información arbitraria” en un archivo MIDI
haciendo uso de un programa escrito en Phyton.
Conclusiones
• Es posible esconder información en archivos MIDI mediante estenografía.

• El esconder la información nunca modifico la melodía del archivo MIDI.

• La integridad del archivo MIDI cambia y se comprobó mediante el hash MD5.

• Los archivos MIDI tienen eventos, la mayoría de ellos se pueden escuchar, pero
algunos solo se usan para controlar las configuraciones en el dispositivo.
Gracias

Elaborado: Rafael Zapata

También podría gustarte