A Novel Approach for Hiding Text Using Image Steganography

Document Sample
A Novel Approach for Hiding Text Using Image Steganography Powered By Docstoc
					                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                          Vol. 8, No. 7, October 2010




       A Novel Approach for Hiding Text Using Image
                     Steganography


                     Sukhpreet Kaur*                                                              Sumeet Kaur
   Department of Computer Science and Engineering                                   Department of Computer Engineering
   Baba Farid College of Engineering and Technology                          Yadavindra College of Engineering Punjabi University
            Bathinda-151001, Punjab, India                                                   Guru Kashi Campus
            *
              Corresponding Author’s Email:                                             Talwandi Sabo, Punjab, India
               preetsukhpreet@gmail.com


Abstract— With the increasing use of internet for                          problems to which they are applied. Cryptography protects the
communication, the major concern of these days is, the security            secret data by making it difficult to understand by the intruder
of data being communicated over it. Steganography is the art and           but still the intruder knows that the secret data exists, so he
science of invisible communication. It hides secret information in         will try his best to decode the data. Steganography &
other information, thus hiding the existence of the communicated
                                                                           encryption are both used to ensure data confidentiality
information. In this paper we have discussed a technique of
hiding text messages in the images using image steganography.              however the main difference between them is that with
The technique uses matching of secret data with pixel values of            encryption anybody can see that both parties are
cover image as base concept. The LSBs of matched pixels are                communicating in secret. Steganography hides the existence
changed to mark presence of data inside that pixel. For making             of a secret message and in the best case nobody can see that
selection of channels for marking presence of data, a pseudo               both parties are communicating in secret. Watermarking is
random number generator is used, which adds another layer of               used primarily for identification and entails embedding a
security to the technique and makes the extraction of secret data
                                                                           unique piece of information within a medium without
very difficult for the intruders. The results show that technique
provides more security against visual and statistical attacks and          noticeably altering the medium. Steganography uses a basic
attempts to provide more data hiding capacity by using more bits           model to hide data inside the cover objects as shown in Fig. 1.
per pixel.

Keywords- Steganography; image steganography; attacks; PSNR;
security
                                                                                                       Secret
                                                                                                      Message
                       I.   INTRODUCTION
     Steganography can be defined as the technique used to
embed data or other secret information inside some other
                                                                                                    Steganography                  Stego
object commonly referred to as cover, by changing its                            Cover              Algorithm/
properties. The purpose of steganography is to set up a secret                   Object             Technique                      Object
communication path between two parties such that any person
in the middle cannot detect its existence; the attacker should
not gain any information about the embedded data by simply
looking at cover file or stego file. Steganography is the art of
hiding information in ways that prevent the detection of                                              Stego Key
hidden messages. Steganography, derived from Greek,
literally means “covered writing.” It includes a vast array of
secret communications methods that conceal the message’s                                   Figure 1. Basic steganography model
very existence. These methods include invisible inks,
microdots, character arrangement, digital signatures, covert                    The basic model of steganography uses a cover object i.e.
channels, and spread spectrum [2]. Steganography is                        any object that can be used to hold secret information inside,
commonly misinterpreted to be cryptography or                              the secret message i.e. the secret information that is to be sent
watermarking. While they are related in many ways, there is a              to some remote place secretly, a stego key that is used to
fundamental difference in the way they are defined and the                 encode the secret message to make its detection difficult and a




                                                                     195                               http://sites.google.com/site/ijcsis/
                                                                                                       ISSN 1947-5500
                                                         (IJCSIS) International Journal of Computer Science and Information Security,
                                                         Vol. 8, No. 7, October 2010




steganography algorithm/technique i.e. the procedure to hide                   Image – also known as spatial – domain techniques embed
secret message inside cover object. The outcome of the                    messages in the intensity of the pixels directly, while for
process is the stego object i.e. the object that has the secret           transform – also known as frequency – domain, images are first
message hidden inside. This stego object is sent to the                   transformed and then the message is embedded in the image
receiver where receiver will get the secret data out from the             [1].
stego image by applying decoding algorithm/ technique.                         In spatial domain methods a steganographer modifies the
     In modern era, steganography is implemented by using                 secret data and the cover medium in the spatial domain, which
