Sei sulla pagina 1di 26

IMAGE STEGANOGRAPHY

MINOR PROJECT REPORT

SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE


AWARD OF THE DEGREE OF

BACHELOR OF ENGINEERING
(Computer Science and Engineering)

Submitted By: Submitted To:


Naman Goyal (UE143059) Mrs. Dhriti
Sahib Katyal (UE143077)

Department of Computer Science and Engineering


University Institute of Engineering and Technology (UIET)
Panjab University, Chandigarh
IMAGE STEGANOGRAPHY

MINOR PROJECT REPORT

SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE


AWARD OF THE DEGREE OF

BACHELOR OF ENGINEERING
(Computer Science and Engineering)

Submitted By: Submitted To:


Naman Goyal (UE143059) Mrs. Dhriti
Sahib Katyal (UE143077)

Department of Computer Science and Engineering


University Institute of Engineering and Technology (UIET)
Panjab University, Chandigarh
ABSTRACT

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 steganographic techniques some are
more complex than others and all of them have respective strong and weak points. Different
applications have different requirements of the steganography techniques used. For example,
some applications may require absolute invisibility of the secret information, while others
require a larger secret message to be hidden. This project intends to give an overview of
image steganography, its uses and techniques. It may also supports steganography in Audio
files. For a more secure approach, the project may encrypt the message using secret key and
then sends it to the receiver. The receiver then decrypts the message to get the original one.
ACKNOWLEDGEMENT

I am thankful to Panjab University and University Institute of Engineering and


Technology for offering me such a wonderful challenging opportunity and I express my
deepest thanks to all coordinators, of University Institute of Engineering and Technology for
providing all the possible help and assistance and their constant encouragement.
It is a pleasure that we find ourselves penning down these lines to express our sincere
thanks to the people who helped us including my team-mate along the way in completing our
project. We find inadequate words to express our sincere gratitude towards them.

First and foremost we would like to express our gratitude towards our training guide Dr.
Dhriti for placing complete faith and confidence in our ability to carry out this project
and for providing us his time, inspiration, encouragement, help, valuable guidance,
constructive criticism and constant interest. She took personal interest in spite of numerous
commitments a n d busy schedule to help us complete this project. Without the sincere and
honest guidance of our respected project guide we would have not been to reach the present
stage.
TABLE OF CONTENTS
1. Introduction
1.1. Introduction to Project
1.2. Project Category
1.3. Objectives
1.4. Problem Formulation
1.5. Existing System
1.6. Proposed System
2. Requirement Analysis and System
2.1. Feasibility Study
2.2. Software Requirement Specifications
2.3. Validation
2.4. Expected
2.5. SDLC Model to be used
3. System Design
3.1. Design Approach
3.2. Detail Design
3.3. System Design using Data Flow Diagrams
3.4. User Interface Design
4. Implementation, Testing and Maintenance
4.1. Introduction to Languages, IDE’s, Tools and Technologies used for
Implementation
4.2. Coding Standard Language
4.3. Project Scheduling
4.4. Testing Techniques
5. Result and Discussion
5.1. User Interface Representation
5.1.1. Brief Description
5.2. Snapshots
5.3. Backend Representation
6. Conclusion and Future Scope
1. Introduction

1.1 Introduction to Project

One of the reasons that intruders can be successful is the most of the information they acquire
from a system is in a form that they can read and comprehend. Intruders may reveal the
information to others, modify it to misrepresent an individual or organization, or use it to
launch an attack. One solution to this problem is, through the use of steganography.
Steganography is a technique of hiding information in digital media. In contrast to
cryptography, it is not to keep others from knowing the hidden information but it is to keep
others from thinking that the information even exists.

Steganography become more important as more people join the cyberspace revolution.
Steganography is the art of concealing information in ways that prevents the detection of
hidden messages. Steganography include an array of secret communication methods that hide
the message from being seen or discovered.

Due to advances in ICT, most of information is kept electronically. Consequently, the security
of information has become a fundamental issue. Besides cryptography, steganography can be
employed to secure information. In cryptography, the message or encrypted message is
embedded in a digital host before passing it through the network, thus the existence of the
message is unknown. Besides hiding data for confidentiality, this approach of information
hiding can be extended to copyright protection for digital media: audio, video and images.

Growing possibilities of modern communications need the special means of security


