Вы находитесь на странице: 1из 6

ICETACS 2013

A Novel Steganography Technique Through


Variable Bit Maniputation
Bikromadittya Mondal Nillohit Banerjee
Department of Computer Science & Engineering Tata Consultancy Services
B P Poddar Institute of Management & Technology Kolkata, India
Kolkata, India nillohit.banerjee@tcs.com
bikmondal@gmail.co m

Abstract— S teganography is a major research area for cycle methods [4] etc. Gutub et al. [5] describes the pixel
hiding secret messages. In this paper we propose a novel indicator technique where one channel is used to locate the
steganography technique by manipulating varying number of channel to store data. In RGB image steganography, the
bits of the cover image. The algorithm stores varying number of
colour intensity (values of R-G-B) is used to decide the
bits in each channel depending on the intensity value of the
cover image. This provides maximum capacity for every cover
number o f b its to store in each pixel. Channel contains lower
image with minimal visible distortion from the original cover value is used to store higher bit values around 5 bits. The
image. We also propose a new encryption technique using PNG channel that contains higher value is used to store minimu m
lossless decompression. 3 bit of data [5].
Pixel indicator technique is proposed in [5] and RGB
Keywords—Steganograph; PNG decompression; RSA intensity based variable-b its image steganography is
algorithm; PSNR value. addressed in [6]. The pixel indicator technique uses the least
two significant bits of one of the channels fro m Red, Green
I. INT RODUCT ION AND RELAT ED W ORK
or Blue as an indicator for existence of data in the other two
Cryptography is the field of technology for hiding channels. The indicator channels are chosen in sequence,
informat ion. It hides and encrypt the informat ion in such a with R being the first.
way that a third party who has access to the hidden and The disadvantage of the algorith m in [5] is that the
encrypted data cannot reconstruct. Unfortunately it is not capacity depends on the indicator bits and based on the cover
enough in today’s world. It is now also become necessary to image, the capacity can be very low. A lso, the algorithm in
keep the existence of the message secret from outside world. [5] uses fixed number of bits per channel (2 b its) to store
Basically it deals with embedding info rmation to be hidden data and the image may get distorted if more bits are used
in a given media (cover media) without making any visible per channel. The RGB intensity based variable-bits image
changes to that cover med ia. The message-embedded image steganography [6] technique uses one of the three channels
is known as stego image [2]. A secret key Steganography as the indicator. The indicator sequence can be made
system (Fig.1) is similar to a symmetric cipher, where the random, based on a shared key between sender and receiver.
sender chooses a cover and embeds the secret message into Instead of storing a fixed nu mber of data-bits per channel,
the cover using a secret key. If the secret key used in the number of b its to be stored will depend on the color value of
embedding process is known to the receiver, using the the channel. The lower the value, the higher the data-bits to
reverse process the secret message can be extracted [3]. be stored. Therefore a partit ion of the color values is needed.
The optimal partition may depend on the actual cover image
Key Key used.
The disadvantage of the algorith m in [6] is that the
capacity depends of the indicator channels and based on the
value of the channel, the capacity is higher than previous
Message algorith m but as one channel is used as an indicator the full
Cover (C)
Message Embedding Stego-Object Extracting (M) utilization of cover image is not possible.
(M) (E) (D) The algorithm we p ropose in this paper, does not suffer
fro m these problems. Our algorithm guarantees a maximu m
capacity for every cover image and the nu mber of bits stored
in each channel varies depending on the intensity. This can
Fig.1 Secret key steganography
give very high capacity for some of the cover images. In
section III, we present experimental results supporting our
Image based secret key steganography uses images as
claim. In Sect ion II we show that 5 b it man ipulation of low
the cover media. Several methods have been proposed for
RGB values (less that 32) are also possible and it has a
image based steganography, LSB being the simplest one.
minimu m effect on human eye. Also the encryption
Techniques involving bit map images (RGB images) as cover
procedure we propose is novel and it uses PNG losses
med ia use single or mult i-channel hid ing, RNG or co lour
decompression, which reduces actual file size.

978-1-4673-5250-5/13/$31.00 ©2013 IEEE


ICETACS 2013

II. OUR WORK


Our proposed work contains main ly three parts – message
encryption, selection of a cover image, message embedding to
the chosen cover image. The overall system is shown in Fig.2.

Encryption Decryption

Sender Receiver

Secret message file

Stego image
Create a hash map of
maximum occurrence
of bit values

Decrypt the bits of the


encrypted .png file as
per RGB capacity of
each pixel of stego
Encrypted .png file image

STEGO IM AGE
Embed hash map
RSA PUBLIC KEY
inside the chosen cover
image Extract bits of encrypted files
and create the encrypted file
of .png format

Choose cover image


according to file size
Decrypt the .png file
Insert bits of .png file according to the hash
according to the map embedded with
capacity of png values the stego image
of each pixel

Secret message file


Use random bit selection
algorithm to hide the secret
.png image inside cover
image