digital media. Secret message is embedded inside digital cover            involves encoding at the level of the LSBs [6]. The best widely
media like text, images, audio, video or protocols depending              known steganography algorithm is based on modifying the
                                                                          least significant bit layer of images, hence known as the LSB
upon requirement and choice of the sender. Among other types
                                                                          technique. Spatial domain algorithms embed data by
of steganography, image steganography is most widely used.                substituting carefully chosen bits from the cover image pixels
The reason behind the popularity of image steganography is                with secret message bits. LSB technique is the most widely
the large amount of redundant information present in the                  used technique of image steganography. In this technique the
images that can be easily altered to hide secret messages inside          least significant bit of all the cover image pixels is replaced
them.                                                                     with the message bits. In a 24-bit image each pixel contains 3
                                                                          bytes (one for each Red, Green and Blue component), so we
A. Applications of Steganography                                          can store 3 bits in each pixel. Some algorithms use all pixels to
                                                                          hide data bits, while others use only specific areas of image.
   Steganography has a wide range of applications. The major              Our proposed technique is also based on the LSB method to
application of steganography is for secret data communication.            show existence of data in a particular channel.
Cryptography is also used for the same purpose but                             Transform domain techniques first transform the cover
steganography is more widely used technique as it hides the               images and then hide the data inside them. Transform domain
existence of secret data. Another application of steganography            techniques [7] hide data in mathematical functions that are in
is feature tagging. Captions, annotations, time stamps, and               compression algorithms. Discrete Cosine Transform (DCT)
other descriptive elements can be embedded inside an image,               technique is one of the commonly used transform domain
such as the names of individuals in a photo or locations in a             algorithm for expressing a waveform as a weighted sum of
map. A secret copyright notice or watermark can be embedded               cosines. The data is hidden in the image files by altering the
inside an image to identify it as intellectual property. This is          DCT coefficient of the image. Specifically, DCT coefficients
the watermarking scenario where the message is the                        which fall below a specific threshold are replaced with the
watermark.                                                                secret bits. Taking the inverse transform will provide the stego
   Steganography can be also used to combine explanatory                  image. The extraction process consists in retrieving those
information with an image (like doctor's notes accompanying               specific DCT coefficients. Jpeg Steganography is the most
                                                                          common example of transform domain technique of image
an X-ray).Steganography is used by some modern printers,
including HP and Xerox brand color laser printers. Tiny                   steganography.
yellow dots are added to each page. The dots are barely visible                 A good technique of image steganography aims at three
                                                                          aspects. First one is capacity, i.e. the maximum data that can be
and contain encoded printer serial numbers, as well as date
                                                                          stored inside cover image. Second one is the imperceptibility,
and time stamps. The list of applications of image
                                                                          i.e. the visual quality of stego image after data hiding and the
steganography is very long.                                               last is robustness i.e. security against attacks [4].

                 II.   IMAGE STEGANOGRAPHY
                                                                                            III.   PROPOSED TECHNIQUE
   Image steganography uses images as the cover object to
                                                                              LSB encoding is a method that claims to provide good
hide the secret data. Images are the most widely used cover
                                                                          capacity and imperceptibility. Still the existing methods do not
objects as they contain a lot of redundant information.
                                                                          use the full capacity of cover image. Many techniques like [8-
Redundancy can be defined as the bits of an object that
                                                                          13] have been developed to use the more and more number of
provide accuracy far greater than necessary for the object’s
                                                                          bits per pixel to achieve more data hiding capacity. We have
use and display [3]. The redundant bits of an object are those
                                                                          developed a technique for hiding text using image
bits that can be altered without the alteration being detected
                                                                          steganography that use 7 bits per pixel to hide data and still no