especially on computer network. The network security is becoming more important as the
number of data being exchanged on the internet increases. Therefore, the confidentiality and
data integrity are requires to protect against unauthorized access and use. This has resulted in
an explosive growth of the field of information hiding

Information hiding is an emerging research area, which encompasses applications such as


copyright protection for digital media, watermarking, fingerprinting, and steganography.
In watermarking applications, the message contains information such as owner identification
and a digital time stamp, which usually applied for copyright protection.

Fingerprint, the owner of the data set embeds a serial number that uniquely identifies the user
of the data set. This adds to copyright information to makes it possible to trace any
unauthorized use of the data set back to the user.

Steganography hide the secrete message within the host data set and presence imperceptible
and is to be reliably communicated to a receiver. The host data set is purposely corrupted, but
in a covert way, designed to be invisible to an information analysis.
1.2 Project Category - Application Development

Final product will be a Desktop based Java Application which will encrypt text in the image
and decrypt the text from the encrypted Image.

1.3 Objectives

The goal of steganography is covert communication. So, a fundamental requirement of this


steganography system is that the hider message carried by stego-media 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 became important in a
number of application area

This project has following objectives:

To product security tool based on steganography techniques.

To explore techniques of hiding data using encryption module of this project

To extract techniques of getting secret data using decryption module.

Steganography sometimes is used when encryption is not permitted. Or, more commonly,
steganography is used to supplement encryption. An encrypted file may still hide
information using steganography, so even if the encrypted file is deciphered, the hidden
message is not seen.

1.4 Problem Formulation

The former consists of linguistic or language forms of hidden writing. The later, such as
invisible ink, try of hide messages physically. One disadvantage of linguistic
steganography is that users must equip themselves to have a good knowledge of
linguistry. In recent years, everything is trending toward digitization. And with the
development of the internet technology, digital media can be transmitted conveniently
over the network. Therefore, messages can be secretly carried by digital media by using
the steganography techniques, and then be transmitted through the internet rapidly

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.

So we prepare this java based application, to make the information hiding more simple
and user friendly.

1.5 Existing System

However, we find that in most existing approaches, the choice of embedding positions
within a cover image mainly depends on a pseudorandom number generator without
considering the relationship between the image content itself and the size of the secret
message.
We find that the existing PVD-based approaches cannot make full use of edge
information for data hiding, and they are also poor at resisting some statistical analyses.

1.6 Proposed System

We expand the LSB matching revisited image steganography and propose an edge
adaptive scheme which can select the embedding regions according to the size of secret
message and the difference between two consecutive pixels in the cover image.
For lower embedding rates, only sharper edge regions are used while keeping the other
smoother regions as they are. When the embedding rate increases, more edge regions can
be released adaptively for data hiding by adjusting just a few parameters.
2. Requirement Analysis and System Specification
2.1 Feasibility study (Technical, Economical, Operational)

Introduction:

The feasibility study of any system is mainly intended to study and analyze the
proposed system and to decide whether the system under consideration will be viable or
not after implementation. That is it determines the usability of the project after
deployment. To come to result a set of query is answered keeping the efficiency of the
software and its impact on the domain for which it was developed. It main emphasis is
on the following three questions elucidated below as:

❖ What are the user’s requirements and how does a candidate system meet them?

❖ What resources are available for the proposed systems? Is it worth


solving the problem?
❖ What is the likely impact of the proposed system on the organization? I.e. how
does the proposed system fit within the organization?

Thus since the feasibility study may lead to commitment of large resources, it becomes
necessary that it should be conducted competently and no fundamental errors of
judgment are made. Different types of feasibility study and the way we performed on our
project.

Technical Feasibility:

In technical feasibility, we study all technical issues regarding the proposed system. It is
mainly concerned with the specifications of the equipment and the software, which
successfully satisfies the end-user’s requirement. The technical needs of the system may
vary accordingly but include:

❖ The feasibility to produce outputs in a given time.

❖ Response time under certain conditions.

❖ Ability to process a certain volume of the transaction at a particular speed.

❖ Facility to communicate data.

Under this analysis process questions like


❖ Does the compatible platform exist within our domain or can we procure it?