Fig.2 Proposed cryptography system

-13-
ICETACS 2013

imageCapacity(image)
A. Message encryption technique
In this step, we convert the secret message file to a .png lengthImage  length(image)
image. PNG uses lossless decompression algorith m wh ich widthImage  width(image)
reduces its size and encrypt it. We use a map which will
contain maximu m occurrence of byte values of the secret for j  0 to lengthImage
message. Then the map is encrypted using public encryption
for i 0 to widthImage
algorithm (i.e., RSA).
pixel  getPixelValue(i, j)
Encryption Algorithm:
1. Read each byte of the specific file (value range is -128
to 127). red  (pixel >> 16) & 0xff

2. Keep all byte value inside an array. if(red<=31)

3. Create a map [occurrence_map] where key of the map between31++


is the value of each byte consist inside array and value else if(32<= red && red <=63)
of the map is the number of occurrence of that byte.
between63to32++
4. Sort the map according to number of occurrence.
else if(64<= red && red <=255)
5. Create another map [descending_order_map], where
keys are values of sorted byte values in descending between64to255++
order and mapped values will start from 0 to 256.
6. Create an image whose width size is of the specific green  (pixel >> 8) & 0xff
file.
if(green<=31)
7. Iterate the loop and map [descending_order_map],
each byte values form to each RGB values. between31++

8. Encrypt the map using RSA algorithm. else if(32<= green && green <=63)

9. Embed the encryption inside the cover image. between63to32++

B. Selection of a cover image else if(64<= green && green <=255)


Here we determine the maximu m capacity of a cover between64to255++
image based on the following observations.
1. If the RGB value <= 31 i.e., (00011111)2 then
blue  (pixel) & 0xff
man ipulation of 5 LSB bits will cause minimal
change in output. We consider it as 5-b it if(blue<=31)
implementation range.
between31++
2. If the value of 31 > RGB <= 63 i.e., (00111111)2
else if(32<= blue && blue <=63)
then modification o f 4 LSB bits then there will be
minimal visual change in output. We consider it as 4- between63to32++
bit implementation range.
else if(64<= blue && blue <=255)
3. If the value of 63 > RGB <= 255 i.e., (11111111)2
then modificat ion of 3 LSB bits will cause minimal between64to255++
visual change in output. We consider it as 3-b it End for
implementation range.
End for
Determination of the maximu m capacity of a cover
image is important because this helps to select a minimu m Return
size cover image to insert the secret message. (between31* 5+between63to32*4+between 64to255*
3)/8
The pseudo code for finding the maximu m capacity of a
cover image is

-14-
ICETACS 2013

C. Message embedding algorithm III. EXPERIMENT AL RESULT S


1. Convert any file to PNG(.png) images using our We have developed the system for imp lementing our
encryption algorithm. proposed algorithms. Iimp lementation has been done using
JAVA language (eclipse ide). At first we applied the
2. Take PNG image as an input that will be sending encryption technique to a set of files with different file
through internet. format. Table I shows the results. Most of the cases we have
obtained reduced file.
3. Convert each byte values of PNG image to 8 b it
binary values, append 0s as per requirement. Next step is to find a suitable cover image. We have
applied the proposed algorithm to a set of cover images as
4. Take all the binary values and make one single
shown in Fig.3.
string.
5. Take covered image as an input.
6. Take two rando m values less than height and width
of the image.
7. Iterate form those point until all values of the string
being inserted.
a) black-cat-allpaper-black.png b) linux.png c) lena.png
8. Read each pixel.
9. Retrieve RGB values.
10. Check the range of each (Red, Green & Blue)
values.
If value<=31 we insert 5 bit values fro m the string
mentioned above.
d) whispering_sepia.png e) color.png
Else if 32<=value<=63 we can insert 4 bit values
Fig.3 Cover Images
form the string mentioned above.
Else if 64<=value<256 we can insert 3 b it values The 4th column of the Table I show the maximu m
form the string mentioned above. capacity of each of the images.
The graph shown in Fig.4 is the representation of total
11. If string iterat ion is not comp leted then start for F
capacity in bytes/ s ize of file(Y-axis) & size of file(Y-axis) /
beginning (Width= 0 and Height= 0) and follow number of RGB between 31(RGB<=31)(X-axis)). According
step 8 to 10 until string is fully parsed. to the above graph (where we plot points according to the
Table) we can conclude that capacity of cover image
12. Embed the map contains the byte value mapping increase rapidly as the number of RGB between
after converting that as a byte string. 31(RGB<=31) increases.

TABLE I: MESSAGE ENCRYPT ION


File Name O riginal size After PNG (.png) conversion
Patch.zip 7.57 KB 6.65 KB

Verbal usage English words.pdf 119 KB 116 KB

Swt.jar 1.86 MB 1.72 MB

files.rar 12,27,646 bytes(1.17 MB- Disk size) 12,28,446 bytes(1.17 MB– Disk size)

