Thesis Report Final v1

Embed Size (px)

Citation preview

  • 7/30/2019 Thesis Report Final v1

    1/41

    EFFICIENT STEGANOGRAPHY USING LSB ANDENCRYPTION TECHNIQUE

    A B.tech ProjectReportsubmitted

    in partial fulfillment of the

    requirement for the B.Tech.

    under Biju Patnaik University of Technology, Rourkela.

    Submitted By

    SIDHARTHA SANKAR PRADHAN Reg. No #0801314109

    ATMASWAROOPA TRIPATHY Reg No. #0801314098

    JULY - 2012

    Under the guidance of

    Dr. SATYARANJAN PATTANAIK

    APEX INSTITUTE OF TECHNOLOGY & MANAGEMENTPahala, Bhubaneswar, Odisha 752101, India

  • 7/30/2019 Thesis Report Final v1

    2/41

    Efficient Steganography using LSB and encryption technique

    i

    SYNOPSIS

    Steganography is the process of hiding one file inside another such that others can neither

    identify the meaning of the embedded object, nor even recognize its existence. Current trends

    favor using digital image files as the cover file to hide another digital file that contains the secret

    message or information. Steganography become more important as more people join the

    cyberspace revolution. Steganography is the art of concealing information in ways that prevent

    the detection of hidden messages. The goal of steganography is to avoid drawing suspicion to theexistence of a hidden message. This approach of information hiding technique has recently

    become important in a number of application areas. Digital audio, video, and pictures are

    increasingly furnished with distinguishing but imperceptible marks, which may contain a hidden

    copyright notice or serial number or even help to prevent unauthorized copying directly. Military

    communications system make increasing use of traffic security technique which, rather than

    merely concealing the content of a message using encryption, seek to conceal its sender, its

    receiver or its very existence. Similar techniques are used in some mobile phone systems and

    schemes proposed for digital elections. One of the most common methods of implementation is

    Least Significant Bit Insertion, in which the least significant bit of every byte is altered to form

    the bit-string representing the embedded file. Altering the LSB will only cause minor changes in

    color, and thus is usually not noticeable to the human eye. While this technique works well for

    24-bit color image files, steganography has not been as successful when using an jpeg color

    image file, due to limitations in color variations and the use of a color map. The advantages of

    LSB are its simplicity to embed the bits of the message directly into the LSB plane of cover-

    image and many techniques use these methods . Modulating the LSB does not result in a human-

    perceptible difference because the amplitude of the change is small. Therefore, to the human eye,

    the resulting stego-image will look identical to the cover-image. This allows high perceptual

    transparency of LSB. Another level of security adds to steganography by using an encryption

    technique for encrypting message before adding to image.

  • 7/30/2019 Thesis Report Final v1

    3/41

    Efficient Steganography using LSB and encryption technique

    ii

    Acknowledgement

    We would like to express our immense sense of gratitude to our guide, Dr. Satya RanjanPattanaik, for his valuable instructions, guidance and support throughout our project.

    We again owe our special thanks to Dr. Satya Ranjan Patanaik, B.Tech. project Coordinator

    for giving us an opportunity to do this report.

    And finally thanks to Prof. R.C. Das, Principal, AITM for his continued drive for better quality

    in everything that happens at AITM. This report is a dedicated contribution towards that greater

    goal.

    SIDHARTHA SANKAR PRADHAN

    REG. NO.-0801314109

    ATMASWAROOPA TRIPATHY

    REG. NO-0801314098

  • 7/30/2019 Thesis Report Final v1

    4/41

    Efficient Steganography using LSB and encryption technique

    iii

    Table of Contents

    Synopsis

    List of Figures

    List of Tables

    Chapter No. Description Page No.

    1 Introduction and Scope of the Thesis

    1.1 Introduction 1

    1.2 Scientific Background 1

    1.3 Background of the Problem 2

    1.4 Objective 3

    1.5 Scope 3

    2 Information hiding using Steganography

    2.1 Introduction 4

    2.2 Overview of Steganography 5

    2.3 Summary 10

    3 Least Significant Bit insertion

    3.1 Introduction 11

    3.2 Least Significant Bit Insertion 11

    3.3 Secure Information Hiding System 12

    3.4 Advantage of LSB Technique 15

  • 7/30/2019 Thesis Report Final v1

    5/41

    Efficient Steganography using LSB and encryption technique

    iv

    3.5 Disadvantage of LSB Technique 16

    3.6 Summary 16

    4

    4.1

    Encryption and RSA algorithm

    Introduction 17

    4.2 Types of Encryption 18

    4.3 Asymmetric Encryption Schemes 19

    4.4 RSA algorithm 22

    4.5 Summary 26

    5

    5.1

    Experimental Process, Results & Discussion

    Concealing Message 27

    5.2 Extracting Message 28

    5.3 Experimental Results 29

    5.4 Discussion 30

    6

    6.1

    Conclusion

    Future thoughts 31

    6.2 Conclusion 31

    Bibliography

  • 7/30/2019 Thesis Report Final v1

    6/41

    Efficient Steganography using LSB and encryption technique

    v

    List of Figures

    Figure No. Description Page No.

    2.1 Basic Steganography model 6

    3.1 Producing Stego image process 13

    5.1 Steganography at sender side 29

    5.1 Output at the Receivers side 30

  • 7/30/2019 Thesis Report Final v1

    7/41

    Efficient Steganography using LSB and encryption technique

    1

    Chapter - 1

    Introduction and Scope of the Thesis

    1.1 General Introduction

    One of the reasons that intruders can be successful is that 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 exist

    1.2 Scientific

    Background

    Steganography is an ancient technology that has applications even in todays modern society. A

    Greek word meaning covered writing, steganography has taken many forms since its origin in

    ancient Greece. During the war between Sparta and Xerxes, Dermeratus wanted to warn Sparta

    of Xerxes pending invasion. To do this, he scraped the wax off one of the wooden tablets they

    used to send messages and carved a message on the underlying wood. Covering it with wax

    again, the tablet appeared to be unused and thereby slipped past the sentries inspection.However, this would not be the last time steganography would be used in times of war. In World

    War II, the Germans utilized this technology. Unlike the Greeks, these messages were not

    physically hidden; rather they used a method termed null ciphering. Null ciphering is a process

    of encoding a message in plain sight. For example, the second letter of each word in an innocent

    message could be extracted to reveal a hidden message. Although its roots lay in ancient Greece,

  • 7/30/2019 Thesis Report Final v1

    8/41

    Efficient Steganography using LSB and encryption technique

    2

    steganography has continually been used with great success throughout history. Today

  • 7/30/2019 Thesis Report Final v1

    9/41

    Efficient Steganography using LSB and encryption technique

    2

    steganography is being incorporated into digital technology. The techniques have been used to

    create the watermarks that are in our nations currency, as well as encode music information in

    the ever-popular mp3 music file. Copyrights can be included in files, and fingerprints can be

    used to identify the people who break copyright agreements. However, this technology is not

    always used for good intentions; terrorists and criminals can also use it to convey information.

    According to various officials and experts, terrorist groups are hiding maps and photographs of

    terrorist targets and posting instructions for terrorist activities on sports chat rooms, and other

    Web sites. This aspect of steganography is what sparked the research into this vast field and

    Education and understanding are the first steps toward security. Thus, it is important to study

    steganography in order to allow innocent messages to be placed in digital media as well as

    intercept abuse of this Technology.

    1.3 Background of the Problem

    Steganography [1] become more important as more people join the cyberspace revolution.

    Steganography is the art of concealing information in ways that prevent the detection of hidden

    messages. Steganography include an array of secret communication methods that hide the

    message from being seen or discovered.

    The goal of steganography is to avoid drawing suspicion to the existence of a hidden message.

    This approach of information hiding technique has recently become important in a number of

    application areas. Digital audio, video, and pictures are increasingly furnished with

    distinguishing but imperceptible marks, which may contain a hiding copyright notice or serial

    number or even help to prevent unauthorized copying directly.

    Military communications system make increasing use of traffic security technique which, rather

    than merely concealing the content of a message using encryption, seek

    to conceal its sender, its receiver or its very existence. Similar techniques are used in some

    mobile phone systems and schemes proposed for digital elections. Some of the techniques used

    in steganography are domain tools or simple system such as least significant bit (LSB) insertion

  • 7/30/2019 Thesis Report Final v1

    10/41

    Efficient Steganography using LSB and encryption technique

    3

    and noise manipulation, and transform domain that involve manipulation algorithms and image

    transformation such as discrete cosine transformation and wavelet transformation. However there

    are technique that share the characteristic of both of the image and domain tools such as

    patchwork, pattern block encoding, spread spectrum methods and masking.

    1.4 Objective

    This project comprehends the following objectives:

    (i) To produce security tool based on steganographic techniques.

    (ii) To explore techniques of hiding data using steganography.

    1.5 Scope

    The scope of the project as follow:

    (i) Implementation of steganographic tools for hiding information includes text and image files.

    (ii) Three different approaches being explored which are least significant bit, masking and

    filtering and algorithms and transformation

  • 7/30/2019 Thesis Report Final v1

    11/41

    Efficient Steganography using LSB and encryption technique

    4

    Chapter - 2

    Information Hiding Using Steganography

    2.1 Introduction

    Due to advances in ICT (Inverse Cryptography technology), 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. Steganography is a

    technique of hiding information in digital media. In contrast to 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.

    In addition, the rapid growth of publishing and broadcasting technology also require analternative solution in hiding information. The copyright such as audio, video and other source

    available in digital form may lead to large-scale unauthorized copying. This is because the digital

    formats make possible to provide high image quality even under multi-copying. Therefore, the

    special part of invisible information is fixed in every image that could not be easily extracted

  • 7/30/2019 Thesis Report Final v1

    12/41

    Efficient Steganography using LSB and encryption technique

    5

    without specialized technique saving Image quality simultaneously [2]. All this is of great

    concern to the music, film, book and software publishing industries.

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

    copyright protection for digital media, watermarking, fingerprinting, and steganography [3]. All

    these applications of information hiding are quite diverse [4].

    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 secret message within the host data set and presence

    imperceptible.

    In those applications, information is hidden within a host data set 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 informal analysis. However, this paper will only focus on

    information hiding using steganography approach.

    2.2 Overview Steganography

    The word steganography comes from the Greek Steganos, which mean covered or secret and

    graphy mean writing or drawing. Therefore, steganography means, literally, covered writing.

    Steganography is the art and science of hiding information such that its presence cannot be

    detected [1] and a communication is happening [1,3]. Secret information is encoding in a mannersuch that the very existence of the information is concealed. Paired with existing communication

    methods, steganography can be used to carry out hidden exchanges.

    The main goal of steganography is to communicate securely in a completely undetectable

    manner [5] and to avoid drawing suspicion to the transmission of a hidden data [4]. It is not to

  • 7/30/2019 Thesis Report Final v1

    13/41

    Efficient Steganography using LSB and encryption technique

    6

    keep others from knowing the hidden information, but it is to keep others from thinking that the

    information even exists. If a steganography method causes someone to suspect the carrier

    medium, then the method has failed [6] .Until recently, information hiding techniques received

    very much less attention from the research community and from industry than cryptography.

    This situation is, however, changing rapidly and the first academic conference on this topic was

    organized in 1996. There has been a rapid growth of interest in steganography for two main

    reasons [7]:

    The publishing and broadcasting industries have become interested in techniques for

    hiding encrypted copyright marks and serial numbers in digital films, audio recordings,

    books and multimedia products.

    Moves by various governments to restrict the availability of encryption services have

    motivated people to study methods by which private messages can be embedded in

    seemingly innocuous cover messages.

    The basic model of steganography consists of Carrier, Message and Password. Carrier is also

    known as cover-object, which the message is embedded and serves to hide the presence of the

    message.

    Fig 2.1 Basic Steganography Model

  • 7/30/2019 Thesis Report Final v1

    14/41

    Efficient Steganography using LSB and encryption technique

    7

    Basically, the model for steganography is shown on Figure 2.1[1]. Message is the data that the

    sender wishes to remain it confidential. It can be plain text, cipher text, other image, or anything

    that can be embedded in a bit stream such as a copyright mark, a covert communication, or a

    serial number. Password is known as stego-key, which ensures that only recipient who know the

    corresponding decoding key will be able to extract the message from a cover-object. The cover-

    object with the secretly embedded message is then called the stego-object.

    Recovering message from a stego-object requires the cover-object itself and a corresponding

    decoding key if a stego-key was used during the encoding process. The Original image may or

    may not be required in most applications to extract the message.

    There are several suitable carriers below to be the cover-object[8]:

    (i) Network Protocols such as TCP, IP and UDP

    (ii) Audio that using digital audio formats such as wav, midi, avi, mpeg, mpi and voc

    (iii) File and Disk that can hides and append files by using the slack space

    (iv) Text such as null characters, just alike morse code including html and java

    (v) Images file such as bmp, gif and jpg, where they can be both color and gray-scale.

    In general, the information hiding process extracts redundant bits from cover-objec[4,8]t. The

    process consists of two steps

    (i) Identification of redundant bits in a cover-object. Redundant bits are those bits that can be

    modified without corrupting the quality or destroying the integrity of the cover-object.

    (ii) The embedding process then selects the subset of the redundant bits to be replaced with data

    from a secret message. The stego-object is created by replacing the selected redundant bits with

    message bits

  • 7/30/2019 Thesis Report Final v1

    15/41

    Efficient Steganography using LSB and encryption technique

    8

    2.2.1 Steganography vs.Cryptography

    Basically, the purpose of cryptography and steganography is to provide secret communication.

    However, steganography is not the same as cryptography. Cryptography hides the contents of a

    secret message from a malicious people, whereas steganography even conceals the existence of

    the message. Steganography must not be confused with cryptography, where we transform the

    message so as to make it meaning obscure to a malicious people who intercept it. Therefore, the

    definition of breaking the system is different [6]. In cryptography, the system is broken when the

    attacker can read the secret message. Breaking a steganographic system need the attacker to

    detect that steganography has been used and he is able to read the embedded message.

    In cryptography, the structure of a message is scrambled to make itmeaningless and

    unintelligible unless the decryption key is available. It makes noattempt to disguise or hide the

    encoded message. Basically, cryptography offers theability of transmitting information between

    persons in a way that prevents a third party from reading it. Cryptography can also provide

    authentication for verifying the identity of someone or something.

    In contrast, steganography does not alter the structure of the secret message, but hides it inside a

    cover-image so it cannot be seen. A message in cipher text, for instance, might arouse suspicion

    on the part of the recipient while an invisible message created with steganographic methods

    will not. In other word, steganography prevents an unintended recipient from suspecting that the

    data exists. In addition, the security of classical steganography system relies on secrecy of the

    data encoding system. Once the encoding system[4] is known, the steganography system is

    defeated.

    It is possible to combine the techniques by encrypting message using cryptography and then

    hiding the encrypted message using steganography. The resulting stego-image can be transmitted

    without revealing that secret information is being exchanged. Furthermore, even if an attacker

    were to defeat the steganographic technique and detect the message from the stego-object, he

  • 7/30/2019 Thesis Report Final v1

    16/41

    Efficient Steganography using LSB and encryption technique

    9

    would still require the cryptographic decoding key to decipher the encrypted message[1] .

  • 7/30/2019 Thesis Report Final v1

    17/41

    Efficient Steganography using LSB and encryption technique

    10

    2.2.2 SteganographyApplications

    There are many applications for digital steganography of image, including copyright protection,

    feature tagging, and secret communication [1,2]. Copyright notice or watermark can embedded

    inside an image to identify it as intellectual property. If someone attempts to use this image

    without permission, we can prove by extracting the watermark.

    In feature tagging, captions, annotations, time stamps, and other descriptive elements can be

    embedded inside an image. Copying the stegoimage also copies of the embedded features and

    only parties who possess the decoding stego-key will be able to extract and view the features.

    On the other hand, secret communication does not advertise a covert communication by using

    steganography. Therefore, it can avoid scrutiny of the sender, message and recipient. This is

    effective only if the hidden communication is not detected by the others people.

    2.2.3 SteganographyTechniques

    Over the past few years, numerous steganography techniques that embed hidden messages in

    multimedia objects have been proposed [9]. There have been many techniques for hiding

    information or messages in images in such a manner that the alterations made to the image are

    perceptually indiscernible. Common approaches are include[10]:

    (i) Least significant bit insertion (LSB)

    (ii) Masking and filtering

    (iii) Transform techniques

    Least significant bits (LSB) insertion is a simple approach to embedding information in image

    file. The simplest steganography techniques embed the bits of the message directly into least

    significant bit plane of the cover-image in a deterministic sequence. Modulating the least

    significant bit does not result in human-perceptible difference because the amplitude of the

    change is small.

  • 7/30/2019 Thesis Report Final v1

    18/41

    Efficient Steganography using LSB and encryption technique

    11

    Masking and filtering techniques, usually restricted to 24 bits and gray scale images, hide

    information by marking an image, in a manner similar to paper watermarks. The techniques

    performs analysis of the image, thus embed the information in significant areas so that the hidden

    message is more integral to the cover image than just hiding it in the noise level.

    Transform techniques embed the message by modulating coefficients in a transform domain,

    such as the Discrete Cosine Transform (DCT) used in JPEG compression, Discrete Fourier

    Transform, or Wavelet Transform. These methods hide messages in significant areas of the

    cover-image, which make them more robust to attack. Transformations can be applied over the

    entire image, to block throughout the image, or other variants.

    2.3 Summary

    In this paper we gave an overview of steganography. It can enhance confidentiality of

    information and provides a means of communicating privately. We have also presented an image

    steganographic system using LSB approach. However, there are some advantages and

    disadvantages of implementing LSB on a digital image as a carrier. All these are define based on

    the perceptual transparency, hiding capacity, robustness and tamper resistance of the method. In

    future, we will attempt another two approaches of steganographic system on a digital image. This

    will lead us to define the best approach of steganography to hide information.

  • 7/30/2019 Thesis Report Final v1

    19/41

    Efficient Steganography using LSB and encryption technique

    12

    Chapter - 3

    Least Significant Bit Insertion

    3.1 Introduction

    Least significant bits (LSB) insertion is a simple approach to embedding information in imagefile. The simplest steganographic techniques embed the bits of the message directly into least

    significant bit plane of the cover-image in a deterministic sequence. Modulating the least

    significant bit does not result in human-perceptible difference because the amplitude of the

    change is small.

    3.2 Least Significant BitInsertion

    One of the most common techniques used in steganography today is called least significant bit

    (LSB) insertion. This method is exactly what it sounds like; the least significant bits of the

    cover-image are altered so that they form the embedded information. The following example

    shows how the letter A can be hidden in the first eight bytes of three pixels in a 24-bit image[10].

    Pixels: (00100111 11101001 11001000)

    (00100111 11001000 11101001)(11001000 00100111 11101001)

    A: 01000001

    Result: (00100110 11101001 11001000)

    (00100110 11001000 11101000)(11001000 00100111 11101001)

  • 7/30/2019 Thesis Report Final v1

    20/41

    Efficient Steganography using LSB and encryption technique

    13

    The three underlined bits are the only three bits that were actually altered. LSB insertion

    requires on average that only half the bits in an image be changed. Since the 8-bit letter A only

    requires eight bytes to hide it in, the ninth byte of the three pixels can be used to begin hiding the

    next character of the hidden message.

    3.3 Secure Information Hiding System(SIHS)

    An information hiding system has been developed for confidentiality. However, in this paper, we

    study an image file as a carrier to hide message. Therefore, the carrier will be known as cover-

    image, while the stego-object known as stego-image. The implementation of system will only

    focus on Least Significant Bit (LSB) as one of the steganography techniques as mentioned in

    previous section 2For embedding the data into an image, we require two important files. The first

    is the original image so called cover-image. The image (Figure 4), which in and gif format will

    hold the hidden information. The second file is the message itself, which is the information to be

    hidden in the image. In this process, we decided to use a plaintext as the message. Before

    embedding process, the size of image and the message must be defined by the system. This is

    important to ensure the image can support the message to be embedded. The ideal image size is

    800x600 pixels, which can embed up to 60kB messages.

    The cover-image will be combined with the message. This will produce the output called stego-

    image. Figure 2.1 is illustrated the process. The Stego-image seems identical to the cover-image.

    However, there are hidden message that imperceptible. This process simply embedded the

    message into the cover-image without supplied any password or stego-key. At this stage, we

    decided to do so because we have to understand the ways of LSB insert the message bit into the

    image and extract the message from the stego-image produced.

  • 7/30/2019 Thesis Report Final v1

    21/41

    Efficient Steganography using LSB and encryption technique

    14

    Figure 3.1 Producing Stego-Image Process

    To illustrate this we are giving an example how to insert information in to an image. Basically an

    image is a matrix so in simple form we are inserting information in to an matrix. The under given

    example will show how to insert information into matrix.

    Example 3.1

    Clear all

    clcClose alldisp('Matrix size should be greater than input')

    X=input('Enter your text');x=input('Enter the matrix size');

    Y=uint8(X)l=length(Y);

    B=dec2bin(Y,8)

    RB(1,:)=B(1,:);

  • 7/30/2019 Thesis Report Final v1

    22/41

    Efficient Steganography using LSB and encryption technique

    15

    for i=2:lRB=[RB,B(i,:)];

    end

    lll=length(RB);

    M=magic(x)

    m=1;for ii=1:x

    for jj=1:x

    if(m

  • 7/30/2019 Thesis Report Final v1

    23/41

    Efficient Steganography using LSB and encryption technique

    16

    elsebreak

    endend

    endfor ll=1:cc/8

    RBB(ll,1:8)=RRB(1,(ll-1)*8+1:ll*8); end

    RRR=bin2dec(RBB);

    RR=uint8(RRR);

    RR=reshape(RR,1,l);

    char(RR)

    Output:

    Matrix size should be greater than input

    Enter your text 'hello world'

    Enter the matrix size 16

    Ans =

    hello world

    3.4 Advantage of LSB

    The advantages of LSB are its simplicity to embed the bits of the message directly into the LSB

    plane of cover-image and many techniques use these methods [11]. Modulating the LSB does not

    result in a human-perceptible difference because the amplitude of the change is small. Therefore,

    to the human eye, the resulting stego-image will look identical to the cover-image. This allowshigh perceptual transparency of LSB

  • 7/30/2019 Thesis Report Final v1

    24/41

    Efficient Steganography using LSB and encryption technique

    17

    3.5 Disadvantage ofLSB

    We noticed that in the approach discussed above, the time taken for generating therandom numbers depends on the size of the key. In our approach it means that it also

    depends on the cover-image size.

    Although the LSB embedding methods hide data in such a way that the humans do not

    perceive it, such schemes can be easily destroyed by an opponent such as using lossy

    compression algorithms or a filtering process.

    Any process that modifies the values of some pixels, either directly or indirectly, may

    result in degrading of the quality of the original object.

    A slight variation of this technique allows for embedding the message in two or more of the least

    significant bits per byte. This increases the hidden information capacity of the cover-object, but

    the cover-object is degraded more, and therefore it is more detectable. Other variations on this

    technique include ensuring that statistical changes in the image do not occur. Some intelligent

    software also checks for areas that are made up of one solid color. Changes in these pixels are

    then avoided because slight changes would cause noticeable variations in the area and. While

    LSB insertion is easy to implement, it is also easily attacked. Slight modifications in the color

    palette and simple image manipulations will destroy the entire hidden message. Some examples

    of these simple image manipulations include image resizing and cropping.

    3.6 Summary

    In this chapter we have presented an enhancement of the steganographic system using LSB

    approach to provide a means of secure communication. Future work we would to extend the

    system to be more robust and efficient and using LSB technique for image steganography along

    with different encryption technique.

  • 7/30/2019 Thesis Report Final v1

    25/41

    Efficient Steganography using LSB and encryption technique

    18

    Chapter - 4

    Encryption and RSA algorithm

    4.1 Introduction

    In cryptography, encryption is the process of transforming information (referred to as plaintext) using an

    algorithm (called a cipher) to make it unreadable to anyone except those possessing special knowledge,

    usually referred to as a key [12]. The result of the process is encrypted information (in cryptography,

    referred to as cipher text). The reverse process, i.e., to make the encrypted information readable again,

    is referred to as decryption (i.e., to make it unencrypted).In many contexts, the word encryption may

    also implicitly refer to the reverse process, decryption e.g. software for encryption can typically also

    perform decryption.

    Encryption has long been used by militaries and governments to facilitate secret communication.

    It is now commonly used in protecting information within many kinds of civilian systems. For

    example, the Computer Security Institute reported that in 2007, 71% of companies surveyed

    utilized encryption for some of their data in transit, and 53% utilized encryption for some of their

    data in storage. Encryption can be used to protect data "at rest", such as files on computers and

    storage devices (e.g. USB flash drives). In recent years there have been numerous reports of

    confidential data such as customers' personal records being exposed through loss or theft of

    laptops or backup drives. Encrypting such files at rest helps protect them should physical

    security measures fail. Digital rights management systems which prevent unauthorized use or

    reproduction of copyrighted material and protect software against reverse engineering (see also

    copy protection) are another somewhat different example of using encryption on data at rest.

    Encryption is also used to protect data in transit, for example data being transferred via networks

    (e.g. the Internet, e-commerce), mobile telephones, wireless microphones, wireless intercom

  • 7/30/2019 Thesis Report Final v1

    26/41

    Efficient Steganography using LSB and encryption technique

    19

    systems, Bluetooth devices and bank automatic teller machines. There have been numerous

    reports of data in transit being intercepted in recent years. Encrypting data in transit also helps to

    secure it as it is often difficult to physically secure all access to networks.

    Encryption, by itself, can protect the confidentiality of messages, but other techniques are still

    needed to protect the integrity and authenticity of a message; for example, verification of a

    message authentication code (MAC) or a digital signature. Standards and cryptographic software

    and hardware to perform encryption are widely available, but successfully using encryption to

    ensure security may be a challenging problem. A single slip-up in system design or execution

    can allow successful attacks. Sometimes an adversary can obtain unencrypted information

    without directly undoing the encryption. See, e.g., traffic analysis, TEMPEST, or Trojan horse.

    One of the earliest public key encryption applications was called Pretty Good Privacy (PGP). It

    was written in 1991 by Phil Zimmermann and was purchased by Symantec in 2010. Digital

    signature and encryption must be applied at message creation time (i.e. on the same device it has

    been composed) to avoid tampering. Otherwise any node between the sender and the encryption

    agent could potentially tamper it.

    4.2 Types of Encryption

    4.2.1 SymmetricEncryption

    Symmetric encryption is the oldest and best-known technique. A secret key, which can be a

    number, a word, or just a string of random letters, is applied to the text of a message to change

    the content in a particular way. This might be as simple as shifting each letter by a number of

    places in the alphabet. As long as both sender and recipient know the secret key, they can

    encrypt and decrypt all messages that use this key.

  • 7/30/2019 Thesis Report Final v1

    27/41

    Efficient Steganography using LSB and encryption technique

    20

    4.2.2 Asymmetric Encryption

    The problem with secret keys is exchanging them over the Internet or a large network while

    preventing them from falling into the wrong hands. Anyone who knows the secret key can

    decrypt the message. One answer is asymmetric encryption, in which there are two related keys--

    a key pair. A public key is made freely available to anyone who might want to send you a

    message. A second, private key is kept secret, so that only you know it.

    Any message (text, binary files, or documents) that are encrypted by using the public key can

    only be decrypted by applying the same algorithm, but by using the matching private key. Any

    message that is encrypted by using the private key can only be decrypted by using the matching

    public key.

    This means that you do not have to worry about passing public keys over the Internet (the keys

    are supposed to be public). A problem with asymmetric encryption, however, is that it is slower

    than symmetric encryption. It requires far more processing power to both encrypt and decrypt the

    content of the message.

    4.3 Asymmetric encryptionschemes

    The setting of public-key cryptography is also called the asymmetric setting due to the

    asymmetry in key information held by the parties. Namely one party has a secret key while

    another has the public key that matches this secret key. This is in contrast to the symmetry in the

    private key setting, where both parties had the same key. Asymmetric encryption is thus another

    name for public-key encryption, the mechanism for achieving data privacy in the public key or

    asymmetric setting. Our study of asymmetric encryption (following our study of other

    primitives) will begin by searching for appropriate notions of security, and models and

    formalizations via which they are captured. We then consider constructions, where we look at

    how to design and analyze various schemes. With regard to notions of security, we will be

  • 7/30/2019 Thesis Report Final v1

    28/41

    Efficient Steganography using LSB and encryption technique

    21

    able to build considerably on our earlier study of symmetric encryption. Indeed, from this point

    of view there is very little difference between symmetric and asymmetric encryption; not much

    more than the fact that in the latter the adversary gets the public key as input. This is important

    (and re-assuring) to remember. All the intuition and examples we have studied before carry over,

    so that we enter the study of asymmetric encryption already having a good idea of what

    encryption is, how security is modeled, and what it means for a scheme to be secure.

    Accordingly we will deal with the security issues quite briefly, just re-formulating the definitions

    we have seen before. The second issue (namely constructions) is a different story. Designs of

    asymmetric encryption schemes rely on tools and ideas different from those underlying the

    design of symmetric encryption schemes. Namely in the asymmetric case, the basis is (typically)

    computationally intractable problems in number theory, while for the symmetric case we used

    block ciphers. Thus, the greater part of the effort in this chapter will be on schemes and their

    security properties.

    An asymmetric encryption scheme is just like a symmetric encryption scheme except for an

    asymmetry in the key structure. The key pk used to encrypt is different from the key sk used to

    decrypt. Furthermore pk is public, known to the sender and also to the adversary. So while only a

    receiver in possession of the secret key can decrypt, anyone in possession of the corresponding

    public key can encrypt data to send to this one receiver.An asymmetric encryption scheme AE = (K,E,D) consists of three algorithms [12],as follows:

    The randomized key generation algorithm K (takes no inputs and) returns a pair (pk, sk)

    of keys, the public key and matching secret key, respectively. We write (pk, sk) $ K for

    the operation of executing K and letting (pk, sk) be the pair of keys returned.

    The encryption algorithm E takes the public key pk and a plaintext (also called a

    message) M to return a value called the cipher text. The algorithm may be randomized,

    but not stateful. We write C $ Epk(M) or C $ E(pk , M) for the operation of running

    E on inputs pk, M and letting C be the cipher text returned.

    The deterministic decryption algorithm D takes the secret key sk and a cipher text C not

    equal to return a message M. We write M Dsk(C) or M D(sk,C). The message

  • 7/30/2019 Thesis Report Final v1

    29/41

    Efficient Steganography using LSB and encryption technique

    22

    space associated to a public key pk is the set Plaintexts(pk) of all M for which

    Epk(M)never returns . We require that the scheme provide correct decryption, which

    means that for anykey-pair (pk, sk) that might be output by K and any message M Plaintexts(pk), if C was returned by Epk(M) then Dsk(C) = M.

    Let R be an entity that wants to be able to receive encrypted communications. The first step is

    key generation: R runs K to generate a pair of keys (pk, sk) for itself. Note the key generation

    algorithm is run locally by R. Anyone in possession of Rs public key pk can then send a

    message M privately to R. To do this, they would encrypt M via C Epk(M) and send the

    cipher text C to R. The latter will be able to decrypt C using sk via M Dsk(C). Note that an

    entity wishing to send data to R must be in possession of Rs public key pk, and must be assured

    that the public key is authentic, meaning really is the Rs public-key, and not someone elses

    public key. We will look later into mechanisms for assuring this state of knowledge. But the key

    management processes are not part of the asymmetric encryption scheme itself. In constructing

    and analyzing the security of asymmetric encryption schemes, we make the assumption that any

    prospective sender is in possession of an authentic copy of the public key of the receiver. This

    assumption is made in what follows. A viable scheme of course requires some security

    properties. But these are not our concern now. First we want to pin down what constitutes a

    specification of a scheme, so that we know what are the kinds of objects whose security we want

    to assess. The key usage is the mirror-image of the key usage in a digital signature scheme. In

    an asymmetric encryption scheme, the holder of the secret key is a receiver, using the secret key

    to decrypt cipher texts sent to it by others. In a digital signature scheme, the holder of the secret

    key is a sender, using the secret key to tag its own messages so that the tags can be verified by

    others. The last part of the definition says that cipher texts [12] that were correctly generated will

    decrypt correctly. The encryption algorithm might be randomized, and must for security. But

    unlike in a symmetric encryption scheme, we will not consider stateful asymmetric encryption

    algorithms. This is because there is no unique sender to maintain state; many different entities are

    sending data to the receiver using the same public key. The decryption algorithm is deterministic

    and stateless. We do not require that the message or cipher text be strings. Many asymmetric

    encryption schemes are algebraic or number-theoretic, and in the natural formulation of these

    schemes messages might be group elements and cipher texts might consist of several group

  • 7/30/2019 Thesis Report Final v1

    30/41

    Efficient Steganography using LSB and encryption technique

    23

    elements. However, it is understood that either messages or cipher texts can be encoded as

    strings wherever necessary. (The encodings will usually not be made explicit.) In particular, we

    might talk of the length of a message of cipher text, with the understanding that we mean the

    length of some binary encoding of the quantity in question

    4.4 RSA Algorithm

    RSA is an algorithm for public-key cryptography that is based on the presumed difficulty of

    factoring large integers, the factoring problem. RSA stands for Ron Rivest, Adi Shamir and

    Leonard Adleman , who first publicly described it in 1978. A user of RSA creates and then

    publishes the product of two large prime numbers, along with an auxiliary value, as their public

    key. The prime factors must be kept secret. Anyone can use the public key to encrypt a message,

    but with currently published methods, if the public key is large enough, only someone with

    knowledge of the prime factors can feasibly decode the message. Whether breaking RSA

    encryption is as hard as factoring is an open question known as the RSA problem.

    4.4.1 History

    Clifford Cocks, an English mathematician working for the UK intelligence agency GCHQ,

    described an equivalent system in an internal document in 1973, but given the relatively

    expensive computers needed to implement it at the time, it was mostly considered a curiosity

    and, as far as is publicly known, was never deployed. His discovery, however, was not revealed

    until 1998 due to its top-secret classification, and Rivest, Shamir, and Adleman devised RSA

    independently of Cocks' work. The RSA algorithm was publicly described in 1978 by Ron

    Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their

    surnames, listed in the same order as on the paper. MIT was granted U.S. Patent 4405829 [3] for

    a "Cryptographic communications system and method" that used the algorithm in 1983.The

    patent would have expired on September 21, 2000 (the term of patent was 17 years at the time),

    but the algorithm was released to the public domain by RSA Security on 6 September 2000, two

    weeks earlier. Since a paper describing the algorithm had been published in August 1977,[12]

  • 7/30/2019 Thesis Report Final v1

    31/41

    Efficient Steganography using LSB and encryption technique

    24

    prior to the December 1977 filing date of the patent application, regulations in much of the rest

    of the world precludedpatents elsewhere and only the US patent was granted. Had Cocks' work

    been publicly known, a patent in the US might not have been possible. From the DWPI's abstract

    of the patent, The system includes a communications channel coupled to at least one terminal

    having an encoding device and to at least one terminal having a decoding device. A message-to-

    be-transferred is enciphered to cipher text at the encoding terminal by encoding the message as a

    number M in a predetermined set. That number is then raised to a first predetermined power

    (associated with the intended receiver) and finally computed. The remainder or residue, C, is

    computed when the exponentiated number is divided by the product of two predetermined prime

    numbers (associated with the intended receiver).

    4.4.2 Operation

    The RSA algorithm involves three steps

    key generation

    Encryption

    Decryption.

    In Key generation RSA involves a public key and a private key. The public key can be known toeveryone and is used for encrypting messages. Messages encrypted with the public key can only

    be decrypted using the private key. The keys for the RSA algorithm are generated the following

    way[12]:

    1. Choose two distinct prime numbers p and q. For security purposes, the integer p and q

    should be chosen at random, and should be of similar bit-length. Prime integers can be

    efficiently found using a primality test.

    2. Compute n = p*q . n is used as the modulus for both the public and private keys

    3. Compute (n) = (p1)(q1), where is Euler's totient function.

    4. Choose an integer e such that 1 < e < (n) and greatest common divisor of (e, (n)) = 1;

    i.e., e and (n) are co-prime. e is released as the public key exponent. e having a short bit-

    length and small Hamming weight results in more efficient encryption - most commonly

  • 7/30/2019 Thesis Report Final v1

    32/41

    Efficient Steganography using LSB and encryption technique

    25

    0x10001 = 65,537. However, small values of e (such as 3) have been shown to be less

    secure in some settings.[13]

    5. Determine d as:

    d= e -1 mod((n)) (4.1)

    i.e., d is the multiplicative inverse of e mod (n). This is more clearly stated as solve for d given (d*e) mod (n) = 1 This is often computed using the extended Euclidean algorithm. d is kept as the private key exponent.

    The public key consists of the modulus n and the public (or encryption) exponent e. The private

    key consists of the modulus n and the private (or decryption) exponent d which must be kept

    secret.

    Notes:

    An alternative, used by PKCS#1, is to choose d matching de 1 mod with = lcm(p

    1, q 1), where lcm is the least common multiple. Using instead of(n) allows more

    choices for d. can also be defined using the Carmichael function, (n).

    The ANSI X9.31 standard prescribes, IEEE 1363 describes, and PKCS#1 allows, that p

    and q match additional requirements: be strong primes, and be different enough that

    Fermat factorization fails.

    In Encryption Alice transmits her public key to Bob and keeps the private key secret. Bob then

    wishes to send message M to Alice.He first turns M into an integer m, such that by using an

    agreed-upon reversible protocol known as a padding scheme[14]. He then computes the cipher

    text corresponding to

    C= M e mod(n) (4.2)

    This can be done quickly using the method of exponentiation by squaring. Bob then transmits to

    Alice. Note that at least nine values of m will yield a cipher text c equal to m,[12] but this is very

    unlikely to occur in practice.

  • 7/30/2019 Thesis Report Final v1

    33/41

    Efficient Steganography using LSB and encryption technique

    26

    During Decryption Alice can recover from by using her private key exponent via computing

    M= C d mod(n) (4.3)

    Given, she can recover the original message M by reversing the padding scheme.(In practice,

    there are more efficient methods of calculating using the pre computed values below.)

    Here is an example of RSA encryption and decryption. The parameters used here are artificially

    small, but one can also use Open SSL to generate and examine a real key pair.

    Example 4.1

    1. Choose two distinct prime numbers, such as

    P=61and Q=53.

    2. Compute n=P*Q giving

    n = 61 53 = 3,233.

    3. Compute the totient of the product as (n)=(p-1)*(q-1) giving

    (3233) = (61-1)*(53-1) = 3120.

    4. Choose any number 1< e

  • 7/30/2019 Thesis Report Final v1

    34/41

    Efficient Steganography using LSB and encryption technique

    27

    The private key is (n=3,233 & d=2753). For an encrypted cipher text , the decryption function

    is C2753 mod(3233)

    For instance, in order to encrypt M=65, we calculate

    C= 6517 mod (3233) = 2790

    To decrypt C=2790, we calculate

    M= 27902753 mod (3233) = 65.

    Both of these calculations can be computed efficiently using the square-and-multiply algorithm

    for modular exponentiation. In real life situations the primes selected would be much larger; in

    our example it would be relatively trivial to factorn, 3,233, obtained from the freely available

    public key back to the primes P and Q. Given e, also from the public key, we could then

    compute dand so acquire the private key.

    4.5 Summary

    In this paper we give overview of encryption and RSA algorithm. RSA algorithm is a popularand efficient algorithm. Encryption in steganography plays a crucial role which increases the

    level of security and increases productivity of the steganography process.

  • 7/30/2019 Thesis Report Final v1

    35/41

    Efficient Steganography using LSB and encryption technique

    28

    Chapter - 5

    Experimental Process, Results and

    Discussions

    5.1 ConcealingMessage

    The proposed method is designed for BMP images. It first compares the length of the message to

    be concealed with the size of the image to ensure that the image can hold the secret file. If the

    size of secret file is more, then a new image is selected. When using a 24 bit color image, a bit of

    each of the red, green and blue color components

    can be used, so a total of 3 bits can be stored in each pixel. So one layer between R, G, B is

    selected and message is inserted in the selected layer. Thus, a 800 600 pixel image can contain

    a total amount of 800x600x1=480.000 bits (60.000 bytes) of secret data.

    It has three levels of security as follows.

    Level I-The message is inserted at a random pixel value of the image as inserted by the sender. It

    can be any row and column of the image matrix. But precaution must be taken such that message

    length should not exceed matrix size.

    Level 2-The message to be sent is encrypted using an encryption algorithm (here we have used

    RSA algorithm).

  • 7/30/2019 Thesis Report Final v1

    36/41

    Efficient Steganography using LSB and encryption technique

    29

    Level 3-The encrypted message now inserted to image using LSB technique. In LSB technique

    encrypted message is converted to binary form and inserted in the least significant bit of pixel

    value as inserted before.

    These the three level of security enable the process to be a highly secure message system. If

    anyone try to break into the system then he has to know the starting position of the message then

    encryption method used and method of insertion. Till he/she got all information the value of

    information might have lost.

    Algorithm for Concealing messages (Sender Side)

    Input: message, cover image

    Output: stego image (containing message)

    1. store location of image where message to be hidden

    2. Insert the message

    3. Encrypt the entered message

    4. Convert the encrypted message to unsigned integer form

    5. Find the length of the message inserted

    6. Now convert it in to binary form

    7. Store the message in a one row matrix

    8. Store the message length in a predefined position of image

    9. Now insert the binary format message in to image

    10. Save the image

    11. End

    5.2 ExtractingMessage

    The same stego key is used for decoding of secret message from the stego image. The stego key

    is used to generate the same random number with which selection of the pixels is done and the

    order of block.

  • 7/30/2019 Thesis Report Final v1

    37/41

    Efficient Steganography using LSB and encryption technique

    30

    Algorithm Extraction message (Receiver side)

    Input: stego image(containing message)

    Output: hidden message

    1. Enter location to start(Stego key)

    2. Retrieve the size of the hidden message

    3. Retrieve the message by same insertion method

    4. Decrypt the retrieved message

    5. Display the message

    6. End

    5.3 Experimental Results

    Sender Result

    Fig 5.1(Steganography at Sender side)

  • 7/30/2019 Thesis Report Final v1

    38/41

    Efficient Steganography using LSB and encryption technique

    31

    Receiver Result

    Fig 5.2(Output at Receiver side)

    5.4Discussion

    In the above two figures in figure 5.1 both original and the stego image is shown. Stego

    image look alike the original image which does not show any distortion. Thus the stego

    image will not attract attention towards itself. So it can be transferred to the recipient without

    displaying information within itself.

  • 7/30/2019 Thesis Report Final v1

    39/41

    Efficient Steganography using LSB and encryption technique

    32

    Chapter - 6

    Conclusion

    6.1 Futurethoughts

    We hope to add support to hide all file formats. This allows for a much broader spectrum of

    uses: one would be able to encode .exe, .doc, .pdf, .mp3, etc. The program would be more

    versatile because often hiding text just isnt enough.

    We also would like to implement batch image processing and statistical analysis so that We can

    run the program through a dataset of images and detect Steganography and perhaps crawl

    through Google Image Search to see how prevalent Steganography is.

    We eventually plan to port the program to use C/C++ other programming language so that wemay take advantage of bit-fields in C and learn to code GUIs as well.

    6.2 Conclusion

    With this project we have learned a lot, especially about bit operations and different encryption

    technique. This project was fun from the start and only got more interesting as we went on

    developing it. We became more interested in the subject the more we researched it. We have

    learned that while implementing Image Steganography is important, thinking of how to detect

    and attack it and the methods to do so are far more complex than actually doing the

    Steganography itself. There is a lot of research that is beginning to discover new ways to detect

    Steganography, most of which involves some variation of statistical analysis. It is interesting to

    see what other methods will be developed and how accurate they will be at detecting

    Steganography

  • 7/30/2019 Thesis Report Final v1

    40/41

    Efficient Steganography using LSB and encryption technique

    33

    EFFICIENT STEGANOGRAPHY USING LSB AND ENCRYPTION

    TECHNIQUE

    BIBLIOGRAPHY

    [1] C. Cachin, An Information-Theoretic Model for Steganography, in proceeding 2nd

    Information Hiding Workshop, vol. 1525, pp. 306-318, 1998.

    [2] D. Artz, Digital Steganography: Hiding Data within Data, IEEE Internet Computing, pp.

    75-80, May-Jun 2001.

    [3] E.T. Lin and E.J. Delp, "A Review of Data Hiding in Digital Images," in Proceedings of the

    Image Processing, Image Quality, Image Capture Systems Conference, PICS '99, Ed., Apr.

    1999, pp. 274--278.

    [4] F.A.P Peticolas, R.J. Anderson and M.G. Kuhn, Information Hiding A Survey, in

    proceeding of IEEE, pp. 1062-1078, July 1999.

    [5] J. Zollner, H. Federrath, H. Klimant, et al., Modeling the Security of Steganographic

    Systems, in 2nd Workshop on Information Hiding, Portland, April 1998, pp. 345-355.[6] M.M. Amin, M. Salleh, S. Ibrahim, et al., Information Hiding Using Steganography, 4th

    National Conference On Telecommunication Technology Proceedings (NCTT2003), Shah

    Alam, Malaysia, pp. 21-25, January 14-15, 2003.

    [7] M. Ramkumar & A.N. Akansu. Some Design Issues For Robust Data hiding Systems,

    http://citeseer.nj.nec.com/404009.html

    [8] N.F. Johnson, S. Jajodia, Staganalysis: The Investigation of Hiding Information, IEEE, pp.

    113-116, 1998.

    [9] N.F. Johnson & S. Jajodia, Steganalysis of Images Created Using Current Steganography

    Software, in Proceeding for the Second Information Hiding Workshop, Portland Oregon,

    USA, April 1998, pp. 273-289.

    [10] R. Chandramouli, N. Memon, Analysis of LSB Based Image Steganography Techniques,

    IEEE pp. 1019-1022, 2001.

    http://citeseer.nj.nec.com/404009.htmlhttp://citeseer.nj.nec.com/404009.htmlhttp://citeseer.nj.nec.com/404009.html
  • 7/30/2019 Thesis Report Final v1

    41/41

    Efficient Steganography using LSB and encryption technique

    [11] R.J. Anderson, F.A.P. Petitcolas, On The Limits of Steganography, IEEE Journal of

    Selected Area in Communications, pp. 474-481, May 1998.

    [12] Mao, Wenbo (2004).Modern Cryptography Theory and Practice ISBN 0-13-066943-1. An

    up-to-date book on cryptography.

    [13] Patterson & wayne (1998). Mathematical cryptography for Computer scientists and

    mathematician, Roman & littlefield

    [14] Dominic WelshCodes and Cryptography, Oxford University Press, 1988.

    http://en.wikipedia.org/wiki/Special%3ABookSources/0130669431http://en.wikipedia.org/wiki/Special%3ABookSources/0130669431http://en.wikipedia.org/wiki/Special%3ABookSources/0130669431