0% found this document useful (1 vote)
101 views64 pages

Final Document

Uploaded by

g harisha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
101 views64 pages

Final Document

Uploaded by

g harisha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 64

A Project Report

On

Hide a pdf File in an Image

Submitted in partial fulfillment for the award of the degree

Of
Bachelor of Technology
In
COMPUTER SCIENCE AND ENGINEERING

Submitted by
16F61A0542 - G.HARISHA
16F61A0529 - N.DIVYA BHARATHI
16F61A0516 - P.BHARATHI
16F61A0544 - C.HARSHITHA

Under the Esteemed Guidance of

Mrs.M.BHAVANA,M.Tech..,

(Asst.Professor),Department of CSE
Department of Computer Science and Engineering

SIDDHARTH INSTITUTE OF ENGINEERING & TECHNOLOGY


(Autonomous)
(Approved by AICTE & Affliated to JNTUA, Anantapur)

(Accredited by NAAC with ‘A’Grade&NAB, NewDelhi)

( An ISO 9001:2000 Certified Institution &Recognized by UGC 2(f)&12(B))

Siddharth Nagar, Narayanavanam road, PUTTUR-517583,A.P

2019- 2020

SIDDHARTH INSTITUTE OF ENGINEERING & TECHNOLOGY


(Autonomous)
(Approved by AICTE , New Delhi &Affiliated to JNTUA, Anantapur)

(Accredited by NAAC with’A’Grade&NAB,NewDelhi)

(An IOS 9001:2008 Certified Institution &Recognized by UGC 2(f)&12(B))

Siddharth Nagar, Narayanavanam Road, Puttur-517583, A.p

2019-2020
BONAFIDE CERTIFICATE

Certified that this project report titled “Hide a pdf file in an image”is a
bonafide work of

16F61A0542 - G.HARISHA
16F61A0529 - N.DIVYA BHARATHI
16F61A0516 - P.BHARATHI
16F61A0544 - C.HARSHITHA

in IV B.Tech II semester of Computer Science and Engineering. The


results embodied in this project report have not been submitted to any other
University for award of any degree.

Project Supervisor Head of the Department

Mrs.M.Bhavana,M.Tech.., Dr.B.Geethavani,M.Tech.ph.D..,

Assistant Professor HOD

Submitted for the main project viva-voice examination held on _____________

Internal Examiner External Examiner


ACKNOWLEDGEMENT
I take this opportunity to acknowledge all the people who helping me to do
my project a successful one.

I greatly convey my sincere thanks to our beloved chairman


Dr.K.Ashok Raju, Ph.D., Vice chairperson Dr. K.Indiraveni, M.Tech., Ph.D. for
providing me the facilities and time for accomplishing the project.

I wish to express our profound gratitude to our dynamic Principal


Dr.K.ChandraSekhar Reddy, M.Tech., Ph.D. for constant encouragement for
completing the project successfully.

I wish to thank our Head of the department, Dr.B.Geethavani, M.Tech.,


Ph.D, for her guidance for accomplish the project.

I wish to convey my heartfelt thanks to Mrs M.Bhavana, M.Tech.,


Supervisor of this project and Dr.P.Kavitha Rani,Ph.D. Project Co-ordinator
who supporting and helping to make this project as successful one.

I extend my thanks to all the staff members of the CSE Department, who
gave me the moral support for the competition of the project.

I also extend my thanks to my parents and my friends for the


encouragement for preceding the project in right way for the completion of
the project in successful way.
LIST OF CONTENTS

S.NO. TOPIC PAGE NO


Abstract iv
List of Figures v
List of Tables vi
1 INTRODUCTION 1
overview of Steganograpy
1.1 STEGANOGRAPHY CONCEPTS 2
1.2 IMAGE STEGANOGRAPY
1.3 IMAGE DEFINITION
1.4 IMAGE COMPRESSION
1.5 IMAGE AND TRANSFORM DOMAIN
1.6 GRAPHICAL REPRESENTATION
1.7 OBJECTIVE OF THE PROJECT

2 LITERATURE REVIEW 4

3 SYSTEM ANALYSIS 10
3.1 INTRODUCTION 10

3.1.1 FEASIBILITY STUDY 10

3.1.2 ECONOMIC FEASIBILITY 10

3.1.3 TECHNICAL FEASIBLITY 10

3.1.4 SOCIAL FEASIBLITY 11

3.2 MODULE DESCRIPTION 12

3.2.1 GUI MODULE 12

3.2.2 COMPRESSION MODULE 13


3.2.3 SYSTEM SECURITY MODULE 13

3.2.4 CONNECTION MANAGER MODULE 13

3.3 EXISTING METHOD 16

3.4 PROPOSED METHOD 16

4. SYSTEMDESIGN 17

4.1 UML DIAGRAMS: OBJECTORIENTEDANALYSIS 17

4.1.1 Goals 18
4.2 USECASE DIAGRAM 20
4.3 CLASS DIAGRAM 27
4.4 SEQUENCE DIAGRAM 30
4.5 COLLABORATION DIAGRAM 32
4.6 ACTIVITY DIAGRAM
4.7 COMPONENT DIAGRAM 35
4.8 DEPLOYMENT DIAGRAM

5. SYSTEM CONFIGURATION 38
5.1 SOFTWARE REQUIREMENTS 38
5.2 HARDWARE REQUIREMENTS 38
6 SYSTEM IMPLEMENTATION 40
7.1 IMPLEMENTATION DETAILS 40
7.1.1 EMBEDDING PROCESS 40
7.1.2 EXTRACTING PROCESS 41

7. SYSTEM TESTING 49

7.1 NEED FOR TESTING 49

7.2 TESTING STRATEGIES 50

7.3 DIFFERENT LEVELS OF TESTING 50

7.4 TYPES OF TESTING 51

7.4.1 UNIT TESTING 51


7.4.2 INTEGRATION TESTING 51

7.4.3 FUNCTIONAL TESTING 51

7.4.4 SYSTEM TESTING 51

7.4.5 WHITE BOX TESTING 51

7.4.6 BLACK BOX TESTING 52

7.4.7 ACCEPTANCE TESTING 52

7.5 TEST CASES 53

7.5.1 TESTING PLAN 56

7.5.2 COMPONENT DECOMPOSITION 57

7.5.3 LISST OF ALL TEST CASES 57

8. EXPERIMENTAL RESULTS 58

9. CONCLUSION AND FUTURE ENHANCEMENTS 61

REFERENCES 63
LIST OF FIGURES

FIG. NO. FIGURE NAME PAGE NO.

Figure 1 Usecase Diagram 20


Figure 2 Class Diagram 27
Figure 3 Sequence Diagram 30
Figure 4 Collaboration Diagram 32
Figure 5 Activity Diagram 33

Figure 6 Deployment Diagram 34


