Abstract

To protect from pixel difference histogram (PDH) analysis and RS analysis, two hybrid image steganography techniques by appropriate combination of LSB substitution, pixel value differencing (PVD), and exploiting modification directions (EMD) have been proposed in this paper. The cover image is traversed in raster scan order and partitioned into blocks. The first technique operates on 2 × 2 pixel blocks and the second technique operates on 3 × 3 pixel blocks. For each block, the average pixel value difference, , is calculated. If value is greater than 15, the block is in an edge area, so a combination of LSB substitution and PVD is applied. If value is less than or equal to 15, the block is in a smooth area, so a combination of LSB substitution and EMD is applied. Each of these two techniques exists in two variants (Type 1 and Type 2) with respect to two different range tables. The hiding capacities and PSNR of both the techniques are found to be improved. The results from experiments prove that PDH analysis and RS analysis cannot detect these proposed techniques.

1. Introduction

The fundamental principle of a steganography technique is to hide the secret data in image, audio, or video files [1]. Data can be hidden in images using spatial domain or frequency domain. LSB substitution is the most common technique of data hiding in spatial domain. But it can be easily detected by RS analysis [2]. To augment security in LSB substitution techniques, some precautionary measures need to be taken. The LSB planes that will carry the secret data can be selected based upon the bit pattern hidden in neighboring pixels [3]. The bits from one or more LSB planes of the pixels can be joined together to make an array. The binary data bits can be concealed in this array at appropriate portions to minimize distortion and to improve the security [4]. The PVD steganography is another familiar data hiding technique [5]. This technique exploits the smooth areas to hide lesser number of secret bits and edge areas to hide more number of secret bits. Many variants of PVD technique have been found in literature. A technique of Khodaei and Faez uses both LSB and PVD concepts [6]. It possesses higher hiding capacity and lesser distortion. The problem in the PVD techniques is that they are attacked by pixel difference histogram (PDH) analysis. One mechanism that addresses this problem is the adaptive range table [7, 8]. Instead of a fixed range table for all the pixels, it can be varied for every pixel. Even the number of LSB bits to be hidden in different pixels can be varied based on the smoothness of the block into which the pixel belongs to [9], so that security can be improved.

Zhang and Wang [10] proposed exploiting modification direction (EMD) steganography. The principal goal in it is that a group of secret bits be converted to a digit in ()-ary notational system, where is the size of pixel block. This secret digit could be hidden in the pixel block by adding ±1 to only one pixel. In this technique, the hiding capacity is not good. The hiding capacity has been improved in two-stage technique in [11] and 8-ary technique in [12]. Lee et al. [13] proposed EMD technique using pixel segmentation. In a pair of pixels, each pixel is segmented into two segments. The MSB segments of the two pixels together is called the vector of coordinates (VCA) and the LSB segments of the two pixels together are called vector modification area (VMA). The bits of VCA decide about embedding. Jung and Yoo [14] proposed an EMD technique in a block of one pixel to increase the hiding capacity. The EMD technique based on diamond encoding also could improve the hiding capacity [15]. Joo et al.’s EMD technique using modulus function preserved the pixel difference histogram [16]. Kim et al. [17] has proposed two EMD techniques, namely, EMD-2 and 2-EMD. In EMD-2 technique at most two pixels are modified and in 2-EMD technique, two consecutive EMDs are used. Both these techniques achieve higher hiding capacity. Wang et al. [18] said that a number of pixel groups could be combined to derive more number of embedding directions, so that distortion can be reduced. Kieu and Chang’s [19] EMD technique used eight modification directions. It fully exploited all modification directions and measured the hiding capacity and distortion for different values of the parameter, . Wang et al.’s [20] EMD technique combined multiple groups to hide the data according to a designed switch map, so that the hiding capacity can be increased and distortion can be decreased. Fu et al. [21] used EMD and multilayer embedding mechanism with histogram shifting to achieve reversibility. Kim [22] advanced the EMD technique using basis vector, and -ary notational system, where and are user defined values. Shen and Huang [23] made the hiding capacity of a block adaptive by using PVD with EMD. This PVD with EMD technique provides higher hiding capacity and better PSNR. To improve upon the security keys are used to generate pseudo random numbers, which can be used to find the embedding locations [24].

