Professional Documents
Culture Documents
Project Goal
Implement a method to embed textual data into audio files using stegonography
Embed lyrics into mp3 files Extract lyrics from an mp3 Display the lyrics while the song is playing
FEATURES OF MP3
Designed to store audio data Its a compressed file format Its lossy data format meaning that original audio signal is not retained in its entirety. Aims to preserve the sound quality while minimizing storage space.
MP3 Encoding
Fragmentation: The size of the frame depends on the audio resolution or bit rate. Perceptual Optimization: Each frame is analyzed so that frequencies that are not audible are discarded. Huffman Compression Appending Header meta-data
MP3 Encoding
I
J K L M
2
2 1 1 2
Tied to single implementation of mp3 encoder/decoder Require access to source wav files
Implementation Choices
Implemented in Java
Stegonographic Method: Padding Byte Stuffing Stegonographic Module as stand alone application
Flow of Control
LZW Compression
StegIO - Writing
calculate the length of the message in bytes prepend the length to the message put the message on a byte queue
while(there are still bytes to be written) { Header = read 4 bytes from the file if(Header is_valid && contains padding byte) { seek to the end of frame pop the byte from the queue write the popped byte into file } }
StegIO - Reading
length = integer > 4 counter = 0 while (counter < length) { Header = read 4 bytes from the file if(Header is_valid && contains padding byte) { if(counter == 4) { length = to_integer ( pop 4 bytes from queue) } seek to the end of frame read a byte from the file push the read byte onto queue } }
To Extract text:
java jar mp3stego.jar mp3_file.mp3
Future Work
Implementation using Unused Header Bit Stuffing Automating Lyrics Markup and Synchronization
References
Hacker, Scot, MP3, The Definitive Guide, 1st Edition, March 2000, O'Reilly Publishing. Noto, Mark, MP3Stego: Hiding Text in MP3 Files, September 2001, SANS Institute. Koichi Takagi, Shigeyuki Sakazawa, Yashuiro Takishima, Light Weight MP3 Watermarking Method for Mobile Terminals, KDDI R&D Labs, MM'05 November 6-11, 2005 Singapore, ACM Huffman Code, Wikipedia, http://en.wikipedia.org/wiki/Huffman_code M. Nilsson, ID3 tag version 2.4.0 - Main Structure, November 2000, http://www.id3.org/id3v2.4.0structure.txt Predrag Supurovic, MPEG Audio Frame Header, 1998 DataVoyage, http://www.dv.co.yu/mpgscript/mpeghdr.htm#MPEGTAG The Private Life of MP3 Frames, http://www.id3.org/mp3frame.html M. Nilsson, ID3 tag version 2.3.0, February 1999, http://www.id3.org/id3v2.3.0.html Strnad Peter, Gingold Peter, Lyrics3 Tag v2.00, Jun 1998, http://www.id3.org/lyrics3200.html Bender W., Gruhl D., Morimoto N., Lu A., Techniques for data hiding, 1996, IBM, http://www.research.ibm.com/journal/sj/353/sectiona/bender.txt Petitcolas Fabien A. P., mp3stego, 19972005, http://www.petitcolas.net/fabien/steganography/mp3stego/ Koso A., Turi A., and Obimbo C., Embedding Digital Signatures in MP3s, from proceedings 477 Internet and Multimedia Systems, and Applications, 2005 Cheng Cheok Yan, Introduction On Text Compression Using Lempel, Ziv, Welch (LZW) method, http://www.geocities.com/yccheok/lzw/lzw.html LZW, Wikipedia, http://en.wikipedia.org/wiki/LZW Information-and-Entropy, MIT, Spring 2003, http://ocw.mit.edu/NR/rdonlyres/ElectricalEngineering-and-Computer-Science/6-050JInformation-and-EntropySpring2003/ABF6E960-C29C48BB-95AE-AF9F79D9E20B/0/chapter3new.pdf Fraunhofer-Gesellschaft, http://www.iis.fraunhofer.de/amm/techinf/layer3/index.html