Saturday, October 6, 2012

A novel technique for image steganography based on Block-DCT and Huffman Encoding

Abstract: Image steganography is the art of hiding information into a cover image. This paper presents a
novel technique for Image steganography based on Block-DCT, where DCT is used to transform original
image (cover image) blocks from spatial domain to frequency domain. Firstly a gray level image of size M
× N is divided into no joint 8 × 8 blocks and a two dimensional Discrete Cosine Transform(2-d DCT) is
performed on each of the P = MN / 64 blocks. Then Huffman encoding is also performed on the secret
messages/images before embedding and each bit of Huffman code of secret message/image is embedded in
the frequency domain by altering the least significant bit of each of the DCT coefficients of cover image
blocks. The experimental results show that the algorithm has a high capacity and a good invisibility.
Moreover PSNR of cover image with stego-image shows the better results in comparison with other
existing steganography approaches. Furthermore, satisfactory security is maintained since the secret
message/image cannot be extracted without knowing decoding rules and Huffman table.

With the development of Internet technologies, digital media can be transmitted conveniently over the
Internet. However, message transmissions over the Internet still have to face all kinds of security problems.
Therefore, how to protect secret messages during transmission becomes an essential issue for the Internet.
Encryption is a well-known procedure for secure data transmission. The commonly used encryption
schemes include DES (Data Encryption Standard) [1], AES (Advanced Encryption Standard)[2] and RSA
[3]. These methods scramble the secret message so that it cannot be understood. However, it makes the
message suspicious enough to attract eavesdropper’s attention. Hence, a new scheme, called
“steganography” [4], arises to conceal the secret messages within some other ordinary media (i.e. images,
music and video files) so that it cannot be observed. Steganography differs from cryptography in the sense
that where Cryptography focuses on concealing the contents of a message, steganography focuses on
concealing the existence of a message [5].
Two other technologies that are closely related to steganography are watermarking and fingerprinting
[6].Watermarking is a protecting technique which protects (claims) the owner’s property right for digital
media (i.e. images, music, video and software) by some hidden watermarks. Therefore, the goal of
steganography is the secret messages while the goal of watermarking is the cover object itself.
Steganography is the art and science of hiding information in a cover document such as digital images in a
way that conceals the existence of hidden data. The word steganography in Greek means “covered writing”
( Greek words “stegos” meaning “cover” and “grafia” meaning “writing”) [7]. The main objective of
steganography is to communicate securely in such a way that the true message is not visible to the observer.
That is unwanted parties should not be able to distinguish in any sense between cover-image (image not
containing any secret message) and stego-image (modified cover-image that containing secret message).
Thus the stego-image should not deviate much from original cover-image. Today steganography is mostly
used on computers with digital data being the carriers and networks being the high speed delivery channels.
Figure. 1 shows the block diagram of a simple steganographic system.

Information hiding is an old but interesting technology [8]. Steganography is a branch of information
hiding in which secret information is camouflaged within other information. A simple way of
steganography is based on modifying the least significant bit layer of images, known as the LSB technique
[9]. The LSB technique directly embed the secret data within the pixels of the cover image. In some cases
(Fridrich et al. [10]) LSB of pixels visited in random or in certain areas of image and sometimes increment
or decrement the pixel value. Some of the recent research studied the nature of the stego and suggested new
methodologies for increasing the capacity. Habes in [11] proposed a new method (4 least Significant) for
hiding secret image inside carrier image. In this method each of individual pixels in an image is made up of
a string of bits. He took the 4-least significant bit of 8-bit true color image to hold 4-bit of the secret
message /image by simply overwriting the data that was already there.
The schemes of the second kind embed the secret data within the cover image that has been transformed
such as DCT (discrete cosine transformation). The DCT transforms a cover image from an image
representation into a frequency representation, by grouping the pixels into non-overlapping blocks of 8 × 8
pixels and transforming the pixel blocks into 64 DCT coefficients each [12,13,14]. A modification of a
single DCT coefficient will affect all 64 image pixels in that block. The DCT coefficients of the
transformed cover image will be quantized, and then modified according to the secret data. Tseng and
Chang in [14] proposed a novel steganography method based on JPEG. The DCT for each block of 8×8
pixels was applied in order to improve the capacity and control the compression ratio.
Capacity, security and robustness [16], are the three main aspects affecting steganography and its
usefulness. Capacity refers to the amount of data bits that can be hidden in the cover medium. Security
relates to the ability of an eavesdropper to figure the hidden information easily. Robustness is concerned
about the resist possibility of modifying or destroying the unseen data.