❖ Does the proposed equipment have the technical capacity to hold the data
required using the new system? Both at the development site and at server where
we will be hiring the space for the website, and also the database would it be
possible to upgrade the system after it is developed and implemented, if
necessary? And would the recommended technology guarantee the reliability,
accuracy and data security?
Economical Feasibility:

Meaning: Are there sufficient benefits in creating the system to make the acceptable? Or
are the costs of not creating the system so great that it is advisable to undertaken the
project.

This will include three major costs as described below:

❖ Cost of Hardware and Software

❖ Cost of Software to be acquired to build and run the product is a onetime cost.

❖ Buying a back and database is the major part of hardware and Software cost.

❖ Comparison between the oracle database high cost and better features with the
SQL server low cost and better support for the same vendor operating system
make this decision need oriented.
❖ Benefits in reduced cost, error and saving will be made by reduction of present
system expenses, time saving and increased accuracy.
❖ Cost Avoidance: Future cost reduction in form of reduction in the number of
administrative staff needed and manual records maintains in organization. Rise in
cost will be avoided.

Operational Feasibility:

Meaning: The system will be used if it is developed well then be resistance from
users that undermine the possible application benefits.
Clients Supports: Client and user support for present system is there, as the current
procedure used takes more time and effort than proposed system. No major training
and new skills are required. It will help in the time saving and fast processing and
dispersal of user request and application. New product will provide all the benefits of
present system with better performance such as improved information, better
management and collection of the reports
User Support: User involvement in the building of present system is sought to keep in
mind the user specific requirement and needs. User will have control over own
information. Important information such as Test result can be generated at the click of
a button.

2.2 Software Requirement Specifications

Performance Requirements:
The ram should be 128mb at least. But 256mb ram is recommended. The disk space required to store
the software is 10mb and to store the output files and other configuration files associated with the
software the recommended disk space required is 15mb.
Safety Requirements:
The size constraints have to be evaluated by the end user only. The software does not check for the size
constraint. This is done to enhance the performance of the software in terms of speed. In case size of
hidden object exceeds the max. Allowable size that can be hidden, the extra information is truncated.
The part of hidden object of size equal to maximum possible size is stored in carrier file. The size of
hidden object that can be stored in a carrier file depends on the carrier file size and type of
steganographic task. The screen resolution should be set to 1027x768 or higher to get the complete view
of the software. In case of lower screen resolution, the software not only looks awkward but also not
completely visible.

2.3 Validation
● User authentication on Mobile devices using Firebase
● Content type validation of API.
● Image size should not be greater than 8mb

2.4 Expected hurdles


1. Budget
2. Lack of Internet resources
3. Lack of experience of software development in real life scenario
4. Lack of high end laptops(for good GPU)
5. lack of resources for testing(Testing suite, needed devices for imagery)
6. Lack of domain expertise

2.5 SDLC model to be used


Agile Software development life cycle is used throughout the development of project.
3. System Design
3.1 Design Approach
Object oriented approach is used. Specified coding standards are followed in the
development process along with complete documentation of the project. In development
phase agile process is followed.

3.2 Detail Design


Data Flow Diagrams: A DFD also known as “bubble chart” has the purpose of clarifying
system requirements and identifying major transformations. It shows the flow of data
through a system. It is a graphical tool because it presents a picture. The DFD may be
partitioned into levels that represent increasing information flow and functional detail.
Four simple notations are used to complete a DFD. These notations are given below:-

Data Flow: The data flow is used to describe the movement of information from one part
of the system to another part. Flows represent data in motion. It is a pipeline through
which information flows. Data flow is represented by an arrow.

Process: A circle or bubble represents a process that transforms incoming data to


outgoing data. Process shows a part of the system that transforms inputs to outputs.

External Entity: A square defines a source or destination of system data. External


entities represent any entity that supplies or receive information from the system but is not
a part of the system.

Data Store: The data store represents a logical file. A logical file can represent either a
data store symbol which can represent either a data structure or a physical file on disk. The
data store is used to collect data at rest or a temporary repository of data. It is represented
by open rectangle.
3.3 System Design using DFD
ENCRYPTION:
DECRYPTION:

3.4 User Interface Design