easily [5]. Image files fulfill this requirement so they are very
                                                                          visual changes in the stego image. We convert the messages
commonly used as a medium for steganography. Audio files
                                                                          into ASCII code and then 7 bit ASCII code of each letter is
also contain redundant information but not used as widely as
                                                                          matched with pixel values of cover image. To mark the
image files. A number of techniques have been proposed to
                                                                          presence of data in a particular pixel we use LSB method.
use images as cover files. These techniques can be categorized
                                                                          Which component of the pixel contains data that will be
in the following two ways:
                                                                          showed by using different combinations of Least Significant
     • Spatial domain techniques
                                                                          Bits. As we know that each pixel of the BMP image is made
     • Transform domain techniques                                        up of three bytes, one for Red, one for Green and one for Blue
                                                                          component of the pixel. Each character of the secret message




                                                                    196                              http://sites.google.com/site/ijcsis/
                                                                                                     ISSN 1947-5500
                                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                                  Vol. 8, No. 7, October 2010




is converted into ASCII code, which is 7-bit code. So to map a                   the criteria given in Table 2. As clear from the Table 2, we set
character to a pixel component we need only 7 bits of the                        the values of indicator channels as 00 if data matches in red
pixel. The least significant bit of every channel is free to be                  channel, 01 if matches with green and 10 if matches with blue
used as indicator to show that data is present in this channel.                  channel. If there is no match then the value is set as 11. Then
We will use LSB of two channels to mark presence of data in                      the same procedure is repeated with the next pixel of the cover
any of the three channels. The basic technique is to convert                     image.
secret message into ASCII code. To decide which channels
                                                                                 A. Flow Chart of Encoding Process
will act as indicator channels, we will use a pseudo random
number. For every character of secret message, we generate a
pseudo random number, depending upon the value of pseudo
random number we decide that which two channels will act as                                    Read Cover Image. Read Secret                    Start
                                                                                                Message, Convert into ASCII
indicator channels. After generating the number, convert that                                               d
into binary bit sequence. Count number of 1s present in the
bit sequence and number of zeros present in the bit sequence.                                 Extract Length of Secret Message,
Also calculate the parity of the pseudo random number. Now                                     Store in L. Hide in first row of
                                                                                                        cover Image.
depending upon binary bit sequence of pseudo random number
following three cases will be there and one case will be used to
select set of indicator channels. The selection procedure is                                    Start from next row of cover.
shown in table 1.

  TABLE I. CRITERIA FOR SELECTION OF INDICATOR CHANNEL                                         Take next character of message,
                                                                                                 put in C. Take next Pixel.

 Case                    Indicator    Order1(if parity   Order2(if
                         channel      is even)           parity is odd)                        Find pair of indicator channels ,
                                                                                               based on pseudo random number
                         set


 If no. of 1s are more   RG           RG                 GR                                                                        Y
                                                                                                                                           Set LSB of both
                                                                                                       If 7MSBs of red                 Indicator Channels equal
 than number of 0s                                                                                       Channel==C                         to Zero, L=L-1.


 If no. of 0s are more   GB           GB                 BG
                                                                                                                     N
 than number of 1s
                                                                                                                                   Y     Set LSB of Indicator
                                                                                                         If 7MSBs of                       Channel1=0 and
  If no. of 0s are       RB           RB                 BR                                                  Green                            indicator
                                                                                                         Channel==C                      Channel2=1.L=L-1.
 equal to number of
 1s
                                                                                                                    N
                                                                                                                                   Y
  TABLE II. CRITERIA TO SET VALUE OF INDICATOR CHANNELS                                                                                 Set LSB of Indicator
                                                                                                         If 7MSBs of                      Channel1=1 and
                                                                                                             Blue                            indicator
                                                                                                         Channel==C                     Channel2=0,L=L-1.
  Data channel (depending       LSB of indicator 1   LSB of indicator 2
  upon match)                                                                                                              N

  RED Channel                   0                    0                                              Set LSB of indicator
                                                                                                    Channels equal to 1

  GREEN Channel                 0                    1

  BLUE Channel                  1                    0
                                                                                                       Go to next pixel

  No match                      1                    1
                                                                                        Y

                                                                                                           If L>0