It is found that Shen and Huang’s [23] PVD with EMD technique is detectable by PDH analysis. To advance further in this paper we judiciously combined LSB substitution, PVD, and EMD techniques to protect against PDH analysis and to possess larger hiding capacity without sacrificing the PSNR. There are two techniques proposed, the first technique is designed using 2 × 2 pixel blocks and the second technique is designed using 3 × 3 pixel blocks.

2. The Proposed Technique 1 (LSB + PVD + EMD in 2 × 2 Pixel Blocks)

2.1. The Embedding Procedure

Step 1. The image is traversed in raster scan order and partitioned into nonoverlapping blocks of size 2 × 2. A sample block is shown in Figure 1(a).

Step 2. For every block the average pixel value difference, , is computed. If is greater than 15, then the block is said to be an edge area; otherwise, it is a smooth area.

Step 3. In an edge area embedding is done using LSB substitution and PVD.

Step 4. In a smooth area embedding is done using LSB substitution and EMD.

The LSB + PVD Embedding Approach. The first LSB of pixel is substituted by bit 1, to act as an indicator during extraction. The other 2 LSBs are substituted by 2 data bits. A new value of this pixel is obtained. Suppose, the decimal value of the three LSBs of is and the decimal value of the three LSBs of is . A difference value is calculated and is optimized byNow calculate three difference values, for . It falls into one of the ranges in range table. Based on the range of , the number of bits to be hidden () can be decided. Table 1 can be referred to as Type 1 and Table 2 can be referred to as Type 2. Now convert each bits of confidential data to its decimal value for . Then compute the new value for this difference as for . Now for each where , calculate two new values and . Select one of these two values as by applying

The LSB + EMD Embedding Approach. The first LSB bit of pixel is substituted by bit 0, which can act as an indicator during extraction. The other two LSBs of are substituted by two data bits. Thus, a new value of the pixel is obtained. Suppose, the decimal value of the three LSBs of is and the decimal value of the three LSBs of is . A difference value is calculated and is optimized by (1).

Suppose we denote the remaining pixels (, , ) by a name , where . Now apply EMD for each as follows. Each has to hide 2 bits of data. The decimal equivalent of the two data bits is . Now select from and calculate such that the condition () satisfies. Similarly select from and calculate such that the condition () satisfies. If for all the three values in list , the condition () does not satisfy, then set . Now calculate the stego value for by (3).Thus, Figure 1(b) represents the stego-pixel block.

2.2. The Extraction Procedure

Step 1. The stego image is traversed in raster scan order and partitioned into nonoverlapping blocks of size 2 × 2. Figure 1(c) represents a sample 2 × 2 stego-pixel block.

Step 2. The LSB bit of is checked, if it is 1, then for this block the extraction procedure of LSB + PVD approach is used as follows. The next two LSBs of are extracted. Furthermore, the and for are calculated, where belongs to the range and is the lower bound of this range. Now each of these is converted to binary bits, where is the value corresponding to the same range of . Note that the same range table (Table 1 or Table 2) which was used during embedding should be used during extraction.

Step 3. If the LSB bit of is 0, then for this block the extraction procedure of LSB + EMD is applied as follows. The next two LSBs of are extracted. For all the remaining pixels (, , ) the decimal equivalent of the embedded bits, , is calculated as , for . Now each is converted to 2 binary bits.

3. The Proposed Technique 2 (LSB + PVD + EMD in 3 × 3 Pixel Blocks)

3.1. The Embedding Procedure

