Next Article in Journal
Multivariate Data Envelopment Analysis to Measure Airline Efficiency in European Airspace: A Network-Based Approach
Previous Article in Journal
Human Balance in Response to Continuous, Predictable Translations of the Support Base: Integration of Sensory Information, Adaptation to Perturbations, and the Effect of Age, Neuropathy and Parkinson’s Disease
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Reversible Data Hiding in Encrypted Color Halftone Images with High Capacity

1
College of Electronic and Information Engineering, Shandong University of Science and Technology, Qingdao 266590, China
2
College of Computer Science and Engineering, Shandong University of Science and Technology, Qingdao 266590, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2019, 9(24), 5311; https://doi.org/10.3390/app9245311
Submission received: 30 October 2019 / Revised: 26 November 2019 / Accepted: 30 November 2019 / Published: 5 December 2019
(This article belongs to the Section Electrical, Electronics and Communications Engineering)

Abstract

:
In recent years, reversible data hiding (RDH) has become a research hotspot in the field 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.

Graphical Abstract

1. 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.

2. 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 } i = 1 n 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
D × y = m
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
D × v = m D × x
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
H × v = m D × x
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 .

3. 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.

3.1. 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 N 1 × N 2 × 3 . Let the pixel value at position ( u , v , t ) be a u , v , t , where { 1 u N 1 } , { 1 v N 2 } , and { 1 t 3 } . To encrypt O , we calculate exclusive-or operations between a u , v , t and the pseudo-random bits k u , v , t as
e u , v , t = a u , v , t k u , v , t
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].

