Professional Documents
Culture Documents
A Minor Project report submitted to Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal towards fulfillment of partial Degree of Bachelor of Engineering In Computer Science and Engineering
Guided By:-
Submitted By :-
PROFORMA FOR SUGGESTIONS OF MINI PROJECT PROPOSAL Enrollment No: College Name: Branch: Sem:
E-mail: 1. Name of the Student: 2. Title of the Project: Image Steganography. 3. Name of the Guide: 4. Education Qualification of the Guide: B.E.. 5. Working/Teaching experience of the Guide: 6. Software used in the Project: VB, JDK 1.6.0. Name and Signature of the Student: Date: Suggestions for the Project if any: . Name, Designation and Date:.
This is to certify that the project report entitled IMAGE STEGANOGRAPHY submitted to R.G.P.V. Bhopal in fulfillment of the partial requirement for the award of the degree of Bachelor of Engineering is an original work carried out by YOUR NAMES HERE WRITE under my guidance. The matter embodied in this project is
authentic and is genuine work done by the student and has been submitted whether to this University or to any other University/Institute for the fulfillment of the requirement of any course of study.
Date:..
Date:
RECOMMENDATION A minor project report entitled IMAGE STEGANOGRAPHY, submitted by WRITE YOUR NAMES HERE is recommended and forwarded for fulfillment of degree of Bachelor of Engineering in Computer Science and Engineering of Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal, for academic year of 2010-11.
CERTIFICATE
A minor project report entitled IMAGE STEGANOGRAPHY, submitted by WRITE YOUR NAMES HERE is recommended and forwarded for partial fulfillment of degree of Bachelor of Engineering in Computer Science and Engineering of Rajiv Gandhi Proudyogiki Vishwavidyalaya, Bhopal, for academic year of 2010-11.
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 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.
ACKNOWLEDGEMENT
Expressing gratitude is a difficult task, and words often fall short of reflecting ones feelings. It is our proud privilege, however to do so and we undertake this task with utmost sincerity. A number of people were instrumental in the creation of this project work and we would like to take the time to express our thanks to each of them. With great pleasure and sense of obligation, we express our heartfelt gratitude to Mr. our reverend supervisor. We are highly indebted to him for his invaluable and ever ready support in successfully completing this project in stipulated time. His persistent encouragement, perpetual motivation to work as a team and his expertise in discussion during progress of the work has benefited us to an extent, which is beyond expression. His contribution is beyond the preview of acknowledgement. Working under his guidance has always been a fruitful and unforgettable experience, which is a valuable gift for an engineer to succeed in his future. We are ever grateful to Mr. , Head, Computer Science & Engineering Department, , Indore for his encouragement throughout our work. We would also like to thank Mr. Indore for providing all facilities and academic environment for our work. We sincerely express our gratefulness to all the staff members of Computer Science & Engineering Department and all those who have embedded us with technical knowledge of computer technology. We would also like to thank our parents for being a constant source of encouragement in all our endeavors. Indeed it was their support that saw us through the many ups and downs of life. The support and suggestion of friends are worth our appreciation and thankfulness. The successful completion of a project is not an individual effort, rather it is an outcome of the cumulative effort of a number of people; each having their own importance to the objective. This section is a vote of thanks and gratitude towards all those people who have directly or indirectly contributed in their own special way towards the completion of this project.
TABLE OF CONTENTS
1. INTRODUCTION 1.1 Background 1.2 Objectives 1.3 Purpose, Scope, and Applicability 1.4 Achievements 1.5 Organization of Report 2. SURVEY OF TECHNOLOGIES 2.1 Linux Operating System 2.2Java Programming Language 2.3 NetBeans 2.4 Umbrello
3. RQUIREMENTS AND ANALYSIS 3.1 Problem Definition 3.2 Requirements Specification 3.3 Planning and Scheduling 3.4 Software and Hardware Requirements 3.5 Software Process Model 3.6 Conceptual Models
4.1) Testing Objectives 4.2) Test Cases 5. RESULTS AND DISCUSSION 5.1)Snapshots 6. CONCLUSIONS 6.1) Conclusion 6.2) Future Enhancement REFERENCES GLOSSARY APPENDICES
1.1) BACKGROUND:
9
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.
1.2) OBJECTIVE
The goal of the project is to build a tool based on image steganography, mainly focused on embedding text data in digital images. The same tool deembedded produces the hidden message for the receiver the image and
1.3.2) Scope:
This project is developed for hiding information in any image file. The scope of the project is implementation of steganography tools for
10
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.3.3) Applicability:
The 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
1.4) ACHIEVEMENTS
Following are the achievements of the project team members: It provided us the opportunity to demonstrate originality, teamwork, inspiration, planning and organization. Employment of system analysis and design techniques ensuring project initiation. Met all expectations of project guides and completed all specified work in time. Followed strict guidelines of project mentor. All project deliverables completed till date were submitted to the guide. Good team cooperation and communication maintained at all stages and suggestions incorporated as desired. All milestones were met as planned.
includes the realization of various technologies and tools into practice. Further detailing about requirement analysis, software and hardware requirements, various conception models including Data Flow Diagrams, use case diagram, activity diagram, sequence diagram, and many. Then it follows system designs that include basic modules, logic diagrams, and data structures involved. Finally, Conclusion, future enhancement of the project, references are mentioned.
12
13
Linux based distributions are intended by developers for interoperability with other operating systems and established computing standards.
The Open Source Initiative defines OSS as having following features: The Software and the source code must be freely distributable. All must be able to modify the source code and create derived works. To maintain the integrity of the original authors work, the license may require that changes to the code be provided in patch form. The license must be nondiscriminatory with respect to persons, groups or fields of endeavor; it must be free of restrictions that can limit the license.
2.1.2) LINUX P R I N C I P L E S
LINUX is based on certain various principles which form the basis for its development and also future versions.
Everything is a File
UNIX systems have many powerful utilities designed to create and manipulate files. The UNIX security model is based around security of files. By treating everything as a file, consistency emerges. One can secure access to hardware as one can secure access to a document.
functionality is required a sequence program is being created rather than to extend an existing utility with new features.
Most distributions also include support for Perl, Ruby, Python and other dynamic languages. Examples of languages that are less common, but still supported, are C# via the Mono project, sponsored by Novell, and Scheme. A number of Java Virtual Machines and development kits run on Linux, including the original Sun Microsystems JVM (HotSpot), and IBM's J2SE RE, as well as many opensource projects like Kaffe.
15
The ability to run same program on many different systems is crucial to World Wide Web software, and Java succeeds at this by being platform-independent at both the source and binary levels.
2.3 NetBeans
A free, open-source Integrated Development Environment for software developers. You get all the tools you need to create professional desktop, enterprise, web, and mobile applications with the Java language, C/C++, and even dynamic languages such as PHP, JavaScript, Groovy, and Ruby. NetBeans IDE is easy to install and use straight out of the box and runs on many platforms including Windows, Linux, Mac OS X and Solaris. The NetBeans IDE 6.8.1 provides several new features and enhancements, such as rich PHP, JavaScript and Ajax editing features, improved support for using the Hibernate web framework and the Java Persistence API, and tighter GlassFish v3 and MySQL integration.
2.4 Umbrello
In computing, Umbrello UML Modeller is a free software UML diagram application available natively for Unix-like platforms, as well as Microsoft Windows (as part of KDE-Windows). It is part of the KDE SC 4 but works well with other desktops and programming environments. Umbrello handles all the standard UML diagram types. It can reverse engineer code written in C++, IDL, Pascal/Delphi, Ada, Python, and Java, as well as import XMI files generated by external tools from PHP or Perl code and export to various programming languages. Umbrello allows distribution of model contents by exporting to DocBook and XHTML formats. This aids in collaborative development efforts where team members may not have direct access to Umbrello, or in cases where model contents should be published on a web site. It is released along the kdesdk module of KDE. 17
18
proposed system a feasibility study of the projected system is conducted. The feasibility study is done to find whether the system is beneficial to user and organization or not. The feasibility study is carried out to select the best system that meets performance requirements. The feasibility study includes the investigation of the information needs of the end user and objectives, constraints, basic resource requirement and cost benefits. The main and prime objective of feasibility study is not to solve the problem but to acquire a sense of its scope.
3.3.2)
TECHNICAL FEASIBILITY
That tool support almost all popular image formats including JPEG, PNG, BMP etc. That tool specially developed for Linux platform but it work on window as well.
20
Deployment Field
Processor speed:
MINIMUM 200 MHz Pentium class or better SUGGESTED 233 Hz Disk space:
MINIMUM 90 MB SUGGESTED 1 GB
Linux
Deployment Field Operating System: Windows (98 or higher), LINUX, UNIX. NetBean 6.8
3.5
22
23
deembed text
Fig.3.2 Use case diagram Description: The use case daigram shows the complete list of task a user can perform with the a software. Here in that case the use case daigram shows all details of task including embedded and deembbed.
24
B) Receiver 25
26
A) Sender
Sequence Diagram
Description: 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 stepby-step workflows of components in a system. An activity diagram shows the overall flow of control.
B) Reciever
27
Description Sequence
28
Actor
select text
select file
invalid file
invalid text
29
30
Description: 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 between the classes.
31
Objective of Testing is to find out as many as error as possible and to make software more reliable and easily maintainable. A good test is one which uncovers an error. Testing leads to a software on which we can say with surety that this software is reliable and is tested and will work. This depends upon the amount of testing. One thing to be noted is that we can not test exhaustively because the amount of test cases is infinite so we choose optimal amount of the testing not too much nor too less and depending upon the closeness of the testing to the optimal level.
Sl. No. 1.
Test case
Expected Result
with Should not Proceed Should With them with Should Embedded 100 Them with of a Should embedded and should recover from Image created file. of size
2.
Incorrect
3.
Test Message Size image character 40X50 pixels Test with String
Incorrect
4.
Correct
5.1) Snapshots:
33
34
35
6.1 CONCLUSION
The challenge of cryptography is developing a system in which it is impossible to determine the key. This is accomplished the use of a one-way function. With a one-way function, it is relatively easy to compute a result given some input values. To encrypt data, enter the data plain text and an encryption to the encryption portion of the algorithm. To decrypt the cipher text a proper decryption key is used at the decryption portion of the algorithm. Programming environment. The program written for encryption and decryption using Tiny Encryption Algorithm is tested on several textual files and results are observed. The program could achieve a better secure transferring of files between the server and various clients Since ancient times, man has found a desire in the ability to communicate covertly. The recent explosion of research in watermarking to protect intellectual property is evidence that steganography is not just limited to military or espionage applications. Steganography, like cryptography, will play an increasing role in the future of secure communication in the digital world. It is not possible to develop a system that makes all the requirements of the user.
30
REFERENCES
Books:
Software Engineering Roger S. Pressman The Complete Reference: J2SE by Herbert Schildt (5th Edition) The Complete Reference:J2EE by Jim Keogh Intro to Computer Graphics, Undergraduate, Java, 2008 Frank klawonn
Websites:
http://en.wikipedia.org/wiki/Steganography http://www.codeproject.com/KB/recipes/Image-Steganography.aspx
GLOSSARY
1 2
GUI: Graphical user interface, it is graphical interface to operate website easily. J2EE: Java 2 Enterprise Edition is a programming platform part of the Java Platform for developing and running distributed multitier architecture Java applications, based largely on modular software components running on an application server.
APPENDICES
Appendices include complete DVD with all the applications required both at server side as well as client side for proper working of the application. This includes two DVDs named as follows: 1.) Fedora 8 for x86 architecture. 2.)Stegano