Figure 7 Component Diagram 35
Figure 8 System Architecture 36

LIST OF TABLES

S. NO. TABLE NAME PAGE NO.

Table 1 Different Test Plans 56


Table 2 Types of Testing Required 56
Table 3 Test cases 56
Table 4 Embedding Data 59

Iv

ABSTRACT

The project is developed to hide a confidential pdf file in an image. Steganography is the art
of hiding the fact that communication is taking place, by hiding information in other
information. Many different carrier file formats can be used, but digital images are the most
popular because of their frequency on the internet. For hiding secret information in images,
there exists a large variety of steganography techniques some are more complex than others
and all of them have respective strong and weak points. Different applications may require
absolute invisibility of the secret information, while others require a large secret message to
be hidden. This project report intends to give an overview of image steganography, its uses
and techniques. It also attempts to identify the requirements of a good steganography
algorithm and briefly reflects on which steganographic techniques are more suitable for
which applications.
Steganography is the practice of hiding private or sensitive information within
something that appears to be nothing out to the usual. Steganography is often confused with
cryptology because the two are similar in the way that they both are used to protect important
information. The difference between two is that steganography involves hiding information
so it appears that no information is hidden at all. If a person or persons views the object that
the information is hidden inside of he or she will have no idea that there is any hidden
information, therefore the person will not attempt to decrypt the information.
What steganography essentially does is exploit human perception, human senses are not
trained to look for files that have information inside of them, although this software is
available that can do what is called Steganography. The most common use of steganography
is to hide a file inside another file.

CHAPTER 1
INTRODUCTION
In this project, we are using Steganography techniques to hide a pdf file in an
image. Since the rise of the Internet one of the most important factors of
information technology and communication has been the security of information.
Cryptography was created as a technique for securing the secrecy of
communication and many different methods have been developed to encrypt and
decrypt data in order to keep the message secret. Unfortunately it is sometimes not
enough to keep the contents of a message secret, it may also be necessary to keep
the existence of the message secret. The technique used to implement this, is
called Steganography.

This is accomplished through hiding information in other


information, thus hiding the existence of the communicated information. The word
steganography is derived from the Greek words “stegos” meaning “cover” and
“grafia” meaning “writing” defining it as “covered writing”. In image
steganography the information is hidden exclusively in images.

Steganography differs from cryptography in the sense that where


cryptography focuses on keeping the contents of a message secret, steganography
focuses on keeping the existence of a message secret. Steganography and
cryptography are both ways to protect information from unwanted parties but
neither technology alone is perfect and can be compromised. Once the presence of
hidden information is revealed or even suspected, the purpose of steganography is
partly defeated. The strength of steganography can thus be amplified by
combining it with cryptography. Two other technologies.

1
1. Overview of Steganography
To provide an overview of steganography, terms and concepts should first be
explained.
An overview of the different kinds of steganography is given at a later stage.

1.1 Steganography concepts


Data hiding is of importance in many applications. For hobbyists, secretive data
transmission, for privacy of users etc. the basic methods are: Steganography and Cryptography.

Steganography is a simple security method.Generally there are three different methods used

for hiding information: steganography, cryptography, watermarking.

In cryptography, the information to be hidden is encoded using certain techniques; this

information is generally understood to be coded as the data appears nonsensical.

Steganography is hiding information; this generally cannot be identified because the coded

information doesn’t appear to be abnormal i.e. its presence is undetectable by sight.

Detection of steganography is called Steganalysis.

Steganography is of different types:

1. Text steganography

2. Image steganography

3. Audio steganography

4. Video steganography

In all of these methods, the basic principle of steganography is that a secret message is to be
embedded in another cover object which may not be of any significance in such a way that the
encrypted data would finally display only the cover data. So it cannot be detected easily to be
containing hidden information unless proper decryption is used.

3
2. Image steganography
As stated earlier, images are the most popular cover objects used for steganography. In the
domain of digital images many different image file formats exist, most of them for specific
applications. For these different image file formats, different steganographic algorithms exist.
2.1 Image definition
To a computer, an image is a collection of numbers that constitute different light intensities
in different areas of the image . This numeric representation forms a grid and the individual points
are referred to as pixels. Most images on the Internet consists of a rectangular map of the image’s
pixels (represented as bits) where each pixel is located and its colour. These pixels are displayed
horizontally row by row.
The number of bits in a colour scheme, called the bit depth, refers to the number of bits
used for each pixel. The smallest bit depth in current colour schemes is 8,meaning that there are 8
bits used to describe the colour of each pixel.
Monochrome and greyscale images use 8 bits for each pixel and are able to display 256
different colours or shades of grey. Digital colour images are typically stored in 24-bit files and use
the RGB colour model, also known as true colour. All colour variations for the pixels of a 24-bit
image are derived from three primary colours: red, green and blue, and each primary colour is
represented by 8 bits.
Thus in one given pixel, there can be 256 different quantities of red, green and blue, adding
up to more than 16-million combinations, resulting in more than 16-million colours . Not
surprisingly the larger amount of colours that can be displayed, the larger the file size.
3.2 Image Compression
When working with larger images of greater bit depth, the images tend to become too large
to transmit over a standard Internet connection. In order to display an image in a reasonable amount
of time, techniques must be incorporated to reduce the image’s file size. These techniques make use
of mathematical formulas to analyse and condense image data, resulting in smaller file sizes. This
process is called compression [15]. In images there are two types of compression: lossy and lossless.
Both methods save storage space, but the procedures that they implement differ. Lossy compression
creates smaller files by discarding excess image data from the original image. It removes details that
are too small for the human eye to differentiate , resulting in close approximations of the original
image, although not an exact duplicate. An example of an image format that uses this compression
technique is JPEG (Joint Photographic Experts Group) .

4
Lossless compression, on the other hand, never removes any information from the original
image, but instead represents data in mathematical formulas. The original image’s integrity is
maintained and the decompressed image output is bit-by-bit identical to the original image
input. The most popular image formats that use lossless compression is GIF (Graphical
Interchange Format) and 8-bit BMP (a Microsoft Windows bitmap file). Compression plays a
very important role in choosing which steganographic algorithm to use. Lossy compression
techniques result in smaller image file sizes, but it increases the possibility that the embedded
message may be partly lost due to the fact that excess image data will be removed. Lossless
compression though, keeps the original digital image intact without the chance of lost,
although is does not compress the image to such a small file size. Different steganographic
algorithms have been developed for both of these compression types and will be explained in
the following sections.
3.3 Image and Transform Domain
Image steganography techniques can be divided into two groups: those in the Image
Domain and those in the Transform Domain. Image – also known as spatial – domain
techniques embed messages in the intensity of the pixels directly, while for transform – also
known as frequency – domain, images are first transformed and then the message is
embedded in the image Image domain techniques encompass bit-wise methods that apply bit
insertion and noise manipulation and are sometimes characterised as “simple systems” . The
image formats that are most suitable for image domain steganography are lossless and the
techniques are typically dependent on the image format. Steganography in the transform
domain involves the manipulation of algorithms and image transforms. These methods hide
messages in more significant areas of the cover image, making it more robust. Many
transform domain methods are independent of the image format and the embedded message
may survive conversion between lossy and lossless compression. In the next sections
steganographic algorithms will be explained in categories according to image file formats and
the domain in which they are performed.