Step 1. The image is traversed in raster scan order and partitioned into nonoverlapping blocks of size 3 × 3. A sample block is shown in Figure 2(a).

Step 2. An average pixel value difference, , is calculated.

Step 3. If value is greater than 15, then a combination of LSB substitution and PVD is applied.

Step 4. If value is less than or equal to 15, then a combination of LSB substitution and EMD is applied.

The LSB + PVD Embedding Approach. In the central pixel, 3 LSBs are substituted by 3 data bits. A new value of the central pixel is found. Say it is . In pixel the first LSB is substituted by bit 1, which will be used as indicator during extraction procedure. The other two LSBs in it are substituted by two data bits. After substituting, three LSBs, suppose the new value of pixel is . The decimal value of the three LSBs of is and the decimal value of three LSBs of is . Similarly, the decimal value of three LSBs of is and the decimal value of three LSBs of is . Now calculate the differences df1 and df2 as, and . Now optimize the values of and using (1) and (4), respectively.

Now calculate seven difference values, for . These difference values lie in one of the ranges of the range table. Table 1 can be chosen as Type 1 or Table 2 can be chosen as Type 2. Based on the range of , the number of bits to be hidden () can be decided from the range table.

Now convert each bits of confidential data to its decimal value for . Then compute the new values for the seven differences as for . Now for each where , calculate two new values and . Select one of these two values as by applying (2). This is the stego value of .

The LSB + EMD Embedding Approach. The first LSB of pixel is substituted by 0 and the next two LSBs are substituted by two data bits. After embedding, say it is . The decimal value of the three LSBs of is and the decimal value of three LSBs of is . Now calculate the difference as . Now optimize the value of using (4).

Suppose we denote the remaining pixels () by a name , where . Now apply EMD for each as follows. Each has to hide 2 bits of data. The decimal equivalent of the two data bits is . Now select from and calculate such that the condition () satisfies. Similarly select from and calculate such that the condition () satisfies. If for all the three values in list , the condition () does not satisfy, then set . Now calculate by (3). This is the stego value of .

Thus, Figure 2(b) represents the stego-pixel block.

3.2. The Extraction Procedure

Step 1. The stego image is traversed in raster scan order and partitioned into nonoverlapping blocks of size 3 × 3. Figure 2(c) represents a sample 3 × 3 stego-pixel block.

Step 2. The LSB bit of is checked, if it is 1 then for this block the extraction procedure of LSB + PVD approach is used as follows. The three LSBs of and next two LSBs of are extracted. Furthermore, the and for are calculated, where belongs to the range and is the lower bound of this range. Now each of these is converted to binary bits, where is the value corresponding to the same range of . Note that the same range table (Table 1 or Table 2) which was used during embedding should be used during extraction.

Step 3. If the LSB bit of is 0, then for this block the extraction procedure of LSB + EMD is applied as follows. The next two LSBs of are extracted. For all the remaining pixels (), the decimal equivalent of the embedded bits, is calculated as , for . Now each is converted to 2 binary bits.

4. Results and Discussion

The implementation work is done using MATLAB tool and with the RGB color images. The data hiding is performed in Red, Green, and Blue planes separately. It can also be applied on gray scale images. Experiments are done with many images. Few samples are shown here. Figure 3 represents four original samples. Figures 4 and 5 are their stego samples for Type 1 and Type 2 of technique 1, respectively. Figures 6 and 7 are the stego samples for Type 1 and Type 2 of technique 2, respectively. Each stego image has hidden 700000 (seven lakhs) bits of secret data. These stego images look innocuous and no distortion is observable.

In Table 3 the results of Wu and Tsai’s PVD technique and Shen and Huang’s [23] PVD + EMD technique are given. In Tables 4 and 5, the results of the proposed technique 1 and technique 2 respectively, are given. These results are comprised of four parameters, (i) hiding capacity [1], (ii) bits per byte (BPB) [8], (iii) PSNR [1], and (iv) quality index, [6].

