Audio Steganography Cody A. Ray ECES 434 Final December 11, 2009
May 06, 2015
Audio Steganography
Cody A. RayECES 434 Final
December 11, 2009
Introduction
•What is steganography?
•Security through obscurity
•Basis of watermarking
Requirements
•Hide a text-based message inside an audio signal with minimal distortion of the signal as perceived by the human ear.
Approaches
•Least-Significant Bit (LSB) Method
•Time Domain Amplitude Modulation
•Psychoacoustic Model from MPEG-1 Layer I
Least-Significant Bit
•Prefix message with identifier string.
•Embed 1 bit of the message as every LSB
•Does not require the original audio track to recover the message.
LSB System DesignCopy Copy
Header Header &&
Data Data SizeSize
Convert Convert Txt→BiTxt→Bi
nn
Embed Embed IdentifiIdentifier,Len, er,Len,
MsgMsg
Write Write New New Wav Wav FileFile
Extract Extract Length Length
of of MessagMessag
ee
Check Check for for
IdentifiIdentifierer
Extract Extract LSB LSB from from
WavDaWavDatata
ConvertConvertBin→TxBin→Tx
tt
Embed Message
Recover Message
Wav File Format
Start Byte Len Name
0 12 RIFF Header
12 24Wav Format Subchunk
36 8Data
Subchunk (ID and Size)
44 * Data
LSB Implementation
•Binary conversion using de2bi, bi2de (Communications Toolbox)
•Read bytes into array. Use bitset(A, BIT, V)
•Identifier = 101010102 = 17010
•Extended ASCII ¬ not sign
•ANSI ª Feminine Ordinal Indicator
Mono Wav LSB
Stereo Wav LSB
LSB Results
MonoMono StereoStereo
InputInput
OutputOutput
Amplitude Modulation
•Time domain amplitude modulation
•Slice time into blocks using message size
•Embed 1 bit of the message per time slice
•Requires the original audio track to recover the message.
AM System DesignCalculaCalcula
te te Block Block SizeSize
Convert Convert Txt→BiTxt→Bi
nn
Slice Slice Time Time
BlocksBlocks
ScaleScaleEach Each SliceSlice
Slice Slice Time Time
BlocksBlocks
CalculaCalculate te
Block Block SizeSize
ComparCompare Mag. e Mag.
ofofSlicesSlices
Convert Convert Bin→TxBin→Tx
tt
Embed Message
Recover Message
AM System Design•Binary conv. using Ascii: dec2bin,
bin2dec
•Block size =⎣len(sig)/len(msg)⎦
•Embed: scale slice by 0.99 if ‘1’ or 0.98 if ‘0’
•Recover: check slice is greater than original scaled to 0.98 then ‘1’, else ‘0’
Mono Wav AM
Stereo Wav AM
AM Results
MonoMono StereoStereo
InputInput
OutputOutput
MPEG-Based Steganography
•Selective Fourier Domain Amplitude Modulation using Psychoacoustic Models
•Psychoacoustic Models based upon the ISO-MPEG Model 1 Layer I, fs=44.1 kHz
MPEG System Design
1.Calculate the power spectrum.
2.Identify the tonal and non-tonal components.
3.Decimate the maskers to eliminate all irrelevant maskers.
4.Compute the individual masking thresholds.
5.Compute the global masking threshold.
6.Determine the minimum masking threshold in each subband.
7.Shape the power of the message below the masking threshold.
Demonstration
>> hide(‘my secret’, ‘input.wav’, ‘output.wav’)
>> recover(‘output.wav’)
message=‘my secret’
Future Work
•Complete MPEG-based system
•Explore statistical methods for recovery without possession of original file
•Explore non-textual steganography (compute symbols with a radix base)