Data hiding is the technique by which some data is hidden into a cover media. The data is usually a text related to the image such as authentication data or author information. At the receiver side it must be able to extract the hidden data. In some high-precision applications such as medical, military and remote sensing, it is highly desired that the original image can be perfectly recovered after data extraction. The data hiding techniques satisfying this requirement is known as reversible data hiding. They are also called invertible, lossless or distortion free data hiding.
Data hiding is usually performed by an inferior assistant or a channel administrator. The owner of the image cannot trust the assistant or channel administrator completely. In case the owner needs to keep the secrecy of the image, he may first encrypt the image using an encryption key. The channel administrator, without any knowledge about the original image content, has to hide data into the encrypted image using a data hiding key. It is also desired that the receiver can extract the hidden data and recover the original image in a separable manner. Separable means, if the receiver is having the data hiding key only, he can extract the data but cannot decrypt the image. If he is having data hiding key only, it is possible to decrypt the image but cannot extract the hidden data. If the receiver is having both the keys, he can extract the hidden data and recover the original image.
Get your grade
or your money back
using our Essay Writing Service!
Most of the works on data hiding focuses on data hiding and extraction on plain image -. Reversible data hiding by histogram shifting is described in . In  data is hidden into the histogram of pixel differences. Data hiding in  stores data by making changes to LSB bits.
A number of image encryption techniques have also been developed over years. Encryption algorithms falls under two general categories: substitution and transposition. Some algorithms perform both to enhance security. Substitution based encryption makes changes to the pixel values to make the content unrevealed. A substitution based image encryption is discussed in . Permutation based encryption algorithms are covered in  and . In permutation based encryption the pixels are shuffled and no change is made to the pixel values. Image encryption consisting both substitution and transposition are covered in  and .
There are a number of schemes which performs data hiding and encryption jointly. In some of them, a part of cover is used to carry additional data and rest of the cover is encrypted. For example, in , watermark is added to amplitude of DCT coefficients and intra-prediction mode, motion vector difference and signs of DCT coefficients are encrypted. A reversible data hiding technique in encrypted image is described in , which hides data into completely encrypted image. But in this method image decryption and data extraction are not separable. The method in  hides data into an encrypted image in a separable manner.
The proposed method is a separable reversible data hiding in encrypted image with improved performance. The owner of the image first encrypts the image by permutation, making use of an encryption key. Since permutation only shuffles the pixels, the histogram of the image remains the same. The data hider, without any knowledge about the original image content, hides data into the encrypted image by histogram modification method. Before hiding the data, the data hider permutes image using data hiding key and after data hiding he performs inverse permutation. At the receiver side, if the receiver has only data hiding key, he can extract the data, but cannot read the content of the image. If he has only encryption key, he can only decrypt the image. If he has both keys, he may first extract the data using data hiding key and then decrypt the image using encryption key.
II. PROPOSED SCHEME
We propose an efficient separable reversible data hiding in encrypted image. A sketch of the proposed scheme is given in fig.1. The owner of the image first encrypts the image using an encryption key. Then the data hider, without any knowledge about the original image content, hides data using a data hiding key. At the receiver side the receiver extracts the data and decrypts the image in a separable manner.
Always on Time
Marked to Standard
Encrypted Image Containing Embedded Data
Fig. 1. Sketch of proposed scheme.
A. Image Encryption
Consider a grayscale image of size m Ã- n. Scan the image into a matrix sized m Ã- n. For a grayscale image, the pixel values falls in the range [0, 255].
We use a chaotic based permutation method  to encrypt the image. A sequence of pseudorandom numbers are generated by using the logistic function
where, and . is an initial seed and combination of and serves as the encryption key.
Generate mn pseudorandom numbers using (1) and store them in a vector P. Sort the vector P in ascending order. Note the position changes during sorting to generate a location map L. Location map is such that, L(1) is the original index of smallest value, L(2) that of second smallest and so on.
Arrange pixels of the image into a vector I. Rearrange I according to the location map L. Reshape vector I into matrix sized m Ã- n to get the encrypted image.
B. Data Hiding
As permutation based encryption do not change the histogram of original image, histogram modification based method  can be used to hide data into the encrypted image. The method follows:
Pseudorandomly permute the encrypted image pixels using data hiding key.
Generate histogram of the image and find the maximum (MAX) and minimum (MIN) points. A MAX point is the grayscale value having maximum number of pixels in the image. A MIN point is the grayscale value having minimum number of pixels in the image. Without loss of generality, assume MAX < MIN. Data is embedded into pixels with grayscale value equal to MAX. The pixel positions with grayscale value equal to MIN are stored as overhead information and will be hidden into the image along with pure data.
The whole image is scanned in a sequential order. The grayscale values of those pixels between MAX+1 and MIN (both including) are incremented by 1, leaving histogram of MAX+1 empty. This is the histogram shifting process.
Let there be p pixels corresponding to the grayscale value MAX. These p pixels are used to hide the data. Data to be embedded is converted into binary format. The image in then scanned in a sequential order. Whenever a pixel with grayscale value MAX is encountered, check the bit to be embedded. If the corresponding bit to be embedded into that pixel is "1", the pixel value is incremented by 1.If the bit to be embedded is "0", the pixel value remains unchanged.
Perform inverse permutation on the image.
The above steps complete data hiding process. It is observed that data hiding capacity of the method is (p-O) bits, where O is the amount of overhead information due to MIN positions. Increased data hiding capacity can be achieved by using multiple MAX and MIN pairs as explained in . Data hiding key, MAX and MIN values are communicated to the extractor through some secure channel.
C. Data Extraction and Image Recovery
At the receiver side we will consider 3 cases such that the receiver has:
only data hiding key
only encryption key
both data hiding and encryption keys
i. Data hiding key only
When the receiver has only data hiding key and encrypted image containing hidden data, he may first pseudorandomly permute the image using data hiding key as in data hiding phase. He then scans the image in the sequential order. If a pixel value with grayscale value MAX + 1 is encountered, a bit "1" is extracted. If a grayscale value MAX is encountered, a bit "0" is extracted. The extracted bits are concatenated to get the hidden data. The pure data as well as overhead information is exactly extracted.
In order to recover the original pixel values after data extraction, the whole image is scanned again in sequential order. For every pixel with grayscale value in the range (MAX, MIN], the pixel value is decremented by 1. The extracted data contains overhead information which gives the original pixel positions with MIN value. Replace these pixels with MIN value. After data extraction, inverse permutation is performed to get the encrypted image without any hidden data.
This Essay is
a Student's Work
ii. Encryption key only
By using the encryption key only, the receiver can decrypt the original image containing hidden data. For this, he generates the same chaotic sequence as in encryption phase using formula (1) and initial condition. The logistic map is generated by sorting the sequence in ascending order. Using the logistic map, pixels of the encrypted image are rearranged to their original position to get the decrypted image.
The decryption process can bring back all the pixels to their original position. Only distortion in the decrypted image is a difference of 1 for those pixels used for data hiding. The lower bound of Peak Signal to Noise Ratio (PSNR) of this decrypted image can be proved to be larger than 48 dB as follows.
It is observed that the grayscale value of pixels between MAX and MIN will either be incremented or decremented by 1 during data hiding. In the worst case, the value of every pixel differs by a value of 1 from their original value. Thus the Mean Square Error (MSE) of worst case is 1 and the lower bound of PSNR of the decrypted image containing hidden data is given by,
This resultant lower bound of PSNR is much higher than that of reversible data hiding in encrypted image techniques reported in the literature. The proposed method increased the PSNR by 10.23 dB over the non separable method described in . For the separable method in , the increase over  was only 8.7 dB.
iii. Both data hiding and encryption key
When the receiver has both the keys, he first extracts the hidden data using data hiding key as in case (C. i). This will recover the original gray value of distorted pixels due to data hiding. Then the receiver decrypts the image as in case (C. ii). Thus the hidden data is extracted exactly and the original image is recovered completely.
We proposed a novel separable reversible data hiding in encrypted image with improved performance. The method consists of image encryption, data hiding, and data extraction and image recovery phases. In the first phase, owner of the image encrypts the image by chaotic permutation using encryption key. The data hider without knowing the original content can hide data into the encrypted image using data hiding key. For this histogram modification based method is employed. Data hiding capacity of this method is much higher than the existing reversible data hiding in encrypted image techniques. At the receiver side data extraction and image recovery are performed in a separable manner. The receiver having data hiding key only can extract the hidden data but cannot decrypt the image. If the receiver is having encryption key only, he can generate an image similar to the original image by decryption. The lower bound of PSNR of this decrypted image is proved to be 48.13 dB which is much higher than that of existing reversible data hiding techniques in encrypted image. If the receiver has both keys, he can extract the data and recover the original image completely.
Zhicheng Ni, Yun-Qing Shi, Nirwan Ansari, Wei Su, "Reversible data hiding", IEEE Trans. on Circuits and Systems for Video Technology, vol. 16, No. 3, Mar. 2006.
Jun Tian, "Reversible data embedding using a difference expansion", IEEE Trans. on Circuits and Systems for Video Technology, vol. 13, No. 8, Aug. 2003.
Mehmet Utku Celik, Gaurav Sharma, Ahmet Murat Tekalp, Eli Saber, "Lossless generalized-LSB data embedding", IEEE Trans. on Image Processing, vol. 14, No. 2, Feb. 2005.
Pramod Kumar, Pushpendra Kumar Pateriya, "RC4 enrichment algorithm approach for selective image encryption", International Journal of Computer Science & Communication Networks, vol. 2(2), 181-189.
Chinmaya Kumar Nayak, Anuja Kumar Acharya And Satyabrata Das, "Image encryption using an enhanced block based transformation algorithm", International Journal of Research and Reviews in Computer Science, vol. 2, No. 2, Apr. 2011.
M. Kiran Kumar, S. Mukthyar Azam, Shaik Rasool, "Efficient digital encryption algorithm based on matrix scrambling technique", International Journal of Network Security & its Applications, vol.2, No.4, Oct. 2010.
Mohammad Ali Bani Younes, Aman Jantan, "An image encryption approach using a combination of permutation technique followed by encryption", International Journal of Computer Science and Network Security, vol.8 No.4, April 2008.
Hiral Rathod, Mahendra Singh Sisodia, Sanjay Kumar Sharma, "Design and implementation of image encryption algorithm by using block based symmetric transformation algorithm", International Journal of Computer Technology and Electronics Engineering, vol. 1, Issue 3.
Shiguo Lian, Zhongxuan Liu, Zhen Ren, Haila Wang, "Commutative encryption and watermarking in video compression", IEEE Trans. on Circuits and Systems for Video Technology, vol. 17, No. 6, Jun 2007.
Xinpeng Zhang, "Reversible data hiding in encrypted image", IEEE Signal Processing Letters, vol. 18, No. 4, Apr. 2011.
Xinpeng Zhang, "Separable reversible data hiding in encrypted image" IEEE Trans. on Information Forensics and Security, vol. 7, No. 2, Apr. 2012".