After selecting set of indicator channels we start from the first
row of cover image. We hide length of secret message in first
row using LSB method. Then start tracing from the second
row to match first character of secret message with 7 MSBs of                                               Stop

all three components of first pixel. If there is a match with any
component then value of indicator channels is set according to



                                                                           197                                      http://sites.google.com/site/ijcsis/
                                                                                                                    ISSN 1947-5500
                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                          Vol. 8, No. 7, October 2010




B. Encoding Algorithm                                                     D. Flow Chart of Decoding Process

    The encoding part of the algorithm is as follows.                                     Read Stego Image.                             Start

   Step 1: Read cover image.
   Step 2: Read secret message, Convert into ASCII.                                    Extract Length of Secret
                                                                                      Message, Stored in first row
   Step 3: Extract message length and store it into the variable                           of stego Image.
           L.
   Step 4: Hide message length into the first row of cover
           image using LSB method.                                                    Start from next row of cover.

   Step 5: Start from second row of cover image. Take first
           pixel.                                                                     Find pair of indicator channel
   Step 6: Take next character from C store in a temporary                              based on pseudo random
                                                                                                 number
            variable B.
   Step 7: Select indicator channel pair, depending upon the
           pseudo random number.
                                                                                           Extract LSB of both
   Step 8: Match the character with 7 MSBs of all three                                        Indicators.
           channels turn wise. If there is a match, set the value
           of indicator channels accordingly.
   Step 9: Set L = L-1. Go to step 11.                                                                                      Y
                                                                                               If the value                        Extract data from
   Step 10: If data not matched with any channel, set value of                                 extracted is                        Red channel. store
             indicator channels equal to 1. Go to next pixel and                                    =00                              in C. L=L-1.

             go to step 7.
   Step 11: Go to next pixel.                                                                                   N
   Step 12: Check if L>0. If yes go to step no.6.
   Step 13: Stop when all characters are consumed and L is                                                                 Y       Extract data from
                                                                                               If the value
            equal to zero.                                                                     extracted is                         Green channel.
                                                                                                    =01                           store in C. L=L-1.


C. Decoding Algorithm
                                                                                                            N
  The decoding process will depend upon the value of the
pseudo random number generator function. Number generator
will generate the same numbers as it generated at sender end                                                                Y
                                                                                                                                   Extract data from
                                                                                               If the value
                                                                                                                                  Blue channel. store
during decoding process. Depending upon the value of number                                    extracted is
                                                                                                                                    in C. L=L-1.
                                                                                                    =10
by using table 2 we will find out the set of indicator channels.
After that depending upon the value of indicator channels we
will find out that data lies in which channel of which pixel.                                               N

The different steps of the decoding process are as follows:
                                                                                           Data does not exist in
                                                                                                this pixel.
Step 1: Read stego image.
Step 2: Read the LSB of first row to find out L.
Step 3: Start from second row of cover image. Take first
        pixel of second row.                                                                  Go to next pixel
Step 4: Select indicator channel pair, depending upon the
        pseudo random number.
                                                                                  Y
Step 5: Depending upon the set of indicator channel pair,
                                                                                                   If L>0
        extract LSB of indicator 1 and indicator 2.
Step 6: Depending upon value of indicator channels,                                                                 N
        extract the data from pixel.
Step 7: If this value is 11 that means data does not exist in                                  Data is in C.                         Stop
        this pixel.
Step 8: Go to next pixel.
Step 9: Check if L>0. If yes go to step no 4.                                                            IV.            RESULTS
Step 10: Stop when all characters are retrieved and L is                      To compute the performance of the proposed technique we
         equal to zero.                                                   have conducted a series of experiments. To calculate the
