MP 3 Stegonography Lukasz Grzegorz Maciak Micheal Alexis

  • Slides: 33
Download presentation
MP 3 Stegonography Lukasz Grzegorz Maciak Micheal Alexis Ponniah Renu Sharma

MP 3 Stegonography Lukasz Grzegorz Maciak Micheal Alexis Ponniah Renu Sharma

Project Goal o Implement a method to embed textual data into audio files using

Project Goal o Implement a method to embed textual data into audio files using stegonography n n n Embed lyrics into mp 3 files Extract lyrics from an mp 3 Display the lyrics while the song is playing

Why MP 3 Files? o o Open Standard (as opposed to proprietary WMA) Very

Why MP 3 Files? o o Open Standard (as opposed to proprietary WMA) Very Popular Preferred by end users Easily Available

FEATURES OF MP 3 o o Designed to store audio data It’s a compressed

FEATURES OF MP 3 o o Designed to store audio data It’s a compressed file format It’s lossy data format meaning that original audio signal is not retained in its entirety. Aims to preserve the sound quality while minimizing storage space.

BASICS OF MP 3 ENCODING o o o Takes into account the properties of

BASICS OF MP 3 ENCODING o o o Takes into account the properties of HAS(Human auditory system) Discards any sounds with frequencies out of the audible scale. Mp 3 stores only a single copy of group of similar sounding notes.

MP 3 Encoding o o Fragmentation: The size of the frame depends on the

MP 3 Encoding o o 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

MP 3 Encoding

MP 3 Encoding

MP 3 File Structure

MP 3 File Structure

MP 3 Frame Headers

MP 3 Frame Headers

MP 3 Frame Headers Position Purpose Length A Frame sync 11 B MPEG audio

MP 3 Frame Headers Position Purpose Length A Frame sync 11 B MPEG audio version (MPEG-1, 2, etc. ) 2 C MPEG layer (Layer I, III, etc. ) 2 D Protection (if on, then checksum follows header) 1 E Bitrate index (lookup table used to specify bitrate for this MPEG version and layer) 4 F Sampling rate frequency (44. 1 k. Hz, etc. , determined by lookup table) 2 G Padding bit (on or off, compensates for unfilled frames) 1 H Private bit (on or off, allows for application-specific triggers) 1 I Channel mode (stereo, joint stereo, dual channel, single channel) 2 J Mode extension (used only with joint stereo, to conjoin channel data) 2 K Copyright (on or off) 1 L Original (off if copy of original, on if original) 1 M Emphasis (respects emphasis bit in the original recording; now largely obsolete) 2

MP 3 Frame Length

MP 3 Frame Length

Embedding Text into MP 3 Files o Non-Stegonographic methods o Encode time mp 3

Embedding Text into MP 3 Files o Non-Stegonographic methods o Encode time mp 3 stegonography o Post encoding mp 3 stegonography

Non Stegonographic Methods o o ID 3 v 2 Comment Frame Lyrics 3 Specification

Non Stegonographic Methods o o ID 3 v 2 Comment Frame Lyrics 3 Specification (ID 3 extension)

Flaws of Non-Stego Methods o Increase in File Size o Not applicable to this

Flaws of Non-Stego Methods o Increase in File Size o Not applicable to this project

Encode Time Stegonography o Low Bit Encoding o Phase Coding o Spread Spectrum Coding

Encode Time Stegonography o Low Bit Encoding o Phase Coding o Spread Spectrum Coding o Echo Data Hiding

Flaws of Encode Time Stego o Difficult to implement Tied to single implementation of

Flaws of Encode Time Stego o Difficult to implement Tied to single implementation of mp 3 encoder/decoder Require access to source wav files

Post Encoding Stegonography o Unused Header Bit Stuffing o Padding Byte Stuffing

Post Encoding Stegonography o Unused Header Bit Stuffing o Padding Byte Stuffing

Why Post Encode Stego? o o Easy to implement Do not require source WAV

Why Post Encode Stego? o o Easy to implement Do not require source WAV files Can be used with an of the shelf encoder No sound quality degradation

Implementation Choices o o o Implemented in Java Stegonographic Method: Padding Byte Stuffing Stegonographic