3.2. 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:
w = N 1 α × N 2 β
where x rounds x to the nearest integer towards .
The service provider first encrypts the watermark b γ i by
θ γ i = b γ i p γ i
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
θ γ j = [ θ γ ( 4 j 3 ) θ γ ( 4 j 2 ) θ γ ( 4 j 1 ) θ γ ( 4 j ) ] T , 1 j w
For cover image R , we read one block L 1 j , and convert it into a column vector x 1 j . Let the first four elements of x 1 j be the dry elements of WPC. Generate the pseudo-random binary matrix D 1 j of dimensions q × n by using K d . Then, to generate the column vector y 1 j , which satisfies
D 1 j × y 1 j = θ 1 j
we need first calculate s 1 j = D 1 j × x 1 j according to Equation (3). Next, the exclusive-or operations between s 1 j and θ 1 j are implemented. After that, the last four columns of each D 1 j are removed to form H 1 j . Finally, v 1 j is solved based on the solvability of the linear equations and then
y 1 j = v 1 j + x 1 j
Having y 1 j , new blocks L 1 j 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 θ 1 j into L 2 j . First, the first four bits of each block L 2 j are converted to a vector z 1 j . Then, embed watermark vector into z 1 j by
z ¯ 1 j = z 1 j θ 1 j
After all blocks of R are modified, we obtain new blocks L 2 j 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:
functionTripleEmbedding( 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 1 j
8:
  
9:
  for j = 1 to w do
10:
     x j L 1 j
11:
    Generate D j using K d
12:
     s j = D j × x j
13:
     s ¯ j = s j θ j
14:
     H j D j
15:
     v j ( H j v j = s ¯ j )
16:
     y j = v j + x j
17:
    Blocks L 1 j y j
18:
  end for
19:
  Stego image F I L 1 j
20:
  For I do:
21:
  Divided I into blocks L 2 j
22:
  
23:
  for j = 1 to w do
24:
    Assign z j with the first four bits of L 2 j
25:
     z ¯ j = z j θ j
26:
    Assign z ¯ j to the first four bits of L 2 j
27:
  end for
28:
  Stego image F I L 2 j     //The first embedding process ends
29:
  For F I do:
30:
  Repeat Steps 5–19, generate stego image S I
31:
  Repeat Steps 20–28, generate stego image S I
32:
  //The second embedding process ends
33:
  For S I do:
34:
  Repeat Steps 5–19, generate stego image T I
35:
  Repeat Steps 20–28, generate stego image T I
36:
  //The third embedding process ends
37:
   C I combined from T I , F I , S I , and T I
38:
end function
39:
C R = T R I P L E E M B E D D I N G ( R , b , K d )
40:
C G = T R I P L E E M B E D D I N G ( G , b , K d )
41:
C B = T R I P L E E M B E D D I N G ( B , b , K d )
42:
Merge channel images C R , C G and C B to color image C
43:
return Stego image C

3.3. 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:
functionDataExtraction( C , K d )
3:
  Separate C to four images T C , F C , S C , and T C
4:
  Divide T C into blocks W 1 j
5:
  Divide T C into blocks W 2 j
6:
  
7:
  for j = 1 to w do
8:
     y 3 j W 1 j
9:
    Generated D 3 j using K d
10:
     θ 3 j = D 3 j × y 3 j
11:
    Assign z ¯ 3 j to the first four bits of W 2 j
12:
     z 3 j = z ¯ 3 j θ 3 j
13:
  end for
14:
  Stego image S C z 3 j
15:
  Divide S C into blocks E 1 j
16:
  Divide S C into blocks E 2 j
17:
  
18:
  for j = 1 to w do
19:
     y 2 j E 1 j
20:
    Generated D 2 j using K d
21:
     θ 2 j = D 2 j × y 2 j
22:
    Assign z ¯ 2 j to the first four bits of E 2 j
23:
     z 2 j = z ¯ 2 j θ 2 j
24:
  end for
25:
  Stego image F C z 2 j
26:
  Divide F C into blocks P 1 j
27:
  Divide F C into blocks P 2 j
28:
  
29:
  for j = 1 to w do
30:
     y 1 j P 1 j
31:
    Generated D 1 j using K d
32:
     θ 1 j = D 1 j × y 1 j
33:
    Assign z ¯ 1 j to the first four bits of P 2 j
34:
     z 1 j = z ¯ 1 j θ 1 j
35:
  end for
36:
  Cover image ← z 1 j
37:
end function
38:
( R , θ 1 j , θ 2 j θ 3 j ) = D A T A E x T R A C T I O N ( C R , K d )
39:
( G , θ 4 j , θ 5 j , θ 6 j ) = D A T A E x T R A C T I O N ( C G , K d )
40:
( B , θ 7 j , θ 8 j , θ 9 j ) = D A T A E x T R A C T I O N ( C B , K d )
41:
b i = θ i p i
42:
Merge images R , G and B to cover image I
43:
Decrypt I using Equation(16)
44:
return Watermark b i and original image O

3.3.1. 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 1 j to a column vector y 3 j , and, the following equation is calculated to obtain the encrypted watermark blocks θ 3 j according to Equation (8)
θ 3 j = D 3 j × y 3 j
where D 3 j is pseudo-random binary matrix generated by K d . Then, read the first four bits of W 2 j and convert them to a column vector z ¯ 3 j . Next, replace the first four bits of every block by
z 3 j = z ¯ 3 j θ 3 j = z 3 j θ 3 j θ 3 j = z 3 j
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 1 j into vectors y 2 j , and then into the encrypted watermark blocks θ 2 j by calculating
θ 2 j = D 2 j × y 2 j
Next, the first four bits of each block of E 1 j are converted to column vectors z ¯ 2 j . Then, replace them by
z 2 j = z ¯ 2 j θ 2 j
Thus, stego image F R is achieved, and we also get cover image R and encrypted watermark blocks θ 1 j 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
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 .

3.3.2. 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 ( u , v , t ) be a u , v , t , where { 1 u N 1 } , { 1 v N 2 } , and { 1 t 3 } . To decrypt I , we calculate exclusive-or operations between a u , v , t and the pseudo-random bits k u , v , t as
e u , v , t = a u , v , t k u , v , t
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.

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 .

4.1. 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:
r ( O , O ) = m n ( O m , n O ¯ ) ( O m , n O ¯ ) ( m n ( O m , n O ¯ ) 2 ) ( m n ( O m , n O ¯ ) 2 )
where O m , n and O m , n are pixel values at the ( m , n ) position of recovered image O and original image O , respectively. O ¯ and O ¯ are the mean values of O and O , respectively. The value of r is limited in the range [ 1 , 1 ] . The closer the value is to 1, the more similar the two images are to each other. Therefore, the value of r is supposed to be 1 if the two images are identical. The MSE between two images O and O is defined as
M S E ( O , O ) = 1 N 1 N 2 m = 1 N 1 n = 1 N 2 ( O m , n O m , n ) 2
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.

4.2. 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
P S N R ( O , I ) = 10 · log 10 M O 2 M S E ( O , I ) ( dB )
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.

4.3. Embedding Capacity

To evaluate the embedding capacity, the embedding rate E r was adopted:
E r = N e N t
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:
E c = w × 4 × 3 × 3 = 512 1 × 512 8 × 4 × 3 × 3 = 1 , 179 , 648 ( bits )
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.

4.4. 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 Figure 9b
S S I M ( M , O ) = ( 2 μ M μ O + C 1 ) ( 2 σ M O + C 2 ) ( μ M 2 + μ O 2 + C 1 ) ( σ M 2 + σ O 2 + C 2 )
where μ M , μ O , σ M , σ O , and σ M O 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.

4.5. 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 ( m n 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.

4.6. 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.

5. 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.

Author Contributions

Conceptualization, Y.-X.S. and B.Y.; software, Y.-X.S. and B.Y.; Formal analysis, Y.-X.S., B.Y., and J.-S.P.; Methodology, Y.-X.S., B.Y., and H.-M.Y.; Writing—original draft, Y.-X.S., B.Y., J.-S.P., and N.C.; and Writing—review and editing, B.Y., J.-S.P., H.-M.Y., and N.C.

Funding

This work was funded by the National Natural Science Foundation of China (NSFC) (No. 61272432), Shandong Provincial Natural Science Foundation (No. ZR2014JL044), and MOE (Ministry of Education in China) Project of Humanities and Social Sciences (Project No. 18YJAZH110).

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Cox, I.; Miller, M.; Bloom, J.; Fridrich, J.; Kalker, T. Digital Watermarking and Steganography; Morgan Kaufmann: San Francisco, CA, USA, 2007. [Google Scholar]
  2. Chen, C.; Xiang, B.; Liu, Y.; Wang, K. A Secure Authentication Protocol for Internet of Vehicles. IEEE Access 2019, 7, 12047–12057. [Google Scholar] [CrossRef]
  3. Wu, T.Y.; Chen, C.M.; Wang, F.; Meng, C.; Wang, E.K. A provably secure certificateless public key encryption with keyword search. J. Chin. Inst. Eng. 2019, 42, 1–9. [Google Scholar] [CrossRef]
  4. Pan, J.S.; Lee, C.Y.; Sghaier, A.; Zeghid, M.; Xie, J. Novel Systolization of Subquadratic Space Complexity Multipliers Based on Toeplitz Matrix-Vector Product Approach. IEEE Trans. Very Large Scale Integr. (VLSI) Syst. 2019, 27, 1614–1622. [Google Scholar] [CrossRef]
  5. Zhang, W.; Ma, K.; Yu, N. Reversibility improved data hiding in encrypted images. Signal Process. 2014, 94, 118–127. [Google Scholar] [CrossRef]
  6. Xia, Z.; Wang, X.; Zhang, L.; Qin, Z.; Sun, X.; Ren, K. A privacy-preserving and copy-deterrence content-based image retrieval scheme in cloud computing. IEEE Trans. Inf. Forensics Secur. 2016, 11, 2594–2608. [Google Scholar] [CrossRef]
  7. Qian, Z.; Xu, H.; Luo, X.; Zhang, X. New framework of reversible data hiding in encrypted JPEG bitstreams. IEEE Trans. Circuits Syst. Video Technol. 2018, 29, 351–362. [Google Scholar] [CrossRef]
  8. Shi, H.; Liu, D.; Lu, H.; Zhou, C. A homomorphic encrypted reversible information hiding scheme for integrity authentication and piracy tracing. Multimed. Tools Appl. 2018, 77, 20535–20567. [Google Scholar] [CrossRef]
  9. Yang, C.H.; Tsai, M.H. Improving histogram-based reversible data hiding by interleaving predictions. IET Image Process. 2010, 4, 223–234. [Google Scholar] [CrossRef] [Green Version]
  10. Luo, H.; Pan, T.; Pan, J.; Chu, S.; Yang, B. Development of a Three-Dimensional Multimode Visual Immersive System With Applications in Telepresence. IEEE Syst. J. 2017, 11, 2818–2828. [Google Scholar] [CrossRef]
  11. Weng, S.; Chen, Y.; Ou, B.; Chang, C.; Zhang, C. Improved K-Pass Pixel Value Ordering Based Data Hiding. IEEE Access 2019, 7, 34570–34582. [Google Scholar] [CrossRef]
  12. Fridrich, J.; Goljan, M.; Du, R. Lossless data embedding for all image formats. In Security and Watermarking of Multimedia Contents IV; International Society for Optics and Photonics: Orlando, FL, USA, 2002; Volume 4675, pp. 572–583. [Google Scholar]
  13. Weng, S.; Pan, J.s.; Li, L. Reversible data hiding based on an adaptive pixel-embedding strategy and two-layer embedding. Inf. Sci. 2016, 369, 144–159. [Google Scholar] [CrossRef]
  14. Tian, J. Reversible data embedding using a difference expansion. IEEE Trans. Circuits Syst. Video Technol. 2003, 13, 890–896. [Google Scholar] [CrossRef] [Green Version]
  15. Du, Y.; Yin, Z.; Zhang, X. Improved lossless data hiding for jpeg images based on histogram modification. Comput. Mater. Contin. 2018, 55, 495–507. [Google Scholar]
  16. Tai, W.L.; Yeh, C.M.; Chang, C.C. Reversible data hiding based on histogram modification of pixel differences. IEEE Trans. Circuits Syst. Video Technol. 2009, 19, 906–910. [Google Scholar]
  17. Luo, L.; Chen, Z.; Chen, M.; Zeng, X.; Xiong, Z. Reversible image watermarking using interpolation technique. IEEE Trans. Inf. Forensics Secur. 2009, 5, 187–193. [Google Scholar]
  18. Puech, W.; Chaumont, M.; Strauss, O. A reversible data hiding method for encrypted images. In Security, Forensics, Steganography, and Watermarking of Multimedia Contents X; International Society for Optics and Photonics: Orlando, FL, USA, 2008; Volume 6819, p. 68191E. [Google Scholar]
  19. Zhang, X. Reversible data hiding in encrypted image. IEEE Signal Process. Lett. 2011, 18, 255–258. [Google Scholar] [CrossRef]
  20. Hong, W.; Chen, T.S.; Wu, H.Y. An improved reversible data hiding in encrypted images using side match. IEEE Signal Process. Lett. 2012, 19, 199–202. [Google Scholar] [CrossRef]
  21. Zhang, X. Separable reversible data hiding in encrypted image. IEEE Trans. Inf. Forensics Secur. 2012, 7, 826–832. [Google Scholar] [CrossRef]
  22. Qian, Z.; Zhang, X.; Wang, S. Reversible data hiding in encrypted JPEG bitstream. IEEE Trans. Multimed. 2014, 16, 1486–1491. [Google Scholar] [CrossRef]
  23. Ma, K.; Zhang, W.; Zhao, X.; Yu, N.; Li, F. Reversible data hiding in encrypted images by reserving room before encryption. IEEE Trans. Inf. Forensics Secur. 2013, 8, 553–562. [Google Scholar] [CrossRef]
  24. Fu, Y.; Kong, P.; Yao, H.; Tang, Z.; Qin, C. Effective reversible data hiding in encrypted image with adaptive encoding strategy. Inf. Sci. 2019, 494, 21–36. [Google Scholar] [CrossRef]
  25. Fu, M.S.; Au, O.C. Data hiding watermarking for halftone images. IEEE Trans. Image Process. 2002, 11, 477–484. [Google Scholar]
  26. Lien, B.K.; Lin, Y.M.; Lee, K.Y. High-capacity reversible data hiding by Maximum-span pixel Pairing on ordered dithered halftone images. In Proceedings of the 2012 IEEE 19th International Conference on Systems, Signals and Image Processing (IWSSIP), Vienna, Austria, 11–13 April 2012; pp. 76–79. [Google Scholar]
  27. Kim, C.; Shin, D.; Leng, L.; Yang, C.N. Separable reversible data hiding in encrypted halftone image. Displays 2018, 55, 71–79. [Google Scholar] [CrossRef]
  28. Lo, C.C.; Lee, C.M.; Liao, B.Y.; Pan, J.S. Halftone Image Data Hiding with Reference to Original Multitone Image. In Proceedings of the 2008 IEEE International Conference on Intelligent Information Hiding and Multimedia Signal Processing, Harbin, China, 15–17 August 2008; pp. 265–268. [Google Scholar]
  29. Naor, M.; Shamir, A. Visual cryptography. In Workshop on the Theory and Application of of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 1994; pp. 1–12. [Google Scholar]
  30. Yan, B.; Xiang, Y.; Hua, G. Improving the Visual Quality of Size-Invariant Visual Cryptography for Grayscale Images: An Analysis-by-Synthesis (AbS) Approach. IEEE Trans. Image Process. 2019, 28, 896–911. [Google Scholar] [CrossRef]
  31. Stallings, W. The RC4 stream encryption algorithm. In Cryptography and Network Security; Prentice Hall: Upper Saddle River, NJ, USA, 2005. [Google Scholar]
  32. Mohr, A. Quantum Computing in Complexity Theory and Theory of Computation; Business in Calgary: Carbondale, IL, USA, 2014. [Google Scholar]
  33. Lien, B.K.; Lin, Y.m. High-capacity reversible data hiding by maximum-span pairing. Multimed. Tools Appl. 2011, 52, 499–511. [Google Scholar] [CrossRef]
  34. Chen, Y.Y.; Chen, W.S. High-quality blind watermarking in halftones using random toggle approach. Multimed. Tools Appl. 2018, 77, 8019–8041. [Google Scholar] [CrossRef]
  35. Jia, Y.; Yin, Z.; Zhang, X.; Luo, Y. Reversible data hiding based on reducing invalid shifting of pixels in histogram shifting. Signal Process. 2019, 163, 238–246. [Google Scholar] [CrossRef] [Green Version]
  36. Li, J.; Li, X.; Yang, B. Reversible data hiding scheme for color image based on prediction-error expansion and cross-channel correlation. Signal Process. 2013, 93, 2748–2758. [Google Scholar] [CrossRef]
Figure 1. Block diagram of the proposed scheme.
Figure 1. Block diagram of the proposed scheme.
Applsci 09 05311 g001
Figure 2. Block diagram of data embedding procedure.
Figure 2. Block diagram of data embedding procedure.
Applsci 09 05311 g002
Figure 3. The demonstration of image combination.
Figure 3. The demonstration of image combination.
Applsci 09 05311 g003
Figure 4. The diagram of watermark extraction and image recovery.
Figure 4. The diagram of watermark extraction and image recovery.
Applsci 09 05311 g004
Figure 5. Original image O : (a) Baboon; (b) Beeflower; (c) Goldgate; (d) Lena; (e) London; and (f) Peppers.
Figure 5. Original image O : (a) Baboon; (b) Beeflower; (c) Goldgate; (d) Lena; (e) London; and (f) Peppers.
Applsci 09 05311 g005
Figure 6. The whole images of every procedure with Beeflower of blocks size 1 × 8 .
Figure 6. The whole images of every procedure with Beeflower of blocks size 1 × 8 .
Applsci 09 05311 g006
Figure 7. Cover image I of: (a) Baboon; (b) Beeflower; (c) Goldgate; (d) Lena; (e) London; and (f) Peppers.
Figure 7. Cover image I of: (a) Baboon; (b) Beeflower; (c) Goldgate; (d) Lena; (e) London; and (f) Peppers.
Applsci 09 05311 g007aApplsci 09 05311 g007b
Figure 8. Examples of marked images M of: (a) Baboon; (b) Beeflower; (c) Goldgate; (d) Lena; (e) London; and (f) Peppers.
Figure 8. Examples of marked images M of: (a) Baboon; (b) Beeflower; (c) Goldgate; (d) Lena; (e) London; and (f) Peppers.
Applsci 09 05311 g008
Figure 9. Comparison of image quality with different embedding capacity: (a) image quality in terms of PSNR; and (b) image quality in terms of SSIM.
Figure 9. Comparison of image quality with different embedding capacity: (a) image quality in terms of PSNR; and (b) image quality in terms of SSIM.
Applsci 09 05311 g009
Table 1. Aspect ratios resulting from different embedding levels.
Table 1. Aspect ratios resulting from different embedding levels.
Embedding LevelsNumber of Result ImagesAspect Ratio
Zero1 N 1 : N 2
Once2 2 N 1 : N 2
Twice3 3 N 1 : N 2
Triple4 N 1 : N 2
Table 2. Selection of free parameters.
Table 2. Selection of free parameters.
Parameter α β qn
Value1848
Table 3. Embedding capacity of different sizes of blocks.
Table 3. Embedding capacity of different sizes of blocks.
Block SizeBlock AmountSize of m E c E r
1 × 8 98,30441,179,6481.5
1 × 8 98,3042589,8240.75
4 × 4 49,1523442,3680.5625
8 × 8 12,28820737,2800.9375
16 × 16 307232294,9120.375
16 × 16 307216147,4560.1875
16 × 16 3072873,7280.0938
Table 4. Feature comparisons among the proposed method and related methods
Table 4. Feature comparisons among the proposed method and related methods
MethodReal ReversibleEmbedding Capacity (bits)Image TypeApplication Domain
Zhang [19]NoBelow 4400 [23]Grayscale continuous-toneEncrypt
Zhang [21]Yes4400Grayscale continuous-toneEncrypt
Ma et al. [23]Yes131,072Grayscale continuous-toneEncrypt
Fu et al. [24]Yes416,809Grayscale continuous-toneEncrypt
Lien et al. [33]Yes79,438Grayscale halftonePlaintext
Chen et al. [34]No23,814Grayscale halftonePlaintext
Jia  et al. [35]Yes56,617Grayscale continuous-tonePlaintext
Kim et al. [27]No4096Grayscale halftoneEncrypt
Li et al. [36]Yes725,000Color continuous-tonePlaintext
OursYes1,179,648Color halftoneEncrypt

Share and Cite

MDPI and ACS Style

Sun, Y.-X.; Yan, B.; Pan, J.-S.; Yang, H.-M.; Chen, N. Reversible Data Hiding in Encrypted Color Halftone Images with High Capacity. Appl. Sci. 2019, 9, 5311. https://doi.org/10.3390/app9245311

AMA Style

Sun Y-X, Yan B, Pan J-S, Yang H-M, Chen N. Reversible Data Hiding in Encrypted Color Halftone Images with High Capacity. Applied Sciences. 2019; 9(24):5311. https://doi.org/10.3390/app9245311

Chicago/Turabian Style

Sun, Yu-Xia, Bin Yan, Jeng-Shyang Pan, Hong-Mei Yang, and Na Chen. 2019. "Reversible Data Hiding in Encrypted Color Halftone Images with High Capacity" Applied Sciences 9, no. 24: 5311. https://doi.org/10.3390/app9245311

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop