Steganography: Data Hiding Using LSB Algorithm
Steganography: Data Hiding Using LSB Algorithm
USING
By
NANI KODURI
Master of Science
in
0919879
Nani Koduri Page 1
MSc Information Security and Computer Forensics
ACKNOWLEDGEMENT:
0919879
Nani Koduri Page 2
MSc Information Security and Computer Forensics
TABLE OF CONTENTS
ABSTRACT
CHAPTER 1
1. INTRODUCTION……………………………………………………………....7
1.1. PROBLEM STATEMENT…………………………………………......9
1.2. OBJECTIVES OF THE STUDY……………………………………...9
1.3. RESEARCH METHOD…………………………………………….....9
1.4. SCOPE AND LIMITATIONS………………………………………...10
1.5. THESIS OF THE PROJECT………………………………………...11
CHAPTER 2
2. LITERATURE REVIEW……………………………………………………..12
2.1. INFORMATION SECURITY………………………………………...12
2.1.1. SECURITY ATTACKS…………………………………………..14
2.2. CRYPTOGRAPHY…………………………………………………..17
2.2.1. SYMMETRIC ENCRYPTION …………………………………..19
2.2.2. ASYMMETRIC ENCRYPTION………………………………...21
2.3. STEGANOGRAPHY………………………………………………...22
2.3.1. LSB ALGORITHM………………………………………………..24
2.3.2. JSTEG ALGORITHM…………………………………………….26
2.3.3. F5 ALGORITHM………………………………………………….26
2.4. DIGITAL WATERMARKING………………………………………...27
CHAPTER 3
3. DESIGN……………………………………………………………………….29
3.1. ENCRYPTION PHASE……………………………………………...30
3.2. TRANSMISSION PHASE…………………………………………...31
3.3. DECRYPTION PHASE……………………………………………...32
3.4. DATA FLOW DIAGRAMS…………………………………………...32
3.4.1. CONSTRUCTING DATA FLOW DIAGRAM…………………..34
3.4.2. DATA FLOW DIAGRAM LEVEL 0……………………………..34
3.4.3. DATA FLOW DIAGRAM LEVEL 1……………………………..35
0919879
Nani Koduri Page 3
MSc Information Security and Computer Forensics
CHAPTER 4
4. EXECUTION…………………………………………………………………38
4.1. HARDWARE AND SOFTWARE REQUIREMENTS…………….38
4.1.1. MICROSOFT .NET………………………………………………38
4.1.2. CLR………………………………………………………………..39
4.1.3. WINDOWS FORMS……………………………………………...39
4.1.4. VISUAL C#...............................................................................40
4.2. FEATURES OF PROPOSED METHOD…………………………..41
4.3. SYSTEM REQUIREMENTS………………………………………...41
4.4. STEGANOGRAPHY MODULE IMPLEMENTATION…………….43
4.4.1. ENCRYPTION MODULE………………………………………..43
4.4.2. DATA TRANSMISSION MODULE……………………………..44
4.4.3. DECRYPTION MODULE………………………………………..45
4.5. SCREENSHOT EXPLANATION……………………………………46
CHAPTER 5
5. TESTING……………………………………………………………………….51
5.1. AIM OF TESTING……………………………………………………..52
5.2. ARTEFACTS OF TESTING………………………………………….52
5.3. UNIT TESTING………………………………………………………..53
5.3.1. LIMITATIONS OF UNIT TESTING……………………………...54
5.4. VALIDATION TESTING……………………………………………....54
5.5. OUTPUT TESTING……………………………………………………54
5.6. INTEGRATION TESTING…………………………………………….54
5.6.1. TOP-DOWN APPROACH………………………………………..55
5.6.2. BOTTOM-UP APPROACH………………………………………55
5.6.3. UMBRELLA APPROACH………………………………………..55
5.7. USER ACCEPTACE TESTING……………………………………...56
5.8. BLACK BOX AND WHITE BOX TESTING…………………………56
0919879
Nani Koduri Page 4
MSc Information Security and Computer Forensics
CHAPTER 6
CHAPTER 7
8. REFERENCES………………………………………………………………….60
0919879
Nani Koduri Page 5
MSc Information Security and Computer Forensics
ABSTRACT:
This paper gives a brief idea about the new image steganographic approach
that make use of Least Significant Bit (LSB) algorithm for embedding the data into
the bit map image (.bmp) which is implemented through the Microsoft .NET
framework.
0919879
Nani Koduri Page 6
MSc Information Security and Computer Forensics
CHAPTER 1
1. INTRODUCTION
In the current trends of the world, the technologies have advanced so much
that most of the individuals prefer using the internet as the primary medium to
transfer data from one end to another across the world. There are many possible
ways to transmit data using the internet: via e-mails, chats, etc. The data transition is
made very simple, fast and accurate using the internet. However, one of the main
problems with sending data over the internet is the „security threat‟ it poses i.e. the
personal or confidential data can be stolen or hacked in many ways. Therefore it
becomes very important to take data security into consideration, as it is one of the
most essential factors that need attention during the process of data transferring.
Data security basically means protection of data from unauthorised users or hackers
and providing high security to prevent data modification. This area of data security
has gained more attention over the recent period of time due to the massive increase
in data transfer rate over the internet.
In order to improve the security features in data transfers over the internet, many
techniques have been developed like: Cryptography, Steganography and digital
watermarking. While Cryptography is a method to conceal information by encrypting
it to „cipher texts‟ and transmitting it to the intended receiver using an unknown key,
Steganography provides further security by hiding the cipher text into a seemingly
invisible image or other formats.
0919879
Nani Koduri Page 7
MSc Information Security and Computer Forensics
The encoded text is known as „Cipher text‟ and this technique is known as
encryption and this process is reversed with authorised access using the decryption
technique, in which the encoded data is decoded into readable format (Kahate,
2008).
One critical factor to be kept in mind when using steganography is to prevent any
further alterations to the originality of the image after embedding the data. Whenever
the image with the secret data is transmitted over the internet unauthorised parties
may want to hack the data hidden over the image. So, if the originality of the image
has been changed then it will be easier to hack the information by unauthorised
persons. In order to improve the security, the Digital watermarks are predominantly
inserted as transformed digital signal into the source data using key based
embedding algorithm and pseudo noise pattern.
This technique has also found big use in the notorious hands of terrorists and the
September 2001 Twin tower attacks of the USA are predominantly associated with
the communications using steganography. The Steganalysis aims at discovering and
decrypting the suspected data transferred with the use of the available algorithms.
0919879
Nani Koduri Page 8
MSc Information Security and Computer Forensics
The aim of the project is to encrypt the data i.e., hide the data over an image using
different steganographic algorithms and to compare those algorithms in the context
of speed, quality of concealing and the use of watermarks and to describe their
functionality in data security.
In my project I primarily concentrated on the data security issues when sending the
data over the network using steganographic techniques. The main objectives of the
project are
Testing the efficiency and accuracy of hiding the data through algorithms using
different software.
In this project, I use a method of encrypting the text and audio files in an image file in
order to test the accuracy and efficiency of encryption. This process helps to send
the information to the authorised party without any potential risk. The proposed
method will help to secure the content with in the image and encryption of audio file
with in the image will help to make the document much securer because even
though if the unauthorised person succeeds in being able to hack the image, the
person will not able to read the message as well as acquire the information in the
audio file.
The .NET software is used to extensively analyse the functions of the LSB algorithm
in steganography. Texts and other file formats are encrypted and embedded into an
image file which is then transferred to the destination. The file‟s changes in
resolution due to the pixels lost are analysed for suggesting the optimal method for
the technique.
The scope of the project is to limit unauthorised access and provide better security
during message transmission. To meet the requirements, I use the simple and basic
approach of steganography and digital watermarking. In this project, the proposed
approach finds the suitable algorithm for embedding the data in an image using
steganography which provides the better security pattern for sending messages
through a network.
For practically implementing the function of the discussed algorithms, Microsoft .NET
framework is used. Although the Microsoft .NET is not particularly known for its top
security functionalities, I use this for easier application development and a well
defined User Interface.
0919879
Nani Koduri Page 10
MSc Information Security and Computer Forensics
Chapter-1: Introduction: In this section, the main points discussed are about the
Overview, the Background of the project, the scopes and limitations of the project
and the approach to research employed are discussed.
Chapter-5: Testing: Here, the algorithm proposed to analyse in different formats and
analyse on its operations is tested and error reports are prepared. The different
types of testing helps are considered to validate the built software on different
conditions.
Chapter-6: Conclusion and Future work: Here, the project is concluded with the
results of the proposed method that has been analysed and recommendations are
made according to the results obtained from the analysis.
0919879
Nani Koduri Page 11
MSc Information Security and Computer Forensics
CHAPTER 2
2. LITERATURE REVIEW
Physical security: Defines the required issues that are needed to protect the physical
data or objects from unauthorized intrusion.
Personal security: It is defined as the security of the individuals who are officially
authorized to access information about the company and its operations
Information security:
Information security is the protection of information and the systems and hardware
that use, store, and transmit that information. Information security can be defined as
measures adopted to prevent the unauthorized use or modification of use of data or
capabilities.
The main objective of the project is to propose the method and critically discuss the
properties which help to transmit the data or information over a network without any
modifications. The critical characteristics of information are
1. Availability
2. Accuracy
3. Authenticity
0919879
Nani Koduri Page 12
MSc Information Security and Computer Forensics
4. Confidentiality
5. Integrity
In other words the availability can be defined as “Ensuring timely and reliable access
to make use of information. A loss of availability is the disruption of access to or use
of information or an information system” (Stallings, 2007, pp.09).
Accuracy: The information is deemed accurate if it does not contain any mistakes /
errors and possesses the value that end user expects. If the information holds a
value different from that of the end user‟s expectations because of intentional or
unintentional modifications of its content it becomes no longer accurate (Whitman,
2007).
0919879
Nani Koduri Page 13
MSc Information Security and Computer Forensics
The data is transmitted from source to destination which is known as its normal flow
as shown in the figure. But the hackers might hack the network in order to access or
modify the original data. These types of attacks are formally known as security
attacks.
A hacker can disrupt this normal flow by implementing the different types of
techniques over the data and network in following ways. They are:
Interruption
Interception
Modification
Fabrication
0919879
Nani Koduri Page 14
MSc Information Security and Computer Forensics
Interruption:
Interruption is an attack by which the hackers can interrupt the data before reaching
the destination. This type of attack shows the effect on availability and usually
destroys the system asset and makes the data unavailable or useless.
Figure 2: Interruption
Interception:
Interception is one of the well known attacks. When the network is shared that is
through a local area network is connected to Wireless LAN or Ethernet it can receive
a copy of packets intended for other device. On the internet, the determined hacker
can gain access to email traffic and other data transfers. This type of attack shows
the effect on confidentiality of data.
Figure 3: Interception
0919879
Nani Koduri Page 15
MSc Information Security and Computer Forensics
Modification:
This refers to altering or replacing of valid data that is needed to send to destination.
This type of attacks is done usually by unauthorized access through tampering the
data. It shows effect on the integrity of the data.
Figure 4: Modification
Fabrication:
In this type, the unauthorized user places data without the interface of source code.
The hacker or unauthorized person inserts the unauthorized objects by adding
records to the file, insertion of spam messages etc. This type of attack affects on the
Authenticity of message.
Figure 5: Fabrication
There are many types of security attacks that will try to modify the original data. The
main goal of any organisation / individual transmitting the data is to implement
security measures which include
0919879
Nani Koduri Page 16
MSc Information Security and Computer Forensics
1. Prevention
2. Detection
3. Response
4. Recovery
Response: Whenever the unauthorised attacks happen in the system, the security
mechanisms can detect the process and the system can respond to make the data
unavailable.
Recovery: Recovery is the final approach if an attacker modifies the data or makes
the data unavailable. The data can then be recovered by using backup systems, so
that the integrity of the data shall not be compromised.
There are different types of approaches for preventing the security attacks. The most
useful approaches are
1. Cryptography
2. Steganography
3. Digital watermarking
2.2 CRYPTOGRAPHY
The word cryptography is derived from two Greek words which mean “secret writing”.
Cryptography is the process of scrambling the original text by rearranging and
substituting the original text, arranging it in a seemingly unreadable format for others.
Cryptography is an effective way to protect the information that is transmitting
through the network communication paths (Bishop, 2005).
0919879
Nani Koduri Page 17
MSc Information Security and Computer Forensics
Plain text: The plain text is an original piece of information that is needed to send
information to the destination.
0919879
Nani Koduri Page 18
MSc Information Security and Computer Forensics
Encryption algorithm: This is the main key to any cryptographic system. This
encryption algorithm subjects the plain text to various substitutions and
transformations.
Secret key: The secret key is given by the user which will act as an input to the
encryption algorithm. Based on this key, various substitutions and transformations on
the plain text will differ.
Cipher text: This is the output generated by the encryption algorithm. The cipher text
is the jumbled text. The cipher text differs with each and every secret key that has
given to the encryption algorithm.
0919879
Nani Koduri Page 19
MSc Information Security and Computer Forensics
There are two types of methods that will attack on symmetric encryption systems.
The first one is Cryptanalysis. If the attacker gets to know some information about
the plain text and cipher text, he analyses the characteristics of the algorithms used
for encryption and tries to generate keys. The second type of attack is known as
„brute force attack‟. In this type of attack, the defender attempts to know the cipher
text and try every possible key for translation. To avoid this problem, the user should
use the key that no longer can be estimated like 128 or 168 bit keys (Alfred J, M et
al., 1996).
Block ciphers: Block cipher is an asymmetric algorithm in which the cipher processes
the text in fixed size blocks and generates same size cipher text blocks. In this
algorithm, the plaintext is divided into independent blocks of 8-16 bytes and encrypts
each block independently.
The data encryption algorithm uses 56 bit key so it is not possible for the defender
for analysing the key. So, the problem of Cryptanalysis is avoided using this
algorithm. But the drawback of the algorithm is Brute-force attack. This can be
avoided using the Triple DES algorithm.
Triple DES:
Triple DES is an extension to the DES algorithm. Triple DES uses the same
approach for encryption as DES. 3DES takes three 64 bit keys which has a total
length of 192 bits. We can give more than one key that is two or three keys for
encryption as well as for decryption such that the security will be stronger. It is
0919879
Nani Koduri Page 20
MSc Information Security and Computer Forensics
approximately 256 times stronger than the normal DES algorithm, so that this
algorithm can avoid the brute force attack. The main drawback of using 3DES
algorithm is that the number of calculations is high reducing the speed to a greater
extent. And the second drawback is that both DES and 3DES use same 64 block
size to avoid security issues. “Advanced Encryption Standard” algorithms are used to
avoid these limitations.
Advanced Encryption Standards (AES) takes a block of size 128 bits as input and
produces the output block of same size. AES supports different key sizes like 128,
192 and 256 bit keys. Each encryption key size will change the number of bits and
also the complexity of cipher text.
The major limitation of AES is error propagation. The encryption operation and key
generation both engage in number of non linear operations, so, for lengthy
operations it is not suitable. A cryptanalyst may able to use the continuities in plain
text to simplify the decryption (Whitman, 2007).
„Asymmetric encryption‟ is also known as „Public key encryption‟. The AES works
same as Symmetric encryption, the main difference between AES and Symmetric
encryption is in using keys. In asymmetric encryption, the encryption and decryption
will be done by two different keys. It will use plain text, encryption algorithm and
decryption algorithm same as Symmetric encryption as discussed in above section.
0919879
Nani Koduri Page 21
MSc Information Security and Computer Forensics
In „Asymmetric encryption‟, only the data that is encrypted using public key can be
decrypted using the same algorithm. And the message which is encrypted using
private key can be decrypted using only the matching public key.
The main problem with Asymmetric algorithm is “cipher keys”. Whenever two
different people want to exchange the data simultaneously using asymmetric
encryption they need to have four different keys. It will be more confusing to resolve
as the corresponding key is required for the particular file to open.
RSA:
RSA was first developed in 1977. RSA functions depend upon the large prime
numbers of public and private keys. The security is also based on the difficulty of
prime numbers. The RSA algorithms are used in public key encryptions as well as in
digital signatures. It allows the sender to encrypt the message using public key and
decrypt the message using private key by receiver. So, the security will be high using
RSA in public key encryption (Stallings, 2007).
2.3 STEGANOGRAPHY
Steganography and cryptography both are used for the purpose of sending the data
securely. The same approach is followed in Steganography as in cryptography like
encryption, decryption and secret key. In steganography the message is kept secret
without any changes but in cryptography the original content of the message is
differed in different stages like encryption and decryption.
Steganography supports different types of digital formats that are used for hiding the
data. These files are known as carriers. Depending upon the redundancy of the
object the suitable formats are used. „Redundancy‟ is the process of providing better
accuracy for the object that is used for display by the bits of object.
0919879
Nani Koduri Page 22
MSc Information Security and Computer Forensics
The main file formats that are used for steganography are Text, images, audio,
video, protocol (Morkel, 2005).
1. Pure steganography
2. Public key steganography
3. Secret key steganography
This type of steganography can‟t provide the better security because it is easy for
extracting the message if the unauthorised person knows the embedding method. It
has one advantage that it reduces the difficulty in key sharing (Zaidoon, 2010).
0919879
Nani Koduri Page 23
MSc Information Security and Computer Forensics
Public key steganography: Public key steganography uses two types of keys: one
for encryption and another for decryption. The key used for encryption is a private
key and for decryption, it is a „public key‟ and is stored in a public database
(Zaidoon, 2010).
For encryption and decryption of text messages using the secret keys
steganographic system uses algorithms known as steganographic algorithms. The
mostly used algorithms for embedding data into images are
LSB (Least Significant Bit) substitution is the process of adjusting the least significant
bit pixels of the carrier image. It is a simple approach for embedding message into
the image. The Least Significant Bit insertion varies according to number of bits in an
image. For an 8 bit image, the least significant bit i.e., the 8th bit of each byte of the
image is changed to the bit of secret message. For 24 bit image, the colours of each
component like RGB (red, green and blue) are changed. LSB is effective in using
BMP images since the compression in BMP is lossless. But for hiding the secret
message inside an image of BMP file using LSB algorithm it requires a large image
which is used as a cover. LSB substitution is also possible for GIF formats, but the
0919879
Nani Koduri Page 24
MSc Information Security and Computer Forensics
problem with the GIF image is whenever the least significant bit is changed the
whole colour palette will be changed. The problem can be avoided by only using the
gray scale GIF images since the gray scale image contains 256 shades and the
changes will be done gradually so that it will be very hard to detect. For JPEG, the
direct substitution of steganographic techniques is not possible since it will use lossy
compression. So it uses LSB substitution for embedding the data into images. There
are many approaches available for hiding the data within an image: one of the simple
least significant bit submission approaches is „Optimum Pixel Adjustment
Procedure‟. The simple algorithm for OPA explains the procedure of hiding the
sample text in an image.
Step1: A few least significant bits (LSB) are substituted with in data to be hidden.
Step2: The pixels are arranged in a manner of placing the hidden bits before the
pixel of each cover image to minimize the errors.
This„d‟ is converted to binary and written back to pixel (Amirtharajan et al., 2010).
This method of substitution is simple and easy to retrieve the data and the image
quality better so that it provides good security.
0919879
Nani Koduri Page 25
MSc Information Security and Computer Forensics
JSteg algorithm is one of the steganographic techniques for embedding data into
JPEG images. The hiding process will be done by replacing Least Significant Bits
(LSB). JSteg algorithm replaces LSBs of quantized Discrete Courier Transform
(DCT) coefficients. In this process the hiding mechanism skips all coefficients with
the values of 0 or 1. This algorithm is resistant to visual attacks and offers an
admirable capacity for steganographic messages. Generally, JSteg steganographic
algorithm embedded the messages in lossy compressed JPEG images. It has high
capacity and had a compression ratio of 12%. JSteg algorithm is restricted for visual
attacks and it is less immune for statistical attacks. Normally, JSteg embeds only in
JPEG images. In these JPEG images, the content of the image is transformed into
„frequency coefficients‟ so as to achieve storage in a very compressed format. There
is no visual attack in the sense presented here, due to the influence of one
steganographic bit up to 256 pixels (Ahmed et al., 2006).
2.3.3 F5 algorithm
The performance of the algorithms differs with the type of cover image or source on
which the data is embedded. The comparison of algorithms is tabulated below.
0919879
Nani Koduri Page 26
MSc Information Security and Computer Forensics
„Digital watermarking‟ is the process of inserting information into a digital signal. The
main aim of digital watermarking is to protect the integrity and authenticity of digital
media. Digital watermarking directly embeds a watermark containing owner
identification into the host signal in such a way that the hacker can‟t remove the
watermark without reducing the quality of the signal or an image. Digital watermarks
can be used as proof of authorization and can be used as a signature which shows
the ownership of particular asset like images, video and audio files.
0919879
Nani Koduri Page 27
MSc Information Security and Computer Forensics
There are two type of watermarking techniques one is robust watermarking and
another is fragile watermarking. Robust watermarking is mainly used for the purpose
of copyright protection because they are strong for all kinds of manipulations in
images. The second method fragile watermarking is used for providing better
authentication and for verification of integrity in order to avoid the modifications
(Yang et al., 2010).
0919879
Nani Koduri Page 28
MSc Information Security and Computer Forensics
CHAPTER 3
3. DESIGN
The data hiding patterns using the steganographic technique in this project can
be explained using this simple block diagram. The block diagram for steganographic
technique is as follows.
Sender
Encryptio
n
Decryption
Transmissi
on
Cover Image
Figure 13: Block diagram for Steganography
The procedure for data hiding using steganographic application in this project is as
follows
The sender first uses the steganographic application for encrypting the secret
message.
0919879
Nani Koduri Page 29
MSc Information Security and Computer Forensics
For this encryption, the sender uses text document in which the data is written and
the image as a carrier file in which the secret message or text document to be
hidden.
The sender sends the carrier file and text document to the encryption phase for
data embedding, in which the text document is embedded into the image file. The
procedure of encryption is discussed in the next phase.
In encryption phase, the data is embedded into carrier file which was protected
with the password
Now the carrier file acts as an input for the decryption phase.
The image in which data is hidden i.e. the carrier file is sent to the receiver using
a transmission medium. E.g. Web or e-mail.
The receiver receives the carrier file and places the image in the decryption
phase.
In the decryption phase, the original text document can be revealed using the
appropriate password.
The decryption phase decrypts the original text document using the least
significant bit decoding and decrypts the original message.
Before the encryption of the text, the message can be watermarked in order to
avoid unauthorised modification.
As mentioned in the above block diagram, the data hiding and the data extracting will
be done in three phases.
1. Encryption phase
2. Decryption phase
3. Transmission phase
The „Encryption phase‟ uses two types of files for encryption purpose. One is the
secret file which is to be transmitted securely, and the other is a carrier file such as
image. In the encryption phase the data is embedded into the image using „Least
Significant Bit algorithm‟ (LSB) by which the least significant bits of the secret
document are arranged with the bits of carrier file such as image, Such that the
0919879
Nani Koduri Page 30
MSc Information Security and Computer Forensics
message bits will merge with the bits of carrier file. In this procedure LSB algorithm
helps for securing the originality of image.
1. Symmetric encryption
2. Asymmetric encryption
The encryption pattern depends on the type of encryption we use. In this project, I
am using the symmetric key encryption in which a single key is used. Symmetric
encryption is shown using this block diagram.
Key
Cover image
Figure 14: Encryption phase
The transmission phase is one of the important sections for sending the data to
destination securely. The encryption section generates the cover image in which the
data is embedded or hidden. This image is secured using the secret key. Usually we
use e-mail or web for transferring the data. If the person hacks the e-mail or web and
obtains the image, the secret key helps from unauthorized modification.
0919879
Nani Koduri Page 31
MSc Information Security and Computer Forensics
Plain text
Decrypti
on
algorith
Cover image
Data flow diagrams are the basic building blocks that define the flow of data in a
system to the particular destination and difference in the flow when any
transformation happens. It makes whole procedure like a good document and makes
simpler and easy to understand for both programmers and non-programmers by
dividing into the sub process.
The data flow diagrams are the simple blocks that reveal the relationship between
various components of the system and provide high level overview, boundaries of
particular system as well as provide detailed overview of system elements.
0919879
Nani Koduri Page 32
MSc Information Security and Computer Forensics
The data flow diagrams start from source and ends at the destination level i.e., it
decomposes from high level to lower levels. The important things to remember about
data flow diagrams are: it indicates the data flow for one way but not for loop
structures and it doesn‟t indicate the time factors.
This section reveals about the data flow analysis which states about data that have
been used, classification of data flow diagrams based on their functions and the
other different levels used in the project.
The general notations for constructing a block diagram in this project are
Process
Data store
Source
It will define the direction i.e., the data flow from one entity to another entity.
Process:
Process defines the source from where the output is generated for the specified
input. It states the actions performed on data such that they are transformed, stored
or distributed.
Data store:
It is the place or physical location where the data is stored after extraction from the
data source.
0919879
Nani Koduri Page 33
MSc Information Security and Computer Forensics
Source:
It is the starting point or destination point of the data, stating point from where the
external entity acts as a cause to flow the data towards destination (Wilson, 2004).
The „data flow diagrams‟ can be constructed by dividing the process into different
levels like DFD 0, DFD 1, DFD 2, etc., for constructing the data flow diagram. For
this process, these simple steps are to be followed.
The data flow diagram can be constructed only when the process have one data
flow in and one data flow out.
The process should modify the incoming data and outgoing data.
The data store should not be alone, should be connected with one process at
least.
The external entities of the process should be involved with one data flow.
In data process the data flow should be from top to bottom and from left to right.
In the data flow diagram, the data stores and their destinations are named with
capital letters and the data flow and process should be small capitalizing the
starting letter.
These rules should be followed for constructing the data flow diagrams.
„DFD level 0‟ is the highest level view of the system, contains only one process
which represents whole function of the system. It doesn‟t contain any data stores
and the data is stored with in the process.
For constructing DFD level 0 diagram for the proposed approach we need two
sources one is for „source‟ and another is for „destination‟ and a „process‟.
0.0
Destination
Source Personal
Data
0919879
Nani Koduri Page 34
MSc Information Security and Computer Forensics
DFD level 0 is the basic data flow process, the main objective is to transfer the data
from sender to receiver after encryption.
For constructing „DFD level 1‟, we need to identify and draw the process that make
the level 0 process. In the project for transferring the personal data from source to
destination, the personal data is first encrypted and processed and latter decrypted.
1.0
Encryption
phase
0.0
2.0
Secret
data Transmission
phase
3.0
Decryption
phase
In this data flow diagram, the secret data is sent to the encryption phase for
embedding the data into the image for generating the carrier image. In the next
phase the carrier image is sent to the decryption phase through the transmission
phase. The final phase is the decryption phase where the data is extracted from the
image and displays the original message.
0919879
Nani Koduri Page 35
MSc Information Security and Computer Forensics
Decryption
Encryption
algorithm
algorithm
The image and the text document are given to the encryption phase. The encryption
algorithm is used for embedding the data into the image.
The resultant image acting as a carrier image is transmitted to the decryption phase
using the transmission medium. For extracting the message from the carrier image, it
is sent to the decryption section. The plain text is extracted from the carrier image
using the decryption algorithm.
The sender sends the message to the receiver using three phases. Since we are
using the steganographic approach for transferring the message to the destination,
the sender sends text as well as image file to the primary phase i.e., to encryption
phase. The encryption phase uses the encryption algorithm by which the carrier
image is generated. The encryption phase generates the carrier image as output.
0919879
Nani Koduri Page 36
MSc Information Security and Computer Forensics
The activity diagram explains the overall procedure used for this project.
Sender
Steganography
Receiver
The carrier image is given as input to the next phase i.e., to decryption phase. The
decryption phase uses the decryption algorithm for decrypting the original text from
the image so that the decryption phases generate plain text. The plain text is then
sent to the receiver using the transmission media.
0919879
Nani Koduri Page 37
MSc Information Security and Computer Forensics
CHAPTER 4
4. EXECUTION:
Chapter 4 discusses about the different segments that are used for executing
the practical implementation in my dissertation. The primary phase tells about the
different hardware and software requirements.
The execution phase was developed based upon three phases that are proposed in
the chapter 3 design section. The different phases are encryption, decryption and
implementation phases. We require few hardware and software interfaces for
implementing these phases.
The software interface which is implemented in this project is done using the
Microsoft .NET running in the Windows environment. The main aim of the project is
to improve the data security when the data is transmitted using the transmission
medium. This can be done by embedding the secret data into the image file and then
transmitting the encrypted data through the transmission medium. Then, the carrier
image file is decrypted at the destination by using the secret key.
For implementing the above procedure, I used the Microsoft .NET framework to
create the steganographic application. The proposed method in this project can be
used for both „encryption‟ and „decryption‟ of the message from the digital image.
Microsoft .NET is a framework developed by Microsoft in the year 2002. The main
aim of the .NET framework is to build web and user interactive GUI (Graphical User
Interface) applications. The Windows forms web application classes that are used for
creating new windows form based applications. Microsoft .NET is a user friendly
language which helps us build the required web application easily. So, I preferred
using the .NET framework over the other enterprise frameworks.
.NET framework acts as a common platform for building, organising, and running
web applications and web services.
0919879
Nani Koduri Page 38
MSc Information Security and Computer Forensics
.NET has common libraries like ASP.NET, ADO.NET and Windows Forms.
.NET supports multiple languages like C, C#, Visual Basic, Jscript.
.NET is a user friendly language and is easy to learn compared to other
languages for example JAVA because in .NET the coding is very easier.
.NET supports additional data sources of ADO.NET like Oracle and ODBC.
Using .NET platform we can build web applications as required, the applications
are highly secure because it uses access control lists and security identifiers.
One of the main important sections of Microsoft .NET environment is CLR. The
Common Language Runtime (CLR) is heart to .NET framework.
CLR is same as JVM (JAVA Virtual Machine) in .NET, .NET program runs only on
platforms that support CLR.
Now, in this project I have chosen Microsoft .net platform for building the windows
based steganographic application. The main components of .NET which used in this
project are Visual C# (Thai, 2003).
Visual Studio Windows application is supported by the Microsoft .NET frame work
and it allows a rich set of classes so that the Windows application can be built by any
.net programming language like Visual Basic .net and Visual C#.
0919879
Nani Koduri Page 39
MSc Information Security and Computer Forensics
Here, in this project I used visual c# to create the windows based application. The
windows based application differs with Web form application. In windows based
application, we create some type of forms which are used for user interface. These
forms are known as “Windows forms”.
Using windows forms we can easily drag and drop the controls like radio buttons
and text boxes etc., using the Windows forms designer.
Windows forms are also known as win forms in which the standard built in controls
can be used.
By using the custom Graphical User Interface (GUI) controls we can modify the
controls and also add new ones (MSDN, 2010).
4.1.4 VISUAL C#
Visual C# is the one of the component in Microsoft Visual studio which works similar
to Visual basic. Creating applications using Visual C# is easier compared to the
JAVA.
In order to create the application, we need to use the designer tool and tool box so
that required tool like radio button, text boxes etc., can be placed.
After designing the next phase is to relate them with specified functions. This can
be done using visual C# coding.
The coding can be done by double clicking in the elements on the designer tool.
The program or code which is written using C# language is saved with “.CS”
extension.
The code can be compiled using “Debug” option. When we click on debug option
the .NET architecture creates the class file.
After creation of class file, Common Language Runtime (CLR) converts the class
file into the machine language that is compatible with the hardware since CLR
supports cross-language integration.
The code as such can be compiled on any other operating system.
Microsoft visual studio provides a bunch of tools for creating Windows as well as
web applications (Kevin, 2006).
0919879
Nani Koduri Page 40
MSc Information Security and Computer Forensics
In this project, the proposed method should provide better security when transmitting
or transferring the data or messages from one end to another. The main objective of
the project is to hide the message or a secret data into an image which further act as
a carrier of secret data and to transmit to the destination securely without any
modification. If there are any perceivable changes when we are inserting or
embedding the information into the image or if any distortions occur in the image or
on its resolution there may be a chance for an unauthorised person to modify the
data. So, the data encryption into an image and decryption and steganography plays
a major role in the project.
Encryption: In this section for encryption, I have used LSB (Least Significant bit)
algorithm which helped me to build a steganographic application to provide better
security. The LSB algorithm provides better security compared to JSteg algorithm
with improved data compression and data hiding capacities.
Steganography: I have used the image as carrier for transmission of data and by
using the „Least Significant bit Algorithm‟ I have inserted the message bits in to the
least significant pixels of an image.
In this section, I like to give a brief description about the requirements for building the
proposed system. The external interfaces required for building a steganographic
system are, software, hardware, and communication media.
0919879
Nani Koduri Page 41
MSc Information Security and Computer Forensics
Software requirement:
Microsoft visual studio 2010 is used in the project for developing the application and
Microsoft visual C# is used for execution.
Hardware requirements:
Communication media:
TCP/ IP protocols and E-mails are used as communication media for transferring
data from sender to receiver and vice versa.
Other requirements:
The other requirements apart from software and hardware are that it‟s important that
the software should be scalable, available, reliable and usable to the users which are
important for providing security for data transmission.
Usually, the performance of any data security system can be carried out by the
speed of hiding, quality and security for the data it is providing. Coming to safety
requirements, the problem occurs when transferring data from one end to another,
the hacker may try to hack the data and try to extract the data using Steganalysis.
The other threats like virus attack may damage the data such that it should be
protected from them using very efficient antivirus software.
Usability: Usability is the factor for any data security system; the software should be
flexible for transferring the data between one ends to another. It should provide a
friendly interface between customer and user.
Scalability: Scalability is one of the important issues when the software used in
large institutions where the security plays a major role. Some systems can‟t provide
the high level security when the data to be embedded is large. In that case,
Scalability plays major role.
0919879
Nani Koduri Page 42
MSc Information Security and Computer Forensics
Encryption module
Decryption module
Data transmission module
The encryption module of steganography is the primary stage. In this stage, the
sender sends the data as well as the image file which act as a carrier image to
transfer the data to destination. In this project, I use bit map (.bmp) images as
carriers because bmp images are highly resistant for Steganalysis compared to jpeg
images. In the encryption module, the text message will be embedded into the image
file. The embedding will be done based on the principle of „Least Significant Bit‟
(LSB) algorithm. The LSB algorithm uses the least significant bits of each pixel and
replace with the significant bits of the text document, such that the message will be
encrypted into the image.
This process makes the picture not to lose its resolution.The data embedding into
image i.e., encryption is implemented using Microsoft visual C#.
0919879
Nani Koduri Page 43
MSc Information Security and Computer Forensics
picImage.Image = bitmap;
btnSaveBitmap.Enabled = true;
}catch(Exception ex){
MessageBox.Show("Exception:\r\n"+ex.Message);
}
}
keyStream.Close();
}
messageStream.Close();
bitmap = null;
} /*
Encryption phase
Transmissio
Sender n phase
LSB ALGORITHM
The encrypted data is send to the receiver or authorised person with the help of
transmission media for example through web or E-Mail. The image in which the data
is embedded acts as a carrier file such that the data can be transmitted easily with
high security. Using the „Least Significant Bit (LSB) algorithm‟ the message bits can
be embedded properly in the place of least significant bits of image, such that the
image doesn‟t lose its resolution. So, the security will be high. The encrypted image
is protected with password such that we can avoid the damages caused due to
hackers or unauthorised persons.
0919879
Nani Koduri Page 44
MSc Information Security and Computer Forensics
In the decryption module, the receiver receives the carrier image from sender
through the transmission medium. The receiver then sends the carrier image to the
decryption phase. In the decryption phase, the same „Least Significant Algorithm‟ is
implemented for decrypting the least significant bits from the image and merge in an
order to frame the original message bits. After successful arrangement, the file is
decrypted from the carrier file and accessed as an original text document.
The data extraction from the image i.e., decryption is implemented using Microsoft
Visual C#.
/*
messageStream.Seek(0, SeekOrigin.Begin);
messageStream.Read(streamContent, 0, streamContent.Length);
fs.Write(streamContent, 0, streamContent.Length);
}
/*
0919879
Nani Koduri Page 45
MSc Information Security and Computer Forensics
Decryption phase
Receiver
Transmissio
n phase
LSB algorithm
Plain
text
Encryption phase:
In the encryption phase, the sender gives the carrier file as well as text
message to be transferred to the destination. In this project, I have taken a bit map
image as a carrier file. For uploading the image the „carrier bitmap‟ browse button is
used in Carrier bitmap section.
0919879
Nani Koduri Page 46
MSc Information Security and Computer Forensics
After uploading the carrier bitmap image, the next section is “Key”. In the key section
it will ask for password and confirmation password which will act as a reference for
hiding the data into the image.
The next section gives us two options: one is hiding and another is extracting. When
we click on the hide button, the proposed method then displays two options. One is
for hiding the text document and the other is for text message.
When we select the text radio button, a blank space is appeared for giving the text
message to be hidden. After giving the text message if you click on the hide
message button least significant bits of the image are replaced by the message bits.
The resultant image after encrypting can be saved with a different name by clicking
on the “save result” button.
The same procedure is followed for encrypting the text document into the bitmap
image. By clicking on filename radio button and by clicking on browse button we can
give the text document. The image resolution depends upon the image size and the
file size used for embedding.
0919879
Nani Koduri Page 47
MSc Information Security and Computer Forensics
The resultant image can be saved as a bit map image by clicking on the “save result”
button.
Decryption phase:
In the decryption phase, the carrier image in which the data is embedded is loaded
using the browse button in carrier bitmap section. The limitation of this program is
that it takes only .bmp files as carrier images for both encryption and decryption.
0919879
Nani Koduri Page 48
MSc Information Security and Computer Forensics
After giving the carrier image, the next section is “key”, the reference key which is
given for encryption is produced as password. The passwords for both encryption
and decryption should be same otherwise it shows an error message.
The next step is the extraction of message from the image. For extracting, select the
“extract” button. After selecting the extract button, click on “extract hidden text”
button below the text box.
The hidden message will be appeared in the space provided. We can save the same
message in a text document by clicking on browse button.
0919879
Nani Koduri Page 49
MSc Information Security and Computer Forensics
Since the data embedding into image is secured with a password, the password and
confirmation password should be the same otherwise it gives the exception as
“Password Doesn‟t Match” just to confirm the password.
The other exception is thrown if the image is too small. This exception comes when
the given text document is larger i.e., if the text document pixels are greater than the
least significant bits of image then the application shows the exception as “The
Image is too small for this message and key”.
0919879
Nani Koduri Page 50
MSc Information Security and Computer Forensics
CHAPTER 5
5. TESTING
The capacity of the software can be calculated by executing the code and inspecting
the code in different conditions such as testing the software by subjecting it to
different sources as input and examining the results with respect to the inputs.
After the designing phase, the next phase is to develop and execute the code in
different conditions for any errors and progress to the developing phase. Without
testing and execution, the software cannot be moved to the developing phase.
There are two types of testing. They are: The functional testing, which defines the
specified function of a particular code in the program. This type of testing gives us a
brief description about the program‟s performance and security in the various
functional areas.
The other type of testing is non-functional testing. Non-functional testing defines the
capabilities of particular software like its log data etc. It is opposite to functional
testing and so will not describe the specifications like security and performance.
The performance of the particular program not only depends on errors in coding. The
errors in the code can be noticed during execution, but the other types of errors can
affect the program performance like when the program is developed based on one
platform that may not perform well and give errors when executed in different
platform. So, compatibility is another issue that reduce the software performance.
The code tuning helps us in optimising the program to perform at its best utilizing
minimal resources possible under varied conditions.
0919879
Nani Koduri Page 51
MSc Information Security and Computer Forensics
The main aim of testing is to analyse the performance and to evaluate the errors that
occur when the program is executed with different input sources and running in
different operating environments.
For testing the application the testing process produces several artefacts. The
different artefacts are
Test plan: Test plan gives us the processes of testing we subject the application,
called as the test process. The developers execute the test plan and the results
are used for the purpose of management and future developments.
Traceability matrix: A traceability matrix is a table that link the design documents
to the text documents. This is also changes the test processes when the source
documents are changed.
Test case: A test case consists of a unique identifier, identifies the requirements of
the project from the design phase, have information about the series of steps like
input, output, expected result and actual result. The series of steps are stored in
text document or excel spread sheet.
Test script: A test script is a product of work generated by automated regression
tools. It is a combination of test case, test procedure and test data.
Test suite: A test suite is a collection of test cases. The test suite consists of the
detailed instructions and the role of each collection of test cases.
Test data: The place where the test values and components can be modified is
known as Test data.
Test harness: A test harness is a collection of software, inputs, outputs and
configurations used for the application (MSDN, 2010).
0919879
Nani Koduri Page 52
MSc Information Security and Computer Forensics
There are different types of approaches for testing a .NET framework based
application. The types of testing are
Unit testing
Validation testing
Integration testing
User acceptance testing
Output testing
Black box and white box testing.
„Unit testing‟ is the approach of taking a small part of testable application and
executing it according to the requirements and testing the application behaviour. Unit
testing is used for detecting the defects that occur during execution (MSDN, 2010).
Unit testing can be used in the bottom up test approach which makes the integration
test much easier. Unit testing reduces the ambiguity in the units. Unit testing uses
regression testing, which makes the execution simpler. Using regression testing, the
fault can be easily identified and fixed (Glenford, 2004).
In this project, I have developed an application using different phases like encryption,
decryption, etc. So, for getting the correct output all the functions that are used are
executed and tested at least once making sure that all the control paths, error
handling and control structures are in proper manner.
Unit testing has it‟s applications for extreme programming, testing unit frame works
and good support for language level unit testing.
0919879
Nani Koduri Page 53
MSc Information Security and Computer Forensics
„Unit testing‟ is limited to test only the functionality of the units. It can‟t identify
integration errors, performance problems and system problems.
Unit testing can show the errors which occur in the units when the testing runs. It
may not display the errors that currently are absent.
Validation is the process of finding whether the product is built correct or not. The
software application or product that is designed should fulfil the requirements and
reach the expectations set by the user. Validation is done while developing or at the
final stage of development process to determine whether it is satisfies the specified
requirements of user.
Using validation test the developer can qualify the design, performance and its
operations. Also the accuracy, repeatability, selectivity, Limit of detection and
quantification can be specified using „Validation testing‟ (MSDN, 2010).
After completion of validation testing the next process is output testing. Output
testing is the process of testing the output generated by the application for the
specified inputs. This process checks weather the application is producing the
required output as per the user‟s specification or not.
The „output testing‟ can be done by considering mainly by updating the test plans,
the behaviour of application with different type of inputs and with produced outputs,
making the best use of the operating capacity and considering the recommendations
for fixing the issues (MSDN, 2010).
„Integration testing‟ is an extension to unit testing, after unit testing the units are
integrated with the logical program. The integration testing is the process of
examining the working behaviour of the particular unit after embedding with program.
This procedure identifies the problems that occur during the combination of units.
0919879
Nani Koduri Page 54
MSc Information Security and Computer Forensics
Top-down approach
Bottom-up approach
Umbrella approach
In the top-down approach the highest level module should be considered first and
integrated. This approach makes the high level logic and data flow to test first and
reduce the necessity of drivers.
One disadvantage with top-down approach is its poor support and functionality is
limited (MSDN, 2010).
The third approach is umbrella approach, which makes use of both the top - bottom
and bottom - top approaches. This method tests the integration of units along with its
functional data and control paths. After using the top - bottom and bottom-top
approaches, the outputs are integrated in top - bottom manner.
The advantage of this approach is that it provides good support for the release of
limited functionality as well as minimizing the needs of drivers and hubs. The main
disadvantage is that it is less systematic than the other two approaches (MSDN,
2010).
0919879
Nani Koduri Page 55
MSc Information Security and Computer Forensics
„User acceptance testing‟ is the process of obtaining the confirmation from the user
that the system meets the set of specified requirements. It is the final stage of
project; the user performs various tests during the design of the applications and
makes further modifications according to the requirements to achieve the final result.
The user acceptance testing gives the confidence to the clients about the
performance of system (Nageswara Rao, 2008).
„Black box testing‟ is the testing approach which tells us about the possible
combinations for the end-user action. Black box testing doesn‟t need the knowledge
about the interior connections or programming code. In the black box testing, the
user tests the application by giving different sources and checks whether the output
for the specified input is appropriate or not.
„White box testing‟ is also known as „glass box‟ or „clear box‟ or „open box‟ testing. It
is opposite to the black box testing. In the white box testing, we can create test
cases by checking the code and executing in certain intervals and know the potential
errors. The analysis of the code can be done by giving suitable inputs for the
specified applications and using the source code for the application blocks.
The limitation with the white box testing is that the testing only applies to unit testing,
system testing and integration testing (MSDN, 2010).
These are the different testing approaches that can be used for testing the
application which is developed using Microsoft Visual studio (.NET).
0919879
Nani Koduri Page 56
MSc Information Security and Computer Forensics
CHAPTER 6
The design phase is the primary phase, which gives a brief idea about the different
levels used for developing an application with the help of block diagrams. The
software is designed in a user friendly manner. So, it is simple to use for developing
a prototype of the application.
The most important phase in the project is the execution phase. The execution
phase is developed with the help of design phase. For executing the application, I
worked on two sections: one is encryption and another is decryption. As I designed
the program using .NET platform, the next part is debugging the program. I faced
some problems when writing the code, but at last I am successful in executing the
program without errors. I used different approaches for testing the application, which
helped me to know about the limitations.
In this project I mainly concentrated on embedding the data into an image. I have
designed the steganographic application which embedded the data into the image.
Normally, after embedding the data into the image, the image may lose its resolution.
In the proposed approach, the image remains unchanged in its resolution as well in
size. The speed of embedding the data into the image is also high in the proposed
approach such that the image is protected and the data to the destination is sent
securely. For the decryption phase, I have used the same .NET programming
language for the purpose of designing. I have used security keys like personal
password for protecting the image from unauthorized modification, which improved
the security level.
There are many steganographic algorithms available like JSteg, F5 and LSB
algorithms. I have used the Least Significant Bit algorithm in designing the
steganographic application because LSB algorithm works efficiently when we
consider bit map images .bmp files. The speed of embedding is also high when
0919879
Nani Koduri Page 57
MSc Information Security and Computer Forensics
using LSB compared to the JSteg algorithm. This approach is highly secured from
stego attacks.
The final phase is transmitting the data to the destination. I have used keys section
for protecting the data from unauthorized modification. The application uses the
password as the reference such that whenever the image is sent using web sources
like e-mails to the destination. For decryption, we need to use the same key which is
used for encryption so that even if any unauthorized person hacks the web and
access the image, it is not possible for decrypting the message which is embedded
in it.
I have chosen image steganography because it is simple to use and its user friendly
application. There are many applications for image hiding but the proposed approach
is created using Microsoft .NET frame work which is easier for coding and the
performance is better compared to other languages.
This project gave me good experience in dealing with the data security issues in
theoretical as well as in technical domain and in .NET programming as I used
Microsoft visual studio for designing steganographic application. I did the project in
satisfactory level with the help and good guidance from my supervisor Dr. David
Preston.
0919879
Nani Koduri Page 58
MSc Information Security and Computer Forensics
CHAPTER 7
In the present world, the data transfers using internet is rapidly growing
because it is so easier as well as faster to transfer the data to destination. So, many
individuals and business people use to transfer business documents, important
information using internet. Security is an important issue while transferring the data
using internet because any unauthorized individual can hack the data and make it
useless or obtain information un- intended to him.
The proposed approach in this project uses a new steganographic approach called
image steganography. The application creates a stego image in which the personal
data is embedded and is protected with a password which is highly secured.
I used the Least Significant Bit algorithm in this project for developing the application
which is faster and reliable and compression ratio is moderate compared to other
algorithms.
The major limitation of the application is designed for bit map images (.bmp). It
accepts only bit map images as a carrier file, and the compression depends on the
document size as well as the carrier image size.
The future work on this project is to improve the compression ratio of the image to
the text. This project can be extended to a level such that it can be used for the
different types of image formats like .bmp, .jpeg, .tif etc., in the future. The security
using Least Significant Bit Algorithm is good but we can improve the level to a
certain extent by varying the carriers as well as using different keys for encryption
and decryption.
0919879
Nani Koduri Page 59
MSc Information Security and Computer Forensics
REFERENCES
Bishop, M., 2005. Introduction to computer security. 1st ed. Pearson publications.
Cachin, C., 2004. Information: Theoretic model for steganography. Work shop on
information hiding, USA.
Chan, C.K. Cheng, L.M., 2004. Hiding data in images by simple lsb substitution:
pattern recognition.vol 37. Pergamon.
Cox, I. Miller, M. Bloom, J. Fridrich, J & Kalker, T. 2008. Digital watermarking and
Steganography. 2nd Ed. Elsevier.
Cummins, J. Diskin, P. Lau, S. & Parett, R., 2004. Steganography and digital
watermarking. School of computer science. Vol 1.
0919879
Nani Koduri Page 60
MSc Information Security and Computer Forensics
David, W. (2004) Managing information: IT for Business purpose. 3rd edn, pg no.
215, Elsevier.
Glenford et al., 2004. The art of software testing. 2nd edn, pg no. 183, john wiley.
Hellman, M.E., 2002. An overview of public key cryptography. IEEE communication
magazine.
Jeffrey A, Bloom et al., 2008. Digital watermarking and steganography, 2nd edn,
Morgan Kaufmann publications.
Johnson, N.F. Jajodia, S., 1998. Exploring Steganography: seeing the unseen
computing practices, IEEE journal, Vol 1.
Johnson, N.F. Jajodia, S.& Duric, Z., 2001. information hiding: steganography and
watermarking – attacks and countermeasures. Kluwer academic publishers.
Kahate, A., 2008. Cryptography and network security. 2nd ed. McGraw-hill.
Kevin, H., 2006. Microsoft Visual C# 2005 unleashed. 4th edn, SAMS.
Lebtinen,R. Russell, D. & Gangemisr, G. T., 2006. Computer security basics. 2nd ed,
O‟ REILLY publications.
0919879
Nani Koduri Page 61
MSc Information Security and Computer Forensics
Menezes, A.J. VanOorschot, P.C. & Vanstone, S.A., 1996. Handbook of applied
cryptography. CRC Press.
Nageswara rao, P., 2008. Software Testing concepts and tools. 2nd edn, Dreamtec
Press.
Provos, N. & Honeyman,P.,2003. Hide and seek: an introduction to steganography.
IEEE computer society.
Talele, K.T. Gandhe, S.T & Keskar, A.A., 2010. Steganography Security Fir
Copyright
Protection of Digital Images Using DWT, International Journal of Computer and
Network Security, 2(4), pp.20-24.
Thai, T. & Hoang Q, L. 2003. .NET framework Essentials. 3rd edn, O‟REILLY.
Whitman, M.E. & Mattord, H.J., 2007. Principles of information security. Thomson
course technology.
Westfied, A. & Pfitzmann, A., 2001. Attacks on steganographic systems: breaking
the steganographic utilities ezstego, jsteg, steganos and s-tools. Dresden University
of technology.
0919879
Nani Koduri Page 62
MSc Information Security and Computer Forensics
Yang et al., 2010. A semi- fragile watermarking algorithm using adaptive least
significant bit substitution. Information technology journal, vol 9(1), pp 20-26.
0919879
Nani Koduri Page 63