Step 11: The values of C are in ASCII code, convert them                  efficiency we have used Peak Signal to Noise Ratio as major
          into equivalent characters.                                     parameter. The PSNR measures Peak Signal to Noise Ratio



                                                                    198                                             http://sites.google.com/site/ijcsis/
                                                                                                                    ISSN 1947-5500
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                             Vol. 8, No. 7, October 2010




between two images, and higher the PSNR, the more the
                                                                              TABLE III. EFFECT OF INCREASE IN SIZE OF SECRET DATA ON
quality of stego image. To evaluate the results we have applied
                                                                                                        PSNR
the technique to a number of colored images out of which
flowers.bmp having size 32700 has been shown here to                                 Image                 Message Length                PSNR
demonstrate the results achieved.
                                                                                  flowers.bmp                     100                    59.638

                                                                                  flowers.bmp                     50                     61.698

                                                                                  flowers.bmp                     25                     63.372


                                                                              TABLE IV. EFFECT OF INCREASE IN SIZE OF SECRET DATA ON
                                                                                                      MEAN
                                                                                    Image          Length of       Mean        Mean         Difference
                                                                                                  Secret Data     (Cover)     (Stego)
                  Figure 1. Cover image flowers.bmp
                                                                                 Flowers.bmp         100           75.354      75.422         0.068


                                                                                 Flowers.bmp          50           75.354      75.397         0.043


                                                                                 Flowers.bmp          25           75.354      75.384         0.030



                                                                              TABLE V. EFFECT OF INCREASE IN SIZE OF SECRET DATA ON
                                                                                              STANDARD DEVIATION

                                                                                    Image         Length of     Std. Dev.    Std. Dev.      Difference

                  Figure 2. Stego image flowers.bmp                                              Secret Data     (Cover)      (Stego)


                                                                                 Flowers.bmp        100          72.174        72.159           0.015

                                                                                 Flowers.bmp         50          72.174        72.163           0.011


                                                                                 Flowers.bmp         25          72.174        72.166           0.008


            Figure 3. Histogram of cover image flowers.bmp

                                                                                       V.       CONCLUSION & FUTURE WORK
                                                                                In this paper, we have presented a new technique to hide
                                                                            text inside images. The main objective was to achieve more
                                                                            security against statistical and visual attacks. The results show
                                                                            that we have been successful in achieving the same. The
                                                                            technique provides more security against visual attacks as the
                                                                            cover and stego images does not show the visible differences.
            Figure 4. Histogram of stego image flowers.bmp
                                                                            The technique is also statistically secure for small text
                                                                            messages as there is no visible difference in the histograms of
Fig 3. Shows the histogram of cover image and Fig 4. Shows
                                                                            cover and stego images. We have tried to achieve more
the histogram of stego image. It is clear from the histograms
                                                                            capacity by using the 7 bits per pixel to hide data. Results
that there is negligible change in the histogram of stego image.
                                                                            show a very good value of PSNR that means technique shows
So, proposed technique is secure fom statistical attacks. Table
                                                                            better imperceptibility.
3 shows value of PSNR after hiding messages of different
                                                                                The future work includes increasing the capacity further by
sizes in the cover image flower.bmp. The results show a
                                                                            modifying the technique. Technique can be modified to hide
higher value of PSNR is achieved by the technique. Table 4
                                                                            more data without noticeable visual changes. Some type of
and 5 show statistical results achieved in terms of mean and
                                                                            mapping table can be used to increase the chances of matching
standard deviation values of cover and stego images.
                                                                            data with pixel values. Hence focus of the future work is to




                                                                      199                                  http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                                  (IJCSIS) International Journal of Computer Science and Information Security,
                                                                  Vol. 8, No. 7, October 2010




achieve more capacity while retaining the robustness against                         [11] Nameer N. EL-Emam , “Hiding a large amount of data with high
                                                                                          security using steganography algorithm,” Journal of Computer Science,
