Next Article in Journal
GRASP Optimization for the Strip Packing Problem with Flags, Waste Functions, and an Improved Restricted Candidate List
Next Article in Special Issue
SSDeN: Framework for Screen-Shooting Resilient Watermarking via Deep Networks in the Frequency Domain
Previous Article in Journal
Development and Trial of a Prototype Device for Sensorimotor Therapy in Patients with Distal Radius Fractures
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Joint Hamming Coding for High Capacity Lossless Image Encryption and Embedding Scheme  †

1
Department of Information Management, Chang Gung University, Taoyuan City 33302, Taiwan
2
Kawasaki Disease Center, Kaohsiung Chang Gung Memorial Hospital, Kaohsiung 83301, Taiwan
3
Department of Electrical Engineering, National Kaohsiung University of Science and Technology, Kaohsiung 80778, Taiwan
4
Department of Business Administration, Soochow University, Taipei 10048, Taiwan
5
Department of Computer Science and Information Engineering, Tamkang University, New Taipei City 251301, Taiwan
*
Authors to whom correspondence should be addressed.
This paper is an extended version of our paper published in the work: Integrated Hamming Coding Operation to Reversible Data Hiding Scheme for Encrypted Images.
These authors contributed equally to this work.
Submission received: 10 December 2021 / Revised: 9 February 2022 / Accepted: 11 February 2022 / Published: 14 February 2022
(This article belongs to the Special Issue Recent Advances in Steganography and Multimedia Security)

Abstract

:
Encryption is a widely used solution to prevent privacy leakage and illegal spread when sensitive images are uploaded to cloud storage. Hiding technology also allows confidential data to be embedded into encrypted images for secret communication. As image accuracy without distortion is essential within certain fields (such as medicine and the military), sensitive images must be completely decrypted back into the original images. However, an encrypted image is a noise-like pattern that is meaningless to a user; thus, it is difficult for a user to find the accurate image they desire. Take keywords as search indexes and embed them in encrypted images for encrypted image retrieval as an example. This idea has been extended by Chen and Line’s scheme to achieve higher capacity with reversibility. The proposed scheme adjusts the coding results according to smooth and complex images to increase its hiding capacity. In addition, two thresholds are designed to adjust the predicted pixel value to be close to the original one. Experiments show that compared with the other schemes, the proposed method achieves superior results. In addition, a hidden encrypted image can be extracted from the cover image. Afterward, the hidden secrets can be completely extracted, and sensitive images can also be perfectly restored.

1. Introduction

Private web albums rely on a cloud service for owners to back up personal photos. This is a convenient but insecure platform that enables malicious users to illegally log in and obtain sensitive content for illegal dissemination. Image encryption offers a feasible solution to this potential security risk by allowing users to encrypt sensitive content into meaningless content before uploading it. To confirm the security and validity of image encryption, several techniques, such as compound homogeneous hyper-chaotic [1], Chaotic Map [2], and Rubik’s cube method [3], are applied to image encryption. An encrypted image exists in a kind of noise-like mode. Data cannot be obtained without the secret keys, even through statistical calculations. However, meaningless image content is difficult for the owner to manage. Data hiding can cleverly embed the search index into an encrypted image for subsequent image retrieval so that owners can efficiently find specific photos from a large number of encrypted images. In addition, privileged data, such as patient name or identity, can be embedded in encrypted images to preserve a patient’s privacy.
For some specific fields, such as medical and military fields, image distortion is unacceptable. Therefore, after extracting the hidden data, the medical image must be completely restored. Such methods are referred to as Reversible Data Hiding (RDH) methods [4,5,6,7]. When reversibility is applied to encrypted images, it is called the RDHEI method [8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32].
Zhang’s scheme [25] encrypts the most significant five bits (MSB) in the original pixel through XOR operation with the random bit stream. Later, it compresses the least significant bit (LSB) of the encrypted image to create space for embedding the secret. However, the embedding rate of the test image “Lena” is very low, only 0.017 bpp (bits per pixel). The decrypted image is similar to but not the same as the original image. Hong et al. [11] applied side matching information to improve the quality of restoration, which is about 1.21% higher than Zhang’s [25]. Qian et al. [16] used a progressive method to achieve concealment and recovery quality of 0.043 bpp and 38.1 dB, respectively. To increase confidentiality, Zhang [33] generated two different keys to encrypt images and hide messages in images; the keys were then distributed to different authorized users.
To achieve reversibility, Ma et al. [14] proposed a reversible data embedding scheme utilizing histogram shifting technology in encrypted images. Qian et al. [17] used error correction codes in Huffman coding to increase the amount of hidden information. Based on the pixel concept, which is similar to surrounding pixels, Cao et al. [8] compressed the image to make room for data embedding. However, the spatial correlation changed after the image was encrypted [12]. To resolve this shortcoming, Huang et al. [12] unitized a key design to maintain the spatial correlation even after image encryption. Zhou et al. [32] predicted pixels using neighboring pixels for secret embedding. Unfortunately, the pixels could be fully restored. In order to improve the security, the scheme [10,30] uses homomorphic encryption to encrypt the image. However, the scheme in [10,30] has low hiding capacity and encounters the problem of pixel expansion. Using the histogram shifting technique, Huang et al. [12] regard the MSB as the secret embedded in the LSB of the encrypted block.
To increase the hiding capacity, Yi et al. [22] utilized parameter binary tree labels to mark the redundant relationship between pixels and blocks. In Yi et al.’s scheme [22], the average hidden payload displayed based on the 2 × 2 and 3 × 3 block sizes were 1.752 and 2.003 bpp, respectively. Yin et al. [24] observed that the MSB of the original pixel and the predicted pixel are usually the same, which can be used to make room for secret embedding. In addition, Huffman coding is applied to reduce the size of the indicator, which is used to indicate the number of MSBs that can be leveraged to embed secrets per pixel. Yin et al.’s scheme [24] provides good pixel predictions to improve the hidden payload. However, an image encrypted through MSB prediction is easily decoded through statistical analysis [34]. To address this issue, a hiding and encryption method [35] integrated with Hamming coding is proposed in this paper. The MSB prediction can be shuffled using Hamming coding with a secret key. To achieve good pixel prediction, the proposed scheme designs two thresholds used in [24] to flexibly adjust the predicted value to be close to the original one. To improve the hiding capacity of the technique in [35], the Hamming code encoding is based on two different image types: smooth and complex images.

