Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hiding my love inside a MIDI file!

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

Hiding my love inside a MIDI file!

Ever wanted to communicate a secret message to friend, lover or the national security officer of your country? (yes, I’m talking to you spies from all over the world). You might think end-to-end encryption got you covered, but after 2013, the NSA leaks and all that stuff, you never know! What do you do? You go back to the basics: Steganography! In this talk I want to share with you the basics of steganography and how you can use use it to hide messages in the vintage MIDI files we all loved from the 90’s. More specifically, we are going to hide an audio message within the channels, patterns and events of a MIDI file. Finally, we will decode the message and listen to it!

Avatar for David MDR

David MDR

May 11, 2019

Other Decks in Programming

Transcript

  1. I am David Delgado I love solving problems and learning

    from people greater than me. I like to teach too! You can find me at @dwhitelined in Twitter but I would rather have a cup of coffee or tea so we can get to know each other better Hello! 1
  2. “ “Is the practice of concealing (or hiding ;) a

    file, message, image, or video within another file, message, image, or video..." Wikipedia 6
  3. “ “..The advantage of steganography over cryptography alone is that

    the intended secret message does not attract attention to itself as an object of scrutiny” Wikipedia 7
  4. During War times: British spy/general embedded Artillery bases in butterfly

    drawings 8 This image actually does not contain any message. Learn more here
  5. How MIDI works (simplified version): 16 channels 14 0 1

    2 … … .. 14 15 Right hand piano Left hand piano Guitar Drums Tracks Created with a computer program or with electronic instruments Player .mid file/cable Plays the sounds of the "instruments"
  6. How MIDI works: Tracks 15 A track is a sequence

    of events (for example note events). Each event is interpreted in some way by the synthesizer to produce (or stop producing) a sound. Piano track Note on G3 Note off G3 Note on E2 Note on A1 Note off E2 Note off A1 End Program change: Piano Tracks are read and played in this direction
  7. How MIDI works: Hiding stuff 19 "Piano" track Note on

    G3 Note off G3 Note on E2 Note on A1 Note off E2 Program change: Piano Program change: Guitar This program change does nothing because the next program change changes it back to Piano for the rest of the track.
  8. How MIDI works: Hiding stuff 20 "Piano" track Note on

    G3 Note off G3 Note on E2 Note on A1 Note off E2 Program change: Piano Program change: Guitar This program change has bytes we can use to store information
  9. How MIDI works: Hiding stuff using ghost events 21 Note

    on G3 Note off G3 Note on E2 Note on A1 Note off E2 Program change: Piano Ghost events are interpreted by the player, but since they are not SOUND events, the listener does not realize something is there. http://www.onicos.com/staff/iz/formats/mi di-event.html "Ghost" events
  10. Let's hide the message 24 "Te amo muchísimo y aunque

    he vivido cosas que jamás olvidaré, no poder llegar a la casa a contártelas ha sido muy difícil. Quiero abrazarte y entregarte todo lo que tengo. Hasta pronto" Friends.mid Message Hider
  11. Let's decode the message 26 "Te amo muchísimo y aunque

    he vivido cosas que jamás olvidaré, no poder llegar a la casa a contártelas ha sido muy difícil. Quiero abrazarte y entregarte todo lo que tengo. Hasta pronto" Friends.mid with the hidden message Message Decoder
  12. Any questions or suggestions? don’t be afraid to reach out

    during a break! You can find me at: @dwhitelined or just in real life ;) (preferred)