DOI QR코드

DOI QR Code

Data Hiding Using Sequential Hamming + k with m Overlapped Pixels

  • Kim, Cheonshik (Dept. of Computer Science and Engineering, Sejong University) ;
  • Shin, Dongkyoo (Dept. of Computer Science and Engineering, Sejong University) ;
  • Yang, Ching-Nung (Dept. of Computer Science and Information Engineering, National Dong Hwa University) ;
  • Chen, Yi-Cheng (Dept. of Computer Science and Information Engineering, National Dong Hwa University) ;
  • Wu, Song-Yu (Dept. of Computer Science and Information Engineering, National Dong Hwa University)
  • Received : 2018.11.07
  • Accepted : 2019.06.13
  • Published : 2019.12.31

Abstract

Recently, Kim et al. introduced the Hamming + k with m overlapped pixels data hiding (Hk_mDH) based on matrix encoding. The embedding rate (ER) of this method is 0.54, which is better than Hamming code HC (n, n - k) and HC (n, n - k) +1 DH (H1DH), but not enough. Hamming code data hiding (HDH) is using a covering function COV(1, n = 2k -1, k) and H1DH has a better embedding efficiency, when compared with HDH. The demerit of this method is that they do not exploit their space of pixels enough to increase ER. In this paper, we increase ER using sequential Hk_mDH (SHk_mDH ) through fully exploiting every pixel in a cover image. In SHk_mDH, a collision maybe happens when the position of two pixels within overlapped two blocks is the same. To solve the collision problem, in this paper, we have devised that the number of modification does not exceed 2 bits even if a collision occurs by using OPAP and LSB. Theoretical estimations of the average mean square error (AMSE) for these schemes demonstrate the advantage of our SHk_mDH scheme. Experimental results show that the proposed method is superior to previous schemes.

Keywords

1. Introduction

 Secure communication is often accomplished through cryptography. However, For secret communication, steganography is more suitable than cryptography.The reason is the purpose of steganography is that the existence of hidden data is not detected by the adversary [1]. This technique uses a communication channel to transmit secretly after concealing messages on various media and it is called data hiding (DH) [2]. DH is to embed secret bits by slightly modifying the cover media. In fact, images contain a lot of redundant bits, making them very suitable for delivering secret messages. Meanwhile, techniques for detecting hidden data in images, i.e., steganalysis [3, 4], have also been actively researched. Therefore, most researches on DH have been dedicated on minimizing the damage of an image while allowing sufficient messages to be concealed in images.

 The method based on Least Significant Bit (LSB) is easily implemented by increasing or decreasing the values of pixels by only one to match the pixels of the image with the bits of the data. Meanwhile, in the aspect of image quality based on LSB, the optimal pixel adjustment process (OPAP) [5] is a great help for improving peak signal to noise ratio (PSNR) of stego image. Using only LSB, it is impossible to guarantee the quality of a stego image, because it could provoke distortion. Recently, Yang et al. [6] adopted LSB and OPAP with a cover image generated neighbor mean interpolation to improve visual quality in DH.

 Matrix encoding is a method to embed or extract the message by using syndrome. Crandall [7] proposed a DH called matrix encoding, Westfeld implemented the F5 algorithm [8] using Hamming code, and Bierbrauer et al. [9] analyzed the possibility of this method. Willems [10] introduced a binary embedding method and a ternary embedding method using Hamming code and Golay code respectively. The F5 algorithm is a method that conceals k bits into (2k − 1) pixels by using modifying the only one bit. F5 has higher embedding efficiency (EE) (which is the average number of embedded bits per change) [11] than the simple LSB method. Since then, many kinds of research based on matrix encoding have been developed inspired by the F5 [12].

 Zhang [13] and Fridrich [14] proposed ternary Hamming code that each secret digit in a (2n+1)-ary notational system is carried by n cover pixels by increasing or decreasing only one bit. Mielikainen [15] devised LSB matching revised method to achieve the same payload by modifying fewer pixels to the cover image than a simple LSB-based method. In Mielikainen’s scheme, the embedding procedure performs for two cover pixels, xi and xi +1, at a time. The value of the ith message bit mi is equal to the LSB of the ith pixel yi. The value of the i + 1th message bit mi + 1 is a function (LSB (\(\left\lfloor y_{i} / 2\right\rfloor+y_{i}+1\))) of yi and yi + 1. Zhang et al. [11] proposed Hamming + 1 DH (H1DH) embedding one more bit than COV (1, 2k − 1, k) with using one additional pixel. In H1DH, the performance improves by employing the OPAP. Recently, Kim and Yang [16] proposed a method of overlapping three pixels to improve ER with COV (1, 2k − 1, k), and the ER was increased to about 0.12 compared to HDH.

 In [16], the second covering function COV (1, 2k − 1, k) uses a second LSB. Therefore, it causes a high distortion. Hamming + k (HkDH) [17] is a method to embed 2k in a fully overlapped virtual block (LSB ⊕ 2LSB) by using COV (1, 2k − 1, k), and OPAP and LSB were used for optimization. Therefore, HkDH has achieved high ER.

 Afterward, Kim et al. [18] extended HkDH to m overlapped pixels data hiding (Hk_mDH) to embed 2k bits in (2k+1 − m − 2) pixels by modifying at most 3 bits. But, if the values of two COV (1, 2k − 1, k) are the same, a collision problem may occur, which may inevitably cause a mean square error. Finally, the Hk_mDH achieves better embedding rate compared with HkDH. The problem of Hk_mDH is that the number of pixels that need to be excavated to embed many bits still remains. In this paper, we introduce sequential Hk_mDH (SHk_mDH) to solve the matter of Hk_mDH. SHk_mDH has a way of improving the performance of the ER without significantly degrading the quality of the cover image.

 The rest of this paper is organized as follows. Section 2 concisely reviews Hamming code, HDH, and Kim and Yang’s DH, and Hk_mDH. In Section 3, we present SHk_mDH. In addition, the AMSE of SHk_mDH is theoretically derived. In Section 4, the proposed SHk_mDH is tested using some images. A comparison with the HDH, H1DH, Kim and Yang’s DH, and Hk_mDH is also provided. In addition, we apply RS steganlysis to SHk_mDH. Finally, this paper concludes in Section 5.

 

