Full
Full
INTRODUCTION
1.1. INTRODUCTION:-
// Do not use we, our, etc. in your documentation anywhere. Our
project, “Embedding Text File in Audio File to Provide Data Security using
Cryptography and Steganography” is the software developed for hiding
information which uses the technology called as Steganography –derived
from the Greek words meaning, “Covered writing”,( give the definition in
the next line.) is the art of hiding information in ways that prevent its
detection. It is a method akin to covert channels, and invisible links, which
add another step in security. A message in cipher text may arouse suspicion
while an invisible message is not.
Steganography, if however used along with cryptography ,for
example, if a message is encrypted using triple DES(EDE) (Expand any
abbreviation that occurs first in the text. What is EDE ? which requires a 112
bit key then the message has become quite secure as far as cryptanalytic
attack are concerned.// why do you talk about triple DES? Do you use DES
or Triple DES. Explain the Cryptographic code to me in the morning! Now,
if this cipher text is embedded in an image, video, voice, etc., it is even more
secure. If an encrypted message is intercepted, the interceptor knows the
text is an encrypted message. With Steganography, the interceptor may
know the object contains a message.// who is an interceptor? Will he know
the message or will it be unknown in stegnography?
Digital stenography uses a host data or message known as a
“Container” or “Cover” to hide another data or message in it. The
conventional way of protecting information was//is to use a standard
symmetric or asymmetric key system in encryption. Steganography can also
be used to place a hidden “trademark” in images, music, and software, a
1
technique referred to as watermarking. When performing data hiding on
audio, one must exploit the weakness of the Human Auditory System
(HAS), while at the same time being aware of the extreme sensitivity of the
human auditory system.
// Why these paragraphs? As we were growing up, we have
occasionally heard the very popular phrase that the world is becoming
smaller with each passing day. Looking at it from a geographical viewpoint,
it seems to appear utterly nonsensical. However, that is not what it means. It
basically symbolizes that with improving technology, it is becoming
increasingly easier and faster to communicate. It is a widespread belief that
telecommunications holds the key to the future.
In order to ensure the privacy of the communication between two
parties, various new methods are being developed. Cryptography being the
mother to all those projects. However, cryptography is like a tool, it can do
as well as it is programmed to do. Also, there are various different
techniques that can be implemented to attain a certain level of security.
However along with good, there is always the bad (hackers). The bad
in this case being the case of misuse of the technology to further one’s own
personal needs at the expense of others. Communication holds the key to
business, personal life, etc. As people tend to rely on these new means of
communication, more and more important information is being conveyed
along these new lines. // There is no flow here!
Here we implement a technique for data hiding in audio images,
known as Audio file Steganography. However, Steganography alone is not
able to provide a sufficiently high enough level of security. In order to
improve the security of our technique, we will also be //watch the tense here
incorporating encryption of data to be hidden.
2
1.2. OBJECTIVE:-
Our aim is to come up with a technique of hiding the message in the
audio file in such a way, that there would be no perceivable changes in the
audio file after the message insertion. At the same time, if the message that
is to be hidden were encrypted, the level of security would be raised to quite
a satisfactory level. Now, even if the hidden message were to be discovered
the person trying to get the message would only be able to lay his hands on
the encrypted message with no way of being able to decrypt it.
3
2. SYSTEM ANALYSIS
4
create a system that makes it very difficult for an opponent to detect the
existence of a secret message by encoding it in the carrier medium as a
function of some secret key and that remains as the advantage of this system.
The proposed system was evaluated for effectiveness and the result
shows that,// what analysis / evaluation was done? the encryption and
decryption methods used for developing the system make the security of the
proposed system more efficient in securing data from unauthorized access.
The system is therefore, recommended to be used by the Internet users for
establishing a more secure communication.
2.2.1. Advantages Of Proposed System:-
The combination of these two // what two? methods will enhance the
security of the data embedded.
This combined chemistry will satisfy the requirements such as
capacity, security and robustness for secure data transmission over an
open channel
Very secure and Hard to Detect
5
3 .LITERATURE SURVEY
(December 2012)
(October 2012)
6
Authors :Padmashree G, Venugopala P S Give the reference paper
number here in [ ] as in any IEEE paper reference
(December 2011)
7
and lack of user interface. The message length is restricted to few characters
only. The audio file used for the embedding process can’t be reused and it is
also difficult for receiver to detect which audio file contains the secret
message send by the sender.
In the proposed technique we alter the data of lower bit in a cover
object to embed textual information. The main goal of this paper is to embed
textual information into audio without affecting the file structure of audio
file and we encrypt text message to get advantage of cryptography also.
(November 2013)
8
(May 2013)
Authors :Ajit Singh, Swati Malik Give the reference paper number here
in [ ] as in any IEEE paper reference
4. SYSTEM REQUIREMENTS
9
Windows 7 is an operating system produced by Microsoft for use on
personal computers, including home and business desktops, laptops,
netbooks, tablet PCs, and media center PCs. It was released to
manufacturing on July 22, 2009, and became generally available for retail
worldwide on October 22, 2009, less than three years after the release of its
predecessor, Windows Vista. Windows 7's server counterpart, Windows
Server 2008 R2, was released at the same time. Windows 7 is succeeded by
Windows 8. Unlike Windows Vista, which introduced many new features,
Windows 7 was an incremental upgrade designed to work with Vista-
compatible applications and hardware. Presentations given by Microsoft in
2008 focused on multi-touch support, an updated Windows shell with a new
taskbar (referred to internally as the Super bar), a home networking system
called Home Group, and performance improvements. Some standard
applications that have been included with prior releases of Microsoft
Windows, including Windows Calendar, Windows Mail, Windows Movie
Maker, and Windows Photo Gallery, are not included in Windows 7; most
are instead offered separately at no charge as part of the Windows Essentials
suite.
4.3.2. Language:-
10
as of 2014, 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 merged into 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.
11
NetBeans Platform (including the NetBeans IDE itself) can be extended by
third party developers.
5. SYSTEM DESIGN
[Link] Diagram:-
// What is this? It doesn’t make any sense?
Password Encrypted
PASSWORD Details STEGANOGRAPHY
information
Validation
Based on
Password Encrypted Data
Security
12
Stegano
-graphed
Audio File Encoding Decoding
Audio file
Extraction of data
Data (Text
from Audio
File)
Embedding data
into Audio
Extraction of data
from Audio
13
6. METHODOLOGY AND MODULES DESCRIPTION
6.1 STEGANOGRAPHY:-
14
the hidden messages will appear to be (or be part of) something else: images,
articles, shopping lists, or some other cover text. For example, the hidden
message may be in invisible ink between the visible lines of a private letter.
15
method. // the following figure does not show the encryption of HEY In
LSB coding, the ideal data transmission rate is 1 kbps per kHz. In some
implementations of LSB coding, however, the two least significant bits of a
sample are replaced with two message bits. This increases the amount of
data that can be encoded but also increases the amount of resulting noise in
the audio file as well. Thus, one should consider the signal content before
deciding on the LSB operation to use. For example, a sound file that was
recorded in a bustling subway station would mask low-bit encoding noise.
On the other hand, the same noise would be audible in a sound file
containing a piano solo. To extract a secret message from an LSB encoded
sound file, the receiver needs access to the sequence of sample indices used
in the embedding process. Normally, the length of the secret message to be
encoded is smaller than the total number of samples in a sound file. One
must decide then on how to choose the subset of samples that will contain
the secret message and communicate that decision to the receiver. One
trivial technique is to start at the beginning of the sound file and perform
LSB coding until the message has been completely embedded, leaving the
remaining samples unchanged. This creates a security problem, however in
that the first part of the sound file will have different statistical properties
than the second part of the sound file that was not modified. One solution to
this problem is to pad the secret message with random bits so that the length
of the message is equal to the total number of samples. Yet now the
embedding process ends up changing far more samples than the transmission
of the secret required// full stop?
16
// figure name and number?
6.2 CRYPTOGRAPHY:-
// Why all this intro part here? Tell about your mechanism
Cryptography is the practice and study of techniques for secure
communication in the presence of third parties (called adversaries).More
generally, it is about constructing and analyzing protocols that overcome the
influence of adversaries and which are related to various aspects in
information security such as data confidentiality, data integrity,
authentication, and non-repudiation. Modern cryptography intersects the
disciplines of mathematics, computer science, and electrical engineering.
17
Applications of cryptography include ATM cards, computer passwords, and
electronic commerce.
18
DES algorithm in CBC mode using a secret key which is derived from a
password with the MD5 message-digest algorithm. The output of the algorithm
also is an octet-string. PKCS#5 alternatively suggests the MD2 message digest
algorithm to be combined with the DES-CBC algorithm for encrypting an octet
string with a secret key obtained from a password. The general method
described in PKCS#5 is intended to be used for encrypting private keys as
described in PKCS#8.
?? Figure name and number// What is DES-EDE? ?Why 112 bit key ?
19
MD5 is a message digest algorithm developed by Ron Rivest at MIT.
It is basically a secure version of his previous algorithm, MD4 which is a
little faster than MD5
// Give the block diagram of MD5
Steps:-
Initialize MD Buffer.
Output
// Why this intro here it should be in the beginning of the document. The
Data Encryption Standard (DES,) is a previously predominant symmetric-key
algorithm for the encryption of electronic data. It was highly influential in the
advancement of modern cryptography in the academic world. Developed in the
early 1970s at IBM and based on an earlier design by Horst Feistel, the
algorithm was submitted to the National Bureau of Standards (NBS) following
the agency's invitation to propose a candidate for the protection of sensitive,
unclassified electronic government data. In 1976, after consultation with the
National Security Agency (NSA), the NBS eventually selected a slightly
modified version, which was published as an official Federal Information
Processing Standard (FIPS) for the United States in 1977. The publication of an
NSA-approved encryption standard simultaneously resulted in its quick
20
international adoption and widespread academic scrutiny. Controversies arose
out of classified design elements, a relatively short key length of the symmetric-
keyblock cipher design, and the involvement of the NSA, nourishing suspicions
about a backdoor. The intense academic scrutiny the algorithm received over
time led to the modern understanding of block ciphers and their cryptanalysis.
Here, the plain text message and password is given by the user which
is encrypted.
Then the encrypted message is embedded into the audio file using
LSB algorithm.
[Link] TESTING
21
7.1 Goals for Testing:-
The famous statement by Dijkstra(in Dahl et al. 1972) is a perfect
synthesis of the goals of the testing. If the results delivered by the system are
different from the expected ones in just one case, in this unequally shows
that the system is incorrect: by contrast, a correct behavior of the system on
a finite number of cases does not guarantee correctness in the general case.
For instance, we could have built a program that behaves properly for even
integer numbers but not odd numbers. Clearly, any number of tests with
even input values will face to show the error.
Testing should be based on sound and systematic techniques so that,
after testing, we may have a better understanding of the product’s
reliability.
Testing should help locate errors, not just detect their presence. The
result of testing should not be viewed as simply providing a Boolean
answer to the question of whether the software works properly or not.
Tests should be organized in a way that helps to isolate errors. This
information can then be used in debugging.
Testing should be repeatable, i.e., tests should be arranged in such a
way that separating the same experiment-supplying the same input
data to the same piece of code – produces the same results.
Finally testing should be accurate – this will increase the reliability of
testing. Here we should observe that the accuracy of the testing
activity depends on the level of precision and may be even formality
of software specifications.
22
7.2 Types of Testing:-
Functional Testing
Here the structure of the program is not considered. Only
the test cases are decided solely on the basis of the
requirements or specification of the program or module
and the internal details of the module or the program is
not considered for the selection of test cases. This is also
called “Black Box Testing”.
Structural Testing
It is considered with testing the implementation of the
program. The intention of the structural testing is not to
exercise all the different input and output conditions but
to exercise the different programming and data files used
in the program. This testing is also called “White Box
Testing”.
7.3 Different Level of Testing:-
Unit Testing
In it different modules are tested against the
specifications produced during design for the modules. It
is essential for verification of the code produced during
the code phase and the goal is to test the internal logic of
the module.
Integration Testing
The goal here is to see if the modules can be integrated
properly, the emphasis being on testing interfaces
between modules. After structural testing and functional
testing we get error free modules these modules are to be
23
integrated to get the required results of the system. After
checking the module another module is tested and is
integrated with the previous module.
After the integration the test phases are generated and the
results are tested.
System Testing
Here the entire software is tested. The reference
document for this process is the requirement document
and the goal is to see whether the software needs its
requirements.
The system was tested for various test cases with various
inputs.
Acceptance Testing
It is sometimes performed with realistic data of the client
to demonstrate that the software is working satisfactorily.
Testing here focus on the external behavior of the
system, the internal logic of the program is not
emphasized.
In acceptance test the system is tested for various inputs.
Thus different types of testing are performed.
24
8. IMPLEMENTATION
25
[Link]("Help");
[Link]('m');
[Link]("Embed");
[Link](new [Link]() {
public void actionPerformed([Link]) {
embedMenuActionPerformed(evt);
}
});
[Link](embedMenu);
[Link]('t');
[Link]("Extract");
[Link](new [Link]() {
public void actionPerformed([Link]) {
extractmenuActionPerformed(evt);
}
});
[Link](extractmenu);
[Link]('x');
[Link]("Exit");
[Link](new [Link]() {
public void actionPerformed([Link]) {
exitmenuActionPerformed(evt);
}
});
[Link](aboutMenu);
[Link]('a');
[Link]("About");
[Link](new [Link]() {
public void actionPerformed([Link]) {
aboutMenuActionPerformed(evt);
}
});
[Link](exitmenu);
[Link](aboutMenu);
[Link](fileMenu);
[Link](fileMenu1);
setJMenuBar(jMenuBar1);
pack();
}
26
private void exitmenuActionPerformed([Link])
{
[Link](0);
}
private void extractmenuActionPerformed([Link])
{
[Link](false);
WizardFramewf = new ExtractAction(this).getWizardFrame();
[Link](wf);
[Link]();
}
private void embedMenuActionPerformed([Link])
{
[Link]("Embed Action Selected..");
[Link](false);
WizardFramewf = new EmbedAction(this).getWizardFrame();
[Link](wf);
[Link]();
}
private void aboutMenuActionPerformed([Link])
{
[Link](this,"AUDIO HIDING
USING STEGNOGRAPHY\n\n"+"Created
by :AmalaDevi,Anitha,DhanuNithi","About",[Link]
IN_MESSAGE);
}
private void exitForm([Link]) {
[Link](0);
}
public static void main(String args[])
{
newDHMain().show();
}
[Link];
[Link];
[Link] fileMenu1;
[Link];
[Link];
[Link];
27
[Link];
[Link] jMenuBar1;
[Link];
}
[Link]:-
package javaapplication2;
import [Link].*;
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
[Link];
classStego {
publicboolean feasible = true;
privateAudioInputStreamaudioInputStream;
privateAudioFormatsndFormat;
private byte[] audioBytes;
private byte[] buff;
private byte[] cipherbuff;
private byte[] clearbuff;
private String outFile;
char password[];
PBEKeySpecpbeKeySpec;
publicStego(String sndFile, String ptFile, String oFile, char pwd[]){
password=pwd;
outFile=oFile;
readSND(sndFile);
feasible = possible(ptFile);
}
publicStego(String sndFile, String ptFile,charpwd[]){
password=pwd;
outFile=ptFile;
readSND(sndFile);
[Link]("Pwd " +pwd);
}
28
public void encode(){
int k = 0;
int i = 1;
intpt;
bytepb;
[Link]("Hiding the ciphertext in AU file ...");
pt = [Link];
for (int j=1; j<=32; j++) {
if ((pt& 0x80000000)!=0)
audioBytes[i] = (byte)(audioBytes[i] | 0x01);
else if ((audioBytes[i] & 0x01)!=0){
audioBytes[i] = (byte)(audioBytes[i] >>> 1);
audioBytes[i] = (byte)(audioBytes[i] << 1);
}
pt = (int)(pt<< 1);
i++;
}
while (k <[Link]){
pb = cipherbuff[k];
for (int j=1; j<=8; j++) {
if ((pb& 0x80)!=0)
audioBytes[i] = (byte)(audioBytes[i] | 0x01);
else if ((audioBytes[i] & 0x01)!=0){
audioBytes[i] = (byte)(audioBytes[i] >>> 1);
audioBytes[i] = (byte)(audioBytes[i] << 1);
}
pb = (byte)(pb<< 1);
i++;
}
k++;
}
[Link]();
File fileOut = new File(outFile);
ByteArrayInputStreambyteIS = new ByteArrayInputStream(audioBytes);
AudioInputStreamaudioIS = new AudioInputStream(byteIS,
[Link](),
[Link]());
if ([Link]([Link],
audioIS)) {
try {
29
[Link](audioIS, [Link], fileOut);
[Link]("Steganographed AU file is written as " + outFile
+"...");
} catch(Exception e) {
[Link]("Sound File write error");
}
}
}
publicboolean decode(){
boolean success = true;
byte out = 0;
int length = 0;
int k = 1;
30
[Link](clearbuff);
[Link]();
}catch(Exception e){
[Link]("Caught Exception: " + e);
}
return success;
}
private void readSND(String sndf) {
File sndfile = new File(sndf);
inttotalFramesRead = 0;
[Link]("Reading (AU) sound file ...");
try {
audioInputStream = [Link](sndfile);
intbytesPerFrame = [Link]().getFrameSize();
intnumBytes = 154600*bytesPerFrame;
audioBytes = new byte[numBytes];
try {
intnumBytesRead = 0;
intnumFramesRead = 0;
while ((numBytesRead = [Link](audioBytes)) != -1) {
numFramesRead = numBytesRead / bytesPerFrame;
totalFramesRead += numFramesRead;
}
} catch (Exception ex) {
[Link]("Audio file error:" + ex);
}
} catch (Exception e) {
[Link]("Audio file error:" + e);
}
}
privateboolean possible(String pt) {
try{
[Link]("Reading the plaintext file ..."+pt);
FileInputStreamfis = new FileInputStream(pt);
BufferedInputStreambis =new BufferedInputStream(fis);
intlen = [Link]();
buff = new byte[len];
while ([Link]() != 0)
len = [Link](buff);
[Link]();
[Link]();
31
}catch (Exception e){
[Link]("Could Not Read Plain Text Caught Exception: " + e);
}
try{
encrypt();
if ( [Link]*8 >[Link])
return false;
else
return true;
}catch(Exception e){
[Link]("******Exception: " + e);
}return true;
}
private void encrypt(){
PBEParameterSpecpbeParamSpec;
SecretKeyFactorykeyFac;
byte[] salt = {
(byte)0xc7, (byte)0x73, (byte)0x21, (byte)0x8c,
(byte)0x7e, (byte)0xc8, (byte)0xee, (byte)0x99
};
int count = 20;
pbeParamSpec = new PBEParameterSpec(salt, count);
try{
[Link]("Password Verification: "+password);
pbeKeySpec = new PBEKeySpec(password);
[Link]("Encrypting the plaintext message ...");
keyFac = [Link]("PBEWithMD5AndDES");
SecretKeypbeKey = [Link](pbeKeySpec);
Cipher pbeCipher = [Link]("PBEWithMD5AndDES");
[Link](Cipher.ENCRYPT_MODE, pbeKey, pbeParamSpec);
cipherbuff = [Link](buff);
}catch (Exception ex) {
[Link]("Caught Exception: " + ex);
[Link]();
}
}
private void decrypt(){
PBEKeySpecpbeKeySpec;
PBEParameterSpecpbeParamSpec;
SecretKeyFactorykeyFac;
byte[] salt = {
32
(byte)0xc7, (byte)0x73, (byte)0x21, (byte)0x8c,
(byte)0x7e, (byte)0xc8, (byte)0xee, (byte)0x99
};
int count = 20;
pbeParamSpec = new PBEParameterSpec(salt, count);
try{
[Link]();
[Link]("Enter encryption password: ");
33
8.2. SCREEN SHOTS:- // Give Figure number and name for the screen
shots. All figures in the document should be available in the List of
figures in the Document.
34
35
36
37
38
39
40
41
9. CONCLUSION AND FUTURE ENHANCEMENTS
9.1. CONCLUSION:-
Although the algorithm presented is a simple one and not without its
drawbacks, it represents a significant improvement over simplistic
steganographic algorithms that do not use keys. By using this algorithm, two
parties can be communicated with a fairly high level of confidence about the
communication not being detected.
42
In designing the “Steganography” utmost care was taken to meet user
requirements as much as possible. The analysis and design phase was
reviewed. Care was taken strictly to follow the software engineering
concepts. And principles so as to maintain good quality in the developed
system as per the user requirements.
43
Bring a print out of the code available
in the net and the code which you have
used in your project. Give the website
address and also a letter stating that
the following code has been
used………….by you in your project.
44
REFERENCES:-
[1] Dipti, K. S. and Neha, B. 2010. Proposed System for Data Hiding Using
Cryptography and Steganography. International Journal of Computer
Applications. 8(9), pp. 7-10. Retrieved 14th August, 2012 from
[Link]
[2] Domenico, B. and Luca, L. year. Image Based Steganography and
Cryptography. // Where is the Journal name , volume no. page no. etc.
[3] Jayaram, P., Ranganatha, H. R. and Anupama, H. S. 2011. Information
Hiding Using Audio Steganography – A Survey. International Journal of
Multimedia and Its Application, 3(3), pp. 86-96.
[4] Mark D. G. 2003. Chameleon Image Steganography- Technical Paper.
Retrieved 14th July, 2012 from
[Link]
[5] Mohammad, A. A., and Abdelfatah, A. Y. 2010. Public-Key
Steganography Based on Matching Method. European Journal of Scientific
Research, 40(2). ISSN: 1450-216X. EuroJournals Publishing, Inc., pp. 223-
231. Retrieved 21st August, 2012 from
[Link]
[6] Niels, P. and Peter, H 2003. Hide and Seek: An Introduction to
Steganography. IEEE Computer Society. IEEE Security and Privacy, pp. 32-
44.
[7] Raphael, A. J., and Sundaram, V. 2011. Cryptography and
Steganography - A Survey. International Journal of Computer Technology
Application, 2(3), ISSN: 2229-6093, pp. 626-630.
[8] Simon, B., Steve M., and Ray, F. 2005. Object-Oriented Systems
Analysis and Design Using UML, (3rd ed.), McGraw Hill.
45
[9] Sridevi, R., Damodaram, A., and Narasimham, S. 2009. Efficient Method
of Audio Steganography By Modified LSB Algorithm and Strong
Encryption Key with Enhanced Security. Journal of Theoretical and Applied
Information Technology, pp. 768-771. Retrieved 21st August, 2012 from
[Link]
[10] Vivek, J., Lokesh, K., Madhur, M. S., Mohd, S., and Kshitiz Rastogi
2012. Public-Key Steganography Based on Modified LSB Method. Journal
of Global Research in Computer Science, 3(4). ISSN: 2229-371X, pp. 26-
29.
[11] Sujay, N. and Gaurav, P. 2010. Two New Approaches for Secured
Image Steganography Using Cryptographic Techniques and Type
Conversions. Signal & Image Processing: An International Journal (SIPIJ),
1(2), pp 60-73.
46