Implementation Choices o o o Implemented in Java Stegonographic Method: Padding Byte Stuffing Stegonographic Module as stand alone application

Stegonographic Module: Design

Stegonographic Module: Design

Flow of Control

Flow of Control

LZW Compression

LZW Compression

Steg. IO - Writing calculate the length of the message in bytes prepend the

Steg. IO - 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 } }

Steg. IO - Reading length = integer > 4 counter = 0 while (counter

Steg. IO - 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 } }

Stegonographic Module: Usage o To Embed text: n o java –jar mp 3 stego.

Stegonographic Module: Usage o To Embed text: n o java –jar mp 3 stego. jar mp 3_file. mp 3 text_file. txt To Extract text: n java –jar mp 3 stego. jar mp 3_file. mp 3

Stegonographic Module: Comments & Future Work o Padding Byte Stuffing – problematic o Data

Stegonographic Module: Comments & Future Work o Padding Byte Stuffing – problematic o Data Corruption

Java and MP 3 o Java Sound API o Java Media Framework

Java and MP 3 o Java Sound API o Java Media Framework

MP 3 Player Implementation o o Used an open source java player called Java

MP 3 Player Implementation o o Used an open source java player called Java MP 3 player. http: //www. codetoad. com/java_mp 3 _player. asp

Text & Music Synchronization o o o Line starts with time offset Followed pipe

Text & Music Synchronization o o o Line starts with time offset Followed pipe character “ | ” Followed by the lyric text Line ends with a new line (“ n ”) File terminates in hash mark (“ # “)

Sample Lyrics File 19100|May the good Lord be with you 21250|Down every road you

Sample Lyrics File 19100|May the good Lord be with you 21250|Down every road you roam 28300|And may sunshine and happiness 31150|surround you when you're far from home … 207790|Forever Young 217240|For, forever young 227050|Forever Young #

Future Work o o Implementation using Unused Header Bit Stuffing Automating Lyrics Markup and

Future Work o o Implementation using Unused Header Bit Stuffing Automating Lyrics Markup and Synchronization

Demo and Questions

Demo and Questions

References o o o o Hacker, Scot, “MP 3, The Definitive Guide”, 1 st

References o o o o Hacker, Scot, “MP 3, The Definitive Guide”, 1 st Edition, March 2000, O'Reilly Publishing. Noto, Mark, MP 3 Stego: Hiding Text in MP 3 Files, September 2001, SANS Institute. Koichi Takagi, Shigeyuki Sakazawa, Yashuiro Takishima, “Light Weight MP 3 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, “ID 3 tag version 2. 4. 0 - Main Structure”, November 2000, http: //www. id 3. org/id 3 v 2. 4. 0 structure. txt Predrag Supurovic, “MPEG Audio Frame Header”, 1998 Data. Voyage, http: //www. dv. co. yu/mpgscript/mpeghdr. htm#MPEGTAG “The Private Life of MP 3 Frames”, http: //www. id 3. org/mp 3 frame. html M. Nilsson, “ID 3 tag version 2. 3. 0”, February 1999, http: //www. id 3. org/id 3 v 2. 3. 0. html Strnad Peter, Gingold Peter, “Lyrics 3 Tag v 2. 00”, Jun 1998, http: //www. id 3. org/lyrics 3200. 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. , “mp 3 stego”, 1997– 2005, http: //www. petitcolas. net/fabien/steganography/mp 3 stego/ Koso A. , Turi A. , and Obimbo C. , “Embedding Digital Signatures in MP 3 s”, 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. html “LZW”, Wikipedia, http: //en. wikipedia. org/wiki/LZW “Information-and-Entropy”, MIT, Spring 2003, http: //ocw. mit. edu/NR/rdonlyres/Electrical-Engineering -and-Computer-Science/6 -050 JInformation-and-Entropy. Spring 2003/ABF 6 E 960 -C 29 C-48 BB-95 AEAF 9 F 79 D 9 E 20 B/0/chapter 3 new. pdf Fraunhofer-Gesellschaft, http: //www. iis. fraunhofer. de/amm/techinf/layer 3/index. html