It can be found from Tables 3, 4, and 5 that the hiding capacity and BPB of proposed technique 1 (Type 1 and Type 2) and technique 2 (Type 1 and Type 2) are significantly enhanced as compared to that of Wu and Tsai and Shen and Huang’s techniques. Furthermore, the PSNR of the proposed technique 1 (Type 1 and Type 2) and technique 2 (Type 1 and Type 2) are nearly equal to that of Wu and Tsai and Shen and Huang’s techniques.

Furthermore, the average performance of the proposed techniques is compared with that of Kieu and Chang’s [19] technique. The average BPB and PSNR for the proposed two techniques is as given in Table 6. Similarly the BPB and PSNR of Kieu and Chang’s technique for different values of the parameter is as given in Table 7. By observing Table 6 we can find that in the proposed techniques with BPB values 2.14, 2.18, 2.28, and 2.32, the PSNR values are 41.07, 40.28, 38.95, and 37.26, respectively. By observing Table 7 we can find that in the Kieu and Chang’s technique with BPB values 1, 2, 3, and 4, the PSNR values are 52.39, 46.74, 40.82, and 34.82, respectively. Thus, the PSNR and BPB values of Kieu and Chang’s technique (for , BPB = 2.5, and PSNR = 43.29) are slightly better than that of the proposed techniques (BPB = 2.32, and PSNR = 41.07). But there is no experimental evidence that Kieu and Chang’s technique is undetectable by PDH analysis and RS analysis. The proposed techniques are undetectable by PDH analysis; it is experimentally proved in Figures 9 and 10. It is also proved in Figures 11 and 12 that the proposed techniques are undetectable by RS analysis. PSNR and BPB are not only the measuring parameters; security analysis is also another parameter to be taken into consideration while judging the merit of a steganography technique.

Now let us come to security analysis. The PDH analysis diagrams clearly reveal the step effects in Shen and Huang’s technique, Figures 8(a) and 8(b). Wu and Tsai’s technique is also detected by PDH analysis, proved in [25]. But for the proposed techniques, Figures 9(a)9(d) and Figures 10(a)10(d), the step effects are not observable.

We can observe the RS analysis curves of the proposed technique 1 in Figure 11. In Lena image there is bigger number of smooth blocks, but in Baboon image there is bigger number of edge blocks. For Baboon image curves for and are linear and nearly parallel to each other. Similarly, curves for and are linear and nearly parallel to each other. Hence, the relation is strongly satisfied. For Lena image curve for is linear and the curve for is slightly diverging from it. Similarly, curves for are linear and the curve for is slightly diverging from it. Hence, the relation is weakly satisfied for Lena image. Figure 12 represents the RS analysis for technique 2. In all the four cases, the graphs for and are linear and nearly overlap with one another, and the graphs for and are linear and nearly overlap with one another. Hence, the relation is strongly satisfied. Hence, it can be concluded that RS analysis cannot detect the proposed steganography techniques.

5. Conclusion

Shen and Huang proposed PVD in connection with EMD to achieve greater hiding capacity and higher PSNR. But it is found to be detectable by pixel difference histogram analysis. To fix this problem, a combination of LSB substitution, PVD, and EMD is proposed in this paper. The proposed technique 1 and technique 2 operate on 2 × 2 and 3 × 3 pixel blocks, respectively, by calculating the average of the pixel value differences. Based on this average value, either PVD or EMD is applied in combination with LSB. Both the techniques give higher hiding capacity compared to that of Shen and Huang’s technique. The recorded PSNR values are also as good as that of Shen and Huang’s technique. If we compare between the two proposed techniques, then Type 1 of technique 1 is good for PSNR and Type 2 of technique 2 is good for hiding capacity. It has also been proved that the proposed techniques are not detectable by RS analysis.

Conflicts of Interest

The authors declare that they have no conflicts of interest.