2. Proposed Scheme

The proposed scheme includes a secret embedding and encryption stage (in Section 2.1) and a secret extraction and decryption stage (in Section 2.2).

2.1. Secret Embedding and Encryption Stage

For clarity, the stage is divided into four steps, namely prediction, difference calculation, Hamming coding calculation and shuffling, and secret embedding and encryption. The details of each step are described as follows.
In the prediction step, since pixels are similar to their neighboring pixels, the pixels located in the first row and first column are regarded as unchanged seed pixels, named reference pixels, which are used to predict the neighboring pixels. Aside from the reference pixels, the predicted pixels represented by p ^ ( i , j ) are calculated via Equation (1) based on the neighboring pixels of the pixel p ( i , j ) , where ( i , j ) is the location of the pixel in the given image O, t 1 and t 2 are thresholds that control the predicted value close to p ( i , j ) . For example, as shown in Figure 1, the neighboring pixels of p ( 2 , 2 ) are p ( 1 , 1 ) , p ( 1 , 2 ) and p ( 2 , 1 ) and the corresponding pixel values are 100, 102 and 105, respectively. Because p ( 1 , 1 ) is less than p ( 1 , 2 ) and p ( 2 , 1 ) , p ^ ( 2 , 2 ) will be 106 when t 1 is 1.
Next, in the difference calculation step, we use Equation (2) to convert p ( i , j ) and p ^ ( i , j ) into two bitstreams. The k-th bits corresponding to p ( i , j ) and p ^ ( i , j ) are respectively expressed as p k ( i , j ) and p ^ k ( i , j ) , where “mod” is a modular operation. For example, if p ( 2 , 2 ) is equal to 108, then p 8 ( 2 , 2 ) is 0. Then, Equation (3) is used to calculate the difference between the two numbers p ( i , j ) and p ^ ( i , j ) , where ⊕ is the exclusive OR operation. As for the example shown in Figure 1, if p ( 2 , 2 ) and p ^ ( 2 , 2 ) are 108 and 106, the result of Equation (3) is 00000110, denoted by x ( 2 , 2 ) . With Equation (4), the kth most significant bit of x ( i , j ) equal to 1 is denoted by c d ( i , j ) . In the same example, if x ( 2 , 2 ) is equal to 00000110, the value c d ( 2 , 2 ) will be 3. Next, c * ( i , j ) is calculated with Equation (5) to represent the number of consecutive MSBs of the original pixel equal to that of its predicted pixel. For example, the value of c * ( 2 , 2 ) is 5. In other words, in the example, five MSBs of the pixel p ( 2 , 2 ) can be predicted by p ^ ( 2 , 2 ) . The value of the 6th MSB of p ( i , j ) can be recovered as the flipped value of p ^ ( 2 , 2 ) . Thus, the c * ( i , j ) + 1 MSB of the pixel p ( i , j ) can be used to hide the secret.
p ^ ( i , j ) = p ( i 1 , j 1 ) if   p ( i 1 , j 1 ) = p ( i 1 , j ) = p ( i , j 1 ) m a x ( p ( i 1 , j ) , p ( i , j 1 ) ) + t 1 if   p ( i 1 , j 1 ) < m i n ( p ( i 1 , j ) , p ( i , j 1 ) ) m i n ( p ( i 1 , j ) , p ( i , j 1 ) ) + t 2 if   p ( i 1 , j 1 ) > m a x ( p ( i 1 , j ) , p ( i , j 1 ) ) p ( i , j 1 ) + p ( i 1 , j ) p ( i 1 , j 1 ) otherwise .
p k ( i , j ) = p ( i , j ) mod 2 k 2 k 1 , k for 8 to 1
x k ( i , j ) = p k ( i , j ) p ^ k ( i , j ) , k = 1 , 2 , . . . , 8
c d ( i , j ) = arg max k   x k ( i , j ) = 1 , k = 1 , 2 , . . . , 8
c * ( i , j ) = 8 c d ( i , j )
In the Hamming coding calculation and shuffling step, when applying Hamming coding matrix [36], we convert the c * ( i , j ) into a bit stream as an indicator, depicted by ( w 1 w 2 w 3 ). Noted that since ( w 1 w 2 w 3 ) can only appear in eight cases, but there are actually nine cases in the difference calculation, the cases are defined according to smooth and complex images. The image judges the type of image based on the higher capacity in the smooth type encoding or complex one. The image type (smooth and complex are marked as “s” and “c”, respectively) is treated as a parameter saved in the database. If it is a smooth image, values of c * ( i , j ) equal to 0 and 1 fall into the same case. Therefore, with regard to the smooth image, the decimal value of the indicator ( w 1 w 2 w 3 ) is the value of c * ( i , j ) 1 if c * ( i , j ) is larger than 0 (the fallen cases are recorded under “Label” in Table 1). If it is a complex image, the values of c * ( i , j ) equal to 7 and 8 fall into the same case; in such a situation, if c * ( i , j ) is equal to 8, then the decimal value of ( w 1 w 2 w 3 ) is adjusted to 7 (also recorded under “Label” in Table 1). For example, in Figure 1, the value c * ( i , j ) generates the indicator ( w 1 w 2 w 3 ) as 101 if the image is a complex image.
Essentially, the value w 1 w 2 w 3 can represent which case the pixel has fallen into, which indicates the hiding capacity. Next, the value of w 1 w 2 w 3 is assigned to Equation (7), and the values of w 1 * , w 2 * and w 3 * can be found to make the condition m C satisfy the value of w 1 w 2 w 3 (as shown in Equation (7)). The Hamming coding matrix is used as the first round to shuffle the original values of w 1 w 2 w 3 to produce the values of w 1 * , w 2 * and w 3 * . For example, if c * ( 2 , 2 ) is equal to 5, w 1 w 2 w 3 will be 101. While satisfying Equation (7)), the values of w 1 * , w 2 * and w 3 * will be 1, 1, and 0, respectively.
Subsequently, the value w 1 * w 2 * w 3 * is recalculated as w 1 w 2 w 3 for the second round of shuffling with Equation (8), where r 1 r 2 r 3 is generated by a random number generator with the key s 1 . In the previous example, if the value of r 1 r 2 r 3 is 001, w 1 w 2 w 3 will be 110 001 = 111 .
In the secret embedding and encryption step, the bit stream of the embedded pixel consists of three parts as shown in Figure 2, in which the embedded pixel is represented by p ( i , j ) . The first part is for the Hamming encoding code, which expresses which case the given pixel p ( i , j ) falls into. The first three MSBs of the embedded pixel equate to the second-round shuffling result w 1 w 2 w 3 .
As for the second part in Figure 2, the values of the “Payload” column in Table 1, depicted by p a y l o a d ( i , j ) , indicate the number of secret bits to-be embedded to the pixel p ( i , j ) . In this part, the hiding capacity for different types of images is listed in Table 1. Here, the fallen cases, the capacity, the code length, and pure payload are denoted by “Label”, “Capacity”, “Code length” and “Payload”, respectively. The column “Label” indicates the decimal value of the indicator ( w 1 w 2 w 3 ), “Capacity” refers to the amount of changeable bits for a given pixel, “Code length” is the code length of Hamming codes, and “Payload” represents the pure hiding capacity (i.e., the result of “Capacity” value minus the “Code length” value). For example, for a complex image, the payload is 3 if Label is 5 (i.e., 6 3 = 3 ). If p a y l o a d ( i , j ) is less than 0, no secret data are hidden. In addition, the original | p a y l o a d ( i , j ) | MSBs of the pixel p ( i , j ) are regarded as part of the to-be hidden secret data, where | b | is the absolute value of b. When p a y l o a d ( i , j ) is larger than 0, the second part of the p ( i , j ) , bits of the secret data, are equal to the values from the 4th MSB bit to the p a y l o a d ( i , j ) + 3 -th MSB bits of the p ( i , j ) . The third part is the last ( 5 p a y l o a d ( i , j ) ) bits of p ( i , j ) if p a y l o a d ( i , j ) is larger than 0; otherwise, the last five bits of the embedded pixel are kept the same as those of p ( i , j ) .
In the same example, p ( i , j ) can be constructed as 11100100, and the first 3 MSBs w 1 w 2 w 3 as 111; the second part for embedding p a y l o a d ( i , j ) bits of secret data (e.g., obtain three bits of the to-be hidden data (001 in this example), owing to the w 1 w 2 w 3 equal to 101 in Table 1); and the third part as the last (i.e., 5 3 = 2 ) bits of the original pixel (i.e., the last two bits of original pixel p ( 2 , 2 ) are 00). If p a y l o a d ( i , j ) is less than 0, no data are hidden in this situation, and the 4th MSB onward to the last bit of p ( i , j ) is equal to that of p ( i , j ) . For clarity, the k position of the pixel p ( i , j ) is represented by p k ( i , j ) . In the image encryption stage, the key s 2 generates a random number r ( i , j ) , where the k bit of r ( i , j ) is represented as r k ( i , j ) . Finally, p ( i , j ) can be encrypted via Equation (9) with key s 2 . For example, if r k ( 2 , 2 ) is 01011001, the encrypted pixel p * ( 2 , 2 ) will be ( 10111101 ) 2 = 189 .
m = ( w 1 * w 2 * p ^ 5 ( i , j ) w 3 * p ^ 6 ( i , j ) p ^ 7 ( i , j ) p ^ 8 ( i , j )
Let w 1 w 2 w 3 = m C mod 2 , where C = 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 1 0 0 0 1
w 1 w 2 w 3 = w 1 * w 2 * w 3 * r 1 r 2 r 3
p * k ( i , j ) = p k ( i , j ) r k ( i , j ) , for k = 1 to 8

2.2. Secret Extraction and Decryption Phases

This phase consists of three steps: the decryption step, data extraction step, and recovery step.
In the decryption step, the keys s 1 and s 2 will generate random bits r 1 r 2 r 3 and r ( i , j ) . Using Equation (9), the encrypted pixel p * k ( i , j ) can be decrypted as p k ( i , j ) , where r k ( i , j ) is the random bit used to decrypt the k bits of pixel p k ( i , j ) . Thus, the p k ( i , j ) can be reconstructed as 10111101 01011001 = 11100100 .
In the data extraction step, the value of w 1 * w 2 * w 3 * can be obtained through Equation (8) key s 1 . In the same example, the values of w 1 w 2 w 3 and r 1 r 2 r 3 are 111 and 001, which output w 1 * w 2 * w 3 * as 111 001 = 110 . After that, the first 3 MSBs of the decrypted image are integrated as w 1 * w 2 * w 3 * with predicted pixels p ^ 5 ( i , j ) , p ^ 6 ( i , j ) , p ^ 7 ( i , j ) and p ^ 8 ( i , j ) using Equation (7) to calculate m C . m C determines w 1 w 2 w 3 . The decimal of w 1 w 2 w 3 represents the indicator in column “Label” of Table 1. Mapping to a fallen case, if the corresponding value of p a y l o a d ( i , j ) is larger than 0, we can obtain the hidden data from the 4th MSB to the 3 + p a y l o a d ( i , j ) th MSB of p ( i , j ) as shown in the second piece of Figure 2. In contrast, if p a y l o a d ( i , j ) is less than 1, no secret data are extracted.
In the previous example, the predicted pixel is p ^ ( 2 , 2 ) = 106 ; thus, the values of p ^ 5 ( i , j ) , p ^ 6 ( i , j ) , h a t p 7 ( i , j ) and p ^ 8 ( i , j ) are 0, 1, 1, 0, respectively. The value of m is constructed as [ 1100110 ] by Equation (6). With Equation (7), the value of w 1 w 2 w 3 is 101. The decimal value of w 1 w 2 w 3 is equal to 5, which indicates p a y l o a d ( i , j ) equal to 3. In the example, the hidden data are extracted as 001 (from the 4th MSB to the 6th MSB of p ( 2 , 2 ) ).
The algorithm for the recovery step is shown in Algorithm 1. The value of “Capacity” in Table 1 (for clarity, the value depicted by p a y l o a d ( i , j ) , represents the number of bits that can be recovered from the predicted pixel). Furthermore, two recovery situations are for smooth images and complex images. For the smooth image, if p a y l o a d ( i , j ) equals 0, no bits of the predicted pixel p ^ ( i , j ) can be used to recover the original pixel p ( i , j ) , and the original 3 MSBs of p ( i , j ) are recovered through the hidden data extracted by other pixels. As for a complex image, if p a y l o a d ( i , j ) is less than 1, the | p a y l o a d ( i , j ) | MSBs are also recovered by the hidden data extracted by other pixels. The 4th MSB onward to the last bit of p ( i , j ) is recovered by that of p ( i , j ) .
If p a y l o a d ( i , j ) is larger than 0, the first p a y l o a d ( i , j ) 1 MSBs of the predicated pixel are the same as the first p a y l o a d ( i , j ) 1 MSBs of the original pixel. In addition, the p a y l o a d ( i , j ) th MSB of p ( i , j ) is recovered by the flipped value of p ^ ( i , j ) . The last 5 p a y l o a d ( i , j ) bits of p ( i , j ) can be used to recover those of p ( i , j ) . That is, the p a y l o a d ( i , j ) th MSB of p ( i , j ) is equal to 1 p ^ 8 p a y l o a d ( i , j ) ( i , j ) .
In the example, p a y l o a d ( i , j ) is 6. Thus, the original first five MSBs are recovered as 01101 and the 6th MSB bit can be restored as 1 (flip the 6th MSB of p ^ ( 2 , 2 ) ). The remaining bits of p ( 2 , 2 ) can be used to recover that of p ( 2 , 2 ) as 00. Thus, the reconstructed pixel is 01101100 (i.e., 108).
Algorithm 1 Recovering pseudo code
1:
procedureRecovery( p a y l o a d ( i , j ) , p ^ ( i , j ) )
2:
    if  p a y l o a d ( i , j ) > 0  then
3:
        the p a y l o a d ( i , j ) 1 MSBs of p ( i , j ) are recovered by that of p ^ ( i , j ) .
4:
        the p a y l o a d ( i , j ) th MSB of p ( i , j ) = 1 p ^ 8 p a y l o a d ( i , j ) ( i , j ) .
5:
        the last 5 p a y l o a d ( i , j ) bits of p ( i , j ) are recovered by that of p ( i , j ) .
6:
    else if  p a y l o a d ( i , j ) 0  then
7:
        if Image is tagged as s then
8:
           the original 3 MSBs of p ( i , j ) can be recovered by the other pixels.
9:
        else if Image is tagged as c then
10:
            | p a y l o a d ( i , j ) | MSBs are recovered by the other pixels.
11:
        the last 5 bits of p ( i , j ) are recovered by that of p ( i , j ) .

3. Experimental Results

This section shows the experimental results and compares them with the results of [9,15,22,35,37,38]. Three test images: Lena, Baboon and Jetplane, as shown in Figure 3. In addition, the measured metric PSNR (Peak Signal-to-Noise Ratio), as seen in Equation (10), is used to evaluate the visual quality. After the image is encrypted, the encrypted results of Figure 3a–c are shown in Figure 3d–f, respectively. The encryption result is meaningless to users. The PSNRs of Figure 3d–f are 8.816, 9.524 and 8.677 dB, respectively. Figure 3g–i shows that the attacker used the wrong key to decrypt the image, and the PSNRs are 8.797, 9.507 and 8.656 dB, respectively.
P S N R = 10 × l o g 10 255 2 M S E
M S E = i = 0 m 1 j = 0 n 1 ( p * ( i , j ) p ( i , j ) ) m × n
Hidden capacity is expressed in bits per pixel (bpp). Table 2 shows the hiding capacity of the test images Lena, Baboon and Jetplane. Here, the field “Label” is mapped to the falling case according to the value of c * ( i , j ) and the image type (smooth or complex image), and the “distribution” is the number of pixels classified into the same “Label”. “Payload” refers to pure payload. The payloads of the images Lena, Baboon and Jetplane are 2.58, 1.19 and 3.43 bpp, respectively, which are higher than those in [35]. In addition, the experiments showed that the prediction results for smooth images (such as Lena and Jetplane) were better than those for complex images (such as Baboon), which resulted in smooth images having greater hiding capacity than complex images did. Moreover, thresholds t 1 and t 2 settings are the flexible factors for different images to make the prediction pixel close to the original ones. The close prediction causes a better hiding capacity. Table 3 compares the payload (bpp) of the proposed scheme with the methods in [9,15,22,35,37,38]. The results show that the proposed method outperforms the six other algorithms.

4. Conclusions

Image encryption aims to encrypt sensitive data to protect privacy for the image owner. This paper proposes a reversible data embedding scheme using Hamming coding in encrypted images. On average, the code length is 3 bpp to expand the hiding capacity. In the experiment, the hiding capacity of the proposed scheme is greater than that in [9,15,22,35,37,38] for both smooth and complex types of images. In addition, the proposed technique enables an encrypted image to be completely restored to its original state after the hidden data are extracted.

Author Contributions

Formal analysis, P.-Y.L.; Methodology, Y.-H.C. and S.-H.C.; Visualization, S.-H.C.; Writing–original draft, Y.-H.C., P.-Y.L. and H.-P.W.; Writing–review and editing, H.-P.W. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported in part by the Ministry of Science and Technology of the Republic of China, Taiwan, under Grant MOST 107-2221-E-182 -081 -MY3 and MOST 110-2221-E-182-026-MY3, and in part by the Kaohsiung Chang Gung Memorial Hospital with grant number CMRPD3M0011.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Zhu, H.; Zhang, X.; Yu, H.; Zhao, C.; Zhu, Z. An image encryption algorithm based on compound homogeneous hyper-chaotic system. Nonlinear Dyn. 2017, 89, 61–79. [Google Scholar] [CrossRef]
  2. Zhu, H.; Zhao, Y.; Song, Y. 2D logistic-modulated-sine-coupling-logistic chaotic map for image encryption. IEEE Access 2019, 7, 14081–14098. [Google Scholar] [CrossRef]
  3. Zhu, H.; Dai, L.; Liu, Y.; Wu, L. A three-dimensional bit-level image encryption algorithm with Rubik’s cube method. Math. Comput. Simul. 2021, 185, 754–770. [Google Scholar] [CrossRef]
  4. Coatrieux, G.; Le Guillou, C.; Cauvin, J.M.; Roux, C. Reversible watermarking for knowledge digest embedding and reliability control in medical images. IEEE Trans. Inf. Technol. Biomed. 2008, 13, 158–165. [Google Scholar] [CrossRef]
  5. Lee, S.; Yoo, C.D.; Kalker, T. Reversible image watermarking based on integer-to-integer wavelet transform. IEEE Trans. Inf. Forensics Secur. 2007, 2, 321–330. [Google Scholar] [CrossRef]
  6. Celik, M.U.; Sharma, G.; Tekalp, A.M.; Saber, E. Lossless generalized-LSB data embedding. IEEE Trans. Image Process. 2005, 14, 253–266. [Google Scholar] [CrossRef]
  7. Celik, M.U.; Sharma, G.; Tekalp, A.M. Lossless watermarking for image authentication: A new framework and an implementation. IEEE Trans. Image Process. 2006, 15, 1042–1049. [Google Scholar] [CrossRef]
  8. Cao, X.; Du, L.; Wei, X.; Meng, D.; Guo, X. High capacity reversible data hiding in encrypted images by patch-level sparse representation. IEEE Trans. Cybern. 2015, 46, 1132–1143. [Google Scholar] [CrossRef]
  9. Chen, K.; Chang, C.C. High-capacity reversible data hiding in encrypted images based on extended run-length coding and block-based MSB plane rearrangement. J. Vis. Commun. Image Represent. 2019, 58, 334–344. [Google Scholar] [CrossRef]
  10. Chen, Y.C.; Shiu, C.W.; Horng, G. Encrypted signal-based reversible data hiding with public key cryptosystem. J. Vis. Commun. Image Represent. 2014, 25, 1164–1170. [Google Scholar] [CrossRef]
  11. 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]
  12. Huang, F.; Huang, J.; Shi, Y.Q. New framework for reversible data hiding in encrypted domain. IEEE Trans. Inf. Forensics Secur. 2016, 11, 2777–2789. [Google Scholar] [CrossRef]
  13. Liao, X.; Shu, C. Reversible data hiding in encrypted images based on absolute mean difference of multiple neighboring pixels. J. Vis. Commun. Image Represent. 2015, 28, 21–27. [Google Scholar] [CrossRef]
  14. 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]
  15. Puteaux, P.; Puech, W. An efficient MSB prediction-based method for high-capacity reversible data hiding in encrypted images. IEEE Trans. Inf. Forensics Secur. 2018, 13, 1670–1681. [Google Scholar] [CrossRef] [Green Version]
  16. Qian, Z.; Zhang, X.; Feng, G. Reversible data hiding in encrypted images based on progressive recovery. IEEE Signal Process. Lett. 2016, 23, 1672–1676. [Google Scholar] [CrossRef]
  17. Qian, Z.; Zhang, X.; Wang, S. Reversible data hiding in encrypted JPEG bitstream. IEEE Trans. Multimed. 2014, 16, 1486–1491. [Google Scholar] [CrossRef]
  18. Qian, Z.; Zhang, X. Reversible data hiding in encrypted images with distributed source encoding. IEEE Trans. Circuits Syst. Video Technol. 2015, 26, 636–646. [Google Scholar] [CrossRef]
  19. Wu, X.; Sun, W. High-capacity reversible data hiding in encrypted images by prediction error. Signal Process. 2014, 104, 387–400. [Google Scholar] [CrossRef]
  20. Xu, D.; Wang, R. Separable and error-free reversible data hiding in encrypted images. Signal Process. 2016, 123, 9–21. [Google Scholar] [CrossRef]
  21. Yi, S.; Zhou, Y. Binary-block embedding for reversible data hiding in encrypted images. Signal Process. 2017, 133, 40–51. [Google Scholar] [CrossRef]
  22. Yi, S.; Zhou, Y. Separable and reversible data hiding in encrypted images using parametric binary tree labeling. IEEE Trans. Multimed. 2019, 21, 51–64. [Google Scholar] [CrossRef]
  23. Yin, Z.; Abel, A.; Tang, J.; Zhang, X.; Luo, B. Reversible data hiding in encrypted images based on multi-level encryption and block histogram modification. Multimed. Tools Appl. 2017, 76, 3899–3920. [Google Scholar] [CrossRef]
  24. Yin, Z.; Xiang, Y.; Zhang, X. Reversible data hiding in encrypted images based on multi-MSB prediction and Huffman coding. IEEE Trans. Multimed. 2020, 22, 874–884. [Google Scholar] [CrossRef]
  25. Zhang, X. Reversible data hiding in encrypted image. IEEE Signal Process. Lett. 2011, 18, 255–258. [Google Scholar] [CrossRef]
  26. Zhang, X. Separable Reversible Data Hiding in Encrypted Image. IEEE Trans. Inf. Forensics Secur. 2012, 7, 826–832. [Google Scholar] [CrossRef]
  27. Zhang, W.; Ma, K.; Yu, N. Reversibility improved data hiding in encrypted images. Signal Process. 2014, 94, 118–127. [Google Scholar] [CrossRef]
  28. Zhang, X.; Qian, Z.; Feng, G.; Ren, Y. Efficient reversible data hiding in encrypted images. J. Vis. Commun. Image Represent. 2014, 25, 322–328. [Google Scholar] [CrossRef]
  29. Zhang, X.; Long, J.; Wang, Z.; Cheng, H. Lossless and reversible data hiding in encrypted images with public-key cryptography. IEEE Trans. Circuits Syst. Video Technol. 2015, 26, 1622–1631. [Google Scholar] [CrossRef]
  30. Zhang, W.; Wang, H.; Hou, D.; Yu, N. Reversible data hiding in encrypted images by reversible image transformation. IEEE Trans. Multimed. 2016, 18, 1469–1479. [Google Scholar] [CrossRef]
  31. Zheng, S.; Li, D.; Hu, D.; Ye, D.; Wang, L.; Wang, J. Lossless data hiding algorithm for encrypted images with high capacity. Multimed. Tools Appl. 2016, 75, 13765–13778. [Google Scholar] [CrossRef]
  32. Zhou, J.; Sun, W.; Dong, L.; Liu, X.; Au, O.C.; Tang, Y.Y. Secure reversible image data hiding over encrypted domain via key modulation. IEEE Trans. Circuits Syst. Video Technol. 2016, 26, 441–452. [Google Scholar] [CrossRef]
  33. Zhang, X.; Feng, G.; Ren, Y.; Qian, Z. Scalable coding of encrypted images. IEEE Trans. Image Process. 2012, 21, 3108–3114. [Google Scholar] [CrossRef]
  34. Dragoi, I.C.; Coltuc, D. On the security of reversible data hiding in encrypted images by MSB prediction. IEEE Trans. Inf. Forensics Secur. 2021, 16, 187–189. [Google Scholar] [CrossRef]
  35. Chen, Y.H.; Lin, P.Y. Integrated Hamming Coding Operation to Reversible Data Hiding Scheme for Encrypted Images. In Proceedings of the 22nd IEEE/ACIS International Fall Virtual Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD2021-Fall), Taichung, Taiwan, 24–26 November 2021. [Google Scholar]
  36. Greenwald, S.W. Matrix Multiplication with Asynchronous Logic Automata. Ph.D. Thesis, Massachusetts Institute of Technology, Cambridge, MA, USA, 2010. [Google Scholar]
  37. Puteaux, P.; Puech, W. EPE-based huge-capacity reversible data hiding in encrypted images. In Proceedings of the 2018 IEEE International Workshop on Information Forensics and Security (WIFS), Hong Kong, China, 11–13 December 2018; pp. 1–7. [Google Scholar]
  38. Puyang, Y.; Yin, Z.; Qian, Z. Reversible data hiding in encrypted images with two-MSB prediction. In Proceedings of the 2018 IEEE International Workshop on Information Forensics and Security (WIFS), Hong Kong, China, 11–13 December 2018; pp. 1–7. [Google Scholar]
