Steganography in Colored Images

Document Sample
Steganography in Colored Images Powered By Docstoc
					                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                 Vol. 11, No. 4, April 2013

                            Steganography in Colored Images
                                                      Iman Thannoon Sedeeq
                                   Department of Public Health, College of Veterinary Medicine
                                               University of Mosul / Mosul, Iraq

Abstract—Since people use internet daily they have to take care
about information security requirement more and more. In this                    II.    DIGITAL STEGANOGRAPHY TECHNIQUE
wok a new algorithm for RGB based images steganography is                  Digital steganography technique needs two files: the
presented. The algorithm uses LSB principle for hiding a
variable number of secret message bits in RGB 24-bits color                cover file; a carrier for holding the secret message and the
image carrier either in other one or two channels depending on             secret message itself. A possible digital carrier can be
the third one (index channel). The algorithm offered good                  (image, audio, video,text), this carrier will hold the secret
capacity ratio with no visual distortion on the original image
                                                                           message and seems to be an innocent file because the
after hiding the secret message. Histograms of three channels
(red, green, blue) are also compared before and after hiding               steganography technique hides the message and makes it
process.                                                                   detectable just by the intended receiver. The carrier
                                                                           together with the hidden message will produce a stego file
   Keywords-Stganography; RGB; LSB; True color image.
                                                                           for e.g. an image based steganography technique uses an
                                                                           image to hide the data then the image becomes a stego –
                       I.    INTRODUCTION
                                                                           image as illustrated in Fig.1 .
    Steganography is a process of hiding information. It
conceals that the communication is taking place therefore
when using steganography there is always secret information                       Cover file               Secret message
is being transmitted and we try to make this information not to
be discovered just by the intended receiver. The sender hides a
message into a cover file likes for e.g. (image, audio,video) and
tries to conceal the existence of that message, later the receiver                             Embedding process
gets this cover file and detects the secret message and receives
    Steganography which means “cover writing” it’s origin is
old and backs to Golden age of Greece when people at that                                        Stego file
time had different practices to hide writing for e.g. writing on a
wooden tablet and then covering it by wax, making a tattoo on
a messenger head after shaving his hair and let his hair grows                                                     Communication channel
up again and then send him to the receiver where his hair was
shaved there again to get the message. Other steganography
techniques like using invisible ink for writing between lines,
                                                                                                  Stego file
microdots and using character arrangement are also used
    Digital steganography has many applications in our life.
When sensitive data like for e.g. ( military secrets, trade                                    Extraction process
secrets, private banking information) are transmitted from
source to destination they have to be protected from theft,
spying, copying and claiming their ownership, as well as it
could be used as a digital watermarking to protect the copy-
rights, also as the size of exchanged data on internet is being                         Cover file             Secret message
increased daily like store, send or receive data there must be a
way to maintain availability, integrity, confidentiality and
authentication of information exchanged. Steganography will
                                                                           Figure (1): Basic keyless steganographic system
solve the above problems [5][6][7].

                                                                                                       ISSN 1947-5500
                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                           Vol. 11, No. 4, April 2013

     In image based steganography, it is desirable that a
steganography technique is able to hide as many secret               Simplified example with a 24- bits pixel:
message bits as possible in an image in such away it will            1 pixel:     (00100111 11101001 11001000 )
not affect the most two important requirements that are               Insert 101: (00100111 11101000 11001001 )
essential for hiding process and researchers take care                               red       green         blue
about[8][9] :
   1.Imperceptibility/security: which means that human                          V.       THE PROPOSED METHOD
     eye cannot distinguish between the original image:
                                                                     The proposed algorithm used true image colors (24 bits)
     (the image before hiding process) and the stego-
                                                                     as a carrier for a hidden message. Using of pixel indicator
     image (the image after hiding process), in other
                                                                     is presented in the proposed algorithm: two least
     words the hiding process cannot be detected.
                                                                     significant bits of a channel are used as indicator of data
   2.Capacity: this term refers to the amount of data that
                                                                     existence in other two channels, therefore there is always
     can be embedded in a cover media.
                                                                     an index channel and the secret data will be concealed in
   The relationship between the above two requirements
                                                                     either one other channel or two channels depending on the