visual attacks and statistical properties of cover image.                                 vol. 3, pp. 223-232, 2007.
                            REFERENCES                                               [12] Mohammed A.F. Al-Husainy, “Image steganography by mapping pixels
                                                                                          to letters,” Journal of Computer Science, vol. 5, pp. 33-38, 2009.
[1]  T. Morkel, J.H.P. Eloff and M.S. Olivier, "An overview of image                 [13] A. Ibraheem Abdul-Sada, “Hiding data using LSB-3,” J.Basrah
     steganography", in Proceedings of the Fifth Annual Information Security              Researches (Sciences), vol. 33, pp. 81-88, December, 2007.
     South Africa Conference (ISSA2005), Sandton, South Africa, June/July
     2005.
[2] N.F. Johnson, S. Jajodia, “Exploring steganography: seeing the unseen”,
     Computer Journal, vol. 31,pp. 26-34, February 1998.                                                         AUTHORS PROFILE
[3] D.L. Currie, & C.E. Irvine, “Surmounting the effects of lossy
     compression on steganography”, 19th National Information Systems                                    Sukhpreet Kaur received her B.Tech in Computer
     Security Conference, pp. 194-201, 1996.                                                             Science & Engineering from Punjab Technical
[4] H. Zhang and H. Tang, “A novel image steganography algorithm against                                 University, Punjab, India in 2007. She is pursuing her
     statistical analysis,” proceeding of the IEEE, vol. 19, pp. 3884-3888,                              M.Tech in Computer Engineering from Punjabi
     August 2007.                                                                                        University, Patiala. There are more than 8 research
[5] R.J. Anderson, F.A.P.Petitcolas, “On the limits of steganography”,                                   papers in various national and international conferences
     IEEE Journal of selected Areas In Communications, vol 16, pp. 474-481,                              in the credit of Ms Kaur. Her interest areas include fields
     May 1998.                                                                       of network security and steganography. Currently, she is working as lecturer
                                                                                     in computer science in the Department of computer science and engineering,
[6] A. Cheddad, J. Condell, K. Curran, P. Kevitt, “Digital image                     Baba Farid College of Engineering and Technology, Bathinda, Punjab State,
     steganography- survey and analysis of current methods,” Signal                  India.
     Processing, vol. 90, pp. 727–752, 2010.
[7] D. Bhattacharyya, A. Roy, P. Roy, T. Kim “Receiver compatible data                                   Sumeet Kaur received her B.Tech in Computer
     hiding in color image,” International Journal of Advanced Science and                               Engineering from Sant Longowal Institute of Engineering
     Technology, vol. 6, pp. 15-24, May 2009.                                                            & Technology(Deemed University) Punjab in 1999 and
[8] Adnan Gutub, Ayed Al-Qahtani, Abdulaziz Tabakh “Triple-A: secure                                     her M.Tech from Punjabi University, Patiala in 2007. She
     RGB image steganography based on randomization” AICCSA,                                             has more than 10 research papers in different national and
     IEEE/ACS International Conference on Computer Systems and                                           international conferences. Currently,she is working as
     Applications, Rabat, Morocco, pp. 400-403 , 2009.                                                   lecturer in computer science in the Department of
[9] A. Kaur, R. Dhir, G. Sikka,” A new image steganography based on first                                computer engineering, Yadavindra College of Engineering
     component alteration technique”, International Journal of Computer              Punjabi University Guru Kashi Campus, Talwandi Sabo, Punjab State, India.
     Science and Information Security (IJCSIS), vol. 6, pp. 53-56, 2009.             Her interest areas include encryption, network security, image processing and
                                                                                     steganography.
[10] M.T. Parvez , A. Gutub , "RGB intensity based variable-bits image
     steganography", APSCC 2008 –Proceedings of 3rd IEEE Asia-Pacific
     Services Computing Conference, Yilan, Taiwan, December 2008.




                                                                               200                                    http://sites.google.com/site/ijcsis/
                                                                                                                      ISSN 1947-5500

				
DOCUMENT INFO
Description: Vol. 8 No. 7 October 2010 International Journal of Computer Science and Information Security