Splash Screen: It is the first screen which is shown to user. It loads other modules of the project.
Login Screen: It is for security purpose. It asks the user to give its name and password. Only authenticated
user can use the software.
Main Form: It provides various features to user about the mode of use of software. User can choose text,
audio, video, image option and can do work on it. It also provides various other features like user
management, compression, encryption, zip, log file.
Help: By clicking on help button help on corresponding topic is shown.
Back: By clicking on this button the main form will appear.
Exit: Click on exit button on main form will shut down the application.
Error Messages: Proper error messages will appear when any error is encountered
4. Implementation, Testing, and Maintenance
4.1 Introduction to Languages, IDE’s, Tools and Technologies used
for Implementation

JAVA

Java is a general-purpose computer programming language that is concurrent, class-


based, object-oriented, and specifically designed to have as few implementation
dependencies as possible. It is intended to let application developers "write once, run
anywhere" (WORA) meaning that compiled Java code can run on all platforms that
support Java without the need for recompilation.

Java applications are typically compiled to bytecode that can run on any Java virtual
machine (JVM) regardless of computer architecture. As of 2016, Java is one of the most
popular programming languages in use particularly for client-server web applications,
with a reported 9 million developers. Java was originally developed by James Gosling at
Sun Microsystems (which has since been acquired by Oracle Corporation) and released in
1995 as a core component of Sun Microsystems' Java platform. The language derives
much of its syntax from C and C++, but it has fewer low-level facilities than either of them.

FEATURES OF JAVA

Simple:

❖ Java is Easy to write and more readable and eye catching.

❖ Java has a concise, cohesive set of features that makes it easy to learn and use.

❖ Most of the concepts are drew from C++ thus making Java learning simpler.

Secure:

❖ Java program cannot harm other system thus making it secure.

❖ Java provides a secure means of creating Internet applications.

❖ Java provides secure way to access web applications.

Portable:

❖ Java programs can execute in any environment for which there is a Java
runtime system.(JVM)
❖ Java programs can be run on any platform (Linux,Window,Mac)

❖ Java programs can be transferred over world wide web ( applets)

Object-oriented:

❖ Java programming is object-oriented programming language.

❖ Like C++ java provides most of the object oriented features.

❖ Java is pure OOP. Language. (while C++ is semi object oriented)

Robust:

❖ Java encourages error-free programming by being strictly typed and


performing runtime checks.

Multithreaded:

❖ Java provides integrated support for multithreaded programming.

Architecture-neutral:

❖ Java is not tied to a specific machine or operating system architecture.

❖ Machine Independent i.e. Java is independent of hardware .

Interpreted:

❖ Java supports cross-platform code through the use of Java byte code.

❖ Byte code can be interpreted on any platform by JVM.

High performance:

❖ Bytecodes are highly optimized.


 JVM can execute them much faster .

Distributed:

❖ Java was designed with the distributed environment.

❖ Java can be transmit, run over internet.


Dynamic:

❖ Java programs carry with them substantial amounts of run-time type information
that is used to verify and resolve accesses to objects at run time.

NETBEANS

Most developers recognize the NetBeans IDE as the original free Java IDE. It is that,
and much more! The NetBeans IDE provides support for several languages (PHP,
JavaFX, C/C++, JavaScript, etc.) and frameworks.

NetBeans is an open-source project dedicated to providing rock solid software


development products (the NetBeans IDE and the NetBeans Platform) that address the
needs of developers, users and the businesses who rely on NetBeans as a basis for their
products; particularly, to enable them to develop these products quickly, efficiently and
easily by leveraging the strengths of the Java platform and other relevant industry
standards.

Swing :

Swing, which is an extension library to the AWT, includes newimproved components that
enhance the look and functionality of GUIs. Swing can be used to build Standalone swing
GUI Applications as well as Servlets and Applets. It employs model/view design
architecture. Swing is more portable and more flexible than AWT. Swing is built on top of
AWT and is entirely written in Java, using AWT’s lightweight component support. The
architecture of Swing components makes it easy to customize both their appearance and
behavior.
4.2 Coding standards of Language used
Commenting and Documentation - Complete code is well documented and commented for
further development of the project.
Efficient Code - Followed best and optimal approach to our knowledge
Variable Names - Easy and meaningful names are used.

4.3 Project Scheduling using various tools such as PERT, GANTT


charts, OpenPROJ etc.

30

25

TESTING 20

Series 3
CODING 15
Series 2
Series 1
DESIGN 10

5
REQ.
ANALYSIS