should be balanced, for e.g. if we increase the capacity
                                                                     value of the two LSB of index channel which is
more than a specified threshold value then the
                                                                     represented by K variable as illustrated in table 1. The
Imperceptibility will be affected and so on, therefore the
                                                                     number of secret bits that will be hidden in one channel or
parameters of digital steganography technique should be
                                                                     two channels is determined by the number calculated in
chosen very carefully.
                                                                     bits (2, 3, and 4) of index channel which is represented by
                                                                     S variable in table 1. To improve security; index channel
              III.   RGB- 24 BITS IMAGE                              is not fixed, starting with first pixel green channel as
    In this type of images, sometimes referred to as a true          indicator while blue is channel1 and red is channel2. In
color image, the image is stored in computer memory as               the second pixel red channel as indicator while blue is
an m-by-n-by-3 array of pixels. The color of each pixel              channel1 and green is channel2. In third pixel blue
represents a combination of three components red, green              channel as indicator while green is channel1 and red is
and blue intensities where each component is 8 bits. This            channel2 and so on until the hidden message bits are
means that 16 million colors can be represented in this              finished. To improve capacity; even when bits (2, 3, and
type of image, so RGB color space provides a wide area               4) of the index indicate “0”or above “5” the algorithm
of colors and hiding process in this space can be more and           inserts a number of hidden bits that’s calculated through
more flexible.                                                       observation of the execution of the proposed algorithm,
                                                                     for e.g. green color is more effected than red and blue
       IV.   LEAST SIGNIFICANT BIT INSERTION                         color when the number of hidden bits is increased, also
                                                                     when more than 5 bits are changed in a color value a
   The most common and easiest technique for data
                                                                     distortion can be recognized by human visual system.
hiding is LSB (least significant bit), in this technique the
effect of replacing the least significant bits of a color
                                                                     The proposed algorithm consists of two stages:
value with another bits will be so small that makes a
difficulty by human visual system to recognize the
                                                                                          Embedding stage.
difference between the image before and after hiding
                                                                                          Extraction stage.
process, so the same principle is used to replace the least
significant bits of a color value by hidden message
                                                                      In stage 1 which is at the sender end the hidden bits is
                                                                    embedded in the cover image according to the steps of the
                                                                    algorithm as illustrated in Fig. 2a, and in stage 2 which is
A. An 24-bits image example:
                                                                    at the receiver end these hidden bits are extracted also
  An 24-bit image uses 3 bytes to represent a color
                                                                    according to the steps of the algorithm as illustrated in
   value.    (8 bits = 1 byte)
                                                                    Fig. 2b.