Figure 1. A sample prediction for a complex image.
Figure 1. A sample prediction for a complex image.
Applsci 12 01966 g001
Figure 2. Three pieces of the embedded pixel.
Figure 2. Three pieces of the embedded pixel.
Applsci 12 01966 g002
Figure 3. Test images and the corresponding encrypted and decrypted with wrong key images. (a) Lena. (b) Baboon. (c) Jetplane. (d) Encrypted result of (a). (e) Encrypted result of (b). (f) Encrypted result of (c). (g) Illegal decryption of (d). (h) Illegal decryption of (e). (i) Illegal decryption of (f).
Figure 3. Test images and the corresponding encrypted and decrypted with wrong key images. (a) Lena. (b) Baboon. (c) Jetplane. (d) Encrypted result of (a). (e) Encrypted result of (b). (f) Encrypted result of (c). (g) Illegal decryption of (d). (h) Illegal decryption of (e). (i) Illegal decryption of (f).
Applsci 12 01966 g003
Table 1. The pure payloads of the smooth image and complex image.
Table 1. The pure payloads of the smooth image and complex image.
LabelSmooth ImageComplex Image
CapacityCode LengthPayloadCapacityCode LengthPayload
003−313−2
133023−1
2431330
3532431
4633532
5734633
6835734
7835734
Table 2. The pure payloads of images “Lena”, “Baboon” and “Jetplane”.
Table 2. The pure payloads of images “Lena”, “Baboon” and “Jetplane”.
LabelLena ( t 1 = − 1, t 2 = 1)( t 1 = 0, t 2 = 0)Jetplane ( t 1 = 0, t 2 = − 1)
DistributionPayloadDistributionPayloadDistributionPayload
−1102310231023
08200
7493
−24,600
−22,479
34,591−69,1824457
9990
−13,371
−29,970
118,984022,574−22,57484270
228,74228,74240,173016,43016,430
347,65395,30644,46444,46426,25052,500
453,002159,00641,39482,78833,346100,038
542,304169,21632,23096,69036,543146,172
625,060125,30020,94983,79636,952184,760
729,683148,41512,033
12,713
48,132
50,852
88,726443,630
Total-677,883-313,943-899,166
Table 3. Comparison of payload on three images.
Table 3. Comparison of payload on three images.
MethodPayload
LenaBaboonJetplane
Scheme [35]2.421.192.98
Scheme [15]0.9770.8380.983
Scheme [37]1.6360.8331.717
Scheme [38]1.1560.3721.294
Scheme [22]2.0140.4622.008
Scheme [9]1.9280.4802.254
Proposed Scheme2.581.193.43
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Chen, Y.-H.; Lin, P.-Y.; Wu, H.-P.; Chen, S.-H. Joint Hamming Coding for High Capacity Lossless Image Encryption and Embedding Scheme . Appl. Sci. 2022, 12, 1966. https://0-doi-org.brum.beds.ac.uk/10.3390/app12041966

AMA Style

Chen Y-H, Lin P-Y, Wu H-P, Chen S-H. Joint Hamming Coding for High Capacity Lossless Image Encryption and Embedding Scheme . Applied Sciences. 2022; 12(4):1966. https://0-doi-org.brum.beds.ac.uk/10.3390/app12041966

Chicago/Turabian Style

Chen, Yi-Hui, Pei-Yu Lin, Hsin-Pei Wu, and Shih-Hsin Chen. 2022. "Joint Hamming Coding for High Capacity Lossless Image Encryption and Embedding Scheme " Applied Sciences 12, no. 4: 1966. https://0-doi-org.brum.beds.ac.uk/10.3390/app12041966

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