2. Related Work

2.1 Hamming Code

 HC (n, k) codes are a single error correction linear code with dmin = 3 and parity check matrix H of k × n(= 2k − 1), where k is the number of information bits and (n − k) is the number of parity bits. The parity check matrix H for k = 3 is

\(\mathbf{H}=\left[\begin{matrix}0\\0\\1\\\end{matrix}\ \ \begin{matrix}0\\1\\0\\\end{matrix}\ \ \begin{matrix}0\\1\\1\\\end{matrix}\ \ \begin{matrix}1\\0\\0\\\end{matrix}\ \ \begin{matrix}1\\0\\1\\\end{matrix}\ \ \begin{matrix}1\\1\\0\\\end{matrix}\ \ \begin{matrix}1\\1\\1\\\end{matrix}\right].  \)         (1)

 The n-bit column vectors xb and yb are LSB of pixels \(x=\left(x_{1}, \dots, x_{n-k}\right)\) and \(y = \left(y_{1}, \dots, y_{n}\right)\), where  xb and ywill be denoted \(F_{2}^{n-k} \text { and } F_{2}^{n}\), respectively.

 Let yb is obtained from an information bits xvia (n-k)\times n generator matrix G, i.e., yb=x· G. For any yb, the vector  \(S=H y_{b}^{T}\left(\in F_{2}^{k}\right)\) is called the syndrome of yb. For each syndrome S, the set Ĉ(S) = {\(y_{b} \in F_{2}^{n}\) | Hyb = S} is called a coset. Note that Ĉ (0) = Ĉ. For any syndrome S, let dec(S) be the integer. For any non-zero syndrome S, the vector e (S) = (0,…,1,…,0) with 1 at the dec(S)-th place, i.e., \(H e(S)=S\). To embed \(\delta\left(\in F_{2}^{k}\right)\) message bits, replace y with \(\hat{y}=y_{b} \oplus e\left(\delta-\mathrm{H} y_{b}\right)\). The receiver extracts the message from \hat{y} by Eq. (2).