Project Scope: 
This project is developed for hiding information in any image file. The scope of the project is
implementation of steganography tools for hiding information includes any type of
information file and image files and the path where the user wants to save Image and
extruded file.
1.1 Graphical Representation:
The graphical representation of Steganography system is as follows:
1.2.Objective of the project:
In my project I primarily concentrated on the data security issues using steganography
techniques.The main objective of the project “Image steganography” is to embed the text
message in image, using the available methods of image steganography methods. After
converting an image into stego-image we can retrieve our confidential data using some secret
passwords.
The main objectives of the project are:
Requirement of this steganography system is that the hider message carried by stego-image
should not be sensible to human beings.
 The other goal of steganography is to avoid drawing suspicion
to the existence of a hidden message.
 This approach of information hiding technique has recently
become important in a number of application areas.

16
CHAPTER-2

LITERATURE REVIEW

In the year of 2013 Soni, A.; Jain, J.; Roshan, R., The Fractional Fourier transform (FrFT),
[1] Investigated on as a generalization of the classical Fourier transform, introduced years ago
in mathematics literature. The enhanced computation of fractional Fourier transform, the
discrete version of FrFT came into existence DFrFT. This study of illustrates the advantage
of discrete fractional Fourier transform (DFrFT) as compared to other transforms for
steganography in image processing. The result shows same PSNR in both domain (time and
frequency) but DFrFT gives an advantage of additional stego key. The order parameter of this
transform.

In the year of 2013 Akhtar, N.; Johri, P.; Khan, S., [2] implemented a variation of plain LSB
(Least Significant Bit) algorithm. The stego-image quality has been improved by using bit-
inversion technique. LSB method improving the PSNR of stegoimage. Through storing the
bit patterns for which LSBs are inverted, image may be obtained correctly. For the improving
the robustness of steganography, RC4 algorithm had been implemented to achieve the
randomization in hiding message image bits into cover image pixels instead of storing them
sequentially. This method randomly disperses the bits of the message in the cover image and
thus, harder for unauthorized people to extract the original message. The presented method
shows good enhancement to Least Significant Bit technique in consideration to security as
well as image quality.

In the year of 2013 Prabakaran, G.; Bhavani, R. and Rajeswari P.S. [3] Investigated on
Medical records are extremely sensitive patient information a multi secure and robustness of
medical image based steganography scheme is proposed. This methodology provides an
efficient and storage security mechanism for the protection of digital medical images.
Authors proposed a viable steganography method using Integer Wavelet Transform to protect
the MRI medical image into a single container image. The patient's medical diagnosis image
has been taken as secret image and Arnold transform was applied and scrambled secret image
was obtained. In this case, the scrambled secret image was embedded into the dummy
container image and Inverse IWT was taken to get a dummy secret image. It has been
observed that the quality parameters are improved with acceptable PSNR compared to the
existing algorithms.

In the year of 2012 Thenmozhi, S. and Chandrasekaran, M., [4] presented the novel scheme
embeds data in integer wavelet transform coefficients by using a cropping function in an 8×8
block on the cover image. The optimal pixel change process has been applied after
embedding the message. Authors employed the frequency domain to increase the robustness
of our steganography method. Integer wavelet transform avoid the floating point precision
problems of the wavelet filter. Result shows that the method outperforms adaptive
steganography technique based on wavelet transform in terms of peak signal to noise ratio
and capacity.

18
CHAPTER-3
SYSTEM ANALYSIS
3.1.INTRODUCTION:

In this system we are going to develop a facility to a user that will not

face any difficulty at the time of usage like data missing, one way contacts, one view

contacts. As we are developing this system with an encoding technique of image the user will

not be bothered on which camera support is using, as well in format.

3.1.1. FEASIBILITY STUDY

The feasibility of the project is analyzed in this phase and business proposal is put forth

with a very general plan for the project and some cost estimates. During system analysis

the feasibility study of the proposed system is to be carried out. This is to ensure that the

proposed system is not a burden to the company. For feasibility analysis, some

understanding of the major requirements for the system is essential.

Three key considerations involved in the feasibility analysis are

 ECONOMICAL FEASIBILITY
 TECHNICAL FEASIBILITY

 SOCIAL FEASIBILITY

3.1.2. ECONOMICAL FEASIBILITY:

This study is carried out to check the economic impact that the system will have on

the organization. The amount of fund that the company can pour into the research and

development of the system is limited. The expenditures must be justified. Thus the developed

system as well within the budget and this was achieved because most of the technologies

used are freely available. Only the customized products had to be purchased.

3.1.3. TECHNICAL FEASIBILITY:

This study is carried out to check the technical feasibility, that is, the technical

requirements of the system. Any system developed must not have a high demand on the

available technical resources. This will lead to high demands on the available technical

resources. This will lead to high demands being placed on the client. The developed system

must have a modest requirement, as only minimal or null changes are required for

implementing this system. Are there technical guarantees of accuracy, reliability and data

security? The environment required in the development of system is any windows platform

The observer pattern along with factory pattern will update the results eventually.

The language used in the development is python & Windows Environment.

3.1.4. SOCIAL FEASIBILITY:

The aspect of study is to check the level of acceptance of the system by the user. This

includes the process of training the user to use the system efficiently. The user must not feel

threatened by the system, instead must accept it as a necessity. The level of acceptance by the

users solely depends on the methods that are employed to educate the user about the system

20
and to make him familiar with it. His level of confidence must be raised so that he is also able

to make some constructive criticism, which is welcomed, as he is the final user of the system.

3.2. MODULE DESCRIPTION:

The Image Steganography system is designed basically in four different modules.

They are:

1. GUI module

2. Compression Module

3. Security System module

4. Connection Manager Module.

3.2.1.GUI Module:

GUI Module basically deals with the design of the interface which include the service
of providing the user with the flexibility of accessing the file system and selecting the
required file for the transfer. It should also provide the system to collect the information from
the user to check the authorization in providing the access to the file system. The interface is
also to consider the design, which include the services of sending and receiving of the files
with encryption and decryption standards.

3.2.2.Compression Module:

The Compression module basically deals with the compress and decompresses the
file, which is used to send the file very easily which reduces the uploading time.

3.2.3.System Security Module:

Security implementation module considers the implementation of the encryptions and