-15-
ICETACS 2013

TABLE II: DET ERMINAT ION OF MAXIMUM CAPACIT Y OF A COVER IMAGE

Number of RGB Total capacity in bytes


Name of the Image Size of File(S.F.) S.F./(RGB<=31) T.C./S.F.
between 31(RGB<=31) (T.C.)

Black-Cat-allpaper-black.png(Fig.-5) 304237 5596450 3568746 .0543 11.730

linux.png (Fig.-6) 25114 123336 105173 .2036 4.1878

lena.png( Fig.-7) 455111 49050 337372 9.2785 0.7412

Whispering_sepia.png (Fig.-8) 1593101 91909 925231 17.3334 0.58077

color.png(Fig.-6) 800877 533787 636236 1.50036 0.79442

Fig.4 Chart for selecting a cover image

Generally, stego-image quality is considered fro m t wo


aspects. First, we use the Peak Signal-to-Noise Ratio (PSNR)
measurement to evaluate the difference between the stego
and cover images. PSNR is one of met rics to determine the
degradation in the embedded image with respect to the host
image. Values over 36 dB in PSNR are acceptable in terms
of degradation, which means no significant degradation is
observed by human eye [7]. Second, we co mpare the quality
of the stego image with the cover image as seen by the a) b)
Hu man Visual System (HVS). Mean Square Error (MSE) is Fig.5 a) Original cover image (25114 bytes) b) stego image with PSNR
values 42.9473)
between the cover and stego images. For a cover image of
width and height being m and n, where I denote the cover-
image and K denotes the stego-image, MSE is defined as:

The general PSNR formula is defined as:


Fig.6 Histogram of original image

The maximu m value of a pixel in grayscale image is 255.

-16-
ICETACS 2013

IV. CONCLUSION
In this paper, we introduce a new idea of image based
steganography, where variab le nu mber b its are stored in each
channel. Our algorith m uses RGB values of each pixel of
cover image to decide number of data bits to store. User has
the option to choose the image and check whether it is
possible to insert secret message inside the selected cover
image. Th is approach leads to very high capacity with low
Fig.7 Histogram of stego image
visual distortions. Also we propose another way of secret
message encryption which includes both symmetric and
asymmetric encryptions. Future works may be done to
improve our variable b its algorithm such as other encryption
technique can be used or giving better structure of our
algorithm be useful in the industry level.

REFERENCES
[1] N. Provos, P. Honeyman “An introduction to steganography,”
IEEE Security & Privacy M agazine, Vol. 1, Issue 3, pp. 32-
44, 2003.
a) b) [2] H. A. Jalab, A. A. Zaidan, B. B. Zaidan, “New Design for
Information Hiding with in Steganography Using Distortion
Fig.8 a) Original cover image (800877 bytes) b) Stego image with PSNR Techniques,” International Journal of Engineering and
values 44.1071 Technology (IJET)), ISSN: 1793-8236, Vol 2, No. 1, pp. 72-
77, 2010.
So based on our experimental results we have observed [3] K. Bailey, K. Curran, “An evaluation of image based
that the changes in cover images after inserting the secret steganography methods using visual inspection and automated
message is minimal but there is a little change in h istograms. detection techniques,” M ultimedia Tools and Applications,
Vol. 30 , Issue 1, pp. 55-88, 2006.
The PSNR values of the images are very satisfactory. The
[4] A. Gutub, M . Ankeer, M . Abu-Ghalioun, A. Shaheen, and A.
images in Fig.5 (a) (cover image) and Fig.5 (b) (Stego Alvi, “Pixel indicator high capacity technique for RGB image
image) are quite similar, but the histograms of both images based Steganography,” in the proceedings of 5th IEEE
(Fig.6 and Fig.7) are different. Also if we consider Fig.8 (a) International Workshop on Signal Processing and its
(cover image) and Fig.8 (b ) (Stego image), the images are Applications(WoSPA 2008), University of Sharjah, Sharjah,
U.A.E., 2008.
similar, whereas the histograms (Fig.9, Fig.10) are little [5] M . T. Parvez and A. A. A. Gutub, “RGB Intensity Based
different. Variable-Bits Image Steganography ,” in the proceedings of
Asia-Pacific Services Computing Conference, pp. 1322 –
1327, 2008.
[6] N. Jain, S. M eshram, S. Dubey, “ Image Steganography Using
LSB and Edge Detection Technique,” International Journal of
Soft Computing and Engineering (IJ SCE), ISSN: 2231-2307,
Volume-2, Issue-3, 2012.
[7] X. Luo, Q. Cheng, J. Tan, "A Lossless Data Embedding
Scheme For M edical in Application of e- Diagnosis," in the
proceedings of the 25th Annual International Conference of the
Fig.9 Histogram of original image IEEE Engineering in M edicine and Biological Society, pp.852-
855, 2003.

Fig.10 Histogram of stego image

-17-

Вам также может понравиться