Reversible Data Hiding in Encrypted Color Halftone Images with High Capacity

: In recent years, reversible data hiding (RDH) has become a research hotspot in the ﬁeld of multimedia security that has aroused more and more researchers’ attention. Most of the existing RDH algorithms are aiming at continuous-tone images. For RDH in encrypted halftone images (RDH-EH), the original cover image cannot be recovered losslessly after the watermark is extracted. For some application scenarios such as medical or military images sharing, reversibility is critical. In this paper, a reversible data hiding scheme in encrypted color halftone images (RDH-ECH) is proposed. In the watermark embedding procedure, the cover image is copied into two identical images to increase redundancy. We use wet paper code to embed the watermark into the image blocks. Thus, the receiver only needs to process the image blocks by the check matrices in order to extract the watermarks. To increase embedding capacity, we embed three layers in the embedding procedure and combine the resulting images into one image for convenience of transmission. From the experimental results, it can be concluded that the original image can be restored entirely after the watermarks are extracted. Besides, for marked color halftone images, our algorithm can implement high embedding capacity and moderate visual quality.


Introduction
Data hiding refers to making the cover image imperceptibly and keeping the existence of the hidden data confidential. We call the hidden data a watermark. Reversible data hiding (RDH) is a technique that the cover image can be restored losslessly after the watermark is extracted [1]. This characteristic makes RDH suitable for high authentication scenarios, such as medical image processing or military communication. It is widely used in applications such as law forensics [2][3][4], military imagery, medical imagery [5], cloud storage [6,7], copyright protection [8][9][10][11], etc. The traditional RDH schemes can be classified into several categories such as lossless compression [12], difference expansion (DE) [13,14], histogram shifting (HS) [15,16], and pixel prediction [17]. Combined with image encryption schemes, many algorithms of RDH in encrypted domain (RDH-ED) have been proposed. According to whether the image decryption and data extraction procedures are separated, the RDH-ED algorithms can be categorized into two types: (1) inseparable algorithms; and (2) separable algorithms.
For inseparable algorithms, Puech et al. [18] applied RDH algorithms to encrypted images by embedding additional bits into pixels blocks encrypted by AES (Advanced Encryption Standard). In 2011, Zhang proposed an algorithm that flips the three least significant bits (LSBs) of half of the pixels in each block [19]. The embedded additional data can be extracted after the encrypted image with additional data being decrypted. Hong et al. [20] improved Zhang's algorithm [19] by adopting a better measurement method for the smoothness of blocks and using the side-match scheme to decrease the error rate of extraction.
For separable algorithms, Zhang proposed a separable RDH-ED, in which image decryption and data extraction procedures are independent operations [21]. Qian et al. introduced an algorithm that solved a problem of Zhang's scheme [22], which cannot recover the original image completely. In [23], Ma et al. proposed an improved embedding capacity algorithm that needed to reserve room before encryption. Besides, the embedding capacity of the encrypted image is improved. Fu et al. [24] proposed an effective algorithm with adaptive encoding strategy. MSB (most significant bit) layers of embeddable blocks are adaptively compressed according to occurrence frequency of MSB in order to vacate room for data accommodation.
As for halftone images, there are few RDH algorithms available in the literature. Since the redundancy left in halftone image is low, most RDH algorithms for continuous-tone images cannot be directly used in halftone images. Depending on whether the continuous-tone image is available to the embedding process, the RDH algorithms for halftone images can be classified into two categories: (1) Only the halftone image joins the embedding process. Fu and Oscar proposed RDH-EH algorithm by forced complementary toggling at pseudo-random locations if only the halftone image is available [25]. Lien et al. introduced a high-capacity RDH method for ordered dithered halftone images, which applied dither matrix to pixel pairs so that abundant data can be hidden into these pixel pairs [26]. Kim et al. proposed a separable RDH algorithm, which used Hamming codes to embed watermark [27]. (2) The continuous-tone image joins the embedding process. For the situation in which the original continuous-tone image is available, Fu and Oscar proposed an algorithm that integrates the data hiding operation into the error diffusion process [25]. Lo et al.'s algorithm embedded the binary data into the halftone images with reference to the original continuous-tone image by evaluating the absolute difference between the neighboring gray-level pixels [28]. This method is extended from that of Fu and Au [25].
For the problem of RDH in encrypted halftone image, the remaining redundancy is very difficult to utilize. Designing RDH algorithm for encrypted halftone image is a challenging problem. In this paper, we focus on the topic of RDH in encrypted color halftone images (RDH-ECH), where the original cover image can be restored from the stego image after extracting the watermark. To overcome the problem that in the encrypted halftone images little redundancy exists, we adopt dual cover images in the embedding process. The role of dual images are different from the two shares in visual cryptography [29,30]. Dual images are used to create redundancy for data hiding. We also combine the resulting stego images for facilitating transmission. Because of the reversibility, the proposed method can be applied to data hiding applications such as the healthcare industry and online distribution systems. Unless owning the secret keys, attackers cannot restore the original halftone image and watermark losslessly.
The remaining part of this paper is organized as follows. Section 2 introduces the necessary background of the proposed algorithm which is wet paper code scheme. The proposed scheme is elaborated in Section 3. The experimental results are presented in Section 4, which includes test of lossless recovery, security, visual quality, embedding capacity, and computational complexity. Finally, Section 5 concludes this paper.
Unless otherwise stated, all vectors are column vectors by default.