0
20 DAYS 45 DAYS 90 DAYS 105 DAYS

DURATION (DAYS)−−>
Fig: Gantt Chart

4.4 Testing Techniques and Test Plans


UNIT TESTING: Tested each module according to its specification using black box and
white box techniques.
Plan: to be used for each module, by developer
Integration Testing: coupled modules were tested using Integration testing techniques
Plan: to test it by other person at integration phase against specification and standards
System Testing: Once software is put together we tested it rigorously for its functionality.
Beta testing: App is currently in its Beta phase where we are testing the application on
different devices and in different condition under controlled manner.
White Box Testing - Structure/design/implementation are tested on every development step.
Plan: while testing internal architecture and data flow
Black Box Testing- Functionality Testing was done using this technique
Plan: to test input and output of each function, unit and system

5. Results and Discussions


5.1 User Interface Representation
Our java application will be only interface to the user. User need to authenticate themselves
before using all the services offered by the application. After successfulauthentication user
can now view all the previous requested classifier results along with images from that user.
User can upload new images to server for classification of type of cervix which requires
decent internet connection for uploading images.
5.1.1 Brief Description of Various Modules of the system
Our system consists of 3 major modules:

Home:

This page will have the home display of the software and it will have the link to other
modules also. Once the module is open it can then link to the database and retrieve the
settings from the database. This module is also responsible to apply the settings on the other
modules. This module will have only database reading capabilities and not writing.

Hide / Encrypt the data :

Create a File using the Text editor : This module will be used to create a file that will
contain the Plaint text with no formatting. Also the file created under this module will
not be saved in the system and can and will only be saved as a Encrypted (Visual
encryption) or will be concealed under an image file.

Import file: In this module we will be able to import a file from the computer and that
will be concealed under an image file.

Unhide / Decrypt the data:

Import file: This module will have the ability to import file(s). It will be able to
decrypt, Unhide the file from the image file and it will also be able to retrieve the
message from the image files generated by the encryption module using the Visual
Cryptography.
5.2 Snapshots of System

Fig : Gateway Page

Fig: Choosing Image from Gallery


Fig: After selecting Image from Gallery and ready to upload

Fig : While uploading image to server


Fig : After Successful upload control transferred to new Activity for results. Result
request is in queue at server .

Fig : After successful classification of cervix type. Predicted result from the network.
These results are now stored locally on Mobile Dev
6. Conclusion and Future Scope

Steganography is not intended to replace cryptography but rather to supplement it. If a message is
encrypted and hidden with a steganographic method it provides an additional layer of protection and
reduces the chance of the hidden message being detected.

Steganography is still a fairly new concept to the general public although this is likely not true in the
world of secrecy and espionage. Digital watermark technology is currently being used to track the
copyright and ownership of digital content. Efforts to improve the robustness of the watermarks are
necessary to ensure that the watermarks and embedded information can securely defend against
watermarking attacks.

With continuous advancements in technology it is expected that in the near future more efficient and
advanced techniques in steganalysis will emerge that will help law enforcement to better detect illicit
materials transmitted through the Internet.

This project introduces a tiny part of the art of steganography. Steganography goes well beyond simply
hiding text information in an image. Steganography applies not only to digital images but to other
media as well, such as audio files, communication channels, and other text and binary files.
7. References and Bibliography

1. iNFOSYSSEC. Cryptography, Encryption and Stenography. [online] 2000. Available at


http://www.infosyssec.org/infosyssec/cry2.htm

2. Wikipedia - The Free Encyclopedia. Steganography. [online] 2004 June. Available at


http://en.wikipedia.org/wiki/Steganography

3. Wikipedia - The Free Encyclopedia. Stegotext. [online] 2004 June. Available at


http://en.wikipedia.org/wiki/Stegotext

4. Plunt. Steganography (hide and seek) Tutorial. [online] Astalavista Group. 2004 January.
Available at http://www.astalavista.com//data/hide_and_seek.txt

5. https://en.wikipedia.org/wiki/Steganography
6. https://www.slideshare.net/hussainsavani/image-steganography
7. https://www.scribd.com/doc/52409986/Synopsis-Image-Steganography
8. http://projectabstracts.com/1160/steganography-a-technique-to-hide-information-
within-image-file.html

Potrebbero piacerti anche