decryption standards in transfer the files from one system to another in a distributed
environment. The system design, even need to support the user to select the level of
encryption he/she needs to perform depending upon the file to be transferred. The basic
algorithm used in this purpose is the Blowfish where the user can enter the key depending
upon level encryption he is interested.

3.2.4.Connection Manager Module:


The Connection Manager deals with the architecture, which supports the system to
identify the end users for the safe storage. Connection and disconnection of the storage
channel to the users for the access of file system and file services.

System analysis:
3.3.Existing system:

Steganography hides the existence of a secret message and in the best case nobody can
identify the secret data in the device. This makes steganography suitable for some tasks for
which encryption aren’t, such as copyright marking. However, in steganography, the
existence of the information in the sources will not be noticed at all. Most steganography jobs
have been carried out on images, video clips, texts, music and sounds

Disadvantages:
 It only works on internet

3.4.Proposed system:
As steganography becomes more widely used in computing, there are issues that need to be
resolved. There are a wide variety of different techniques with their own advantages and
disadvantages. Many currently used techniques are not robust enough to prevent detection
and removal of embedded data.

Advantages:

 It is safe to login.
 It has multifactor authentication.
 It encodes and decode text.

22
CHAPTER-4

SYSYTEM DESIGN
Systems design is the process of defining the architecture, components, modules,interfaces,
and data for a system to satisfy specified requirements. Systems design could be seen as the
application of systems theory to product integer development.

4.1.UML DIAGRAMS:OBJECT ORIENTED ANALYSIS

UML stands for Unified Modeling Language. UML is a standardized general-purpose


modeling language in the field of object-oriented software engineering. The standard is
managed, and was created by, the Object Management Group.

The goal is for UML to become a common language for creating mo


of object oriented computer software. In its current form UML is comprised of two major
components: a Meta-model and a notation. In the future, some form of method or process
may also be added to; or associated with, UML.

The UML is a standard language for


o Specification
o Visualization
o Construction and
o Documentation

The UML represents a collection of best engineering practices that have proven
successful in the modeling of large and complex systems.

The UML is a very important part of developing objects oriented software and the
software development process. The UML uses mostly graphical notations to express the
design of software projects.

4.1.1. GOALS:

The Primary goals in the design of the UML are as follows:


1. Provide users a ready-to-use, expressive visual modeling Language so that they can
develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core concepts.
3. Be independent of particular programming languages and development process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as collaborations, frameworks,
patterns and components.
7. Integrate best practices.
Diagram
s overview:
In UML has 14 types of diagrams divided into two categories. Seven diagram types
represent structural information, and the other seven represent general types of behavior,
including four that represent different aspects of interactions.
UML is a notation that resulted from the unification of Object Modeling Technique
and Object Oriented Software Technology. UML has been designed for broad range of
application.
4.2. USE CASE DIAGRAM:

24
A use case diagram in the Unified Modeling Language (UML) is a type of behavioral
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented
as use cases), and any dependencies between those use cases. The main purpose of a use case
diagram is to show what system functions are performed for which actor. Roles of the actors
in the system can be depicted.

login

encrypt messages/files

user

decrpt files/messages

logout
4.3.CLASS DIAGRAM:

In software engineering, a class diagram in the Unified Modeling Language (UML) is a type
of static structure diagram that describes the structure of a system by showing the system's
classes, their attributes, operations (or methods), and the relationships among the classes. It
explains which class contains information.

user
username
password

login()
encrypted message()
decrpyted messages()
encrypt file()
decrpyt file()

26
4.4.SEQUENCE DIAGRAM:

A sequence diagram in Unified Modeling Language (UML) is a kind of interaction diagram


that shows how processes operate with one another and in what order. It is a construct of a
Message Sequence Chart. Sequence diagrams are sometimes called event diagrams, event
scenarios, and timing diagrams.

user system

login
login

encrypt message/key

decrypt message/key

logout
logout
4.5.Collabora
tion Diagram:

In collaboration diagram the method call sequence is indicated by some numbering technique
as shown below. The number indicates how the methods are called one after another. We
have taken the same order management system to describe the collaboration diagram. The
method calls are similar to that of a sequence diagram. But the difference is that the sequence
diagram does not describe the object organization where as the collaboration diagram shows
the object organization.

1: login
2: encrypt message/key
3: decrypt message/key
4: logout
user system

28
4.6.ACTIVITY DIAGRAM:

Activity diagrams are graphical representations of workflows of stepwise activities and


actions with support for choice, iteration and concurrency. In the Unified Modeling
Language, activity diagrams can be used to describe the business and operational step-by-step
workflows of components in a system. An activity diagram shows the overall flow of control.

user

encrpyt messge/key

decrypt message/key

logout
4.7.COMPONENT DIAGRAM

Component diagrams are used to describe the physical artifacts of a system. This artifact
includes files, executables, libraries etc. So the purpose of this diagram is different,
Component diagrams are used during the implementation phase of an application. But it is
prepared well in advance to visualize the implementation details. Initially the system is
designed using different UML diagrams and then when the artifacts are ready component
diagrams are used to get an idea of the implementation.

user system

4.8.DEPLOYMENT DIAGRAM

Deployment diagram represents the deployment view of a system. It is related to the


component diagram. Because the components are deployed using the deployment diagrams.
A deployment diagram consists of nodes. Nodes are nothing but physical hard ware’s used to
deploy the application.

user system

30
CHAPTER-5

System Configuration

5.1. Software Requirements:


 Operating System : Windows 7/8/10
 Domain : JAVA APPLICATION’S

 IDE : Netbeans 8.2

 VS 2005 / 2008 and more

5.2. Hardware Requirements:


 Processor - Intel i3 , Preferably 3.0 GHz or Greater
 RAM - 8GB
 Hard Disk - 500 GB
CHAPETR-6
SYSTEM IMPLEMENTATION

Description of the system

IMPLEMENTATION :
The disadvantage with existing steganographic systems is their simple data embedding

procedure. Because of this single level encryption of information the counter attack is

being done at one level only and by applying all possible counter techniques blindly it

may result in compromising the data. Our system is intended to encrypt data through

multiple levels.

USER INTERFACE DESIGN :

MAIN WINDOW :
It is written in java swings. It is used to open the operational window or frames to

perform set of operations on images using the specified techniques. It consists of basic

window operations like closing and minimizing but restoring or rescaling is not

possible. This main window has two tabs encrypt message tab and decrypt message tab

which allows the user to perform his task.

ENCRYPT MESSAGE TAB :


The encrypt message tab directs the user through three windows: Base64, Encrypt and

Embed while all these windows can be executed individually. These windows were

developed using Applet as well as Swing framework. Use of all these three windows is

not mandatory; they can be used based upon user’s security requirements. As the name

of this tab says, windows involved in this tab are used in the process of encoding an

32
input. A user can perform base64 conversion of a message, password based encryption

of a message and embedding a message into a cover image.

This window consists of all kinds of operations related to encoding, which are required