Related Works
In this section, we briefly describe wet paper code (WPC) for RDH. WPC is similar to matrix embedding as both are based on syndrome codes. Let us assume that the sender has a cover binary vector x = {x i } n i=1 and a set of indices Q ⊂ {1, · · · , n} (|Q| = k). The k bits are called dry elements that can be modified to embed watermark, and the remaining (n − k) bits are called wet elements, which remain the same during embedding procedure.
To embed m bits m ∈ {0, 1} m , the sender modifies the changeable bits so that the stego binary vector y satisfies where D is an m × n parity check matrix produced by the pseudo-random number generator. The receiver can extracts the watermark from y by calculating the syndrome Dy. To solve the system of linear equations of Equation (1), we rewrite it as where v = y − x. There are k unknowns v j which are nonzeros, whereas the remaining (n − k) values v i are zeros. Thus, on the left-hand side, we remove from D all (n − k) columns i and also remove from v all (n − k) elements v i . Keeping the same symbol for v, Equation (2) now becomes where H is a binary m × k matrix consisting of those columns of D, and v is an unknown binary k × 1 vector holding the embedding changes. According to the solvability of linear equations, the value of v is solved. Thus, we get the modified binary column vector y based on y = v + x.

Proposed Scheme
In this section, we elaborate on our RDH scheme for encrypted color halftone image. The block diagram of our method is illustrated in Figure 1. The overall procedure of proposed RDH-EH algorithm can be briefly described as follows. First, the image owner encrypts the original halftone image O using encryption key K e and then sends the produced cover image I to the service provider. The provider first converts I into channel images R, G, and B. For cover image R, he copies it into two identical cover image R and R . After the first WPC embedding procedure is complete, two stego image F R and F R are generated. The stego image F R is the cover image of the second WPC embedding process and is copied into two identical images F R and F R . There will be stego images S R and S R after the second WPC. Next, the service provider uses S R in the third embedding procedure and also copies it into two images S R and S R . After that, two stego images T R and T R are produced. Then, the provider combines T R , F R , S R , and T R into one image C R ; the specific way of combining them is elaborated in Section 3.2. For cover images G and B, be executing the same embedding process as described above, the stego images C G and C B are generated. Finally, the service provider merges stego images C R , C G , and C B into one stego image C.
On the receiver's side, depending on the limits of authority, he can do different operations to the image. If the receiver has only the data-hiding key K d , he can extract the watermark b. If he has both K e and K d , the receiver can extract the watermark b and recover the original image O. Because we combine four images into one stego image during the embedding procedure, if the receiver has only the K e , he does not have access to the content of the original image after decryption.

