A Secure Visual Cryptography Scheme Using Private Key with Invariant Share Sizes

Visual cryptography (VC) is one of the best techniques used to secure information. It uses the human vision to decrypt the encrypted images without any cryptographic computations. The basic concept of visual cryptography is splitting the secret image into shares such that when the shares are stacked, the secret image is revealed. In this paper we proposed a method that is based on the concept of visual cryptography for color images and without any pixel expansion which requires less space. The proposed method is used to encrypt halftone color images by generating two shares, random and key shares which are the same size as the secret color image. The two shares are generated based on a private key. At the receiving side, the secret color image is revealed by stacking the two shares and exploiting the human vision system. In this paper, we produce an enhanced form of the proposed method by modifying the encryption technique used to generate the random and the key shares. Experimental results have shown that the proposed and the enhanced methods suggest an efficient way to encrypt a secret color image with better level of security, less storage space, less time of computation and with a better value of PSNR.


Introduction
The rapid development in computer technology and the internet and the need to transfer data from one place to another requires finding a way to secure data transmission.Secure methods are needed to guard data against hacking or attacks.An attempt to find a secure method that guarantees data protection has become a challenge for many researchers in this field.Pioneering innovation in securing and encrypting secret data against hacking are Naor and Shamir [1].In 1994, they proposed a visual cryptography scheme, which can decode concealed images without any complex cryptographic computations.Their basic model was used for black and white images where it generates n transparencies of the original secret image.Stacking only k (or more) of the n transparencies can reveal the original secret image.This model suffers from pixel expansion, where the size of the recovered secret image is not the same as the size of the original one.Many VC techniques have been proposed to recover black and white images and color images [2]- [10].Moreover, several studies employ both cryptography and steganography to provide a high level of security for data transmission [11] [12] [13].Askari, Heys and Moloney in [14], proposed an extended VC scheme for processing halftone images, where the size of the share images and the recovered image is the same as the original secret image.The scheme improved the quality of the share images and the recovered secret image.They first presented a method based on a block-wise approach called simple block replacement (SBR) for preprocessing the halftone image.The method is easy to implement but the resulting secret image is darker than the original image.Therefore, they proposed the balance block replacement (BBR) method in order to keep the local ratio of black to white pixels in the processed image close to the local ratio of the black to white pixels in the original halftone image thus improve the quality of the resulting image.Amin and Lijina in [15], applied dithering to the block replacement method called balance block replacement (BBR) in order to improve the quality of both the shared images and the recovered secret image.In [16], Fersna and Athira proposed an encryption technique without pixel expansion for color images.The technique gradually recovers the secret image.
As more and more shares are stacked the secret cover image can be revealed progressively.In their paper they combined progressive visual cryptography technique with digital watermarking scheme to generate meaningful shares providing higher security.Xiaoyo et al. proposed a visual cryptography technique which supports color images without pixel expansion, original image without preprocessing, k-out-of-n threshold setting as well as supporting a tunable number of color levels in the secret sharing process [17].
In this paper, we proposed a visual cryptography method for color images and without any pixel expansion compared to [1].The proposed method is used to encrypt halftone color images.The secret color image is revealed without any complex computation, thus minimizing the preprocessing time which other papers suffer from [14] [15] [16].
Our proposed method is used to encrypt halftone color images by generating two shares, random and key shares, which are the same size as the secret color image.The two shares are generated based on a private key.At the receiving side, the secret color image is revealed by stacking the two shares and exploiting the human vision system.The proposed method keeps the secret color image with a better level of security and quality as much as possible.Also time and storage space needed are minimized.This paper is organized a follows.Section 2 presents our proposed and enhanced methods, section 3 reports and discusses some experimental results.Finally, conclusions appear in section 4.

The Proposed Method
The proposed method suggested a way to encrypt a secret color image based on VC system.The secret color image is encoded into meaningless share images.
Individual share images do not give any information about the original secret image.The contents of the secret image can only be revealed by stacking all the share images.The resulted share images are the same size as the original secret image without pixels expansion.
The proposed method involves two stages; encryption and decryption:

The Encryption Stage
Step 1: The creation of the halftone image.
The original secret image is half toned into a binary image using a dithering technique.
Step 2: The halftone image is split into three layers Red, Green and Blue (ImgR, ImgB, and ImgG) Step 3: The generation of one layer of the Random share (the Mask) The size of the Mask generated is the same as the size of the secret image.
To generate the random share (Mask), a private key, which both the sending and receiving sides know, is used.
We consider the share as a set of rows and columns.The pixels in the even rows take a random value (either 0 or 1).The odd rows are filled with the complement value of the pixels in the even rows directly above it.If the pixel in the even row is black (white) then the pixel in the odd row beneath it will be white (black) see Figure 1.The Mask will be used to generate the key share in Step 4.
Step 4: The generation of the key share (share 2) The Key share is consisted of three layers Red, Green and Blue (called share2R, share2G and share2B).The encryption procedure of the colored secret image is illustrated in Figure 4.  3. Generate one layer Random share (mask share) with the same size as the secret image (see Figure 1 and Figure 2).
(2 1)block mask ∀ × ∈ , do the following: According to the private key K1, generate randomly a value either 0 or 1 and store it in the first pixel in the mask block (Mask ij ).The other pixel (Mask i+1j ) is filled with the complement value of the first pixel (Mask ij ).This step will make the mask a half blackand-white block.
The values for each block will be:   In order to improve the value of PSNR and to increase the level of accuracy and security, we enhanced step 4 of the encryption stage in the proposed method (see Figure 5 and Figure 6).

The Decryption Stage
To reveal the original secret image, the key share (Share 2) is decomposed into three layers (Share 2R, Share 2G and Share 2B).Each layer is stacked with the  mask then the resulted layers are combined to reveal the original secret image with the same size (see Figure 7).Secret information is retrieved using the human visual system and without the need of any complex computation.The decryption algorithm of the colored secret image is shown in Figure 8.

Experimental Results
The proposed method and its enhanced form have been applied to a wide range of images of different sizes.PSNR values were calculated for both methods and compared to the results of using the traditional visual cryptography scheme.As shown in Table 1, we found that there is no apparent difference between the PSNR values of VC and the proposed method, whereas the enhanced form of the proposed method shows a significant improvement.From Table 1, taking Leena image as an example, the PSNR value of the VC method is 30.1.While the PSNR   that the results of the enhanced method are also better.This also can be seen for the Baboon and Word images where the enhanced method gives PSNR values of 34.75 and 38.04 respectively.These results can be justified in that there are four different cases of the two pixels in the 2 × 1 image blocks (see Figure 6).The cases where the two pixels in the image block are complement of each other, share 2 blocks in the encryption step will be set with the same values of the corresponding blocks in the original image.On the other hand, if the two pixels taken from the original image are the same, then share 2 blocks will be set randomly according to the mask block.As we can see 50% of the cases after decrypting the encrypted image blocks remain the same as the original without any distortion.Furthermore, unlike VC, our methods encrypt the secret image without pixel expansion thus creating an encrypted secret image having the same size as the original (see Figure 9).The techniques we used also reduce the time of computation by half compared to VC because in the key share generation step, blocks of size 2 × 1 pixels are being processed in the encryption stage.
A sample set of host images with different sizes is shown in Figure 10.We use the halftone Lena image and the random share to generate the key share.Figure 9 shows that no information can be revealed from the two shares, the resultant decrypted image has the same size as the original color secret image and the image quality is maintained.

Conclusion
Visual cryptography is an encryption technique that has the advantage of using the human vision to decrypt the encrypted images without any cryptographic computations.On the other hand VC has suffered from pixel expansion.In this paper, the proposed and the enhanced methods overcome this by suggesting a new way of encryption without pixel expansion.Our methods require less space storage and less time for computation during the encryption process.The secret image is encrypted by splitting it into two shares, a random share and a key share.The key share is generated using the halftone image and the random share, and is then sent to the receiving side.The random share, on the other hand, is generated at both the sending and receiving sides using a private key.
The secret color image is revealed by stacking the two shares and exploiting the human vision system.The proposed and the enhanced methods offer a good PSNR values compared to VC.As a future work, we will enhance our methods to encrypt halftone color images by generating meaningful shares as well as applying our methods in applications that require high level of security.

Figure 1 .
Figure 1.The generation of the Mask share.

Figure 2 . 1 .
Figure 2. Share 2 block according to the corresponding Image block.
Generate a key share (share 2) according to the following steps: For all halftone image layers of the secret image (ImgR, ImgG, ImgB) do the following: following: According to the value of first pixel in each block (ImgR ij ): i) If ImgR ij = 0, set the complement of the corresponding mask block values to the corresponding position of Share 2R block (Share 2R ij , Share 2R i+1j ) ii) If ImgR ij = 1, set the same values of the corresponding mask block to the corresponding position of Share 2R block (Share 2R ij , Share 2R i+1j ) b) Repeat step (a) for ImgG and ImgB, then store the outcomes in Share 2G and Share 2B respectively.

Figure 3 .
Figure 3.The encryption algorithm of the colored secret image.

Figure 4 .
Figure 4.The encryption procedure of the colored secret image.

Figure 5 .
Figure 5.The enhanced encryption algorithm of the colored secret image.

Figure 6 .
Figure 6.Share 2 block according to the corresponding Image block.

Figure 7 .
Figure 7.The decryption procedure of the colored secret image.

Figure 8 .
Figure 8.The decryption algorithm of the colored secret image.

Table 1 .
PSNR values for different sample images.