Full text
International Journal in Foundations of Computer Science & Technology (IJFCST), Vol. 2, No.6, November 2012 DOI:10.5121/ijfcst.2012.2601 1 Innovative Multi-Level Secure Steganographic Scheme based on Pixel Value Difference Marghny H. Mohamed 1 , Naziha M. Al-Aidroos 2 , and Mohamed A. Bamatraf 3 1 Department of Computer Science, Faculty of Computers and Information, Assiut University, Egypt. [email protected] 2 Department of Computer Engineering, Faculty of Engineering and Petroleum, Hadhramout University, Yemen. [email protected] 3 Department of Computer Science, Faculty of Science, Hadhramout University, Yemen. [email protected] A BSTRACT Steganography is one of the branches of information security field, it aims to hide information in unremarkable cover media so as not to arouse an eavesdropper’s suspicion. The secret message is hidden in such a way that no significant degradation can be detected in the quality of the original image. The aim of this paper is to introduce an efficient steganographic scheme to hide data over gray scale images. This scheme is based on the property of the human eye, which is more sensitive to the change in the smooth area than the edge area using pixel value difference, besides employing the LSB substitution technique as a fundamental stage. The experimental results show that the proposed method could successfully achieve the goals of the high embedding capacity and maintaining the visual quality, in addition, provides more secure data hiding using selective pixel positions determined by a secret image (i.e. key). Moreover, based on that, the secret message is replaced with dynamic LSBs, our scheme can effectively resist several image steganalysis techniques. K EYWORDS Data Security, Steganography, Data Hiding, Least-Significant Bit (LSB), Pixel Value Difference (PVD). 1. I NTRODUCTION The development in technology and networking has posed serious threats to obtain secured data communication. In order to keep the unauthorized user away, variety of techniques have been proposed. Information hiding and cryptography are two main ways to secured communication. Steganography is one of the branches of information hiding, it is the art of hiding information by conceal its existence, unlike cryptography technique which about protecting the content of message by transform it to be meaningless and unintelligible to unauthorized users. An information hiding system is characterized by having three different aspects that contend with each other as shown in Figure 1: capacity, security, and robustness. 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 detect the hidden information easily, and robustness is concerned about the
International Journal in Foundations of Computer Science & Technology (IJFCST), Vol. 2, No.6, November 2012 2 amount of modification the stego medium can resist before an adversary can modify or destroy the hidden information [21]. Figure 1. Information-hiding system features. Steganography is the art and science of communicating in such a way which hides the existence of the message, as defined by Cachin [5]. It includes a variety number of methods for hiding data in media. These media were invisible inks, microdots, etc. Nowadays, steganography uses text, images, audio, and video media. Image steganography is the most widely used, compared with the other types of steganography, this popularity because the large amount of redundant information present in the images that can be easily altered to hide secret messages inside them, and because it can take advantage of the limited power of the human visual system (HVS) [2]. In Image steganography, the term cover image is used to describe the image used to hold secret information inside, while the resulting image which obtained by embedding secret data into cover image is called the stego image. An image in a computer is an array of numbers that represent light intensities at various pixels, these pixels make up the image’s raster data. Digital images are stored in either 24-bit (true color images) or 8-bit per pixel files. Hence 8-bit color images, like GIF files, can be used to hide information. Here, each pixel is represented as a single byte, and the pixel's value is between 0 and 255. Grey scale images are preferred because the shades are changed very gradually between palette entries, this increases the image's ability to hide information [13]. A lot of ways are used to hide information inside the images. Least significant bit (LSB) substitution, and masking & filtering techniques are the most well known techniques using in image steganography. LSB technique is a simple approach to hide information in an image, but any image manipulation can destroy the hidden information in this image easily. The steganography domain is growing up very quickly, several of practical trials and mathematical papers are published constantly, some of these papers are used LSB-based method in an attempt to get a new data hiding techniques or to develop an existing techniques, such as: [4], [6], [7], [14], [15], [16], [17], [22], [25]. The LSB-based techniques, directly embed the secret data into the spatial domain in an unreasonable way without taking into consideration the difference in hiding capacity between edge and smooth areas. In general, the alteration tolerance of an edge area is higher than that of a smooth area, this meaning that, an edge area can conceal more secret data than a smooth area. While human perception is less sensitive to subtle changes in edge areas of a pixel, it is more
International Journal in Foundations of Computer Science & Technology (IJFCST), Vol. 2, No.6, November 2012 3 sensitive to change in the smooth areas. So, new embedding techniques using the advantage of edge detection technique are introduced, such as, [8], [10], [19] which evaluate the correlation between neighboring pixels to determine whether a pixel is located in an edge area or a smooth area, and how many bits should be embedded in that pixel accordingly, using method named “Side Match”. Another technique proposed by Wu et al. [26], using the pixel-value differencing (PVD) method to distinguish edge and smooth areas. Based on this technique, several researches are suggested in order to provide data hiding methods achieve a high embedding capacity as possible, such as, [9], [23], [24], [30]. Because the PVD method does not utilize the smooth area to hide large amount of secret data, the capacity is still low. In order to achieve higher capacity, another researchers used a combination of PVD and LSB. These techniques are based on the idea of using PVD when the difference between a pair of pixels is large (edge area), and using LSB method when the difference is small (smooth area), such in [3], [18], [20], [27], [28], [29]. The proposed approach introduces a new hybrid method integrating both a dynamic classical LSB data hiding technique and the pixel value difference technique. Our primary target here is to increase the capacity of embedded data without much distortion, in addition to increase the security of the proposed scheme, key image is introduced as the secret key, then find the edges of both cover and key images, these edge pixels positions are used in the embedding process consecutively as discussed later. The paper is organized as follows; briefly background about the techniques used in the proposed method is introduced in Section 2. Our scheme is presented in Section 3. The experimental results with some analyses and discussions are shown in Section 4. Finally, the conclusions are provided in Section 5. 2. B ACKGROUND 2.1 Least Significant Bit Hiding (LSB) Scheme: This method is one of the earliest proposed steganographic techniques. The idea is to store a fixed number of bits of the secret data directly into the least significant bits of the pixels of the cover image. Because LSB is extremely simple to implement and incurs less processing time, it is commonly used. However, the insertion of fixed-length bits in least significant bits may cause noticeable distortion in the image because not all pixels can tolerate large changes in its data. Furthermore, it is easy to attack. Hence, there is a trade-off between the amount of secret data that can be embedded, the image distortion, and the security of the stego-image [3]. To understand the operation of LSB replacement method, suppose we have the following pixels, P 1 = [11001011], P 2 = [00011010], P 3 = [01001100], and the bits want to embed it in the LSBs positions of them are M = [010], the resulted pixels after embedding are, P 1 = [11001010], P 2 = [00011011], P 3 = [01001100]. So we can say that the LSB method has the following limitations [3]: a) Since LSB is simple and well known, it becomes vulnerable to security attacks. b) Increasing the amount of embedded data in each pixel results in more visual degradation in the image quality. c) Due to the uniform distribution of the embedded data over the whole cover image, the disruption of the image histogram becomes noticeable.
International Journal in Foundations of Computer Science & Technology (IJFCST), Vol. 2, No.6, November 2012 4 2.2. Pixel-Value Differencing (PVD) Scheme: In the human visual system, the alteration of edge areas cannot be distinguished well, unlike the alteration of smooth areas. With this concept, a novel steganography technique was proposed by Wu and Tasi [26] using the pixel-value differencing (PVD) method to distinguish edge and smooth areas. This method relies on the idea that not all pixels can store the same number of bits of the secret data. Instead of inserting the secret bits directly to the end of each byte of the cover image (which is the way in which LSB works), they determine the number of bits to be embedded based on the differences between pairs of adjacent pixels. This allows the method to embed more data in the edge area of the cover image without too much reduction in the stego image quality. An edge is characterized by significant dissimilarity in gray levels being used to indicate the boundary between two regions in an image fragment. Edge detection is a significant area of the image processing and machine vision due to the fact that edges are considered to be the important features for analyzing the most essential information contained in images [11]. In the proposed method, we employed the PVD idea to generate the edges of the cover image and key image as well, while embedding the secret data. 3. T HE P ROPOSED S CHEME In this section, the proposed scheme will be introduced in detail, it consists of two procedures, the embedding procedure and the extracting procedure. 3.1 The Embedding Procedure: Suppose we have 2 images, the cover image I C and the secret key image I K , with the same size. Any image I consists of set of pixels: I = {P 1 ,.., P N }, |P i |= 8 bits, = ,.., , ∈1,0. (1) The image size is computed as: N = W ×. (2) Where W, is the image width and height respectively. Suppose M is the secret data bits, with length n, = , ,…, ,where ∈1,0. (3) The proposed method takes the dependency advantage of pixels on its surrounding neighbors. The correlation between a pixel and its neighbors decides whether it is located in a smooth area or in an edge area. The data embedding algorithm’s steps are as follows. Step 1: Obtain the edge images of the cover I C and key I K grayscale images, by dividing the images into overlapping blocks, each block consists of 4 neighboring pixels (Figure 2).
International Journal in Foundations of Computer Science & Technology (IJFCST), Vol. 2, No.6, November 2012 5 P (i ,j) P (i,j+1) P (i+1,j) P (i+1,j+1) Figure 2. A target pixel and three neighboring pixels. Where the target pixel (,) with gray value (,) , let (,) , (,) and (,) be the gray value of the neighboring pixels, right pixel as (,) , down-right pixel as (,) and down pixel as (,) , respectively. Step 2: Calculate the difference value of each block which is used to categorize the smooth and edge regions, then select the maximum difference among them as following: 1 = | (,) − (,) |, 2 = | (,) − (,) |, 3 = | (,) − (,) |, = $%( 1, 2, 3). (4) Step 3: Using Equation (4), we can decide whether the target pixel is included in an edge area, if value is more or equal to a certain threshold, otherwise it is included in a smooth area, after this step we will obtain two sets of pixels in each image, the first called edge pixels denoted as E, and the other called smooth pixels denoted as S, & = & ,..,& ' , ( =( ,..,( ) . (5) Where e, s is the size of the edge pixels set and the smooth pixels set respectively, where N = e + s. Step 4: Unselect all the intersected pixels between the key edge pixels set & * and the cover edge pixels set & + (.i.e. & * ∩ & + ), meaning the new & * will be (& * ∩& + ) - - - - - - - - - - - - - pixels, then determine the key edge pixel’s position in the cover smooth pixel set ( + to obtain the smooth positions for embedding. Step 5: Using the key edge pixel positions & * , select the corresponding pixels in the smooth area of the cover image ( + for embedding. Step 6: For embedding bits stream , initially set a variable called a switch number (s_num) indicates to number of switches in the embedding process between the edge and smooth regions. Step 7: To embed the secret data bits, we have two categories of pixels corresponding to edge pixels category and smooth pixels category. In each cover pixel belongs to the first category embeds ‘x’ secret data bits using the LSBs substitution technique, otherwise embeds ‘y’ secret data bits using the LSBs substitution technique in the second category pixels.
International Journal in Foundations of Computer Science & Technology (IJFCST), Vol. 2, No.6, November 2012 6 ./( ∈ & + ) 00 %.12 0320 00 4.12. (6) Where is the cover pixel, & + is the edge pixels set of the cover image. Step 8: The embedding process is done mutually (not consecutive) between the selected pixels of the edge & + and smooth ( + areas. The switching between them is determined according to the switch number (s_num) as defined previously. The block diagram of the embedding process steps is shown in Figure 3. Figure 3. A block diagram of embedding steps. 3.2 The Extraction Procedure: To recover the original secret data at the receiving side, the original image 5 must be known to determine the original edge E and smooth S areas before embedding, then the following steps are done. No Counter =0 yes No If i > n No yes Stego image 5 6 is produced Divide Cover I C and Key I K images into Cover & + and Key & * edges Set switch number ( s_num ) To embed M secret bits Set i=0, counter=0 Embed x bits in cover edge pixel i++, counter++ If counter> s_num yes Embed y bits in cover smooth pixel i++, counter++ If counter> s_num Counter =0 If i > n No yes
International Journal in Foundations of Computer Science & Technology (IJFCST), Vol. 2, No.6, November 2012 7 Step 1: Find the edge and smooth areas of the cover and key images, as the same way described in the previous section. Step 2: Using the position of the original smooth and edge areas, we can determine which pixels belong to the edge area E′, and which are belong to the smooth area S′ in the stego image I′ easily. Step 3: Depending on switch number value we can know the position of the certain pixel, if it belongs to an edge area or to smooth area, according to that the extracting of the embedded data bits is done, as follows: ./( ∈ & 6 ) 0%18$91%.12 0320 0%18$914.12. (7) Step 4: At this stage, the retrieving algorithm finishes and the embedded data has been retrieved completely. These steps are described in the block diagram in Figure 4. Figure 4. A block diagram of extracting steps. 4. E XPERIMENTAL R ESULTS The experimental results presented in this section demonstrate the performance of our proposed scheme. To conduct our experiments; we used four 128×128 standard grayscale images, ‘‘Baboon”, ‘‘Pepper” and ‘‘Cameraman” as the cover images and ‘‘Lena” as the key image, If counter> s_num If i > n No ′ is extracted Divide Cover I C and Key I K images into Cover & + and Key & * edges To extract M secret bits Set i=0, counter=0 If ′ ∈ & 6 yes Extract x bits Counter++, i++ No yes Extract y bits Counter++, i++ No yes If counter> s_num yes No
International Journal in Foundations of Computer Science & Technology (IJFCST), Vol. 2, No.6, November 2012 8 which are commonly used in image processing, compression and steganography. These images are shown in Figure 5. A series of pseudo random binary numbers are used as the secret data to be embedded into the cover images. The performance of the proposed scheme is considered from two viewpoints, the visual quality of the stego image and the data capacity. Figure 5. Four 128×128 grayscale images. To evaluate the stego image quality, we used the peak signal-to-noise ratio (PSNR) measurement, which is used to evaluate the difference between the stego and cover images. The (:; formula is defined as : (:; = 10×3< = >> ? @AB ( C). (8) Where MSE is the mean square error between the cover and stego images. For a cover image whose width and height are G and , (& is defined as: (& = H×I ∑ ∑ K5 −5 6 L I M H M . (9) Where 5 and 5 6 are the pixel values of the cover and stego images, respectively. Note that, a large PSNR value means that the stego image is most similar to the original image and vice versa. Generally, if the PSNR value is larger than 30 dB, then the distortion on the stego image is hard to be detected by human eyes [12]. Our experimental results show that the proposed scheme can embed a large amount of information while keeping an acceptable visual quality. Second metric for performance evaluation is the data payload (capacity). Data payload can be defined as the amount of information it can hide within the cover media, this can be expressed as number of bits, which indicates the max message size that might be inserted into an image. It can be calculated as a percentage from the full image size [1].
International Journal in Foundations of Computer Science & Technology (IJFCST), Vol. 2, No.6, November 2012 9 N$O$9.14 = P QRSTUVWX'YRZXS)'WX'[['[SRWT\' QRSTUVWX'YRZ]^'U)RWT\' _(.12/O.%03). (10) a<1$3bc08</.1200 0 .b1<.$0 = x×no_c + y× no_k (in bits). (11) Where: no_c = number of cover edge pixels, no_k = number of key edge pixels - intersected pixels. Usually, the high payload requirement will conflict with the high PSNR requirement. Generally speaking, when the payload increases, the MSE will increase, and this will affect the PSNR inversely. So, a trade-off should be made between capacity and PSNR requirements [1]. Thus, innovative data embedding method presented here to improve the embedding payload and to maintain the visual quality as good as possible preserving the security requirement. Table 1 shows the visual quality of the edge images and the number of edge pixels in each of them, which are generated by our proposed scheme at a certain threshold (..0. ≥15). Table 1. The edge images are generated by our scheme. Note: *Number of smooth pixels used for embedding = Number of key edge pixels – (key edge pixels∩coveredgepixels). To facilitate the computation we fixed the length of the message to 1000 bits, Lena image was used as the key image. The performance of the proposed scheme is shown in Table 2. Note that x and y correspond to the number of LSBs in each edge and smooth pixels which are replaced by secret message bits. To maintain the quality of the stego image, the value of y is set 1 or 2. The experimental results show that we can choose the value of x as 3 or 4 without causing any perceptible distortion. Obviously, the advantage of the proposed scheme depends on the two parameters x and y. To prove that our scheme can achieve better stego image quality and obtain a high embedding payload, we perform the proposed algorithm with various x and y values. Table 2 presents the relationship between these parameters and the stego image quality. It also show that the larger