Image Encryption
Suppose that the size of the original color halftone image O is N 1 × N 2 × 3. As each pixel in a halftone image is represented by one bit, the total number of bits N is To encrypt O, we calculate exclusive-or operations between a u,v,t and the pseudo-random bits k u,v,t as where e u,v,t is the pixel value of cover image I, k u,v,t is generated by a stream cipher scheme with encryption key K e . For example, one may use any secure stream ciphers such as RC4 [31].

Data Embedding
In this subsection, we describe the watermark embedding procedure which adopts dual images. The diagram of data embedding procedure is illustrated in Figure 2. Given the cover image I, the service provider first splits the cover image into R, G, and B channels and does the same operation to each channel as follows.
(1) Taking cover image R as an example, for the first WPC embedding, the service provider first copies it into two identical cover images R and R . We partition each of them into non-overlapping blocks of size α × β; each block is denoted as L j , j = 1, · · · , w and = 1, 2, where w is the total number of blocks for each channel image: where x rounds x to the nearest integer towards −∞.
The service provider first encrypts the watermark b γi by where γ= 1, · · · , 9, because we perform the embedding process three times on one channel image and there are three channels, θ γi is the encrypted watermark, and p i is determined via standard stream cipher using data-hiding key K d . Then, for every four bits of each θ γi , we group them to a block. Thus, the jth watermark block θ γi is obtained as For cover image R , we read one block L 1j , and convert it into a column vector x 1j . Let the first four elements of x 1j be the dry elements of WPC. Generate the pseudo-random binary matrix D 1j of dimensions q × n by using K d . Then, to generate the column vector y 1j , which satisfies we need first calculate s 1j = D 1j × x 1j according to Equation (3). Next, the exclusive-or operations between s 1j and θ 1j are implemented. After that, the last four columns of each D 1j are removed to form H 1j . Finally, v 1j is solved based on the solvability of the linear equations and then Having y 1j , new blocks L 1j are formed and, then, these blocks are combined to produce stego image F R by following raster scanning order.
As for cover image R , we embed each watermark vector θ 1j into L 2j . First, the first four bits of each block L 2j are converted to a vector z 1j . Then, embed watermark vector into z 1j bȳ After all blocks of R are modified, we obtain new blocks L 2j and also stego image F R . (2) For the second WPC embedding, we take image F R as the cover image. The same as the above procedure, the service provider first copies F R into two identical images F R and F R . For cover image F R , we take the same WPC embedding operation as in Step (1) and then generate stego image S R . For cover image F R , we embed watermark vector in it and then we get stego image S R . (3) As for the third WPC embedding, we take image S R as the cover image and copy it into two same images S R and S R . After the third embedding procedure, stego images T R and T R are produced. (4) Finally, we combine four images T R , F R , S R , and T R into one image C R using K d .
As demonstrated in Figure 3, supposing that each image is 2 × 2 sized and the pixels are represented by different color, we stagger-stitch these pixels up-down and left-right. The reason why we adopt triple embedding is that it produces four stego images after embedding. Thus, the aspect ratio of the combined image is the same as the original image O. The different aspect ratio of the combined image for different levels of embedding is listed in Table 1. The comparison result shows that triple embedding is suitable for image combination as it keeps the aspect ratio of the original image. For cover image G and B, we perform the same embedding procedure to them, and then we have combined stego images C G and C B . Finally, we merge the three channel images C R , C G , and C B and then the stego image C is generated. The proposed data embedding procedure is summarized in Algorithm 1.

Algorithm 1 Data embedding.
Input: Cover image I, watermark b, and data-hiding key K d Output: Stego image C 1: Split cover image I into channel images R, G, and B 2: function TRIPLEEMBEDDING(I, b, K d ) 3: Encrypt watermark b i to θ i using Equation (6) 4: Group θ i to block θ j

5:
Copy I into I and I 6: For I do: 7: Divide I into blocks L 1j 8:

9:
for j = 1 to w do 10: x j ← L 1j 11: Generate D j using K d 12: 16: Blocks L 1j ← y j for j = 1 to w do 24: Assign z j with the first four bits of L 2j 25:z j = z j ⊕ θ j

26:
Assignz j to the first four bits of L 2j 27: end for 28: Stego image F I ← L 2j //The first embedding process ends 29: For F I do: 30: Repeat Steps 5-19, generate stego image S I

Extraction and Recovery
In this section, we discuss the two situations on the receiver's side. Depending on the different types of key, the receiver can extract the watermark (having K d ) or recover the image after extraction (having both K e and K d ). Because we combine the images into one stego image, if we only decrypt stego image C, the content of the original image cannot be directly presented. The proposed procedure of extraction and recovery is summarized in Algorithm 2.

Algorithm 2 Extraction and recovery.
Input: Stego image C, secret key K e and K d Output: Original halftone image O and watermark b i 1: Split stego image O into channel images C R , C G , and C B 2: function DATAEXTRACTION(C, K d ) 3: Separate C to four images T C , F C , S C , and T C

Watermark Extraction
When the receiver has only the data-hiding key K d , he can extract the watermark from stego image C. The receiver first divides the image into channel images C R , C G , and C B . For stego image C R , he separates it into four images T R , F R , S R , and T R . Stego images T R and T R are divided into α × β non-overlapping blocks, each of which is denoted as W j , j = 1, · · · , w and = 1, 2. Convert each of W 1j to a column vector y 3j , and, the following equation is calculated to obtain the encrypted watermark blocks θ 3j according to Equation (8) θ 3j = D 3j × y 3j (11) where D 3j is pseudo-random binary matrix generated by K d . Then, read the first four bits of W 2j and convert them to a column vectorz 3j . Next, replace the first four bits of every block by After that, stego image S R is acquired. We divide S R and S R into 1 × 8 non-overlapping blocks, each of which is denoted as E j , j = 1, · · · , w and = 1, 2. Convert each of E 1j into vectors y 2j , and then into the encrypted watermark blocks θ 2j by calculating Next, the first four bits of each block of E 1j are converted to column vectorsz 2j . Then, replace them by z 2j =z 2j ⊕ θ 2j (14) Thus, stego image F R is achieved, and we also get cover image R and encrypted watermark blocks θ 1j by performing the same process using F R and F R . In addition, cover images G and B as well as watermark blocks θ γ j (γ = 4, · · · , 9) are also generated from stego images C G and C B . We concatenate θ γj to column vectors θ γi and get watermark b γi by calculating b γi = θ γi ⊕ p γi (15) where γ= 1, · · · , 9, p γi is determined via standard stream cipher using data-hiding key K d . Finally, images R, G and B are merged to compose cover image I.

Image Recovery
If the receiver has both K e and K d , he can recover the original halftone image after watermark extraction. By decrypting the cover image I we get in Section 3.3.1, the original image O is generated. Let the pixel value at position To decrypt I, we calculate exclusive-or operations between a u,v,t and the pseudo-random bits k u,v,t as where e u,v,t is the pixel value of original image O, k u,v,t is generated by the same stream cipher scheme as in the image encryption phase using K e . The diagram of watermark extraction and image recovery is demonstrated in Figure 4.

Experimental Results and Discussions
To demonstrate the effectiveness and superiority of our scheme, experiments were conducted on six test images sized 512 × 512: Baboon, Beeflower, Goldgate, Lena, London, and Peppers (see Figure 5). The choice of free parameters is tabulated in Table 2. For simplicity of calculation, α was set to 1 and β was set to 8. Thus, n = α × β = 8. q was 4 because we embedded four bits to each block. The environment of our experiments was based on a personal computer with a 3.2 GHz Intel i5 processor, 4 GB memory, Windows 10 operating system, and Matlab R2016a. In the following subsections, five aspects of experimental results are presented: (1) reversibility; (2) security; (3) embedding capacity; (4) visual quality; and (5) computational complexity. Finally, we give the feature comparisons with related schemes.
To view the result image of each procedure intuitively, we take Figure 5b as an example. Figure 6a shows the original halftone image, and Figure 6b is the corresponding encrypted result I. We can observe that principal contents of original image O were effectively masked after encryption. Figure 6c shows the stego image C, which is embedded with watermark and displays at 50%. Figure 6d is the recovered image O , which is exactly the same as the original image O. Parameter α β q n