for the developed steganographic tool.

DECRYPT MESSAGE TAB :

By clicking on decrypt message tab button , the process of decryption takes

place .The decrypted data opens only by entering the encrypt key correctly. After

entering the encrypt key , the output appears on the screen.

SYSTEM ARCHITECTURE :
Architecture

Figure represents the architecture that is implemented. The modules of the steganographic
tool are also included in the architecture.
Figure System Architecture

A user is able to do all the operations as shown in figure manually by using encrypt

message and decrypt message tabs.

DATA ENCRYPTION STANDARD (DES) :


DES is an encryption standard where encryption is done in individual blocks

called block cipher. The block size used here is 64 bits. The core idea behind this

standard is Fiestel network. This standard involves 16 identical stages in its process.

Each block of 64 bits is divided into two blocks; left and right of 32-bits. The right part

is given as input to a Fiestel function. An XOR operation is applied between the output

of Fiestel function and the left part and the resultant is considered as the right part of

the second stage. For the left part in the second stage, the right part from the previous

stage is simply copied [11] [6].

The same procedure is contained for 16 iterations to get a final output of the 64-bit
block.
This is how each block of 64-bits is encrypted with DES.

Figure 1: Encryption circuit block diagram [6].

Decryption on the other hand, is just a reverse process to encryption which can also be

called as inversion where an XOR operation is applied between the right part and the

output of the Fiestel function. The resultant is considered as the left part to the next

stage. And the left part is just copied as the right part of the next stage. This process is

carried out through all the 16 stages.

34
Figure 2: Inverse circuit of encryption circuit [6].

LEAST SIGNIFICANT BIT SUBSTITUTION (LSB) :


LSB substitution is a popular technique to embed data on to digital images. We

know that an image will be stored in the form of bytes. In this kind of encoding, by

using the LSB of each byte, 1-bit information can be stored in the image as secret

message [8]. Accordingly 1-bit per byte can be stored in 8-bit images while 3-bits can

be stored in 24-bit images for every 24-bits. Depending upon the color palette of a

cover image, a secret message can be stored in two LSB’s which cannot be identified

by human visual system (HVS) [8] [9]. But the main drawback of this encoding method

is that images after encoding can be intercepted easily i.e, information can be changed

or image format can be changed.

JSTEG :

This was the first publicly available steganographic system for JPEG images.

This encoding technique is similar to that of the LSB technique. This technique uses the

concept of discrete cosine transformation (DCT) [11] [13]. The JPEG image format
uses a discrete DCT to transform successive 8 × 8 pixel blocks of the image into 64

DCT coefficients each. Here, encoding is done by sequentially replacing the LSB of

DCT coefficients with message’s data. Andreas Westfeld and Andreas Pfitzmann

noticed that steganographic systems that change least-significant bits sequentially cause

distortions detectable by steganalysis [1] [8] [11]. The disadvantage with this system is,

embedding step changes the LSB of colors in an image, that is, embedding uniformly

distributed message bits reduces the frequency difference between adjacent colors.

EMBEDDING PROCESS :

Interpreting technically, an image is stored in the form of an array of numbers

on a computer that represents a collection of pixels, representing light intensity at

various points of the image. Typically, a pixel could carry 8-bits or 24-bits of data

depending upon the image quality. An 8-bit image is smaller in size which can be

dependable, but one disadvantage is that, it exhibits only 256 colors. This may affect

adversely while encoding. Hence, while handling an 8-bit image, gray scale color

palette is used. Use of 24-bit images increases efficiency because it can exhibit many

colors (more than 16 million) [10] [12]. A file with bigger size (usually in Mega Bytes)

can make it more suspicious when transmitted on the Internet.

BASE64 CONVERSION :
As part of multi-level approach the base64 conversion is taken as the first step. The

intended purpose of base64 mechanism is to convert any unreadable data into a

readable format. As mentioned earlier, an image to a computer is just a stream of bytes.

Each byte is composed of 8-bits, and each bit is capable of storing one value, either ‘0’

or ‘1’ which we all know as ASCII standard. The ASCII standard is an 8-bit character

36
set which has 256 (28) characters that form text. Among those 256 characters, only few

are readable and printable, but the idea here is to generate a readable text, which could

be done by decreasing the number of character set [6] [11]. To reduce the character set,

the Base64 mechanism reads only 6-bits as a character instead of 8-bits. Now we will

have only 64 (26) characters which are represented by upper case alphabet (26), lower

case alphabet (26), numbers 0-9 (10) and symbols ‘+’,’/’ that is a total of 64 characters.

But every byte has 8bits, so reading just 6-bits would be troublesome. Using 3 bytes

24-bits are formed and these 24-bits are chopped into 4 equal parts of 6-bits each.

ENCODING :

To reduce the number of characters, 8-bits are reduced to 6-bits by considering 3

characters at a time. The actual translation follows mapping of values from 0 to 63

characters (A-Z, a-z, 0-9, +, /). For this, a chart is used as shown in figure 3.

Figure 3: Character for base 64 [6].

For example, consider a string “Hello World!” .Base64 interpretation for given string is

as follows [6]:

1. Convert the characters to binary.

2. "Hel" is 01001000 01100101 01101100 in binary. (Notice that there are 24


bits).

3. Convert the 24 bits from three 8 bit groups to four 6 bit groups.
01001000 01100101 01101100 becomes 010010 000110 010101 101100.
4. Convert each of the four 6 bit groups into decimal.

010010 = 18
000110 = 6
010101 = 21
101100 = 44
5. Use each of the four decimals to look up the base64 character code.

18 = 'S'
6 = 'G'
21 = 'V'

44 =‘s’
6. You now have your first three ASCII characters ("Hel") encoded as base64

("SGVs").

DECODING :
The decoding process is relatively simple process. The most important thing

here is that while encoding 8-bits were used for each character. But now for each

character only 6bits should be used, so to decode the information 4 characters are to be

considered at a time

[6].

For example decoding of string “YmFz” is as follows:


1. Convert the base64 characters to binary. (Remember to use 6 bit binary!)

"YmFz" is 011000 100110 000101 110011 in binary.


2. Convert the 24 bits from four 6 bit groups to three 8 bit groups.

011000 100110 000101 110011 becomes 01100010 01100001 01110011.


3. Convert each of the three 8 bit groups into decimal.

38
01100010 = 98
01100001 = 97
01110011 = 115
4. Use each of the three decimals to look up the ASCII character for that

value. 98 = 'b'

97 = 'a'
115 = 's'
We now have the first four base64 characters ("YmFz") decoded as ASCII

("bas").

In the same manner, data of any format can be encoded and decoded on the basis of 64

(26) characters.

PASSWORD BASED ENCRYPTION (PBE) :


PBE with MD5 and DES is a secure cipher class provided by JAVA itself. This project