1 pixel = (00100111 11101001 11001000)
             red          green     blue

                                                                                              ISSN 1947-5500
                                                                          (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                             Vol. 11, No. 4, April 2013

        TABLE 1. Meaning of index channel bits
  K=bit0,bit1                    Channel1                    Channel2

       00                      No hidden bits            No hidden bits

       01                      hidden bits= S            No hidden bits

       10                      No hidden bits            hidden bits= S

       11                      hidden bits=S             hidden bits= S

                                                                                           Open the file that contains
Open the file that contains                                                                 the message we want to
 the message we want to                                                                     hide and gets its length
 hide and gets its length

                                                                                            Staring from first pixel in
Staring from first pixel in                                                                      the cover image
     the cover image

                                                                                             K=the 2 LSB of index
  K=the 2 LSB of index

                         yes                                                                                        yes
                                      No hiding                                                         If                        No hiding
                                  Go to the next pixel                                                 k=00                   Go to the next pixel

                   no                                                                                          no

   S=bit2+bit3+bit4 of                                                                         S=bit2+bit3+bit4 of
     index channel                                                                               index channel

                         ye        Hide S bits of hidden                                                            yes       extract S bits of hidden
             If                                                                                         If                    message in channel1
                          s        message in channel1
                                 Remaining = remaining-S                                                                      Remaining= remaining-S
                                   Go to the next pixel                                                                          Go to the next pixel
                   n                                                                                          no
                         yes       Hide S bits of hidden                                                            yes       extract S bits of hidden
                                   message in channel2                                                  If                     message in channel2
            k=10                  Remaining=remaining-S                                                k=10                   Remaining=remaining-S
                                    Go to the next pixel                                                                        Go to the next pixel
                   no                                                                                          n
                                 Hide S bits of hidden                                                                        extract S bits of hidden
                         yes     message in channel1 +                                                              yes
             If                                                                                         If                    message in channel1 +
            k=11                 channle2                                                                            s        channle2
                                 Remaining=remaining-(2*S)                                                                    Remaining=remaining-(2*S)
       no                                                                                         no

                           no                                                                                            no
           If                                                                                         If
      Remaining > 0                   Go to the next pixel                                       Remaining > 0                     Go to the next pixel

                   yes                                                                                        yes
                                         Figure 2a: Embedding stage                                                       Figure 2b: Extraction stage
            END                                                                                        END
                                                                                                     s bits
                                                                              89                     hidden
                                                                                                                    ISSN 1947-5500
                                                                                                     e in
                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                Vol. 11, No. 4, April 2013

                     VI.    THE RESULTS
    The proposed method is presented using matlab (R2011a).
A set of BMP images is chosen to do the experimentations. The
images are used for hiding different length of massages. The
resulting stego-images are compared with the original images
there were no differences between them, as illustrated in
Fig. 3 (a,b), also the histograms are generated for (R,G,B)
components before and after hiding process they showed minor
differences caused by the proposed algorithm as illustrated in
Fig. 4 (a,b).
    The experimentations show that when the length of a
message becomes more that 120000 bits (i.e. 15000 characters)
the resulting stego- image is still looks like the original one
with no visual difference even if the length becomes 350000
bits(i.e. 43750 characters ), but from the another side the
plotting of (red, green, blue ) channels of the stego-image
begins to show a big difference with a comparison of the
plotting of (red, green, blue ) channels of the original image.
     With a comparison between the proposed algorithm and
the algorithm in [12]. The results showed that the capacity ratio
which is = (number of bits used each possible case)/ (total
number of cases*24) is increased from 14% in [12] to 19.2 in
the proposed algorithm with no visual distortion in the stego-
images. The total number of cases is 72 which decomposed as:
           Using one channel: we have 8 ways to determine
            the bits * 6 ways to decide channel R, G or B. This
            results 48 cases                                                             (a)                                 (b)
           Using two channels: here we have 8 ways to
            determine the bits* 3 ways to determine the two
            channels. This results 24 cases.                                    Figure3: (a) original images, (b) stego-images

                                                                                               VII. CONCLUSION
       Also with a comparison between the proposed method
and PIT in [9], the proposed algorithm shows higher capacity                  A new algorithm for RGB image based steganography is
ratio and better results.                                                proposed. It uses one channel as an indicator for the existence
                                                                         of hided secret message bits in the other one or two channels.
    Fig.4 shows the minor differences between (red, green,
                                                                         The number of the inserted bits is determined by
blue) channels before and after hiding a message of 120000 bits
                                                                         bits (2, 3, and 4) of the indicator channel.
length (i.e. 15000 characters) for the second image
(size of 512 X 384) in Fig. 3a.                                              With a comparison between the proposed algorithm and the
                                                                         techniques considered by this study, the proposed technique
    Each time the message becomes longer it is hided and
                                                                         shows promising results by increasing the capacity ratio
retrieved correctly with all the images used without any noticed
                                                                         without any distortion in the stego-image.
artifacts in the original images.
                                                                            About security enhancing, as a future work a new way for
    The proposed algorithm is tested also for hiding a binary
                                                                         choosing the indicator is applied to add more randomization on
image, the binary image is hided without making any visual
                                                                         the algorithm also encryption can be used for adding more
distortion and later the binary image is retrieved correctly.

                                                                                                    ISSN 1947-5500
                                           (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                              Vol. 11, No. 4, April 2013

                                                    [1] Arvind Kumar, KmPooja, “Steganography- A
                                                        Data Hiding Technique”, International Journal of
                                                        Computer Applications, Vol. 9-No.7, November 2010.
                                                    [2] Namita Tiwaril, Madhu Shandilya, “Secure RGB
        Blue channel before hiding
                                                         Image Steganography from Pixel Indicator to Triple
                                                        Algorithm-An Incremental Growth”, International Journal
                                                        Of Security and Its Applications, Vol. 4, No. 4,
                                                        October, 2010.
                                                    [3] Walaa Abu-Marie, Adnan Gutub, Hussein Abu-Mansour,
                                                        “Image Based Steganography Using Truth Table
                                                        Based on Determinate Array on RGB Indicator”,
       Green channel before hiding
                                                        International Journal of Signal and Image Processing,
                                                       Vol. 1-2010/Iss.3, pp. 196-204.
                                                    [4] Ali Akbar Nikoukar, “An Image Steganography
                                                        Method with High Hiding Capacity Based on RGB
                                                        Image”, International Journal of Signal and Image
                                                        Processing, Vol. 1-2010/Iss.4, pp. 238-241.
                                                    [5] Emad T. Khalaf, Norrozila Sulaiman,”Segmenting and
        Red channel before hiding
                                                        Hiding Data Randomly Based on Index Channel”,
              a:original image                          International Journal of Computer Science Issues, Vol. 8,
                                                        Issue 3,No. 1, May 2011.
                                                    [6] Yogendra Kumar Jain, R. R. Ahirwal, “A Novel Image
                                                        Steganography Method with Adaptive Number of Least
                                                        Significant Bits Modification Based on Private Stego-
                                                        Keys”, International journal of Computer Science and
                                                        Security, vol. 4, issue 1.
         Blue channel after hiding                  [7] Debnath Bhattachryya, Arpita Roy, Pranab Roy, Tai-hoon
                                                        Kim, “Receiver Compatible Data Hiding Color Image”,
                                                        International Journal of Asvanced Scince and
                                                        Technology, vol. 6, May, 2009.
                                                    [8] Adnan Gutub, Mahmoud Ankeer, Muhammad Abu-
                                                        Ghalioun, Abdulrahman Shaheen, Aleem Alvi, “Pixel
                                                        Indicator High Capacity Technique for RGB Image
        Green channel after hiding                      Based Steganography”, WoSPA 2008 – 5th IEEE
                                                        International Workshop on Signal Processing and iys
                                                        Applications, University of Sharjah, Sharjah, U.A.E 18-20
                                                        March 2008.
                                                    [9] Adnan Abdul-Aziz Gutub, “Pixel Indicator Technique for
                                                        RGB Image Steganography”, Journal of Emerging
                                                        Technologies in Web Intelligence, vol. 2, No. 1 Feb 2010.
          Red channel after hiding                  [10] Masoud Nosrati, Ronak Karimi, Mehdi Hariri,
                                                         “A Novel Steganographical Approach to Text Message
              b:stego-image                              Hiding In RGB Carrier Image”, Journal of Basic and
                                                         Applied Scientific Research, 1(12)2511-2515, 2011.
                                                    [11] Mohammad Tanvir Parvez, Adnan Abdul-Aziz Gutub,
Figure4: Image steganography histograms                  “RGB Intensity Based Variable-Bits Image
         according to proposed algorithm                 Steganography”, 2008 IEEE Asia-Pasific Services
                                                        Computing Conference.
                                                    [12] Adnan Gutub, Ayaed Al-Qahtani, Abdulaziz Tabakh,
                                                          “Triple-A: Secure RGB Image Steganography Based on
                                                         Randomization”, IEEE, pp. 400-403, 2009.

                                                                                ISSN 1947-5500
                                                           (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                              Vol. 11, No. 4, April 2013

                      AUTHOR PROFILE
    Mrs. Iman Th. Sedeeq(M. Sc) is currently a lecturer at
Mosul University. She Received B.Sc. degree in Computer
Science from Sciences College at Mosul University in 1993,
and M.Sc. degree from Computer and Mathematics Sciences
College at Mosul University in 2002. Her research interests are
information security, data hiding and encryption.

                                                                                                ISSN 1947-5500