Steganography By Shreya Gupta (0909013104) Sidharth Bais (0909013109) Umang Juyal (0909013121) Vineet Kumar Maurya (0909013125)
Submitted to the Department of Information Information Technology in partial fulfillment of the requirements for the degree of BACHELOR OF TECHNOLOGY
in Information Technology
ii
TABLE OF CONTENTS 1. INTRODUCTION…………………………………… INTRODUCTION……………………………………………………………....7 ………………………....7 1.1. PROBLEM STATEMENT………………………………………….... STATEMENT…………………………………………......9 ..9 1.2. OBJECTIVES OF THE STUDY……………………………………...9 1.3. METHODOLOGY……………………………………………... METHODOLOGY…………………………………………….....9 ..9 1.4. PROJECT SCOPE ………………………………………...10
CHAPTER 2 2.1 STEGANOGRAPHY……………………………………………………..12 STEGANOGRAPHY……………………………………………………..12 2.2. CRYPTOGRAPHY……………………………………………… CRYPTOGRAPHY…………………………………………………..17 …..17 2.2.1. SYMMETRIC ENCRYPTION…………………………………. ENCRYPTION…………………………………..19 .19 2.2.2. ASYMMETRIC ENCRYPTION………………………………...21
CHAPTER 3 3. DESIGN……………………………………………………………………….29 3.1. ENCRYPTION PHASE……………………………………………...31 3.2. DECRYPTION PHASE……………………………………………...32 PHASE……………………………………………... 32 3.3. DATA FLOW DIAGRAMS…………………………………………...32 3.4.1. CONSTRUCTING DATA FLOW DIAGRAM…………………..34 3.4.2. DATA FLOW DIAGRAM LEVEL 0……………………………..34
ii
TABLE OF CONTENTS 1. INTRODUCTION…………………………………… INTRODUCTION……………………………………………………………....7 ………………………....7 1.1. PROBLEM STATEMENT………………………………………….... STATEMENT…………………………………………......9 ..9 1.2. OBJECTIVES OF THE STUDY……………………………………...9 1.3. METHODOLOGY……………………………………………... METHODOLOGY…………………………………………….....9 ..9 1.4. PROJECT SCOPE ………………………………………...10
CHAPTER 2 2.1 STEGANOGRAPHY……………………………………………………..12 STEGANOGRAPHY……………………………………………………..12 2.2. CRYPTOGRAPHY……………………………………………… CRYPTOGRAPHY…………………………………………………..17 …..17 2.2.1. SYMMETRIC ENCRYPTION…………………………………. ENCRYPTION…………………………………..19 .19 2.2.2. ASYMMETRIC ENCRYPTION………………………………...21
CHAPTER 3 3. DESIGN……………………………………………………………………….29 3.1. ENCRYPTION PHASE……………………………………………...31 3.2. DECRYPTION PHASE……………………………………………...32 PHASE……………………………………………... 32 3.3. DATA FLOW DIAGRAMS…………………………………………...32 3.4.1. CONSTRUCTING DATA FLOW DIAGRAM…………………..34 3.4.2. DATA FLOW DIAGRAM LEVEL 0……………………………..34
iii
3.4.3. DATA FLOW DIAGRAM LEVEL 1……………………………..35 3.4.4. DATA FLOW DIAGRAM LEVEL 2………………………….....36 3.5. ACTIVITY DIAGRAM…………………………………………….....36 D IAGRAM…………………………………………….....36 3.6 GANTT CHART...................... CHART...................... 3.7 WATERFALL METHODOLOGY......... 3.8 GRAPHICAL REPRESENTATION
CHAPTER 4
4.1. HARDWARE REQUIREMENTS........ REQUIREMENTS..........41 ..41 4.2 SOFTWARE REQUIREMENTS 4.3 OPERATING SYSTEM 4.5. SCREENSHOT EXPLANATION…………………………………… EXPLANATION……………………………………46 46
CHAPTER 5 5. TESTING………………………………………………………………………. 5.1. AIM OF TESTING…………………………………………………… 5.2. ARTEFACTS OF TESTING 5.3. UNIT TESTING 5.4. VALIDATION TESTING 5.5. OUTPUT TESTING 5.6. INTEGRATION TESTING
iv
5.6.1. TOP-DOWN APPROACH 5.6.2. BOTTOM-UP APPROACH 5.6.3. UMBRELLA APPROACH 5.7. USER ACCEPTACE TESTING 5.8. BLACK BOX AND WHITE BOX TESTING
CHAPTER 6 6. CONCLUSION AND FUTURE WORK..........
CHAPTER 7 7. FUTURE ENHANCEMENTS
CHAPTER 8 8. References:
TABLE OF CONTENTS
Page
DECLARATION DECLARATION ............................................. ............................................................................. .............................................iv .............iv
v
ACKNOWLEDGEMENTS ........................................................................vi ABSTRACT ............................................................................................... .vii LIST OF TABLES....................................................................................... .viii LIST OF FIGURES..................................................................................... ix LIST OF SYMBOLS .....................................................................................x CHAPTER 1: ONLINE SHOPPING…………………………………………1
1.1 About Online Shopping ……………………………………………....1 1.2 Payment…………………………………………………………….…..1 1.3 Product Delivery………………………………………………………2 1.4 Shopping Cart System…………………………………………..3 1.5 Design………………………………………………………….…3 1.5.1
Information Load……………………………………..….3
1.5.2
Consumer Needs and Expectations…………………..….4
1.5.3
User Interface……………………………………….…...4
1.6 Advantages……………………………………………………….5 1.7 Disadvantages…………………………………………………….5 CHAPTER 2: E-WAY SYSTEM……………………………………..6 2.1 About E-way System……………………………………………...6 2.2 Services……………………………………………………………6 2.3 Shopping Cart Software…………………………………………...7 2.4 Aim……………………………………………………………..…7 2.5 Feature……………………………………………………….……8 2.6 Limitations………………………………………………….……..8 CHAPTER 3: DEVELOPMENT ENVIRONMENT ………….……...9 3.1 System Requirements…………………………………….……….9 3.2 About PHP…………………………………………….………......9 3.3 About phpMYAdmin…………………………………………..…10 3.3.1 Features…………………………………………………..….11 3.4 About Apache HTTP Server …………………………………..…..11 3.4.1 Features…………………………………………………….12
vi
3.5.1 Advantages………………………………………………….....14 3.5.2 Drupal Modules Used………………………………………….14 3.6 About Ubercart………………………………………………………20 3.6.1 Required modules…………….…….………………………......21 3.6.2 Optional Core Modules…….………………………………......22
CHAPTER 4: DESIGN……………………….…………………………………..24
CHAPTER 5: SCREENSHOTS………….…………………...……….…………26
CHAPTER 6: DATA DICTIONARY….………………………………………...33
CHAPTER 7: CONCLUSION…..………………………………………………..41
APPENDIX A ………………...………………………………………………….42
BIBLIOGRAPHY……………………………………..………….………………47
DECLARATION
I hereby declare that this submission is my own work and that, to the best of my knowledge and belief, it contains no material previously published or written by another person nor material which to a substantial extent has been accepted for the award of any
vii
other degree or diploma of the university or other institute of higher learning, except where due acknowledgment has been made in the text.
Signature Name: Shreya Gupta Roll No: 0909013104
Signature Name: Sidharth Bais Roll NO: 0909013109
Signature Name: Umang Juyal Roll NO: 0909013121
Signature Name: Vineet Kumar Maurya Roll NO: 0909013125 Date: 18/04/2013 CERTIFICATE
This is to certify that Project Report entitled STEGANOGRAPHY which is submitted by Shreya Gupta ,Sidharth Bais ,Umang Juyal And Vineet Kumar Maurya in partial
fulfillment of the requirement for the award of degree B. Tech. in Department of Information Technology of U. P. Technical University, is a record of the candidate own
viii
work carried out by him under my/our supervision. The matter embodied in this thesis is original and has not been submitted for the award of any other degree.
Date:
Supervisor
18/04/2013
Ms. Megha Chhillar
ACKNOWLEDGEMENT
It gives us a great sense of pleasure to present the report of the B. Tech Project undertaken during B. Tech. Final Year. We owe special debt of gratitude to Ms. Megha Chhillar
ix
the course of our work. His sincerity, thoroughness and perseverance have been a constant source of inspiration for us. It is only his cognizant efforts that our endeavors have seen light of the day. We also take the opportunity to acknowledge the contribution of Dr. Archana Verma , Head, Department of Information Technology for his full support and assistance during the development of the project. We also do not like to miss the opportunity to acknowledge the contribution of all faculty members of the department for their kind assistance and cooperation during the development of our project. Last but not the least, we acknowledge our friends for their contribution in the completion of the project.
Signature: Name : Shreya gupta Roll No.:0909013104 Date
:18/04/2013
Signature : Name : Sidharth Bais Roll No.:0909013109 Date
: 18/04/2013
Signature :
x
Roll No.:0909013121 Date
: 18/04/2013
Signature : Name : Vineet Kumar Maurya Roll No.:09090131125 Date
: 18/04/2013
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
xi
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.
LIST OF FIGURES
GANTT CHART………………
WATERFALL METHODOLOGY…………….
xii
FLOW DIAGRAM…………………………………………….. 25
ER DIAGRM…………………………………………….….26 LIST OF SYMBOLS
FLOW DIAGRAMS/ ER DIAGRAM
Start or End/ Attributes
Processing Steps/ Entity
Flow of information
xiii
Condition/ Relationship
Input or Output
14
CHAPTER 1:
INTRODUCTION
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. Stegranography 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, streganography 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. 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
15
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 used 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 wa y, designed to be invisible to an information analysis.
16
What is Steganography?
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 the y both are used to protect important information. The difference between two is that steganography involv es hiding information so it appears that no information is hidden at all. If a person or pe rsons 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, h uman senses are not trained to look for files that have information inside of the m, 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.
17
Problem Statement :
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 application, to make the information hiding more simple and user friendly.
18
Objective
The goal of steganography is covert communication. So, a fundamental requirement of this steganography system is that the hider message carried b y 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
19
Methodology:
User needs to run the application. The user has two tab options – encrypt and decrypt. If user select encrypt, application give the screen to select image file, information file and option to save the image file. If user select decrypt, application g ives the screen to select only image file and ask path where user want to save the secrete file. This project has two methods – Encrypt and Decrypt. In encryption the secrete information is hiding in with any type of image file. Decryption is getting the secrete information from image file.
Carrier File
Carrier File with Hidden Message
20
Project Scope:
This project is developed for hiding information in an y 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.
21
CHAPTER 2:
STEGANOGRAPHY
Steganography in Greek means "covered writing". Steganography is the process of hiding the one information into other sources of information like text, image or audiofile, so that it is not visible to the natural view. There are varieties of steganographic techniques available to hide the data depending upon the carriers we use.Steganography and cryptography both are used for the purpose of sending the data securely. The same approach is followed in Steganography as in cryptography like encryption, decryption and secret key. In steganography the message is kept secret without any changes but in cryptography the original content of the message is differed in different stages like encryption and decryption.Steganography suppo rts different types of digital formats that are used for hiding the data. Th ese files are known as carriers. Depending upon the redundancy of the object the suitable formats are used. "Redundanc y" is the process of providing better accurac y for the object that is used for display by the bits of object.
The main file formats that are used for steganograph y are Text, images, audio,video, protocol The different types of steganographic techniques that is available are 1. Pure steganography 2. Public key steganography
22
3. Secret key steganography Pure steganography: Pure steganography is the process of embedding the datainto the object without using any private keys. This type of steganography entirely depends upon the secrecy. This type of steganography uses a cover image in which data is to be embedded, personal information to be transmitted, and encryption decryption algorithms to embed the message into image.
This type of steganography cant provide the better security because it is easy for extracting the message if the unauthorised person knows the embedding method. Ithas one advantage that it reduces the difficulty in key sharing. Secret key steganography:Secret key steganography is another process ofsteganography which uses the same procedure other than using secure keys. It usesthe individual ke y for embedding the data into the object which is similar tosymmetric key. For decryption it uses the same ke y which is used for encryption.
This type of steganography provides better security compared to puresteganography. The main problem of using this type of steganographic system issharing the secret key. If the attacker knows the key it will be easier to decrypt andaccess original information
23
Public key steganography:Public key steganography uses two types of keys: onefor encryption and another for decryption. The key used for encryption is a private key and for decryption, it is a public key and is stored in a public database.
CRYPTOGRAPHY:
The
word
cryptography
is
derived
from
two
Greek
words
which
mean
“secret
writing”.Cryptography is the process of scrambling the original text by rearranging andsubstituting the original text, arranging it in a seemingly unreadable format for others.Cryptography is an effective way to protect the information that is transmittingthrough the network communication paths. Cryptology is the science that deals about cryptography and cryptanalysis.Cryptography is the approach of sending the messages secretly and securely to thedestination. Cryptanalysis is the method of obtaining the embedded messages intooriginal texts. In general, cryptography is transferring data from source to destination by altering itthrough a secret code. The cryptosystems uses a plaintext as an input and generatea cipher text using encryption algorithm taking secret key as input.Th e important elements in cryptosystems are 1. Plain text (input) 2. Encryption algorithm
24
3. Secret key 4. Cipher text 5. Decryption algorithm
Plain text: The plain text is an original piece of information that is needed to sendinformation to the destination. Encryption algorithm: This is the main key to any cryptographic system. Thisencryption algorithm subjects the plain text to various substitutions andtransformations.Secret key: The secret key is given by the user which will act as an input to theencryption algorithm. Based on this key, various substitutions and transformations onthe plain text will differ.Cipher text: This is the output generated by the encryption algorithm. The cipher textis the jumbled text. The cipher text differs with each and every secret ke y that hasgiven to the encryption algorithm. Decryption algorithm: This is opposite to the encryption algorithm. It will acquire
25
cipher text and secret key as an input and produce plain text as an output.Cryptographic Algorithms: There are many cryptographic algorithms available whichdiffer on their type of encryption. Based on the type of encryption standards thealgorithms are grouped into two types 1. Symmetric encryption algorithm 2. Asymmetric encryption algorithm 2.2.1 Symmetric Encryption
Symmetric encryption is a single key encryption and also known as conventional encryption. It is also referred as private key cryptograph y. The symmetric encryption algorithm generally uses the same k ey for encryption and decryption. The security level for this type of encryption will depend on the length of the key.
2.2.2
26
Asymmetric Encryption „Asymmetric encryption‟ is also known as „Public key encryption‟. The AES works same as Symmetric encryption, the main difference between AES and Symmetricencryption is in using keys. In asymmetric encryption, the encryption and decryptionwill be done by two different keys. It will use plain text, encryption algorithm anddecryption algorithm same as Symmetric encryption as discussed in above section
In 'Asymmetric encryption', only the data that is en crypted using public key can be decrypted using the same algorithm. And the message which is encrypted usingprivate key can be decrypted using only the matching public key.The main problem with Asymmetric algorithm is “cipher keys”. Whenever two different people want to exchange the data simultaneously using asymmetricencryption they need to have four different keys. It will be more confusing to resolveas the corresponding key is required for the particular file to open.
27
CHAPTER 3 DESIGN: The data hiding p patter ns using the steganogr a phic technique in this p pr o ject can be ex plained using this sim ple b block diagr am. The b block diagr am f or steganogr a phictechnique is as f ollows.
The p pr ocedur e f or data hiding using steganogr a phic a p plication in this p pr o ject is as f ollows
The sender f r f ir st uses the steganogr a ph phic a p pl plication f or e r encr y pt pting the secr et message.
For this encr y ption, the sender uses text document in which the data is wr itten and the image as a car r ri er f ile in which the secr et message or text document to b be hidden
30
For constr ucting "DFD level 1", we need to identif y and dr aw the p pr ocess that mak e the level 0 pr ocess. In the p pr o ject f or tr ansf er r ri ng the p per sonal data f r ro m sour ce todestination, the p per sonal data is f ir st encr y pted and p pr ocessed and latter decr y pted.
3.4.4 Data Flow Diagr am Level 2 The image and the text document ar e given to the encr y pt ption ph phase. The encr y pt ptionalgor ithm is used f or em be bedding the data into the image.The r esultant image acting as a car r ri er image is tr ansmitted to the decr y pt ption ph phaseusing the tr ansmission medium. For extr acting the message f r ro m the car r ri er image, itis sent to the decr y pt ption section. The pl plain text is extr acted f r ro m th e car r ri er imageusing the decr y ption algor ithm.
31
3.5 ACTIVITY DIAGR AM The sender sends the message to the r eceiver using thr ee p phases. Since we ar eusing the steganogr a ph phic a p pr pr oach f or tr ansf er r ri ng the message to the destination,the sender sends text as well as image f ile to the pr pr imar y ph phase i.e., to encr y pt ption ph phase. The encr y pt ption ph phase uses the encr y pt ption algor ithm by by which the car r ri er image is gener ated. The encr y pt ption ph phase gener ates the car r ri er i r image as out pu put.
32
GA NT NTT CHAR T
33
30
25
TESTING
20 Series 3
CODING
15
DESIGN
10
Series 2 Series 1
REQ.
5
ANALYSIS
0 20 DAYS
45 DAYS
90 DAYS
105 DAYS
DUR ATION (DAYS)−−>
34
WATER FALL METHODOLOGY
Req Analysis
System Design
Detailed Design
Coding & Unit Testing
System & Integration Testing
Oper. & Maintenance
35
DATA FLOW DIAGRAM:
36
The graphical representation of this system is as follows:
Start Application
Encryption
Covert image
Decryption
BMP Image File
Covered Message
BMP Image File
Image
Message File
37
CHAPTER 4: 4.1 HARDWARE AND SOFTWARE REQUIREMENTS Hardware Requirements:
Processor
:
Pentium.
RAM
:
64 MB.
Hard Disk
:
2 GB.
Cache
:
512 KB.
Monitor
:
SVGA Color Monitor.
Keyboard
:
101 keys.
Mouse
:
2 buttons.
Software Requirements:
Java (jdk1.7) Net Beans(IDE)
OPERATING SYSTEM:
A multimedia PC running a windows 98 , 2000 , XP or 7operating system .
38
CHAPTER 5: 5. TESTING Testing defines the status of the working functionalities of any particularsystem. Through testing particular software one can't identify the defects in it but can analyse the performance of software and its working behaviour. By testing thesoftware we can find the limitations that become the conditions on which theperformance is measured on that particular level. In order to start the testing processthe primary thing is requirements of software development cycle. Using this phasethe testing phase will be easier for testers.The capacity of the software can be calculated by executing the code and inspectingthe code in different conditions such as testing the software by subjecting it todifferent sources as input and examining the results with respect to the inputs.After the designing phase, the next phase is to develop and execute the code indifferent conditions for any errors and progress to the developing phase. Withouttesting and execution, the software cannot be moved to the developing phase.There are two types of testing. They are: The functional testing, which defines the specified function of a particular code in the program. This type of testing gives us a brief description about the program's performance and security in the various functional areas.The other type o f testing is non-functional testing. Nonfunctional testing defines thecapabilities of particular software like its log data etc. It is opposite to functionaltesting and so will not describe the specifications like security and performance.The performance of the particular program not only depends on errors in coding. Theerrors in the code can be noticed during execution, but the other types of errors canaffect the program performance like when the program is developed based on oneplatform that may not perform well and give errors when executed in differentplatform. So, compatibility is another issue that reduce the software performance.The code tuning helps us in optimising the program to perform at its best utilizingminimal resources possible under varied conditions. 5.1 AIM OF TESTING
The main aim of testing is to analyse the performance and to evaluate the errors thatoccur when the program is executed with different input sources and running indifferent operating environments.In this project, I developed a steganographic application based on Microsoft VisualStudio which focuses on data hiding based on Least Significant Bit algorithm. Themain
39
aim of testing in this project is to find the compatibility issues as well as theworking performance when different sources are given as the inpu ts.
There are different types of approaches for testing a JAVA framework basedapplication. The types of testing are
Unit testing
Validation testing
Integration testing
User acceptance testing
Output testing
Black box and white box testing.
5.3 UNIT TESTING 'Unit testing' is the approach of taking a small part of testable application and executing it according to the requirements and testing the application behaviour. Unittesting is used for detecting the defects that occur during execution.When an algorithm is executed, the integrity should be maintained by the datastructures. Unit testing is made use for testing the functionality of each algorithmduring execution.Unit testing can be used in the bottom up test approach which makes the integrationtest much easier. Unit testing reduces the ambiguity in the units. Unit testing usesregression testing, which makes the execution simpler. Using regression testing, thefault can be easily identified and fixed.In this project, I have developed an application using different phases like encryption,decryption, etc. So, for getting the correct output all the functions that are used areexecuted and tested at least once making sure that all the control paths, errorhandling and control structures are in proper manner.Unit testing has it's applications for extreme programming, testing unit frame works and good suppo rt for language level unit testing.
5.4 VALIDATION TESTING
40
Validation is the process of finding whether the product is built correct or not. Thesoftware application or product that is designed should fulfil the requirements andreach the expectations set by the user. Validation is done while developing or at thefinal stage of development process to determine whether it is satisfies the specifiedrequirements of user. Using validation test the developer can qualify the design, performance and itsoperations. Also the accuracy, repeatability, selectivity, Limit of detection andquantification can be specified using 'Validation testing'.
5.5 OUTPUT TESTING After completion of validation testing the next process is output testing. Outputtesting is the process of testing the output generated by the application for thespecified inputs. This process checks weather the application is producing the required output as per the user's specification or not. The 'output testing' can be done by considering mainly by updating the test plans,the behaviour of application with different type of inputs and with produced outputs,making the best use of the operating capacity and considering the recommendationsfor fixing the issues.
5.6 INTEGRATION TESTING 'Integration testing' is an extension to unit testing, after unit testing the units are integrated with the logical program. The integration testing is the process ofexamining the working behaviour of the particular unit after embedding with program. This procedure identifies the problems that occur during the combination of units.
41
The integration testing can be commonly done in three approaches
Top-down approach
Bottom-up approach
Umbrella approach
5.6.1 Top-down approach: In the top-down approach the highest level module should be considered first andintegrated. This approach makes the high level logic and data flow to test first andreduce the necessity of drivers. One disadvantage with top-down approach is its poor support and functionality islimited.
5.6.2 Bottom-up approach: Bottom-up approach is opposite to top-down approach. In this approach, the lowestlevel units are considered and integrated first. Those units are known as utility units.The utility units are tested first so that the usage of stubs is reduced. Thedisadvantage in this method is that it needs the respective drivers which make thetest complicated, the support is poor and the functionality is limited.
5.6.3 Umbrella approach: The third approach is umbrella approach, which makes use of both the top - bottomand bottom top approaches. This method tests the integration of units along with itsfunctional data and control paths. After using the top - bottom and bottom-topapproaches, the outputs are integrated in top - bottom manner. The advantage of this approach is that it provides good support for the release oflimited functionality as well as minimizing the needs of drivers and hubs. The maindisadvantage is that it is less systematic than the other two approaches.
42
5.7 USER ACCEPTANCE TESTING 'User acceptance testing' is the process of obtaining the confirmation from the user that the system meets the set of specified requirements. It is the final stage ofproject; the user performs various tests during the design of the applications andmakes further modifications according to the requirements to achieve the final result. The user acceptance testing gives the confidence to the clients about theperformance of system
5.8 BLACK BOX AND WHITE BOX TESTING 'Black box testing' is the testing approach which tells us about the possible combinations for the end-user action. Black box testing doesn't need the knowledge about the interior connections or programming code. In the black box testing, theuser tests the application by giving different sources and checks whether the outputfor the specified input is appropriate or not. 'White box testing' is also known as 'glass box' or 'clear box' or 'open box' testing. It is opposite to the black box testing. In the white box testing, we can create testcases by checking the code and executing in certain intervals and know the potentialerrors. The analysis of the code can be done by giving suitable inputs for thespecified applications and using the source code for the application blocks. The limitation with the white box testing is that the testing only applies to unit testing,system testing and integration testing
43
CHAPTER 6: 6. CONCLUSION AND FUTURE WORK In the present world, the data transfers using internet is rapidly growing because it is so easier as well as faster to transfer the data to destination. So, many individuals and business people use to transfer business documents, important information using internet. Security is an important issue while transferring the datausing internet because an y unauthorized individual can hack the data and make ituseless or obtain information un- intended to him. The proposed approach in this project uses a new steganographic approach called image steganography. The application creates a stego image in which the personaldata is embedded and is protected with a password which is highly secured. The main intention of the project is to develop a stegano graphic 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 when we embed the message into the image and the image is protected with the personal password. So, it is not possible to damage the data by unauthorized personnel.I used the Least Significant Bit algorithm in this project for developing the app lication which is faster and reliable and compression ratio is moderate compared to other algorithms. The major limitation of the application is designed for bit map images (.bmp). It accepts only bit map images as a carrier file, and the compression depends on the document size as well as the carrier image size. The future work on this project is to improve the compression ratio of the image tothe text. This project can be extended to a level such that it can be used for thedifferent types of image formats like .bmp, .jpeg, .tif etc., in the future.
44
The securityusing Least Significant Bit Algorithm is good but we c an improve the level to a certain extent by varying the carriers as well as using different keys for encryption and decryption.
45
CHAPTER 7: Future Enhancements:
In future this application has features of :
Hiding data in to audio file.
Hiding data in to video file.
It will be password protected.