Reversibility
The reversibility of an RDH scheme is that the original image can be recovered losslessly from the stego image. In such case, the scheme is reversible. As shown in Section 3.3, our method is a reversible one. To verify whether the recovered image O is identical to the original image O, we adopted the correlation coefficient r and MSE (mean squared error). The correlation coefficient is widely used in statistical analysis of the correlation between two variables: which is zero if O and O are identical. The correlation coefficients of original images and recovered images are all 1 s and all the MSE values are 0 s. That is to say, our scheme is reversible.

Security
The original images and the watermark are encrypted by the stream cipher scheme. As shown in Figure 7, the encrypted images are completely meaningless and it is difficult to infer their original images from them. To assess the security quantitatively, we used correlation coefficient r (Equation (17)) and peak signal-to-noise ratio (PSNR), which is widely used in evaluating the quality of digital images. The PSNR between cover image I and original halftone image O is defined via the mean square error (MSE) by where M O is the maximum possible pixel value of O. It is 1 since the pixels of halftone images are represented using 1 bit per sample. The calculation results are consistent with the presentation of Figure 7.

Embedding Capacity
To evaluate the embedding capacity, the embedding rate E r was adopted: where N e and N t are the number of embedded bits and the total bits of the original halftone image, respectively. We divided the six test images into blocks of the same size of 1 × 8, and we embedded 4 bits into each block. The embedding capacity E c of these images was the same: where w is the total amount of blocks for each channel image, we embedded three times on each channel image and there were three channel images. Table 3 shows various embedding capacity when several different sizes of blocks were employed. Lower embedding capacity may lead to a higher visual quality of the marked image. If we want to know the content of the image and we directly decrypt the image, the higher is the image quality, the clearer is the image content.

Quality of the Marked Image
We decrypted the stego image directly and then obtained marked image M (see examples in Figure 8). The different PSNR values of marked images are shown in Figure 9a for the six test images under different embedding capacity. Besides, the structural similarity index (SSIM) was also utilized to evaluate the quality in where µ M , µ O , σ M , σ O , and σ MO are the local means, standard deviations, and cross-covariance for images M and O, respectively. It can be found in the comparison results that, when we adopt a lower capacity such as 73728 bits, the quality of the marked image M will be better.

Computational Complexity
For the proposed scheme, the computational complexity of encrypting and decrypting pixels is O(N) (O notation is used to classify algorithms according to how their running time or space requirements grow as the input size grows [32].) because they are linear-time algorithms and the running time increases at most linearly with the size N of the image. The computational complexity of embedding and extraction procedure is O(mn 2 ) according to Equation (1), where m and n are the length of the embedded bits of each block and the length of each block, respectively.

Feature Comparisons
In Table 4, feature comparisons among the proposed method and other related methods are given. Different from other methods, the carrier images of our method are color halftone images. In addition, our method has real reversibility and provides a high embedding capacity for halftone images, although less redundancy exists in encrypted color halftone images.

Conclusions
In this paper, a reversible data hiding scheme for encrypted color halftone images is proposed. As less information redundancy is available for halftone images, we adopted two stego images to add redundancy artificially. This can increase the embedding capacity of the scheme, and, more importantly, the original image can be restored. Moreover, we combine the four stego images generated in embedding procedure into one image for easy transmission. By using two secret keys, the cover image can be recovered losslessly after the watermarks are extracted. Experimental results demonstrate the advantages of our methods. The proposed scheme can realize real reversibility with high embedding capacity for encrypted color halftone images.