makes use of the service provided by JAVA. A small function call for encryption and

decryption returns the encrypted and decrypted file by directing the input respectively.

Here PBE is used with MD5 and DES. An 8 character password is given as

input to this algorithm. The MD5 hashing generates a 128 bit stream with the given

input

(password) [5] [6] [13]. This 128 bit stream is used as key input which is necessary for

the DES encryption as explained in literature review. Therefore, encryption is carried

out in the form of blocks which is called block ciphering based upon a password.
EMBEDDING :
Embedding is a process that inserts the bits of information into the byte array stream of

cover image. The following describes the process.

Insertion of data should not change the information. That means, after inserting

information into the cover image, and when the information is retrieved by receiver

from image, the retrieved information should be same as the inserted information [7]

[8] [10]. The information to be inserted is encrypted twice before insertion, so the

double encrypted information is processed first in order to keep the information

consistent. The main problem could be only with the characters followed by symbol ‘\’.

Some of the characters followed by back slash ‘\’ could form an escape sequence

character. To remove this affect a single backslash is replace by multiple backslashes.

The cover image is processed and interpreted in the form of bytes. That is,

information of each pixel of the cover image is stored in the form of a byte for

corresponding RGB values [8], [10]. The last bit of each interpreted byte of all the

pixels is replaced with one bit of information that is to be inserted. In the same way,

each and every bit of information that are be hidden is inserted into available pixels of

the cover image till the end of information.

THRESHOLD :
The insertion of bits of information is not straight-forward, but is done by selecting

appropriate pixels to insert. That means, a threshold value is given as input by the user.

And the pixel that satisfies the threshold (pixels value is greater than the threshold) is

eligible for insertion. Before checking the threshold value of a pixel, its position is also

considered to be even [7] in terms of row and the column index. Finally any pixel that

is in an even position and whose value is greater than the user supplied threshold value

is used for data to be inserted in it.

40
EMBEDDING PROCESS :
The following steps describe the embedding process:

a) Process the information that has to be inserted to remove escape sequences. The

code written below exhibits this operation:

information = "\\" + information.replaceAll("\\\\", "\\\\\\\\") + " \\";

b) The cover image is processed in the form of bytes by the colors of pixels and

stored in the form of an array. This process is implemented with following

code:

for (int i = 0, k = 0, l = 0; i < image.getWidth(); i++) {

for (int j = 0; j < image.getHeight(); j++, k +=

3, l++) {

rgb = image.getRGB(i, j);

bytes[k] = (rgb >> 16) &

0xFF; bytes[k + 1] = (rgb

>> 8) & 0xFF; bytes[k + 2]

= (rgb >> 0) & 0xFF;

alpha[l] = (rgb >> 24) & 0xff;

c) Check the available size of the cover image to insert information and throw an

exception if there is no enough space available. To make it work, following

lines are used in code:


if ((bytes.length - 2) / 8 < information.length()) {

System.out.println("Secret Message exceed the threshold");

throw new NotEnoughSpaceException("Information to long for

Picture"); }

Now information and cover image both are in bytes form, so filtering of pixels and
insertion of information can be done.
d) To insert a value into a last bit of byte, the pixel should be in even position both

in row and column. And also the value of the pixel should be greater than the

input threshold. The following lines of code give a brief look at the internal

operation:

for (int i = 0, k = 0; i < information.length(); i++) {

int cur = information.charAt(i);

for (byte j = 0; j < 8; j++, k+=2) // filter by position (even position only)

if (bytes[k] > ThresholdBean.getThreshold())

// threshold should be satisfied

bytes[k] = setLastBit(bytes[k],((cur & 1 << 7 - j) >> 7 - j)


== 1);

e) This insertion is done until the end of information or till the end of last pixel of

cover image.

f) The process of retrieving information is done in similar manner. The last bit of

a pixel satisfying both position and threshold conditions is read into a variable.

The following code describes the process:

42
for (int i = 0; i < bytes.length;) {

cur = 0;

for (int j = 0; j < 8 && i < bytes.length; j++, i+=2) // i value double
increment

{
if (bytes[i] > ThresholdBean.getThreshold())

cur |= (bytes[i] & 1) << 7 - j;

g) The variable ‘cur’ is appended to a character variable to get valid information

information.append((char) cur);

FEATURES OF JAVA :
Generally, Java is a simple, robust and secure programming language. Here are the
most important features of Java:
 

 
1. Java is Simple:
The Java programming language is easy to learn. Java code is easy to read and write.
 

2. Java is Familiar:
Java is similar to C/C++ but it removes the drawbacks and complexities of C/C++ like
pointers and multiple inheritances. So if you have background in C/C++, you will find Java
familiar and easy to learn.
 

3. Java is an Object-Oriented programming language:


Unlike C++ which is semi object-oriented, Java is a fully object-oriented programming
language.
It has all OOP features such as  abstraction, encapsulation, inheritance and polymorphism.
 

4. Java supports Functional programming:


Since Java SE version 8 (JDK 8), Java is updated with functional programming feature like
functional interfaces and Lambda Expressions. This increases the flexibility of Java.
 

5. Java is Robust:
With automatic garbage collection and simple memory management model (no pointers like
C/C++), plus language features like generics, try-with-resources,… Java guides programmer
toward reliable programming habits for creating highly reliable applications.

 6. Java is Secure:


The Java platform is designed with security features built into the language and runtime
system such as static type-checking at compile time and runtime checking (security
manager), which let you creating applications that can’t be invaded from outside. You never
hear about viruses attacking Java applications.
 

7. Java is High Performance:


Java code is compiled into bytecode which is highly optimized by the Java compiler, so that
the Java virtual machine (JVM) can execute Java applications at full speed. In addition,
compute-intensive code can be re-written in native code and interfaced with Java platform
via Java Native Interface (JNI) thus improve the performance.
 

8. Java is Multithreaded:
The Java platform is designed with multithreading capabilities built into the language. That
means you can build applications with many concurrent threads of activity, resulting in
highly interactive and responsive applications.
 

9. Java is Platform Independence:

44
Java code is compiled into intermediate format (bytecode), which can be executed on any
systems for which Java virtual machine is ported. That means you can write a Java program
once and run it on Windows, Mac, Linux or Solaris without re-compiling. Thus the slogan
“Write once, run anywhere” of Java.
Besides the above features, programmers can benefit from a strong and vibrant Java
ecosystem:

 Java is powered by Oracle - one of the leaders in the industry. Java also gets
enormous support from big technology companies like IBM, Google, Redhat,… so it has
been always evolving over the years.
 There are a lot of open source libraries which you can choose for building your
applications.
 There are many superior tools and IDEs that makes your Java development easier.
 There are many frameworks that help you build highly reliable applications quickly.
 The community around Java technology is very big and mature, so that you can get
support easily.

That’s why Java has been ranking as #1 programming language in the world by popularity,
according to statistics by Tiobe Index.
So congratulate you on choosing Java as the programming language for developing awesome
applications.
 

CHAPTER-7

SYSTEM TESTING

The process of examining whether the developed system is working according to the
original objectives and requirements is called software testing. Once the program is created
and the documentation and related data structures are designed the software testing process
begins. The project is said to be incomplete without software testing. It is crucial for
correcting errors.

To ensure that the system works according to the requisite specification, we need to
test experimentally the system with the test data. Then test it with actual data, when the
system is working properly and check its performance. Software testing is a critical
component of in software quality assurance the software testing is significant component
which characterizes the critical analysis of specification, design and coding.
7.1 NEED FORTESTING:

For the following reasons, testing was essential.

 To detect the presence of program errors and its failures.

 As wished-for by its designer the software behavior will be.

 Conformance with prerequisite specifications or user needs.

 Evaluates the operational trustworthiness of the system.

 Echo’s the incidences of actual user inputs.

 Discover the error, which caused the output inconsistency.

 Checks for identifying faults and insufficiency of the requirements.

 Check whether the software is operationally practical.

 Implement the program using the real data processed by the program.

7.2TESTING STRATEGIES:

The key idea behind testing is to discover or find errors. By keeping this in mind, the
Test cases are developed. The system will process a test case as normal input. The test case
is a set of data.

Characteristics of a Good Test:

 To catch bugs we perform tests.


 No redundancy
 Not too easy or too difficult.

The purpose of testing is to find out faults. Testing is the process of tiresome to find out
every possible fault or weakness in a work result. It provides a way to check the
functionality of components, sub assemblies, or finished manufactured goods. It is the
process of implementing software with the intent of makes certain that the Software system
meets its requirements and user expectations and does not fail in an improper manner. There
are various types of test. Each test type addresses a specific testing constraint.

7.3 DIFFERENT TYPES OFTESTS:

46
 The basic levels of testing are:

Fig 7.1: Levels of Testing

7.4 TYPES OF TESTS:

7.4.1UnitTesting:

Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid outputs.
All decision branches and internal code flow should be validated. It is the testing of
individual software units of the application .it is done after the completion of an
individual unit before integration. This is a structural testing, that relies on
knowledge of its construction and is invasive. Unit tests perform basic tests at
component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process performs
accurately to the documented specifications and contains clearly defined inputs and
expected results.

7.4.2 Integration Testing:

Integration tests are designed to test integrated software components to


determine if they actually run as one program. Testing is event driven and is more
concerned with the basic outcome of screens or fields. Integration tests demonstrate
that although the components were individually satisfaction, as shown by
successfully unit testing, the combination of components is correct and consistent.
Integration testing is specifically aimed at exposing the problems that arise from the
combination of components.

7.4.3 Functional Testing:

Functional tests give efficient revelation that functions tested are available as
particular by the business and technical necessities, system citations, and user
instruction manual.

The following items are Functional


testing includes: Valid Input -valid
input must be accepted .Invalid Input
invalid input must be rejected.

Functions- identified functions must be implemented .Output- identified classes of


application outputs must be implemented. Systems or measures - interfacing systems
or measures must be appealed.

7.4.4. System Testing:

System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An
example of system testing is the configuration oriented system integration test.
System testing is based on process descriptions and flows, emphasizing pre-driven
process links and integration points.

7.4.5. White Box Testing:

White Box Testing is a testing in which in which the software tester has

48
knowledge of the inner workings, structure and language of the software, or at least
its purpose. It is purpose. It is used to test areas that cannot be reached from a black
box level.

7.4.6. Black Box Testing:

Black Box Testing is testing the software without any knowledge of the inner
mechanism, structure or language of the module being tested. Black box tests, as
most other kinds of tests, must be written from a perfect source document, such as
design or requirements document. It is a testing in which the software under test is
care for, as a black box .you cannot see into it. The test provides inputs and responds
to outputs without taking into consideration how the software works.

Fig 8.2: Process of black box testing

7.4.7. Acceptance Testing:

User Acceptance Testing is a critical phase of any project and


requires significant participation by the end user. It also ensures that
the system meets the functional requirements.

Test Results: All the test cases mentioned above passed successfully. No defects
encountered.

7.5.TESTCASES:

Test Plan:
A test plan is a document that contains a complete set of test cases for a system, along
with other information about the testing process. The test plan should be returned long before
the testing starts.
Test plan identifies: 1. A task set to be applied as testing commences
2. The work products to be produced as each testing task is executed
3. The manner, in which the results of testing are evaluated, recorded
and reuse when regression testing is conducted. In some cases the test
plan is indicated with the project plan.
Test Plan1:
Input Audio file type Input:
Sender selects an audio from the list of supported files Process: Message
is embedded in the selected audio and new audio file is saved .
Action:
Display alert showing the successful embedding of message # Aspect to be tested
Test Case Expected Result Audio file type File type .wav Accept the file & embed msg in it
Save the output image as .mp3 file 2 Audio file type File type .mp3 Accept the file & embed
message in it. Output image is saved as .mid file .
Test Plan2:
Output audio file name Input:
provides a file name for the output audio Process: Embed the message and
save new audio as a .wav or .mp3 file .
Action:
Creates the output audio file of given name with .wav or .mp3 as extension #
Aspect to be tested Test Case Expected Result Output file name o/p file name with extension
is given Create the output file Creates o/p file with .wav extens–ion appended to the given
name 2 Output file name No name is given for the output file Provide the alert box to enter
the o/p file name. Creates the output file with name ‘output’ .
Test Plan3:
Message to be encoded Input:
Sender provides the message to be embedded Process: Embed the message in
selected source audio and save as a new audio.
Action:
Display alert showing the status of message embedding # Aspect to be tested
Test Case Expected Result Message Audio can hold the message of provided length Embed
the message in the audio Alert is given showing successful embedding of message 2 Message
Audio cannot hold the message of provided length Display a msg that the audio cannot hold
the given message Alert is given that ‘target file cannot hold the message’ .

50
Test Plan4:
Supported audio files for encoding and decoding a message Input: source selects
the source audio to embed a message. output selects the stegoed audio to get the message
contained in it.
Process:
‘Supported audio files’ as Files of Type shows .wav and .mp3 files etc. Result:
Display list of all the supported audio. # Aspect to be tested Test Case Expected Result Files
of type in the dialog box Files of type: Supported audio files All .wav and .mp3 files are
shown Lists all the wav and mp3 files 2 Files of type in the dialog box Files of type: All
audios All files at the selected location are shown Lists all the files at the selected location
Test Plan5:
Output file Input:
selects the source audio and provides the message to embed Process: Edits the
audio to hold the message and save it as a new audio.
Result:
Display alert showing the status of message embedding # Aspect to be tested Test
Case Expected Result 1 Output file Selected file to be decoded contains data Decoded
message is given to the receiver Message is decoded and given to receiver 2 Output file
Selected file to be decoded doesn’t contain any data Display a message that the image file
doesn’t have any data Alert is given that ‘please enter the ’
CHAPTER-8
EXPERIMENTAL RESULTS

INPUT RESULTS :
“HIDE A PDF FILE IN AN IMAGE” is the project we done here. The project is
implemented using Steganography techniques . Steganography is a technique which is used
to hide the confidential data in other data ( includes images, text , audio , etc ..,).
The following are the input which ate used in this project :
1. PDF File for encryption
2. Stego image
3. Username and password
4. Output Stego image

52
5. Encrypted PDF File to Decrypt

OUTPUT RESULTS :
In this project , a PDF FILE is the output. After completion of the encryption and
decryption of the input PDF File a newly generated decrypted PDF File will occur at
Drive(D) of the device defaulty .
The Decrypted PDF File is the output for the project.

The following are the step wise working process of the project which is shown by the
screenshots :

1.THIS IS THE PROJECT'S MAIN CONCEPT :

2. AFTER CLICKING ON THE RUN BUTTON THE FOLLOWING LOGIN CREDENTIALS PAGE WILL
APPEAR :
3.THIS IS THE FORMAT THE PROJECT IS GOING TO WORK :

54
4.CLICK ON OPEN TILE TAB :

5.UPLOAD A PDF FILE AS AN INPUT :

6.AFTER CLICKING ON THEENCRYPT MESSAGE TAB THE FOLLOWING SCREEN WILL


APPEAR:
7.UPLOAD A INPUT STEGO IMAGE :

8.AFTER UPLOADING A INPUT STEGO IMAGE IT IS NECESSARY TO UPLOAD ANOTHER


STEGO IMAGE WHICH WE NAMED AS OUTPUT STEGO IMAGE :

56
9. AFTER UPLOADING BOTH INPUT AND OUTPUT STEGO IMAGES , THE FOLLOWING
SCREEN WILL APPEAR :

10.CLICK ON CHECK BOX TO GIVE SECRET KEY FOR SECURITY OF DATA :


11. CLICK ON THE DECRYPT MESSAGE TAB :

58
12.AFTER THAT IT ASKS TO ENTER SECRET KEY TO SEE THE OUTPUT :

13. CLICK ON RETRIEW NOW BUTTON TO GET OUTPUT :


14. THE OUTPUT IS DEFAULTLY STORED IN DRIVE(D) OF THE DEVICE :

15. THE FOLLOWING IS THE OUTPUT FOR THIS PROJECT :

60
CHAPTER-9
CONCLUSION AND FUTURE ENHANCEMENTS
Conclusion:
To hide confidential information steganography can be effectively used. The
objective of any Steganographic method is to hide maximum secret information which is
immune to external attacks and also should not convey the fact that the cover medium is
carry secret information. This thesis has used LSB substitution technique for time domain
and different transforms for frequency domain.
The random key made use of while LSB technique is employed has proved to be
better than simple LSB substitution. When the personal is key is made use of in the
techniques have not altered the resolution of the image much and appears to be negligible
as been seen with the obtained results. Hence the hidden data getting damaged buy the
third person is almost impossible. The algorithm can be implemented in both grayscale
and color image since it has made use of 8 bit and 24bit images of size for both cover and
secret image.
A new Steganography technique was presented, implemented and analyzed. The proposed
method hides the secret message based on searching about the identical bits between the
secret messages and image pixels values. The proposed method was compared with the LSB
benchmarking method for hiding the secret message which hide the secret message directly in
the least two significant bits of the image pixels.

Future Enhancement:
In our thesis work we propose a new approach which give good quality of the image after
encoding the original image by using the LSB technique because LSB technique has a
drawback it affects the resolution the original image after encoding, so that image quality go
burst. The future work on this project is to improve the compression ratio of the image to the
text. The main intention of the project is to develop a steganographic application that
provides good security. The proposed approach provides higher security and can protect the
message from stego attacks. The image resolution doesn’t change much and is negligible.
MODULES:
We have only one user module.
User:
1.User can login, encrypted, decrypted and logout.
2.encryption have added images, add messages and key.
3.decrpytion have add messages and key.

62
References

[1] Nagham Hamid, Abid Yahya, R.Badlishah Ahmad and Osamah M. Al-Qershi,“Image
Steganography Techniques: An Overview”, International Journal of Computer Science and Security
(IJCSS), Volume (6), Issue (3) ,2012.

[2] Yedla Dinesh and Addanki Purna Ramesh, “Efficient Capacity Image Steganography by
Using Wavelets”, International Journal of Engineering Research and Applications (IJERA), Vol. 2,
Issue 1, Jan-Feb 2012, pp.251-259.

[3]Prof. Akhil Khare, Meenu Kumari and Pallavi Khare, “Efficient Algorithm for Digital
Image Steganography”, Journal of Information, Knowledge and Research in Computer Science and
Applications, Nov 09 to Oct 10 Volume 1, Issue 1.

[4]Elham Ghasemi, Jamshid Shanbehzadeh and Nima Fassihi, “High Capacity Image Steganography
using Wavelet Transform and Genetic Algorithm”, Proceedings of the International Multi Conference
of Engineers and Computer Scientists 2011, Vol1 March 16-18, 2011.
[5]Yue Wu and Joseph P. Noonan, “Image Steganography Scheme using Chaos and Fractals with the
Wavelet Transform”, International Journal of Innovation, Management and Technology, Vol. 3, No.
3, June 2012.
[6]Souvik Bhattacharyya and Gautam Sanyal, “A Robust Image Steganography using DWT
Difference Modulation (DWTDM)”, International Journal on Computer Network and Information
Security, 2012, 7, 27-40 Published Online July 2012 in MECS.
[7]Lokesh Kumar, “Novel Security Scheme for Image Steganography using Cryptography
Technique”, International Journal of Advanced Research in Computer Science and Software
Engineering, Volume 2, Issue 4, April 2012
[8]Ravi Saini and Rajkumar Yadav, “A New Data Hiding Method Using Pixel Position And Logical
And Operation”, International Journal of Computer and Electronics Research, Volume 1, Issue 1,
June 2012
[9]K. Venkata Ramana, Dr.B.Raveendra Babu and Sri Ch.Ratna Babu, “A Randomized Secure Data
Hiding Algorithm Using File Hybridization for Information Security”, International Journal on
Computer Science and Engineering (IJCSE), Vol. 3 No. 5 May 2011.
[10]Ravuru Rakesh, Shantan Devathi, Prashanth Sekhar Chandra Sekaran and Siram Sanath Kumar,
“Adaptive Randomization in Image Steganography Pertaining to MostSignificant Nibble”,
International Journal of Computer Applications, Volume 22– No.3, May 2011.

64

You might also like