Image steganography schemes can be classified into two broad categories: spatial-domain [17, 18,19] based
and transform-domain based [20, 21, 22]. In spatial domain approaches, the secret messages are embedded
directly. On spatial domain, the most common and simplest steganographic method [24, 9] is the least
significant bits (LSB) insertion method. In the LSB technique, the least significant bits of the pixels is
replaced by the message which bits are permuted before embedding. However, the LSB insertion method is
easy to be attacked. In [23], a new steganography technique, named, “modified side match scheme” was
proposed. It reserves the image quality, increases embedding capacity but is not robust against attack
because it is a spatial domain approach and no transfer is used. Based on the same embedding capacity, our
proposed method improves both image quality and security.
Hiding the secret message/image in the special domain can easily be extracted by unauthorized user. In this
paper, we proposed a frequency domain steganography technique for hiding a large amount of data with
high security, a good invisibility and no loss of secret message. The basic idea to hide information in the
frequency domain is to alter the magnitude of all of the DCT coefficients of cover image. The 2-D DCT
convert the image blocks from spatial domain to frequency domain. The schematic/ block diagram of the
whole process is given in figure 2((a) and (b)).

Embedding Algorithm

Input: An M1×N1 carrier image and a secret message/image.
Output: A stego-image.
1. Obtain Huffman table of secret message/image.
2. Find the Huffman encoded binary bit stream of secret-image by applying Huffman encoding technique
using Huffman table obtained in step 1.
3. Calculate size of encoded bit stream in bits.
4. Divide the carrier image into non overlapping blocks of size 8×8 and apply DCT on each of the blocks of
the cover image.
5. Repeat for each bit obtained in step 3
(a) Insert the bits into LSB position of each DCT coefficient of 1st 8×8 block found in step 4.
6. Decompose the encoded bit stream of secret message/image obtained in step 2 into 1-D blocks of size 8
bits.
7. Repeat for each 8-bit blocks obtained in step 6
(a) Change the LSB of each DCT coefficient of each 8×8 block(excluding the first) found in step 4 to a
bit taken from left(LSB) to right(MSB) from each 8 bit block B.
8. Repeat for each bit of the Huffman table
(a) Insert the bits into LSB position of each DCT coefficient
9. Apply inverse DCT using identical block size.
10. End.

Extraction Algorithm

Input: An M1×N1 Stego-image.
Output: Secret image.
1. Divide the stego-image into non overlapping blocks of size 8×8 and apply DCT on each of the blocks of
the stego-image.
2. The size of the encoded bit stream is extracted from 1st 8 × 8 DCT block by collecting the least
significant bits of all of the DCT coefficients inside the 1st 8×8 block.
3. The least significant bits of all of the DCT coefficients inside 8×8 block (excluding the first) are
collected and added to a 1-D array.
4. Repeat step 3 until the size of the 1-D array becomes equal to the size extracted in step 2.
5. Construct the Huffman table by extracting the LSB of all of the DCT coefficients inside 8×8 blocks
excluding first block and the block mentioned in step 3.
6. Decode the 1-D array obtained in step 3 using the Huffman table obtained in step 5.
7. End.

Quiz on Amplifier !!! Try and test your knowledge

Google : The top most search engine

Google : MAGIC BOX

nRelate - Posts and Homepage

LinkWithin

Related Posts Plugin for WordPress, Blogger...

Which is the toughest subject ?