Professional Documents
Culture Documents
Full Report
Full Report
DECLARATION
This is to certify that the project report entitled Steganographic encrypted
communication through audio and image for defense and intelligence applications
, which is submitted by us in partial fulfillment of the requirement for the award of
B.Tech degree, in Electronics and Communication to Guru Tegh Bahadur Institute of
Technology, Delhi comprises only our original work and due acknowledgement has
been made in the test to all other material used.
Date:
CERTIFICATE
This is to certify that the project report entitled steganographic encrypted
communication
through
audio
and
image
for
defense
and
(HOD, ECE)
ACKNOWLEDGEMENT
Setting an endeavor may not always be an easy task; obstacles are bound to come in
its way and when this happens, help is welcome and needless to say without help of
those people whom we are mentioning here, this endeavor would not have been
successful. We are very much thankful for the precious contribution of our
coordinators Mr. Pawan Kumar ,Ms. Chanpreet Kaur Bhasin, Mr. Gurmeet
Singh, Prof. Amrik Singh who provided all their possible help. We would also like to
thank our H.O.D. Mr. Vaneet Singh for his constant support and encouragement. The
successful completion of this project has been possible due to sincere co-operation,
guidance and timely advice from all the fore mentioned, who devoted their utmost cooperation in this project work.
SAURABH BALYAN
ABSTRACT
Steganography is an art of sending hidden data or secret messages over a public channel
so that a third party cannot detect the presence of the secret messages. The goal of
steganography is different from classical encryption, which seeks to conceal the
content of secret messages; steganography is about hiding the very existence of
the secret messages.
Modern steganography is generally understood to deal with electronic media
rather than physical objects. There have been numerous proposals for protocols to
hide data in channels containing pictures, video, audio and even typeset text. This
makes sense for a number of reasons. First of all, because the size of the information
is generally quite small compared to the size of the data in which it must be hidden
(the cover text), electronic media is much easier to manipulate in order to hide data
and extract messages. Secondly, extraction itself can be automated when the data
is electronic, since computers can efficiently manipulate the data and execute the
algorithms necessary to retrieve the messages. Electronic data also often includes
redundant, unnecessary and unnoticed data spaces which can be manipulated in order
to hide messages.
A steganographic method of embedding textual information in an audio and
image file is presented in this project. In the proposed technique, first the audio file is
sampled and then an appropriate bit of each alternate sample is altered to embed the
textual information. As a steganographic approach the perceptual quality of the host
audio signal was not to be degraded.
LIST OF FIGURE
FIGURE
FIGURE NAME
PAGE
NO
2.3.1
2.3.2
11
2.3.3
12
2.3.4
2.3.5
NO
9
Echo Hiding
13
14
3.2
17
3.3.1
19
3.3.2
20
List of Abbreviations:
WAV: Windows Audio Visual
AIFF: Audio Interchange File Format log scale 8bit mlaw
MP3: Motion Picture Experts Group Layer III
HAS: Human auditory system.
LSB: least significant bits
Varagout: variable length o/p argument list allows any no of o/p argument from a function.
CONTENT
Chapters No
Title
INTRODUCTION
1.1
1.2
1.3
1.4
Introduction
History of Steganography
Cryptography v/s Steganography
Steganography Detection Tools
2.1
2.1.1
2.1.2
2.2
2.2.1
2.2.2
2
2.3
2.3.1
2.3.2
2.3.3
2.3.4
3.1
3.2
3.3
SYSTEM DESIGN
Why .WAV?
Wave File Format Specifications
LSB Coding
3.3.1 Algorithm (For Embedding of Data) and Block Diagram
3.3.2 Algorithm (For Extracting of Data) and BlockDiagram
IMPLEMENTATION AUDIO STEGANOGRAPHY
Flowchart for Encryption & Algorithm
Flowchart for Decryption & Algorithm
INSTRUCTIONS USED
Development on MATLAB
4.1
4.2
4.3
4.4
5.1
5.2
5.3
5.4
STEGANOGRAPHIC TECHNIQUES
Text Steganography Algorithms
Line Shit Coding
Word Shift Coding
Image Steganography algorithms
Least significant bit encoding:
Digital Watermarking:
Audio Steganography Algorithms
Parity Coding
Phase Coding
Spread Spectrum
Echo Hiding
IMAGE STENOGRAPHY
Algorithm (For Embedding of Data) and Block Diagram
Algorithm (For Extracting of Data) and BlockDiagram
Matlab code
RESULT AND SCREEN-SHOT
APPLICATION
6.1
7.1
8.1
8.2
Applications
Page No
1
2
3
4
4
5
6
6
6
7
7
7
7
7
8
9
10
11
12
13
13
14
15
17
18
20
22
23-27
28
29
30
32
35
38
39-42
43
44
44
44
45
46
46
47
52
CHAPTER 1
INTRODUCTION
2011-2015
Page- 1
1.1 INTRODUCTION
Currently the fast improvement of the Internet and the digital information revolution caused major changes
in the overall culture. In modern communication system Data Hiding is most essential for Network Security
issue. The internet has also encouraged a number of audio applications like internet telephony, voice query
and assistance on the net and voice activated web sites. Music is another subject of interest worldwide and
reaches its audience as audio files or internetradio broadcasts (apart from conventional radio and television).
Audio traffic on the internet is increasing at a high rate. Therefore, choosing audio as a cover media is quite
obvious for data hiding. Popular audio formats on the internet are the WAV (Windows Audio Visual), AIFF
(Audio Interchange File Format), log scale 8bit mlaw and MP3 (Motion Picture Experts Group Layer III).
Data rates supported vary from 8 kbps to 44.1 kbps. Audio hiding techniques rely on the weakness of the
human auditory system (HAS).
Hiding information inside audio is a popular technique now a day. Audio data hiding can be used any time
you want to hide data. There are many reasons to hide data but most important is to prevent unauthorized
persons from becoming aware of the existence of a message. Data hiding in the least significant bits (LSBs)
of audio samples in the time domain is one of the simplest algorithms with very high data rate of additional
Information. In this project, we will present general principles of data hiding basic terminology, and an
overview of applications and techniques.
In particular we will consider data hiding within audio signals, basic requirements and the state of
the art techniques. We will propose a novel technique with several variations. The proposed method is
characterized by perfect transparency, robustness, high bit rate, low processing load, and, particularly, high
security.
The first description of the use of steganography dates back to the Greeks. Herodotus tells how a
message was passed to the Greeks about Xerses' hostile intentions underneath the wax of a writing
tablet, and describes a technique of dotting successive letters in a cover text with a secret ink, due to
Aeneas the Tactician.
Pirate legends tell of the practice of tattooing a secret information, such as a map, on the head of
someone, so that the hair would conceal it.
Kahn tells of a trick used in China of embedding a code ideogram at a prearranged position in a
dispatch; a similar idea led to the grille system used in medieval Europe, where a wooden template
would be placed over a seemingly innocuous text, highlighting an embedded secret message.
During WWII the grille method or some variants were used by spies. In the same period, the
Germans developed microdot technology, which prints a clear, good quality photograph shrinking it
to the size of a dot.
There are rumors that during the 1980's Margareth Thatcher, then Prime Minister in UK, became so
irritated about press leaks of cabinet documents, that she had the word processors programmed to
encode the identity of the writer in the word spacing, thus being able to trace the disloyal ministers.
During the "Cold War" period, US and USSR wanted to hide their sensors in the enemy's facilities.
These devices had to send data to their nations, without being spotted.
Among the first ones there is war telecommunications, which use spread spectrum or meteor scatter
radio in order to conceal both the message and its source.
In the industry market, with the advent of digital communications and storage, one of the most
important issues is copyright enforcement, so digital watermarking techniques are being developed
to restrict the use of copyrighted data.
Another important use is to embed data about medical images, so that there are no problems with
matching patient's records and images.
Among illegal ones is the practice of hiding strongly-encrypted data to avoid controls by
cryptography export laws.
2011-2015
Page- 2
Page- 3
The second important function of steganography detection software is to find possible carrier files.
Ideally, the detection software would also provide some clues as to the steganography algorithm used to hide
information in the suspect file so that the analyst might be able to attempt recovery of the hidden
information.
There are more than 100 steganography programs currently available, ranging from free downloads
to commercial products. The most common among them are:
Gif-It-Up, a Nelsonsoft program, JP Hide-&-Seek (JPHS) by Allan ,S-Tools, a program by Andy Brown that
can hide information inside GIF, BMP, and WAV files.
This section will show a simple steganography example by hiding an 11,067-byte GIF map of the
Burlington, Vermont, airport.
2011-2015
Page- 4
CHAPTER 2
STEGANOGRAPHIC Techniques
2011-2015
Page- 5
STEGANOGRAPHIC METHODS
The word steganography is of Greek origin and means covered writing. The objective of steganography is
to hide a secret message within a cover-media in such a way that others cannot make out the presence of the
hidden message. The following formula provides a very generic description of the pieces of the
steganographic process:
Cover medium + hidden data + stego key = stego medium
In this context, the cover medium is the file in which we will hide the hidden data, which may also be
encrypted using the stego key. The resultant file is the stego medium (which will, of course. be the same
type of file as the cover medium). The cover medium (and, thus, the stego_medium) is typically image or
audio files.
2011-2015
Page- 6
Page- 7
v.
vi.
The original sound signal is broken up into smaller segments whose lengths equal the size of the
message to be encoded.
A Discrete Fourier Transform (DFT) is applied to each segment to create a matrix of the phases and
Fourier transform magnitudes.
Phase differences between adjacent segments are calculated.
Phase shifts between consecutive segments are easily detected. In other words, the absolute phases
of the segments can be changed but the relative phase differences between adjacent segments must
be preserved. Therefore the secret message is only inserted in the phase vector of the first signal
segment as follows:
A new phase matrix is created using the new phase of the first segment and the original phase
differences.
Using the new phase matrix and original magnitude matrix, the sound signal is reconstructed by
applying the inverse DFT and then concatenating the sound segments back together.
To extract the secret message from the sound file, the receiver must know the segment length. The
receiver can then use the DFT to get the phases and extract the information (consider Figure 2.3.2 for phase
coding procedure).
Figure 2.3.2: The signals before and after Phase coding procedure
2011-2015
Page- 8
2.3.3
Spread Spectrum:
In a normal communication channel, it is often desirable to concentrate the information in as narrow
a region of the frequency spectrum as possible in order to conserve available bandwidth and to reduce
power. The basic spread spectrum technique, on the other hand, is designed to encode a stream of
information by spreading the encoded data across as much of the frequency spectrum as possible. This
allows the signal reception, even if there is interference on some frequencies. While there are many
variations on spread spectrum communication, we concentrated on Direct Sequence Spread Spectrum
encoding (DSSS). The DSSS method spreads the signal by multiplying it by a chip, a maximal length
pseudorandom sequence modulated at a known rate. Since the host signals are in discrete-time format, we
can use the sampling rate as the chip rate for coding. The result is that the most difficult problem in DSSS
receiving, that of establishing the correct start and end of the chip quanta for phase locking purposes, is
taken care of by the discrete nature of the signal. Consequently, a much higher chip rate, and therefore a
higher associated data rate, is possible. Without this, a variety of signal locking algorithms may be used, but
these are computationally expensive.
Procedure: In DSSS, a key is needed to encode the information and the same key is needed to decode
it. The key is pseudorandom noise that ideally has flat frequency response over the frequency range, i.e.,
white noise. The key is applied to the coded information to modulate the sequence into a spread spectrum
sequence.
DSSS method: The code is multiplied by the carrier wave and the pseudorandom noise sequence, which has
a wide frequency spectrum. As a consequence, the spectrum of the data is spread over the available band.
Then, the spread data sequence is attenuated and added to the original file as additive random noise (see
Figure 2.3.3. DSSS employs bi-phase shift keying since the phase of the signal alternates each time the
modulated code alternates. For decoding, phase values f0 and f0 + p are interpreted as a 0 or a 1, which
is a coded binary string. Spread Spectrum is shown in Figure 2.3.4
Fig
ure
2.3.
3: Spread Spectrum Encoding
In the decoding stage, the following is assumed:
I.
The pseudorandom key is maximal (it has as many combinations as possible and does not repeat for
as long as possible). Consequently it has a relatively flat frequency spectrum.
II. The key stream for the encoding is known by the receiver. Signal synchronization is done, and the
start/stop point of the spread data is known.
III. The following parameters are known by the receiver: chip rate, data rate, and carrier frequency.
2.3.4 Echo hiding:
In echo hiding, information is embedded in a sound file by introducing an echo into the discrete
signal. Like the spread spectrum method, it too provides advantages in that it allows for a high data
transmission rate and provides superior robustness when compared to the noise inducing methods. If only
one echo was produced from the original signal, only one bit of information could be encoded. Therefore,
2011-2015
Page- 9
the original signal is broken down into blocks before the encoding process begins. Once the encoding
process is completed, the blocks are concatenated back together to create the final signal.
Echo Hiding is shown in Figure 2.3.5. Also, a message can be encoded using musical tones with a
substitution scheme. For example, a Fistone will represent a 0 and a C tone represents a 1. A normal musical
piece can now be composed around the secret message or an existing piece can be selected together with an
encoding scheme that will represent a message.
Figure 2.3.4. Synthesized spread spectrum information encoded by the direct sequence method
2011-2015
Page- 10
CHAPTER 3
SYSTEM DESIGN
2011-2015
Page- 11
Why .WAV?
No Compression
3.2 Wave File Format Specifications
File Description: WAVE or RIFF WAVE sound file
File Extension: Commonly .wav, sometimes .wave
2011-2015
Page- 12
Page- 13
From the table, one can come to a point that to embed the word Audio into the host audio file
actually the corresponding eight bit binary values have to be embedded into the data field of that audio file.
To develop this algorithm multiple bits of each sample of the file have been changed or modified to
insert text data in it. It has also been observed the degradation of the host audio file after modification of the
bits. The bit modification was done by various ways, like 1, 2, 3, 4 bits were changed in turn. But after going
through all the modification it has been observed that 1 bit change in LSB gave the best result. Thus, data
can be embedded according to the following algorithm.
TABLE I
Letters with ASCII Values and Corresponding Binary Values
Letter
ASCII Value
065
01000001
117
01110101
100
01100100
105
01101001
111
01101111
Embedding Process
LSB of the Data
Part
Audio Input
Separate Header
and Data
Stego Audio
Alternate Samples
of LSB Data
2011-2015
Page- 14
Extraction Process
Store LSB of
Data Part
Stego Audio
Separate Header
and Data
Convert Binary to
ASCII
Left Shift of
Previous bit
Extracted Text
2011-2015
Page- 15
TABLE II
Samples of Audio File with Binary Values before and after Embedding
Sample No.
46
48
50
52
54
56
58
60
Binary values of
corresponding
sample
01110100
01011110
10001011
01111011
10100010
00110010
11101110
01011100
Binary value
to be
embedded
0
1
0
0
0
0
0
1
Binary values
after
modification
01110100
01011111
10001010
01111010
10100010
00110010
11101110
01011101
Start from 46th bit, check the least significant bit, and store it in a queue. Check every alternate
sample to collect the whole messages. Like 48th, 50th and 52th and so on. Store the least significant bits of
the alternate samples in the queue with left shift of previous bit. Convert the binary values to decimal to get
back the ASCII from which the text can be retrieved. The whole retrieval process can be depicted with the
following table more thoroughly.
TABLE III
Extraction of Data from Audio File
Sample No
Binary values with
Bits that are stored in the
embedded secret data
queue
46
01110100
48
01011111
01
50
10001010
010
52
01111010
0100
54
10100010
01000
56
00110010
010000
58
11101110
0100000
60
01011101
01000001
As in Table II the embedding process of the letter A was stated that is why, in Table III, the
retrieval process of A is depicted. Starting from the 46th sample, every alternate sample has been checked
and the least significant bit has been stored into a queue with a left shift of previous bit. After getting all the
bits in the queue, start from the left hand side, take 8 bits and convert them into equivalent decimal to get the
ASCII, from the ASCII retrieve the embedded textual message. From the table, it is clearly observed that
after getting 01000001 in the queue it is converted into the equivalent decimal that is 60, the ASCII of A.
Thus A is retrieved.
Like the same way, the next letters also have been retrieved and hence the complete word Audio.
2011-2015
Page- 16
CHAPTER 4
IMPLEMENTATION
2011-2015
Page- 17
Select a .wav
file as carrier
to hide the text
If Selected
.wav file is
>100KB
B
Add text
Display Message
Message too big, select small message
2011-2015
Page- 18
B
If all bits of
text are
embedded?
No
Yes
Create a new file containing
the stegano audio
2011-2015
Page- 19
5. If text length is more than the no. of samples present in the selected .wav file then display Message
too big, select small message
6. Skip the first 44 byte of carrier which is address part of .wav file.
7. Replace least significant bit of message carrier matrix with corresponding element of message vector
by converting them from ASCII to decimal and then to equivalent binary.
8. Create a new file to store the modified LSB.
9. Get the stegano audio file as output.
If
No
C
Page- 20
End
2011-2015
Page- 21
GUI_main function: support function for creation & callback dispatch of guide GUIs.Each time guide is
called the initialization block builds a structure called gui_state which contain information for accessing
guide function
fieldgui _name(iegui_stategui_name):contains the MATLAB function mfilename which returns the name
of currently executing M-file.If Guide gui object is activated by the user (e.g. button is pressed) the name of
object callback function is added as gui_callback (the callbacks name would have been passed as a string in
varagin (1)).
gui_state: After structure gui_state is formed ,it is passed as an i/p argument along with vargin (:) to
function gui_main .
gui_mainfunc:gui_mainfunchandles guicreation,layout& called dispatch.
The only function a user should modify are as follws:
a)openingfunc
b)callback
Opening & o/p function are passed arguments .
a)hobject:graphics object handle
b)eventdata:reserved for future use .
c) handles:structure that provides handles to interface objects & any application specific or user defined
data. Provides handles for all graphics object. It can be used to access & modify object properties.
set() sets the value of property for graphics objects with handle.
guidata() stores the specified data in figures application data .
callback functions are launched in response to interaction with a fig object or windows.
edit controls have white background on windows.
ISPC returns 1 for windows (PC) 0otherwise.
get function to retrieve information.
isequal() true if arrays are numerically equal.
uigetfile() open file dialog box .
fnamefilename.
pnamepathname.
fnamestring containing name of file selected in dialog box.
Pushbutton1*wavselect a file.
waveread (FILE .[N1 N2]): returns only samples N1 through N2 from each channel in the file
[y,fs,nbits,opts]- y:sampled data, fs: sample frequency (Hz), nbit:no of bits per sample, opts:additional
information.
fread (fidl.40,'unit=>char')
bitget()returns the value of bit at position 1sb in data.
reshape(X,M,N)returns MXN matrix whose elements are taken columnwise from x.
de2.bi(..,N)N defines no of columns
fwrite (fid2,header,'units') writes header to file fid2.
2011-2015
Page- 22
Step: 2
Select Wav file (cover signal) for Embedding.
2011-2015
Page- 23
Step: 3
Encryption:
lsb=1;
2011-2015
Page- 24
msg=get(handles.edit1,'string');
%get text message from editbox
msg
[ro,co]=size(msg);
ro
co
if ( (ro*co*8+28) > count )
msgbox('Message too big, select small message','Empty');
else
[m_msg,n_msg]=size(msg);
n_msg
m_msg
msg_double=double(msg);
msg_double%convert it to double
msg_bin=de2bi(msg_double,8);
[m,n]=size(msg_bin);
msg_bin
m
n
msg_bin_re=reshape(msg_bin,m*n,1);
vector
msg_bin_re
m_bin=de2bi(m_msg,10)';
m_bin %
n_bin=de2bi(n_msg,10)';
n_bin
len=length(msg_bin_re);
len
len_bin=de2bi(len,20)';
len_bin
%
%length of message binary
end
Page- 25
2011-2015
Page- 26
Step: 6
Decryption Process
lsb=1;
identity=bitget(dta(1:8),lsb)';
if identity==[1 0 1 0 1 0 1 0]
%extract the length of text from first 9th to 28th wav data samples
len_bin=zeros(20,1);
m_bin=zeros(10,1);
n_bin=zeros(10,1);
m_bin(1:10)=bitget(dta(9:18),lsb);
n_bin(1:10)=bitget(dta(19:28),lsb);
%convert the length to decimal
%len=bi2de((len_bin)');
m=bi2de(m_bin');
n=bi2de(n_bin');
len=m*n*8;
secmsg_bin=zeros(len,1);
%extract the lsb from wave data sample
secmsg_bin(1:len)=bitget(dta(29:28+len),lsb);
secmsg_bin_re=reshape(secmsg_bin,len/8,8);
secmsg_double=bi2de(secmsg_bin_re); %convert it to binary
secmsg=char(reshape(secmsg_double,m,n)); %convert to char(ASCII)
%size(secmsg)
%secmsg=reshape(secmsg,m,n/8);
set(handles.edit1,'string',secmsg);
else
msgbox('File has no hidden text','Empty');
end
Page- 27
CHAPTER 5
IMAGE STEGANOGRAPHY
2011-2015
Page- 28
IMAGE STEGANOGRAPHY
A. Image Files
As Duncan Sellars [7] explains To a computer, an image is an array of numbers that represent light
intensities at various points, or pixels and These pixels make up the images raster data.Pixels are
displayed horizontally row by row. In a color scheme, the number of bits is known as the bit depth
and this basically refers to the number of bits assigned to each pixel [1]. Moreover the smallest bit
depth in the color scheme is 8 that is 8- bits are utilized to represent the color of each pixel. Both
Monochrome and gray scale images usually utilize 8 bits for each pixel and such bits are capable of
displaying up to 256 different colors or shades of gray. One morepoint to add is that almost all the
color variation for the pixels of 24-bit image are derived from three basic color
terms: red, green, and blue, and each of these colors is represented by 8-bits [3].Thus, in any given
pixel, the number of different shades of red, green, and blue can reach 256 that adding up to more
than 16 million combinations that finally result in more than 16 million colors. The most prominent
image formats, exclusively on the internet are the GIF, JPEG, and to lesser degree PNG format. The
important issue to touch here is that most of the steganography techniques attempt to exploit the
structure of these formats. However some literary contribution use the bitmap format (BMP) simply
because of its simple and uncomplicated data structure [8] [9].
B. RGB Image Files
The RGB image has 24 bits values per pixel represent by (00000000, 00000000 and 00000000) for
black and (11111111, 11111111 and 11111111) for white pixels. The RGB image is the most suitable
because it contains a lot of information that help in hiding the secret information with a bit change in
the image resolution which does not affect the image quality and make the message more secure. In
this research paper the RGB images are used as a carrier message to hide the secret message by using
new proposed method.
6.1 INTRODUCTION
With the recent advances in computing technology and its intrusion in our day to day life, the need for
private and personal communication has increased. Privacy in digital communication is desired when
confidential information is being shared between two entities using computer communication. To provide
secrecy in communication we use various techniques. One such technique is Steganography [1-2] that is
the art of hiding the fact that communication is taking place, by hiding information in other information.
Classification of stenography techniques based on the cover modifications applied in the embedding
process is as follows:
A. Least significant bit (LSB) method
This approach [3-8] is very simple. In this method the least significant bits of some or all of the bytes
inside an image is replaced with a bits of the secret message.
B. Transform domain techniques
This approach [9-10] embeds secret information in the frequency domain of the signal. Transform domain
methods hide messages in significant areas of the cover image which makes them more robust to attacks
such as: compression, cropping, and some image processing, compared to LSB approach.
C. Statistical methods
This approach [11] encodes information by changing several statistical properties of a cover and uses a
hypothesis testing in the extraction process. The above process is achieved by modifying the cover in such a
way that some statistical characteristics change significantly i.e. if "1" is transmitted then cover is changed
otherwise it is left as such.
D. Distortion technique
In this technique [12-15] the knowledge of original cover in the decoding process is essentail at the
receiver side. Receiver measures the differences with the original cover in order to reconstruct the
sequence of modification applied by sender.
2011-2015
Page- 29
6.2PROPOSED ALGORITHM
The proposed algorithm includes four parts in it:1. User-defined key This includes the key entered by user to encrypt the message. The key should be an
integer between 0-255. This key will help to provide security to the hidden message because even if third
party will get the stego image he/she cannot extract the message without exact key.
2. Encryption - In this part of algorithm the message is encrypted using key by applying the method of
encryption that is XOR the message binary values with the key and gets the cipher message.
3. Embedding Using embedding algo given below,message is embedding into an image of RGB format.
4. Extraction The message can be extracted if the exact key is known.
2011-2015
Page- 30
Result for the extraction algorithm:As for extraction, image file with hidden message is input and we get two files as output one is text message
file and other is cover image file. Both are shown below:-
2011-2015
Page- 31
Page- 32
'backgroundcolor',col);
static3=uicontrol(h_fig,'style','text','visible','off',...
'string','Enter the key for decoding.',...
'fontweight','bold','backgroundcolor',col);
static4=uicontrol(h_fig,'style','text','visible','off',...
'string','Message Length:',...
'fontweight','bold','backgroundcolor',col);
static5=uicontrol(h_fig,'style','text','visible','off',...
'string','0','foregroundcolor','blue',...
'fontweight','bold','backgroundcolor',col);
hands=[checkd checke edit1 edit2 frame1 frame2 push1 push2 static1...
static2 static3 static4 static5];
set(h_fig,'userdata',hands); % Store handles in figures userdata.
case 'encode' % The user has chosen to encode a MSG.
set(gcbf,'position',[pos(1) pos(2)-300 300 380]);
set(checkd,'enable','off','position',[140 320 60 20]);
set(checke,'position',[140 350 60 20],'enable','off');
set(edit1,'visible','on','position',[30 50 245 200],'fontsize',...
10,'string',[' Maximum Number of Characters ',...
'
is 1000. See Counter Below'],'foregroundcolor',...
'red'); % Issue a reminder about the max MSG length.
set(frame1,'visible','on','position',[30 295 245 3],...
'backgroundcolor','black');
set(push1,'visible','on','position',[230 10 45 28]);
set(static1,'visible','on','position',[30 260 245 20]);
set(static2,'position',[30 333 75 20]);
set(static4,'visible','on','position',[28 4 100 28]);
set(static5,'visible','on','position',[130 4 50 28]);
pause(1.75); % Displays reminder only a short time.
set(edit1,'foregroundcolor','black','string','','fontsize',9)
(2)ENCODE FUNCTION:num2add = 1000-length(msg); % Number of spaces to add to end of MSG.
if num2add < 0, error('This message is too long to encode.'), end
newmsg = [msg,repmat(' ',1,num2add)]; % 1000 chars always encoded.
msgmat = dec2bin(newmsg)-48; % Each row is a bin. rep. of an ascii char.
[filen pth]=uigetfile({'*.bmp';'*.tif';'*.jpg'},'Choose Image To Encode.');
if isequal(filen,0) || isequal(pth,0)
success = []; return % User cancelled.
end
pic1 = imread([pth filen]);
B = pic1(:,:,1); [piclngth pichght] = size(B); % Choose the first page.
dim1 = piclngth-2; dim2 = pichght-3; keyb = key(end:-1:1);
rows = cumsum(double(key));
columns = cumsum(double(keyb)); % Coord pairs for KEY (rows,columns)
A = zeros(dim1,dim2); % This matrix will house the hiding points.
A = crtmtrx(A,rows,columns,dim1,dim2,key);
idx = find(A==1); % This same index will be used for pic matrix.
2011-2015
Page- 33
2011-2015
Page- 34
2011-2015
Page- 35
2011-2015
Page- 36
(2)Decodng process
CONCLUSION;In this paper the steganography algorithm is presented and implementation results on MATLAB 7.6.0 are
shown. The secure steganography algorithm has been developed to satisfy all proposed requirements.
Almost all the objectives have been met. Execution is successful by achieving the objectives. Results are
analyzed and are satisfactory according to requirements. Yes, of course, it needs to be more advanced but
still it is highly secure technique.
2011-2015
Page- 37
CHAPTER 6
Applications
2011-2015
Page- 38
6.1 APPLICATIONS
1. USAGE IN MODERN PRINTERS
Steganography is used by some modern printers, including HP and Xerox brand color laser printers.
Tiny yellow dots are added to each page. The dots are barely visible and contain encoded printer serial
numbers, as well as date and time stamps.
Example from modern practice
The larger the cover message is (in data content termsnumber of bits) relative to the hidden
message, the easier it is to hide the latter. For this reason, digital pictures (which contain large amounts of
data) are used to hide messages on the Internet and on other communication media. It is not clear how
commonly this is actually done. For example: a 24-bit bitmap will have 8 bits representing each of the three
color values (red, green, and blue) at each pixel. If we consider just the blue there will be 28 different values
of blue. The difference between 11111111 and 11111110 in the value for blue intensity is likely to be
undetectable by the human eye. Therefore, the least significant bit can be used (more or less undetectably)
for something else other than color information. If we do it with the green and the red as well we can get one
letter of ASCII text for every three pixels.
Steganography can be used for digital watermarking, where a message (being simply an identifier) is
hidden in an image so that its source can be tracked or verified (for example, Coded Anti-Piracy), or even
just to identify an image (as in the EURion constellation)
2. ALLEGED USE BY TERRORISTS
When one considers that messages could be encrypted steganographically in e-mail messages,
particularly e-mail spam, the notion of junk e-mail takes on a whole new light. Coupled with the "chaffing
and winnowing" technique, a sender could get messages out and cover their tracks all at once.
An example showing how terrorists may use forum avatars to send hidden messages. This avatar contains
the message "Boss said that we should blow up the bridge at midnight." encrypted with
http://mozaiq.org/encrypt using "vxj" as password.
In October 2001, the New York Times published an article claiming that al-Qaeda had used
steganography to encode messages into images, and then transported these via e-mail and possibly via
USENET to prepare and execute the September 11, 2001 terrorist attack.
3. ALLEGED USE BY INTELLIGENCE SERVICES
In 2010, the Federal Bureau of Investigation revealed that the Russian foreign intelligence service
uses customized steganography software for embedding encrypted text messages inside image files for
certain communications with "illegal agents" (agents under non-diplomatic cover) stationed abroad.
4. STEGANOGRAPHY USED IN NETWORK
All information hiding techniques that may be used to exchange steganograms in telecommunication
networks can be classified under the general term of network steganography. This nomenclature was
originally introduced by Krzysztof Szczypiorski in 2003. Contrary to the typical steganographic methods
which utilize digital media (images, audio and video files) as a cover for hidden data, network
steganography utilizes communication protocols' control elements and their basic intrinsic functionality. As
2011-2015
Page- 39
a result, such methods are harder to detect and eliminate. Typical network steganography methods involve
modification of the properties of a single network protocol. Such modification can be applied to the PDU
(Protocol Data Unit), to the time relations between the exchanged PDUs, or both (hybrid methods).
Moreover, it is feasible to utilize the relation between two or more different network protocols to
enable secret communication. These applications fall under the term inter-protocol steganography.
Network steganography covers a broad spectrum of techniques, which include, among others:
Steganography is applicable not limited to, the following areas: Confidential communication and secret data storing
Protection of data alteration
Access control system for digital content distribution
Media Database systems
The area differs in what feature of the steganography is utilized in each system.
5. CONFIDENTIAL COMMMUNICATION
The "secrecy" of the embedded data is essential in this area.
Historically, steganography have been addressed in this area. Steganography provides us with:
(A) Potential capability to hide the existence of confidential data
(B) Hardness of detecting the hidden (i.e., embedded) data
(C) Enhancing the secrecy of the encrypted data
In practice, when you use some steganography, you must first select a vessel data according to
the size of the embedding data. The vessel should be innocuous. Then, you embed the
confidential data by using an embedding program (which is one component of the
steganography software) together with some key. When extracting, you (or your party) use an
extracting program (another component) to recover the embedded data by the same key (
"common key" in terms of cryptography). In this case you need a "key negotiation" before you
start communication.
One simplest application is to your private journal writing.
Attaching a stego file to an e-mail message is another example in this application area. But you
and your party must do a "sending-and-receiving" action that could be noticed by a third party.
So, e-mailing is not a completely secret communication method.
There is an easy method that has no key-negotiation. We have a model of "Anonymous Covert
Mailing System." See the reference [7].
There is some other communication method that uses the Internet Webpage. In this method you
don't need to send anything to your party, and no one can detect your communication.
Each secrecy based application needs an embedding process which leaves the smallest
embedding evidence. You may follow the following.
2011-2015
Page- 40
(A) Choose a large vessel, larger the better, compared with the embedding data.
(B) Discard the original vessel after embedding.
For example, in the case of Qtech Hide & View, it leaves some latent embedding evidence even
if the vessel has a very large embedding capacity. You are recommended to embed only 25% or
less (for PNG / BMP output) of the maximum capacity, or only 3% of the vessel size (for JPEG
output)..
6. PROTECTION FROM DATA ALTERATION
We take advantage of the fragility of the embedded data in this application area.
We asserted in the Home Page that "the embedded data can rather be fragile than be very
robust." Actually, embedded data are fragile in most steganography programs. Especially, Qtech
Hide & View program embeds data in an extremely fragile manner. We demonstrate this in the
other page.
However, this fragility opens a new direction toward an information-alteration protective system
such as a "Digital Certificate Document System." The most novel point among others is that "no
authentication bureau is needed." If it is implemented, people can send their "digital certificate
data" to any place in the world through Internet. No one can forge, alter, nor tamper such
certificate data. If forged, altered, or tampered, it is easily detected by the extraction program.
Just visit this page and see the reference [9].
7. ACCESS CIONTROL FOR DIGITAL DATABASE SYSTEM
In this area embedded data is "hidden", but is "explained" to publicize the content.
Today, digital contents are getting more and more commonly distributed over Internet than
before. For example, music companies release new albums on their Webpage in a free or
charged manner. However, in this case, all the contents are equally distributed to the people who
can make access to the page. So, an ordinary Web distribution scheme is not suited for a "caseby-case" and "selective" distribution. Of course it is always possible to attach digital contents to
e-mail messages and send them to the customers. But it will takes a lot of cost in time and labor.
If you have some valuable content, which you think it is distributable if someone really needs it,
and if it is possible to upload that content on Internet in some covert manner. And if you can
issue a special "access key" to extract the content selectively, you will be very happy about it. A
steganographic scheme can help realize this type of system.
We have developed a prototype of an "Access Control System" for digital content distribution
through Internet. The following steps explain the scheme.
(1) A content owner classify his/her digital contents in a folder-by-folder manner, and embed the
whole folders in some large vessel according to a steganographic method using folder access
keys, and upload the embedded vessel (stego data) on his/her own Webpage.
(2) On that Webpage the owner explains the contents in depth and publicize worldwide. The
contact information to the owner (post mail address, e-mail address, phone number, etc.) will be
posted there.
(3) The owner may receive an access-request from a customer who watched that Webpage. In
that case, the owner may (or may not) creates an access key and provide it to the customer (free
or charged)..
In this mechanism the most important point is, a "selective extraction" is possible or not.
In fact we have already developed such a selective extraction program to implement the system.
However, we will not go down to the details about this.
2011-2015
Page- 41
2011-2015
Page- 42
CHAPTER 7
Advantages & Disadvantages
2011-2015
Page- 43
Disadvantages:
1. Embedding additional information into audio sequences is a more tedious task than that of images,
due to dynamic supremacy of the HAS over human visual system.
2. Robustness: Copyright marks hidden in audio samples using substitution could be easily manipulated
or destroyed if a miscreant comes to know that information is hidden this way.
3. Commercialized audio Steganography have disadvantages that the existence of hidden messages can
be easily recognized visually and only certain sized data can be hidden.
4. Compressing an audio file with lossy compression will result in loss of the hidden message as it will
change the whole structure of a file. Also, several lossy compression schemes use the limits of the
human ear to their advantage by removing all frequencies that cannot be heard. This will also remove
any frequencies that are used by a Steganography system which hides information in that part of the
spectrum.
2011-2015
Page- 44
CHAPTER 8
Conclusion & Future Scope
2011-2015
Page- 45
8.1 CONCLUSION
This report has looked in detail at the major techniques used for data hiding in audio files. First we gave an
overview of Steganography and in particularPhase Coding, Spread Spectrum and Echo Hiding in the
concept of Audio Steganography. Secondly we described in detail, various Audio Steganography algorithms
namely LSB Coding and implemented the same using MATLAB.At the end, feasibility of Audio
Steganography was evaluated by considering its the pros and cons.
Page- 46
APPENDIX
WAVESPECIFICATIONS
The WAVE file specifications came from Microsoft. The WAVE file format use RIFF chunks, each
chunk consisting of a chunk identifier, chunk length and chunk data.
Length
Contents
ckID
Cksize
WAVEID
WAVE chunks
2. Format Chunk
The Format chunk specifies the format of the data. There are 3 variants of the Format chunk for
sampled data. These differ in the extensions to the basic Formant chunk.
Field
Length
Contents
ckID
Cksize
Chunk size: 16 or 18 or 40
wFormatTag
Format code
nChannels
nSamplesPerSec
nAvgBytesPerSec
Data rate
nBlockAlign
wBitsPerSample
cbSize
wValidBitsPerSample
dwChannelMask
SubFormat
16
The standard format codes for waveform data are given below. The references above give many
more format codes for compressed data, a good fraction of which are now obsolete.
2011-2015
Page- 47
Format Code
PreProcessor Symbol
Data
0x0001
WAVE_FORMAT_PCM
PCM
0x0003
WAVE_FORMAT_IEEE_FLOAT
IEEE float
0x0006
WAVE_FORMAT_ALAW
0x0007
WAVE_FORMAT_MULAW
0xFFFE
WAVE_FORMAT_EXTENSIBLE
Determined by SubFormat
3. PCM Format
The first part of the Format chunk is used to describe PCM data.
For PCM data, the Format chunk in the header declares the number of bits/sample in each sample
(wBitsPerSample). The original documentation (Revision 1) specified that the number of bits per
sample is to be rounded up to the next multiple of 8 bits. This rounded-up value is the container size.
This information is redundant in that the container size (in bytes) for each sample can also be
determined from the block size divided by the number of channels (nBlockAlign / nChannels).
This redundancy has been appropriated to define new formats. For instance, Cool Edit uses a format
which declares a sample size of 24 bits together with a container size of 4 bytes (32 bits) determined
from the block size and number of channels. With this combination, the data is actually stored as 32bit IEEE floats. The normalization (full scale 223) is however different from the standard float
format.
PCM data is two's-complement except for resolutions of 1-8 bits, which are represented as offset
binary.
4. Non-PCM Formats
An extended Format chunk is used for non-PCM data. The cbSize field gives the size of the extension.
For all formats other than PCM, the Format chunk must have an extended portion. The extension can
be of zero length, but the size field (with value 0) must be present.
For float data, full scale is 1. The bits/sample would normally be 32 or 64.
For the log-PCM formats (-law and A-law), the Rev. 3 documentation indicates that the bits/sample
field (wBitsPerSample) should be set to 8 bits.
The non-PCM formats must have a Fact chunk.
1. Extensible Format
2. The WAVE_FORMAT_EXTENSIBLE format code indicates that there is an extension to the
Format chunk. The extension has one field which declares the number of "valid" bits/sample
(wValidBitsPerSample). Another field (dwChannelMask) contains a bits which indicate the mapping
from channels to loudspeaker positions. The last field (SubFormat) is a 16-byte globally unique
identifier (GUID).
2011-2015
Page- 48
6. Fact Chunk
All (compressed) non-PCM formats must have a Fact chunk (Rev. 3 documentation). The chunk contains at
least one value, the number of samples in the file.
Field
Length
Contents
ckID
Cksize
dwSampleLength
The Rev. 3 documentation states that the Fact chunk "is required for all new new WAVE formats",
but "is not required for the standard WAVE_FORMAT_PCM files". One presumes that files with
IEEE float data (introduced after the Rev. 3 documention) need a Fact chunk.
The number of samples field is redundant for sampled data, since the Data chunk indicates the length
of the data. The number of samples can be determined from the length of the data and the container
size as determined from the Format chunk.
Their is an ambiguity as to the meaning of "number of samples" for multichannel data. The
implication in the Rev. 3 documentation is that it should be interpreted to be "number of samples per
channel".
The
statement
in
the
Rev.
3
documentation
is:
"The <nSamplesPerSec> field from the wave format header is used in conjunction with the
<dwSampleLength> field to determine the length of the data in seconds."
With no mention of the number of channels in this computation, this implies that dwSampleLength is
the number of samples per channel.
There is a question as to whether the Fact chunk should be used for (including those with PCM)
WAVE_FORMAT_EXTENSIBLE files. One example of a WAVE_FORMAT_EXTENSIBLE with
PCM data from Microsoft, does not have a Fact chunk.
2011-2015
Page- 49
7. Data Chunk
The Data chunk contains the sampled data.
Field
Length
Contents
ckID
Cksize
Chunk size: n
Samples
sampled data
pad byte
2011-2015
0 or 1
Page- 50
2011-2015
Page- 51
BIBLIOGRAPHY
References
[11]:A Robust Method for Encrypted Data Hiding Technique Based on Neighborhood PixelsInformation.
Submitted by:Ali Shariq Imran, M. YounusJaved, and NaveedSarfrazKhattak
[17]:STEGANOGRAPHY: AN OVERVIEW
Submitted by:Jammi Ashok, Y.Raju, S.MunishankaraiahAndK.Srinivas
[18]:Advanced Steganographic Approach for Hiding Encrypted Secret Message in LSB, LSB+1, LSB+2 and
LSB+3 Bits in Non standard Cover Files.
Submitted by:JoyshreeNath,Sankar Das,ShalabhAgarwal and AsokeNath
2011-2015
Page- 52