\(\left\{\begin{array}{c}\hat{y} \cdot H^{T}=\left(y_{b} \oplus e\right) \cdot H^{T}=y_{b} \cdot H^{T}+\delta-y_{b} \cdot H^{T} \\=\delta\end{array}\right.\)       (2)

 In order to embed \(\delta\) message bits in each subset by making at most one embedding change, we divide the cover image into N/n(=2k-1) subsets, each consisting of n pixels. Suppose that there is one error bit occurred in \hat{y}  (say the 6-th bit from left), i.e., \(e=\left(e_{1}, \dots, e_{7}\right)\)= (0000010). The syndrome S = (110) is extracted. It means that the error position is the 6-th from left.

 

2.2 Hamming coding+1 data hiding (H1DH)

 For H1DH, k secret bits \(\delta\) embed to\(y_{b}=\left(y_{1,} \ldots, y_{n}\right) \text { of } n\left(=2^{k}-1\right)\) pixels using COV(1, n,k) by flipping at most one bit. An extra 1-bit embeds at 2k by using OPAP. That is, first k was embedded by using syndrome \(\hat{y}=y_{b} \oplus e\left(\delta-\mathrm{Hy}_{b}\right) . \text { If }\left(\hat{y} \cdot H^{T}=\delta\right)\). ,there is no needed any action. For embedding (, one change is needed with probability \(\left(2^{k}-1\right) / 2^{k}\). To embed k+1 bits, they append one pixel like \(y=\left(y_{1}, \dots, y_{n}, y_{n+1}\right)\). By \(y_{i} \pm 1\), its \(b\left(y_{i}\right)\) becomes the same binary \(b\left(y_{i}\right) \oplus 1\), while \(2 b\left(y_{i}\right)\) can either be 0 or 1 after\(b\left(y_{i}\right) \oplus 1\), where \(b(\cdot)=\left(y_{i} \bmod 2\right) \text { and } 2 b(\cdot)=\left(\left\lfloor y_{i} / 2\right\rfloor \bmod 2\right)\)  are LSB and 2LSB, respectively.

\(\left(\delta_{1}, \ldots, \delta_{k}\right)^{T}=H \cdot y_{b}\)       (3)

\(\delta_{k+1}=\left(2 b\left(y_{1}\right)+\cdots+2 b\left(y_{2^k{-1}}\right)+b\left(y_{2^k}\right)\right) \bmod 2\)       (4)

 There are four embedding optimal rules for H1DH.

 (O1): When Eqs. (3) and (4) are satisfied, no action.

 (O2): When only Eq. (3) is fulfilled, process \(y_{2} k \pm 1\)

 (O3): When only Eq. (4) is satisfied, process \(y_{i} \pm 1\).

 (O4): When both of two are not satisfied, process \(y_{2} k \pm 1\).

 

2.3 Hamming+k scheme with m overlapped pixels (Hk_mDH)

 The Hk_mDH [19] is the extended method of HkDH [18]. Suppose that one block is composed of \(\left(2^{k+1}-m-2\right)\) pixels \(\left(y_{1}, \dots, y_{2^{k+1}-m-2}\right)\) with m overlapped pixel.

E1KOBZ_2019_v13n12_6159_f0001.png 이미지

Fig. 1. Block diagram of Hk_mDH with k=3 and m = 3.

 Hk_mDH uses COV(1, 2k-1, k) to embed k secret bits \(\left(\delta_{1}, \ldots, \delta_{k}\right)\) into the first (2k-1) pixels, and then embed the other k secret bits into the last (2k-1) pixels. The first (2k-1) pixels are \(\left(y_{1}, \dots, y_{2} k_{-1}\right)\), and the other  pixels are \(\left(y_{2^{k}-m^{\prime}} \ldots, y_{2^{k}-m-1}\right)\). As shown in Fig. 1, consider the example k=3 (i.e., using (7, 4) Hamming code) and m=3. There are total 11(=23+1-3-2) pixels with 3 overlapped pixels. To embed secret bits, we apply Eqs. (5) and (6) to each pixels (2k-1).

\(\left\{\begin{array}{c}p=\left(\left(b\left(y_{1}\right), \ldots, b\left(y_{2^k{-m-1}}\right), b\left(y_{2^k{-m}}\right) \oplus 2 b\left(y_{2^k{-m}}\right), \ldots, b\left(y_{2^k{-1}}\right) \oplus 2 b\left(y_{2^k{-1}}\right)\right)\right. \\\left(\delta_{1}, \ldots, \delta_{k}\right)^{T}=H \cdot p^{T}\end{array}\right.\)       (5)

\(\left\{\begin{array}{c}q=\left(\left(2 b\left(y_{2^k{-m}}\right), \ldots, 2 b\left(y_{2^k{-1}}\right),\left(y_{2^k}\right), \ldots, b\left(y_{2^{k+1}{-m-2}}\right)\right)\right. \\\left(\delta_{k+1}, \ldots, \delta_{2 k}\right)^{T}=H \cdot q^{T}\end{array}\right.\)        (6)

 We embed k secret bits into the first seven bits p for Eq. (5), and then embed the other k secret bits into the other seven bits q of Eq. (6). Except the m overlapped pixels, other pixels adopt the LSBs. The overlapped pixels in Eq. (5) (respectively, Eq. (6)), are the XOR-ed results of 1st LSB and 2nd LSB, and 2nd LSB, respectively.

The embedding algorithm is as follows.

The embedding algorithm (Hk_mDH), m=3

Input: Original image OI

Output: Stego image SI

(Step 1) Read one block from the cover object, and generate a codeword, p by Eq.(5).

(Step 2) S_1=H\bullet p^Tand S_1^\prime=S_1\ (\ _j^{j+2},\ j=1.

(Step 3) If (S_1^\prime  (2^k-m), (x_{S_1^\prime}),

else if (S_1^\prime  (2^k-1)), when (2b|b(x_{S_1^\prime})=(\left[00\right]\ or\ [10])): y_{S_1^\prime}+1 and

when (b(y_{S_1^\prime})=(\left[01\right]\ or\ \left[11\right])): y_{S_1^\prime}-1.

(Step 4) Generate another codeword, q by Eq.(6)

(Step 5) S_2=H\bullet q^Tand S_2^\prime=S_2\ (\ _j^{j+2}.

(Step 6) If (S_1^\prime=S_2^\prime), {(y_{2^{k+1}-m-2}), goto (Stegp 5)}

else if (S_1^\prime ≠S_2^\prime), {

If S_2^\prime  2^k, (x_{S_2^\prime}),

else if (S_2^\prime 2^k-m & S_2^\prime  2^k+1),

when (2b|b(x_{S_2^\prime})=(\left[00\right]\ or\ [10])): x_{S_2^\prime}-1 and

when (2b|b(x_{S_2^\prime})=(\left[01\right]\ or\ \left[11\right])): x_{S_2^\prime}+1.

}

(Step 7) Go to Step 1 until not end of block.

 

3. The Proposed Schemes

3.1 Design concept

 All Hamming code based DHs are shown in Fig. 2. The ERs for HDH, H1DH, HkDH, and Hk_mDH are k/n, (k+1)/n, 2k/n, 2k/(2n-m), respectively (see Figs. 2(a)~(d)). As shown in Fig. 2(e), the proposed SHk_mDH is to sequentially use Hk_mDH to embed secret bits. The ER of the proposed SHk_mDH is derived as Eq. (7).

\(E R=\frac{\alpha \cdot k}{\alpha \cdot(n-m)+m}=\frac{k}{(n-m)+m / \alpha}=\frac{k}{n-m}(\text { for } \alpha \rightarrow \infty)\)       (7)

 The value of k/(n-m) is larger than k/(2nm) of Hk_mDH. For instance, when \(\alpha \) = 3, n = 7, and m = 3, ER = 9/15 = 0.75. In aspect of PSNR, the SHk_mDH is the same to Hk_mDH. We can reduce the distortion by using OPAP and LSB.

 In our proposed block overlapping approach, an image is divided by blocks of sized (1  n) pixels. At this time, every block has 2m overlapped pixels except for the first block including m overlapped pixels. The main difference between the SHk_mDH and the Hk_mDH is that we sequentially embed secret bits with (n  2m)  0 (see Fig. 2(e)).

E1KOBZ_2019_v13n12_6159_f0002.png 이미지

Fig. 2. Diagrammatical representation of Hamming code based DH: (a) HDH (b) H1DH (c) HkDH (d) Hk_mDH (e) the SHk_mDH.

 

3.2 Embedding Procedure

 For brief explanation, we here assume that k = 3 (i.e., by COV (1, 7, 3) covering function) and m = 3 for the proposed SHk_mDH, which can embed 3 secret bits into 7 overlapped cover pixels.

 The detailed procedure of the embedding is as follow.

The embedding algorithm (SHk_mDH)

Input: Original image OI

Output: Stego image SI

(Step 1) Read one block, overlapped (2^k-1) pixels (x_i^{2^k-1}), from the cover object and generate a codeword, p(F_2^n, by Eq.(8).

(Step 2) Calculate the syndrome S=H(p^Tand S^\prime=S(\ (_{j=1}^{j+2}).

(Step 3) if S ≠ 0 {if (S  4){figure out Eq. (9) },

else if (S  7) { figure out Eq. (10)}.

Note: 2b|b(x) means 2LSB and LSB of parameter pixel x in Eqs.(9) and (10).

(Step 4) If not end of the block, i = i+ 4, j = j+3 and go to Step 1.

\(\left.p=\left(b\left(x_{1}\right) \oplus b\left(\left|\frac{x_{1}}{2}\right|\right), \ldots, b\left(x_{4}\right) \oplus\left(\left\lfloor\frac{x_{4}}{2}\right\rfloor\right), b\left(| \frac{x_{5}}{2}\right]\right), \ldots, b\left(\left\lfloor\frac{x_{7}}{2}\right\rfloor\right)\right)\)       (8)

\(x_{S^{\prime}}=\left\{\begin{array}{ll}x_{S^{\prime}}+1 & \text { if }\left(2 b | b\left(x_{S^{\prime}}\right)=([00] \text { or }[10])\right) \\x_{S^{\prime}}-1 & \text { if }\left(2 b | b\left(x_{S^{\prime}}\right)=([01] \text { or }[11])\right)\end{array}\right.\)       (9)

\(x_{S^{\prime}}=\left\{\begin{array}{ll}x_{S^{\prime}}+1 & \text { if }\left(2 b | b\left(x_{S^{\prime}}\right)=([01] \text { or }[11])\right) \\x_{S^{\prime}}-1 & \text { if }\left(2 b | b\left(x_{S^{\prime}}\right)=([00] \text { or }[10])\right)\end{array}\right.\)       (10)

E1KOBZ_2019_v13n12_6159_f0003.png 이미지

Fig. 3. Embedding example using SHk_mDH.

 Example 1: We demonstrate the embedding procedure using given x and \(\delta\) as shown in Fig. 3. For embedding, first, x = (162, 162, 162, 162, 162, 164, 161) and \(\delta\) = (010) is given.

 The codeword p is obtained from a vector x using Eq. (8) and then figure out syndrome S = H·p = (001) using the codeword p.  First 4 bits of the codeword is obtained by using 2LSB \( \oplus\) LSB. The other 3-bits are extracted from 2LSB of the x directly. S'(= S \( \oplus\) \(\delta\)) means the codeword p has new error e = (0010000). If we flip the third bit, then syndrome of the codeword p’ is equal to S = (011). However, it is not acceptable to modify a bit in the codeword p for embedding secret bits directly, because the codeword p cannot store any bits. Therefore, we must modify a pixel in the vector x directly according to the rule in Eqs. (9) and (10). In this case, since S' is 3, it is belonging to the rule of Eq. (9). Thus, because \(b 2 | b\left(x_{\mathrm{S}^{\prime}}\right)\) is equal to “[10],” figure out \(x_{\mathrm{S}^{\prime}}=x_{\mathrm{S}^{\prime}}+1\). That is, x3 become 163.

 For second, x = (162, 164, 161, 158, 156, 156, 157), including three overlapped pixels (162, 164, 161) of former pixel, and secret bits \(\delta\) = (001) are given.

 First, we generate the codeword p from the vector x using Eq. (8) and calculate both S and S' in the same way in the first case. Since S' is less than or equal to 7, it is belong to the rule of Eq. (10). That is, x6 = 155. For third and fourth cases, we can get the same way like Fig. 3(a) and (b).
 

3.3 Theoretical Estimation of PSNR

 The AMSE of SHk_mDH is estimated as follows. Consider a codeword Ci of length n (=2k-1), where we could embed k secret bits. Because the proposed SHk_mDH embeds every k secret bits with m overlapped pixels recursively. Therefore, embedding secret bits in the previous codeword Ci-1 and the next codeword Ci+1 may modify the pixels in the current codeword Ci.

 Originally, when the modification places in overlapped area of are the same, we should modify other two modification places to avoid the collision. There are j modifications, \(0 \leq j \leq 3\), in Ci.

Case (1) j=0:

\(A M S E_{0}=\overbrace{\left.\frac{n-m+1}{n+1} \times \frac{1}{n+1} \times \frac{n-m+1}{n+1}\right) \times 0^{2} / n}\)

Case (2) j=1:

\(1. modification in C=A M S E_{1}=\overbrace{\left(\frac{n-m+1}{n+1} \times \frac{n}{n+1} \times \frac{n-m+1}{n+1}\right) \times 1^{2} / n}+\overbrace{\left(\frac{m}{n+1} \times \frac{1}{n+1} \times \frac{n-m+1}{n+1}\right) \times 1^{2} / n+}^{\text {area between } C_{-1} \text {and } C_{1} ; 0 \text { intintinoting } / \text { modification }}\)

\(\left(\frac{n-m+1}{n+1} \times \frac{1}{n+1} \times \frac{m}{n+1}\right) \times 1^{2} / n\)

Case (3) j=2:

 

 

Case (4) j=3:

 Finally, the AMSE of SHk_mDH is derived as follows. For simplicity, we may neglect the cases that the collision in overlapped area to get a simple form of AMSE as \(\frac{1}{2^{k}}+\frac{m /\left(2^{k}-1\right)}{2^{k-1}}\)} (see Eq.(11)).

\(=\left\{\begin{array}{lc}A M S E_{SHk_{-} m}=\sum_{j=0}^{3} A M S E_{j}=\overbrace{\frac{2m+n}{n+1}/n}^{\text{no collision}}+\overbrace{\frac{2m·(n-m+2)}{{(n+1)}^3}/n}^{\text{collisions occur}}\\\approx \frac{2 m+n}{n+1} / n=\frac{2 m+2^{k}-1}{2^{k}}/\left(2^{k}-1\right)=\frac{1}{2^{k}}+\frac{m /\left(2^{k}-1\right)}{2^{k-1}}\end{array}\right.\)       (11)

 

4. Experiment and Comparison

4.1 Experimental Results

 To demonstrate the performance of the proposed method, we compare it with HDH, H1DH, Kim & Yang’s DH, and Hk_mDH by using PSNR and EC. In this experiment, we use 512×512 original grayscale images as cover images [19]. The PSNR is an expression for the ratio between the maximum possible value (energy) of a signal and the energy of distorting noise that affects the quality of its representation. The visual quality of digital images is very subjective because of personal bias. This is why we should establish quantitative/empirical measures to compare the effects of image quality. Using the same set of tests images, different DH algorithms can be compared fairly to identify which algorithm has better results. If a stego image can closely resemble the original, then it is a good algorithm. In this aspect, the PSNR may help us to do this.

 The value of MSE used to measure average the squared intensity differences between a distorted image and reference image. If an image has a small MSE value, it has a relatively good visual quality. The MSE between two image x and y is

\(\operatorname{MSE}(x, y)=\frac{1}{N} \sum_{i=1}^{N}\left(x_{i}-y_{i}\right)^{2}\)       (12)

 The value ei = xi − yi denotes the difference between the original and distorted signal. The MSE is a function for PSNR measure where L is the dynamic range of allowable pixel intensities. For example, for an 8-bit per pixel image, L = 28 − 1 = 255.

\(P S N R=10 \log _{10} \frac{L^{2}}{M S E}\)       (13)

 Meanwhile, the EC adopts to compare the performance of the DH through measuring embedding capacity of the cover image. Obviously, most DHs endeavor to increase EC without degrading the quality of stego image. Eq. (14) implies that EC is the ratio of the number of message bits (||\(\delta\)||)to the total number of pixels.

\(\rho=\frac{\|\delta\|}{N \times N}\)       (14)

 Table 1 shows the comparison among HDH, H1DH, Kim and Yang’s DH, Hk_mDH, and the proposed SHk_mDH which are HC based DHs. Each ER of those is 0.43, 0.5, 0.54, 0.54, and 0.75, respectively. The ER of SHk_mDH is higher than those of other DHs. Moreover, the SHk_mDH is also better than that of Kim and Yang’s DH in the aspect of ER and PSNR. The PSNR of Hk_mDH is slightly higher than that of SHk_mDH, but ER of the SHk_mDH is 0.75 and so it is higher than 0.54 of Hk_mDH.

Table 1. Performance comparison of all Hamming-like DHs

E1KOBZ_2019_v13n12_6159_t0001.png 이미지

Table 2. Performance of SHk_mDH for 1m3.

E1KOBZ_2019_v13n12_6159_t0002.png 이미지

 H1DH is superior in quality compared to other DHs, but the proposed SHk_mDH is the highest among all DHs in the respect of PSNR. Especially, SHk_mDH and Hk_mDH will be able to determine ER using the parameter m. In fact, there is a trade-off between PSNR and ER. We may adjust the value of m according to our application.

 Table 2 shows the performance of SHk_mDH based on variable m. For \(1 \leq m \leq 3\), ERs are 0.5, 0.6, and 0.75, respectively. That is to say, ERs increase as increasing the parameter m. Meanwhile, PSNRs decrease. The strength of our SHk_mDH is that users may embed a large number of bits by increasing the value of m with retaining the high PSNR.

Table 3. Performance comparison of proposed scheme and previous schemes (when ER = 0.34)

E1KOBZ_2019_v13n12_6159_t0003.png 이미지

E1KOBZ_2019_v13n12_6159_f0004.png 이미지

Fig. 4. Comparison of Goldhill images generated from various schemes: (a) original (b) HDH (58.12 dB), (c) H1DH (60.24 dB), (d) Kim and Yang’s DH (57.89 dB), (e) Hk_mDH (58.01 dB),and (f) SHk_mDH (58.92 dB).

 Table 3 shows the comparison of PSNR between proposed SHk_mDH and previous schemes such as HDH, H1DH, Kim & Yang's DH, and Hk_mDH when ER is 0.34. As shown in Table 3, even if the same amount of data are hidden in given images, the PSNR of the stego images appears different results depending on the performance of the algorithm. In this experiment, SHk_mDH (in case of COV (15, 4)) had higher PSNRs than HDH, Kim and Yang's DH, and Hk_mDH, while PSNR of H1DH is 0.13 dB higher than that of SHk_mDH. In fact, SHk_mDH maximize ER while maintaining PSNR.

E1KOBZ_2019_v13n12_6159_f0005.png 이미지

Fig. 5.  PSNR trends curves of Lena image (when m = (1..3)).

 When ER = 0.34, Fig. 4 represents the comparison among original images and stego images such as (a) original (b) HDH, (c) H1DH, (d) Kim and Yang’s DH, (e) Hk_mDH, and (f) SHk_mDH. The PSNR of H1DH is the highest. The PSNR of SHk_mDH is higher 0.92 dB than that of Hk_mDH.

 As shown in Fig. 5, experiments were conducted to verify the performance of the proposed method for \(1 \leq m \leq 3\) and the ER was (0.1...0.75). The grayscale Lena image is used for ths experiment. For the same ER, the PSNR of m=1 is higher than those of m=2 and 3.

 Entropy [21] is a statistical measure of randomness that can be used to characterize the texture of the input image. The normalized histogram is an estimate of the underlying probability of pixel intensities, i.e., N/h(i), where h(i) denotes the histogram entry of intensity value in an image and N is the total number of pixel. The entropy of an image is computed as:

\(\mathrm{E}=\Sigma_{i} h(i) \log \frac{N}{h(i)}\)       (15)

 When the relative entropy E lying between two probability distribution functions is zero, the system is perfectly secure. In Table 4, the entropy of original image (Entropy O), stego image (Entropy S), and the difference between Entropy O and Entropy S are enumerated. It appears that when the number of bits in the secret message increases, the relative entropy in stego image also increases. Because the differential entropy is approximated to zero, it means the proposed scheme endures an attack of steganalysis tools.

Table 4.  Comparison of relative entropy between original images and stego images.

E1KOBZ_2019_v13n12_6159_t0004.png 이미지

 RS steganalysis [22] was developed with the intent to detect embedded secret messages using LSB replacement. For RS steganalysis, the discrimination function (DF) f was used (Eq.(16)), which is to capture the smoothness or “regularity” of the group of pixels.

\(f\left(x_{1}, x_{2}, \ldots, x_{n}\right)=\sum_{i=1}^{n-1}\left|x_{i+1}-x_{i}\right|\)       (16)

 A pixel groups can be classified as three types: R, S, and U.

 · Regular groups: \(\mathrm{G} \in \mathrm{R} \Leftrightarrow f(\mathrm{F}(\mathrm{G}))>f(\mathrm{G})\).

 · Singular groups: \(\mathrm{G} \in \mathrm{R} \Leftrightarrow f(\mathrm{F}(\mathrm{G}))<f(\mathrm{G})\).

 · Regular groups: \(\mathrm{G} \in \mathrm{R} \Leftrightarrow f(\mathrm{F}(\mathrm{G}))=f(\mathrm{G})\).

where F(G) is \(\left(\mathrm{F}_{\mathrm{M}(1)}\left(x_{1}\right), \mathrm{F}_{\mathrm{M}(2)}\left(x_{2}\right), \ldots, \mathrm{F}_{\mathrm{M}(n)}\left(x_{n}\right)\right)\). Thus, total number of R groups will be increase than the total number of S groups. When the parameters satisfy Eq.(17), it indicates that there is no hidden data in the respective image. When an image has hidden data, R-M and SM increases, whereas RM and SM decrease and detected by RS steganalysis.

\(R_{M} \approx R_{-M} \text { and } S_{M} \approx S_{-M}\)       (17)

 According to increase ER, the difference between RM and SM is to zero. After flipping the LSB of about 43% of pixels, it become \(\mathrm{R}_{\mathrm{M}} \neq \mathrm{S}_{\mathrm{M}}\), where M = [1 1 0 0 1]. As shown in Fig. 6 (a), it is a few to find the  \(\mathbf{R}_{\mathrm{M}} \approx \mathbf{R}_{\mathrm{-M}}\) and \(\mathrm{S}_{\mathrm{M}} \approx \mathrm{S}_{-\mathrm{M}}\). Meanwhile, in Fig. 6 (b),(c), and (d), we can see\(\mathbf{R}_{\mathrm{M}} \approx \mathbf{R}_{\mathrm{-M}}\) and \(\mathrm{S}_{\mathrm{M}} \approx \mathrm{S}_{-\mathrm{M}}\) until about 100%. Therefore, HDH, Hk_mDH, and SHk_mDH have safety zones avoiding steganalysis detection.

E1KOBZ_2019_v13n12_6159_f0006.png 이미지

Fig. 6. Comparison of RS diagram between schemes (when ER = 0.43).

 

5. Conclusion

 Hk_mDH is better than previous HC based DHs in the aspect of ER. In this paper, the reason why we proposed SHk_mDH was that Hk_mDH is not applied sequentially. As a result, could the sequential approach increases the ER to 0.75 when m = 3. In SHk_mDH, a collision may occur when the same positions in two overlapping blocks need to be corrected at the same time. In this paper, we solve the collision problem using OPAP and LSB. In addition, we demonstrated the superiority of SHk_mDH via experiments and proofs.

 

Acknowledgements

 This research was supported in part by Ministry of Science and Technology (MOST), under Grant 107-2221-E-259-007-. This research was supported by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (2018R1D1A1B07047395), National Research Foundation of Korea (NRF) funded by (2015R1D1A1A01059253), and was supported under the framework of international cooperation program managed by NRF (2016K2A9A2A05005255).

References

  1. P. Moulin and R. Koetter, "Data-hiding codes," in Proc. of IEEE, vol. 93, pp. 2083-2126, 2005. https://doi.org/10.1109/JPROC.2005.859599
  2. W. Bender, D. Gruhl, N. Morimoto, A. Lu, "Techniques for data hiding," IBM Systems Journal, vol. 35, no. 3.4, pp. 313 - 336, 1996. https://doi.org/10.1147/sj.353.0313
  3. J. Fridrich, M. Goljan, D. Hogea, "Steganalysis of JPEG Images: Breaking the F5 Algorithm," in Proc. of Petitcolas F.A.P. (eds) Information Hiding. IH 2002. Lecture Notes in Computer Science, vol. 2578. Springer, Berlin, Heidelberg, pp.310-323, 2003.
  4. Z. Xia, X. Wang, X. Sun, Q. Liu, N. Xiong, "Steganalysis of LSB matching using differences between nonadjacent pixels," Multimed. Tools Appl., vol. 75, no. 4, pp. 1947-1962, February 2016. https://doi.org/10.1007/s11042-014-2381-8
  5. C.K. Chan, L.M. Cheng, "Hiding data in images by simple LSB substitution," Pattern Recognition, vol. 37, no. 3, pp. 469-474, March 2004. https://doi.org/10.1016/j.patcog.2003.08.007
  6. C.N. Yang, S.C. Hsu, C. Kim, "Improving stego image quality in image interpolation based data hiding," Computer Standards & Interfaces, vol. 50, pp. 209-215, February 2017. https://doi.org/10.1016/j.csi.2016.10.005
  7. R. Crandall, "Some notes on steganography," 30 November 2018.
  8. A. Westfeld, "F5-A Steganographic Algorithm: High Capacity Despite Better Steganalysis," in Proc. of the 4th International Workshop on Information Hiding, pp. 289-302, 2001.
  9. J. Bierbrauer, J. Fridrich, "Constructing good covering codes for applications in steganography," Trans. on Data Hiding and Multimedia Security III, pp. 1-22, 2008.
  10. M. van Dijk and F. M. J. Willems, "Embedding information in grayscale images," in Proc. of the 22nd Symposium on Information and Communication Theory in the Benelux, pp. 147-154, (Enschede, The Netherlands), May 2001.
  11. W. Zhang, S. Wang, X. Zhang, "Improving embedding efficiency of covering codes for applications in steganography," IEEE Commun. Lett., vol. 11, pp. 680-682, 2007. https://doi.org/10.1109/LCOMM.2007.070438
  12. R. Zhang, V. Sachnev, B.M. Bakke, H.J. Kim, J. Heo, "An efficient embedder for BCH coding for steganography," IEEE T. Inform. Theory, vol. 58, no. 12, pp. 7272-7279, December 2012. https://doi.org/10.1109/TIT.2012.2217072
  13. X. Zhang, S.Wang, "Efficient steganographic embedding by exploiting modification direction," IEEE Communications Letters, vol. 10, no. 11, pp. 781-783, 2006. https://doi.org/10.1109/LCOMM.2006.060863
  14. J. Fridrich, P. Lisonek, "Grid coloring in steganography," IEEE Transactions on Information Theory, vol. 53, no. 4, pp. 1547-1549, 2007. https://doi.org/10.1109/TIT.2007.892768
  15. J. Mielikainen, "LSB matching revisited," IEEE Signal Proc. Let., vol. 13, pp. 285-287, 2006. https://doi.org/10.1109/LSP.2006.870357
  16. W. Zhang, S. Wang, X. Zhang, "Improving embedding efficiency of covering codes for applications in steganography," IEEE Communications Letters, vol. 11, no. 8, 680-682, 2007. https://doi.org/10.1109/LCOMM.2007.070438
  17. C. Kim, C.N. Yang, "Data hiding based on overlapped pixels using Hamming code," Multimedia Tools Appl., vol. 75, no. 23, pp. 15651-15663, December 2016. https://doi.org/10.1007/s11042-014-2355-x
  18. C. Kim, D. Shin, C.N. Yang, Y.S. Chou, "Improving capacity of Hamming (n, k)+1 stego-code by using optimized Hamming + k," Digital Signal Processing, vol. 78, pp. 284-293, July 2018. https://doi.org/10.1016/j.dsp.2018.03.016
  19. C. Kim, D. Shin, C.N. Yang, Y.S. Chou, "Capacity enhancement of Hamming+k data hiding by pixel overlapping approach," in Proc. of the IEEE 17th International Conference on Communication Technology (ICCT), pp.1242-1246, 2017.
  20. "Image database ref.," 31 May 2017.
  21. A. Rashid, N. Salamat, V.B.S. Prasath, "An Algorithm for Data Hiding in Radiographic Images and ePHI/R Application," Technologies, vol. 6, no. 1, pp.1-12, 2018. https://doi.org/10.3390/technologies6010001
  22. J. Fridrich, M. Goljan, R. Du, "Reliable Detection of LSB Steganography in Grayscale and Color Images," in Proc. of the ACM Workshop on Multimedia and Security, Ottawa, Canada, pp. 27-30, October 5, 2001.