Next Article in Journal
MQC-MB: Multiphoton Quantum Communication Using Multiple-Beam Concept in Free Space Optical Channel
Previous Article in Journal
Mechanical Medical Device for Generating Vibration and Stimulation of the Neuron Pathways
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Flip Extended Visual Cryptography for Gray-Scale and Color Cover Images

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.
Symmetry 2021, 13(1), 65; https://doi.org/10.3390/sym13010065
Submission received: 12 November 2020 / Revised: 20 December 2020 / Accepted: 28 December 2020 / Published: 31 December 2020
(This article belongs to the Section Computer)

Abstract

:
Visual cryptography (VC) has found numerous applications in privacy protection, online transaction security, and voting security, etc. To counteract potential cheating attacks, Lin et al. proposed flip visual cryptography in 2010, where a second secret image can be revealed by stacking one share with a flipped version of another share. The second secret image can be designed as an additional verification mechanism. However, Lin’s scheme produces meaningless shares and is only applicable to binary secret images. It is interesting to explore whether it is possible to extend the flip VC to having cover images (i.e., extended VC) and these cover images are color images. This problem is challenging since too many restricting conditions need to be met. In this paper, we designed a flip VC for gray-scale and color cover images based on constraint error diffusion. We show that it is possible to meet all the constraints simultaneously. Compared with existing schemes, our scheme enjoys the following features: Color cover images, no computation needed for decoding, and no interference from cover image on the recovered secret image.

1. Introduction

In today’s world, information is a popular application resource and an essential carrier of communication in our lives. The rapid development of science and technology has driven the continuous advancement of information technology, and more people have begun to pay attention to the importance of information. At the same time, more and more people have put forward more security requirements for the protection of their privacy [1,2,3]. Visual cryptography (VC) is an important branch of information security and has been further developed in the field of secret sharing. It can not only ensure the security of people’s privacy but also has a simple decoding operation and numerous potential applications. Therefore, visual cryptography technology has become a hot research direction since its proposal in 1994.
Naor and Shamir designed the first visual cryptography algorithm in 1994 [4]. The basic idea is to replace each pixel in an image with a block of pixels. The pixel information in the pixel block is filled with the superposition between pixels, and finally, an encrypted image cannot be recognized by the human eye [4,5,6,7,8,9,10,11,12,13]. For a ( k , k ) -threshold scheme, The information transmitting end encrypts the secret image into k share images and transmits them to the receiving end. After receiving the k share images, The receiving end superimposes and restores the secret image. The recovered secret image is displayed in black and white by the synthesized pixels. If the receiving end receives less than k share images, The secret image cannot be recovered. Therefore, The visual cryptography scheme has sufficient security and feasibility. However, if a secret image is encrypted by this scheme, The pixels are expanded to m pixels, in order to generate k noise-like share images. The size of the recovered secret image is m times of the size of the original image. Each of the black pixels and the white pixels is composed of a certain number of sub-pixels, i.e., a mixture of black and white. So, The visual quality of the recovered secret image is not ideal. Therefore, more visual cryptography algorithms tried to improve the image quality of the stacked image [14,15].
There is a trade-off between the quality of the recovered secret image and the size expansion. Ordinary visual cryptography divides the secret image pixels into blocks and embeds the secret pixel information with the basic matrix. Since each secret pixel can be rendered by a block of pixels in a recovered image, ordinary visual cryptography has better visual quality. However, The recovered secret image is larger than the original secret image [5]. In 2002, Nakajima and Yamaguchi proposed extended visual cryptography for natural images [16]. This scheme can produce a meaningful share of images. The use of halftone technology and contrast-enhancing methods improves the quality of recovering secret images. In 2011, Liu and Wu proposed a scheme that combined extended VC with digital halftoning. Embedding a cover image into a share image improves the quality of the share image [17].
The development of meaningful visual cryptography provides more room for the development of subsequent visual cryptography technologies because, with meaningful VC, share images can be stored in large quantities, which is convenient for encrypting more secret information. Naor and Shamir also designed the first meaningful VC [4], which has a good visual quality and is easier to store multiple share images. At the same time, share images are less likely to attract the attention of attackers. Image encryption often uses halftone images and gray-scale images, so meaningful visual cryptography requires high fidelity for share images. There are mainly two types of meaningful visual cryptography algorithms: the first is to process in the frequency domain, and then use the original encryption algorithm to embed the encrypted secret image in the frequency domain of the cover image by wavelet transform, and finally output a gray band share images with covered images [18]. For the second method, The gray-scale image is halftoned in the spatial domain, and then the cover image is embedded in the share image using the pixel compensation method [19].
Color visual cryptography is also one of the main researches in the field of visual cryptography [20,21]. Color visual cryptography has good visual quality. The earliest research on color visual cryptography was the color visual cryptography (k, n) solution. The secret image is encrypted into n share images, and no less than k share images are taken to superimpose to obtain the secret image. In 2000, Yang and Laih constructed a new color visual cryptography scheme. The basic structure of the sub-pixels can be directly used for the proposed structure in the image editing package, and it is easy to implement [6]. In 2003, Hou proposed VC algorithms for color images. He proposed three VC methods for VC and grayscale images. These methods are based on VC for binary images, digital halftoning, and color decomposition methods. These methods have similar VC advantages to binary images [22]. In 2011, Prakash and Govindaraju proposed a color visual cryptography scheme based on direct binary search (DBS) with adaptive searching and exchange functions [23]. Through this solution, a better halftone image can be generated, in addition to lossless recovery.
We conclude the literature review by noting that, even though a color extended VC with authentication capacity is desired, currently no such design is reported. One possible reason is that to design such a VC system, one needs to meet many restrictions.
In this paper, a meaningful flipping visual cryptography algorithm is proposed based on the constraint error diffusion. The main features of our system are as follows:
  • The cover image can be a gray-scale image or color image. So, The share image is meaningful.
  • The share image and the cover image are of the same size, and there is no pixel expansion after encryption.
  • Two secret images are simultaneously embedded. That is, by superimposing two share images on the front side, one obtain a secret image I 1 ; by superimposing the share image S 1 and the flipped share image S 2 , one obtain the second secret image I 2 .
  • When the secret image I 2 are recovered by stacking, there is no interference from the cover image.
To the best of our knowledge, currently, there is no VC algorithm that meets all the above requirements.
The structure of this paper is as follows: Related background is reviewed in Section 2. In Section 3, we present a meaningful flipping visual cryptography algorithm. Section 4 combines the color VC algorithm to obtain color meaningful flip VC. Section 5 provides the experimental results. Section 6 concludes this paper.

2. Related Works

This paper is divided into two parts: gray-scale meaningful flipping visual cryptography and color meaningful visual cryptography. Meaningful flipping visual cryptography uses the method of constrained error diffusion to embed the cover image into the share images, which improves the visual quality of the share images and can better protect the secret image from being discovered. Color flip visual cryptography can encrypt color secret images, and the share images are color images with better visual quality. In this section, we review the basic structure of VC with meaningful shares and flip VC [24,25]. Unless otherwise stated, all the secret images in this section and next section are binary images.
We would like to ask our readers to pay attention to the difference between the secret image and the share images.
  • A binary secret image is a digital image stored in a computer disk and/or memory, and it consists of white pixels and black pixels. Following the convention in VC and digital halftoning, we use a ‘1’ to represent a black pixel on the secret image, and we use a ‘0’ to represent a white pixel on the secret image.
  • A share image is printed on a transparency. When printing on paper, which is white by default, a printer only needs to print a black dot or print ‘no dot’. Most printers are not able to print white color except for some UV printers that are designed to print on cloth and plastic. So, when printing a share image on a transparency, a black pixel is printed as black while a white pixel is printed as ‘transparent’ since no dot is printed. So, when referring to a ‘white’ pixel on a transparency, we use the term ‘transparent’ pixel. Following the convention in VC and digital halftoning, we use a ‘1’ to represent a black pixel on a transparency, and we use a ‘0’ to represent a transparent pixel on a transparency.

2.1. VC with Meaningful Shares

A VC system with meaningful shares is also referred to as the extended VC in the literature. The overall structure of such a system is illustrated in Figure 1. For illustration purposes, we consider the case with two secret images and two cover images. A secret image is an image that the holder would like to share and would like to keep confidential during the sharing process. It can be a binary image, grayscale image, or even color image. In Figure 1, I 1 and I 2 are two secret images. In an ordinary VC, these secret images are encoded into share images S 1 and S 2 that are noise-like (i.e., meaningless). These share images are printed on transparencies, such as projector films or other transparent plastic thin sheets. Then the share images are distributed to different parties (also called participants). However, these noise-like shares may arouse the suspicion of an attacker. Extended VC is a countermeasure to this issue, where natural-looking cover images are used to generate shares. The two images C 1 and C 2 are two cover images. After gathering enough shares, a VC decoder can decode the secret images by simply stacking the transparencies carrying the shares. By inspecting the stacking results, a human is able to read the secret using his/her human vision system. So a VC decoder, in its strict sense, doesn’t need computation. In Figure 1, I ^ 1 and I ^ 2 are two decoded secret images. These images are also referred to as target images in the VC literature. The target image is usually not the same as its secret image counterpart. However, as long as the content of the secret image can be recognized from the target image, one deems the decoding as valid.
The most basic and simple algorithm model of visual cryptography is the (2, 2) scheme proposed by Naor and Shamir, which can be considered as a degenerated version of extended VC. It is also a building block of extended VC, so we review it briefly with a focus on its encoder. In the (2, 2)-threshold scheme, The secret image is encrypted into two share images. Even if an attacker obtains one of the share images, The secret image cannot be inferred from it. Two share images are needed in order to recover the secret image. The (k, n) threshold VC is an extension of (2,2) threshold scheme, that is, The secret image is encrypted to generate n share images. Only when k or more share images are superimposed, The secret image can be restored. A ( 2 , 2 ) -threshold scheme consists of two collections of matrices, such as:
C 0 = 1 0 1 0 , 0 1 0 1 , C 1 = 1 0 0 1 , 0 1 1 0
It should be noted that all the matrices in a set C i , where i = 0 , 1 , can be obtained by column permutation of a basic matrix. For example, all matrices in C 0 can be obtained by column permutation of the matrix
A 0 = 1 0 1 0 .
Similarly, all matrices in C 1 can be obtained by column permutation of the matrix
A 1 = 1 0 0 1 .
So A 0 and A 1 are usually called the basic matrices for this ( 2 , 2 ) -threshold VC scheme [24].
To encode a white pixel, one randomly chooses a matrix C C 0 from the set C 0 and assign the first row to share 1 and the second row to share 2. Likewise, when encoding a black pixel, one randomly chooses a matrix D C 1 from the set C 1 and assign the first row to share 1 and the second row to share 2.
To illustrate this encoding process, let us consider a toy example as shown in Figure 2. The secret image consists of two pixels on a white paper, a black pixel (top) and a white pixel (bottom). To encode the black pixel, we randomly choose a matrix from the set C 1 . Suppose that the matrix
D = 1 0 0 1
is chosen. Then the first row of D , which is 1 , 0 , is assigned to share 1 and the second row of D , which is 0 , 1 , is assigned to share 2. Noting that the shares are printed on transparencies, so share 1 gets a black pixel and a transparent pixel on its transparency, and share 2 get a transparent pixel and a black pixel on its transparency. When stacking share 1 and share 2, The stacking result consists of two black pixels. Likewise, to encode the second secret pixel (i.e., a white one), we randomly choose a matrix from the set C 0 . Suppose that we get the matrix
D = 1 0 1 0 .
Then the first row of D is 1 , 0 is assigned to share 1 and the second row of D is 1 , 0 is assigned to share 2. So, share 1 gets a black pixel and a transparent pixel on its transparency, and share 2 gets the same pattern as share 1. When stacking share 1 and share 2, The stacking result consists of one black pixel and one transparent pixel. So, after stacking, it is possible to distinguish between the white pixel and the black pixel in the secret image.

2.2. Flip VC

In 2010, Lin et al. proposed a flipping visual cryptography scheme based on non-expanded VC [25]. The general structure of a flip VC is shown in Figure 3. Two secret images, I 1 and I 2 , are encoded to generate two shares S 1 and S 2 . At the decoder side, if S 1 and S 2 are stacked, an image I ^ 1 is generated, which reveals the content of the secret image I 1 . However, if we flip S 1 horizontally before stacking with S 2 (A flipping operation on an image is a horizontal mirroring operation so that two pixels at positions ( i , j ) and ( i , N 1 j ) are exchanged, where N is the number of columns of that image, and i is row index. For a more precise definition, please refer to Section 3.1), then a different image I ^ 2 can be generated, which reveals the contents of I 2 . So, a flip VC can encode two different secret images into two shares simultaneously.
However, more restrictions are enforced on encoder in flip VC than ordinary VC. Figure 4 shows the stacking operation by the decoder. While in conventional VC one only needs to consider one pixel a time, now we need to consider operations on four pixels S 1 ( i , j ) , S 1 ( i , N 1 j ) , S 2 ( i , j ) , S 2 ( i , N 1 j ) simultaneously, where S k ( i , j ) is the pixel at the ( i , j ) location of share image S k , and N is the number of columns. These four pixels can be grouped into a quadruple
s = [ S 1 ( i , j ) , S 1 ( i , N 1 j ) , S 2 ( i , j ) , S 2 ( i , N 1 j ) ] .
To recover the secret image, The decoder must meet the following requirements:
  • Stacking S 1 ( i , j ) with S 2 ( i , j ) , the secret image I 1 ( i , j ) should be revealed, i.e., S 1 ( i , j ) S 2 ( i , j ) = I ^ 1 ( i , j ) , where ⊗ denotes the stacking operation.
  • Stacking S 1 ( i , N 1 j ) with S 2 ( i , N 1 j ) , the secret image I 1 ( i , N 1 j ) should be revealed, i.e., S 1 ( i , N 1 j ) S 2 ( i , N 1 j ) = I ^ 1 ( i , N 1 j ) .
  • Stacking S 1 ( i , N 1 j ) with S 2 ( i , j ) , the secret image I 2 ( i , j ) should be revealed, i.e., S 1 ( i , N 1 j ) S 2 ( i , j ) = I ^ 2 ( i , j ) .
  • Stacking S 1 ( i , j ) with S 2 ( i , N 1 j ) , the secret image I 2 ( i , N 1 j ) should be revealed, i.e., S 1 ( i , j ) S 2 ( i , N 1 j ) = I ^ 2 ( i , N 1 j ) .
The first two conditions ensure that when S 1 and S 2 are stacked, we can decode the secret image I 1 . The last two conditions ensure that when flipped S 1 is stacked with S 2 , we can decode the secret image I 2 .
Lin et al. constructed 16 basic matrices for each of the quadruples
s W W W W , W W W B , W W B W , , B B B B ,
where B denotes ‘black’ and W denotes ‘white’. As an example, The basic matrix for quadruple ‘BWBB’ is [25]:
D BWBB = 0 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 0
So, if the encoder needs to encode the quadruple
s = [ S 1 ( i , j ) , S 1 ( i , N 1 j ) , S 2 ( i , j ) , S 2 ( i , N 1 j ) ] = B W B B ,
then it randomly selects one column from the basic matrix D BWBB and assign it to the four pixels S 1 ( i , j ) , S 1 ( i , N 1 j ) , S 2 ( i , j ) , S 2 ( i , N 1 j ) on the two shares S 1 and S 2 , respectively. It is not difficult to verify that, when the first row and the third row of D B W B B are stacked, The ratio of black is 1. This ensures that when stacking S 1 ( i , j ) and S 2 ( i , j ) , The probability of black pixel is 1. When the second row and the fourth row are stacked, The ratio of black is 5/6. This ensures that when stacking S 1 ( i , N 1 j ) and S 2 ( i , N 1 j ) , The probability of black pixel is 5/6 and the probability of white pixel is 1/6. So a relative contrast of 1 / 6 can be ensured on stacking results. For a complete list of the 16 basic matrices, please refer to Table 1 in [25]. Lin also proved that using these basic matrices, a relative contrast of 1 / 6 can be ensured on stacking results. Furthermore, his construction is also proved to be secure.

3. Proposed Scheme

Before elaborating on the proposed algorithm, let us fix the notations for matrix operation and share stacking.

3.1. Definition of Operation

Definition 1 (matrix concatenation).
Let y ( i , j ) be one of the matrices in the share matrix, where i , j are the position indices of the block matrix in the share matrices. Define
y = i = 1 g j = 1 h y ( i , j )
as the concatenation of matrices. For example, if 
y ( 1 , 1 ) = 0 1 1 0 , y ( 1 , 2 ) = 1 0 1 0
then we have
y = y ( 1 , 1 ) y ( 1 , 2 ) = 0 1 1 0 1 0 1 0 .
Definition 2 (stacking).
Operation for image stacking is the logical OR operate, where 1 1 = 1 , 0 1 = 1 , 1 0 = 1 , 0 0 = 0 . For two matrices A and B , A B results in pixel-wise OR between two pixels at the same position on A and B .
Definition 3 (matrix flipping).
Matrix flipping operation B = F ( A ) flips the matrix A with respect to its central column. Let A R m × n , where R is the set of real numbers, and m and n are even integers. Then we have
B ( i , j ) = A ( i , n 1 j ) ,
where 0 i m 1 , 0 j n 1 . For example, given
y = 0 1 1 0 ,
and then we have
F ( y ) = 1 0 0 1 .
The flipping operation is part of the VC decoder presented in the next subsection.
Definition 4 (Left and right region of a matrix).
Given a matrix A , we define the operation L ( A ) as returning the left half region of the matrix A :
L A = ( i , j ) 0 i M 1 , 0 j N / 2 1 .
Similarly, we define the operation R ( A ) as returning the right half region of the matrix A :
R A = ( i , j ) 0 i M 1 , N / 2 j N 1 .
Obviously, when concatenating the two halves, we should have A ( L ( A ) ) A ( R ( A ) ) = A .

3.2. Overview

In this section, we describe the overall structure of the proposed algorithm. The block diagram of this system is shown in the Figure 5. During encoding stage, two secret images I 1 and I 2 are encrypted into two shares S 1 and S 2 that are perceptually similar to the two cover images C 1 and C 2 .
These shares are distributed to two different participants. During decoding stage, after gathering two shares, The decoder is able to recover the content of the secret images by stacking operation. More specific, The content of secret image I ^ 1 can be recovered by stacking S 1 and S 2 :
S 1 S 2 = I ^ 1 ,
and the content of the secret image I ^ 2 can be recovered by stakcing S 1 with the flipped S 2
S 1 F S 2 = I ^ 2 ,
where F ( S 2 ) is the flipping operation as defined in previous subsection.
We can recover the secret image I ^ 1 that have the same information content as I 1 when stacking the front side of share S 1 with the front side of share S 2 . However, when we stack the front side of share S 1 and the reverse side of share S 2 , we can recover the secret image I ^ 2 .

3.3. Determining Pixel Position

Let us assume in this section that the cover images are gray-scale images and the secret images are binary images. The grayscale cover image C k , k 1 , 2 is of M rows and N columns. We divide the share images into blocks of size Q × Q , and encode the 1-bit of (i.e., 1 pixel) secret image into Q × Q block in the share images. So the size of the secret images I k , k 1 , 2 has g = M Q rows and h = N Q columns, where x returns the nearest integer towards the .
When stacking two shares in order to recover the secret image, two types of interference may appear:
  • Interference from the cover images.
  • Interference from the other secret image.
In order to recover secret images without interference, we must superimpose pixels that do not contain secret information in black. Let the matrix M p , p 1 , 2 contain all the secret image pixels and the matrix B q , q { 1 , 2 } contain all the auxiliary black pixels, where p is the index of the matrix of the secret image informations and q is the index of the share matrix. When recovering a secret image, in order to avoid interference of another secret image pixel, another secret pixel must be black after stacking. We define these pixels as auxiliary secret pixels F .
In our algorithm, The positions for encoding the secret pixels are generated randomly. This random approach is advantageous than deterministic approaches in terms of security and ensuring the exact number of secret image pixels (SIP). The position determination algorithm is summarized in Algorithm 1.
We assume that each share image is segmented into Q × Q blocks. Within each block, there are 2 α black pixels, which means that α pixels are used for encoding the secret pixel from I 1 and α pixels are used for encoding the secret pixel from I 2 .
When stacking two shares, we must use auxiliary black pixels (ABP) to remove the interference from the non-SIPs on stacking result. To ensure that we have enough ABPs, then number of ABPs should be at least half of the number of non-SIPS, i.e.,
β = Q 2 2 α 2 .
Algorithm 1 Determine pixel position
Input:
    Q: Size of block.
     M × N : Size of the share image.
     α : The number of pixels in each secret image in a block.
     β : The number of black auxiliary pixels in a block.
Output:
     M 1 and M 2 : Position matrix of pixel locations of secret image I 1 and secret image I 2
     pixels in the share image.
     B 1 and B 2 : Position matrix of black auxiliary pixel position in share image S 1 and S 2 .
  1:  for i 1 to M Q do
  2:    for j 1 to N Q do
  3:      Generate Q 2 non-repeating random numbers from 1 to Q 2 to form a sequence p ,
           and map the sequence to a Q × Q pixel block.
  4:      Select the first 2 α random numbers and return their corresponding positions in the pixel block x(k), y(k), Where x(k) and y(k) represent the row and column positions of the kth random number in the pixel block, respectively.
  5:      for m←1 to α do
  6:         M 1 ( ( i 1 ) × Q + x ( k ) , ( j 1 ) × Q + y ( k ) ) 1
  7:      end for
  8:      for m α to 2 α do
  9:         M 2 ( ( i 1 ) × Q + x ( k ) , ( j 1 ) × Q + y ( k ) ) 1
10:      end for
11:      Select the random number after the 2 α th and return its corresponding position
          x(k), y(k) in the pixel block.
12:      for m 2 α + 1 to 2 α + β do
13:         B 1 ( ( i 1 ) × Q + x ( k ) , ( j 1 ) × Q + y ( k ) ) 1
14:      end for
15:      for m 2 α + β + 1 to end do
16:         B 2 ( ( i 1 ) × Q + x ( k ) , ( j 1 ) × Q + y ( k ) ) 1
17:      end for
18:    end for
19:  end for
20:  Return the position matrices M 1 , M 2 , B 1 , B 2
First, to determine the location for SIPs and non-SIPs, we generate a vector p which contains a permutation of all integers between 1 and Q 2 . Then we use the first α numbers as positions of the SIPs for I 1 , and use the numbers p ( α ) p ( 2 α ) as positions of the SIPs for I 2 . The positions p ( 2 α + 1 ) p ( 2 α + β ) are for ABPs in share S 1 , and the positions p ( 2 α + β + 1 ) p ( Q 2 1 ) are for ABPs on share S 2 . Next, we map these positions into positions in a Q × Q block, and fill the corresponding positions of M 1 , M 2 , B 1 , B 2 with 1 and other positions with 0.
For example, let us take Q = 4 , α = 2 , then we have β = 6 . Let us assume that the random permutation is
p   =   1 , 6 , 11 , 16 , 2 , 7 , 3 , 14 , 13 , 9 , 4 , 12 , 5 , 8 , 15 , 10 .
Then, the positions ( 1 , 6 ) are used for embedding pixel from I 1 , and the positions ( 11 , 16 ) are used to embed pixel from I 2 . The positions for ABPs on share S 1 and S 2 are ( 2 , 7 , 3 , 14 , 13 , 9 ) and ( 4 , 12 , 5 , 8 , 15 , 10 ) , respectively. Suppose that the current image block index is ( k , l ) , then we get the following position matrices:
M 1 ( k , l ) = 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 , M 2 ( k , l ) = 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 B 1 ( k , l ) = 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 , B 2 ( k , l ) = 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0
These positions are also illustrated in Figure 6.

3.4. Embedding the Secret Image into Shares

From the last subsection, we get a collection of secret pixel locations and non-secret pixel locations. In this section, we describe the process of embedding the secret information at the secret pixel locations. Since every Q × Q block in the share contains two pieces of secret information and corresponds to another share in different ways, the secret pixel position needs special design when embedding the secret pixel.
In order to eliminate interference during stacking, we have to adjust the position matrices obtained from previous section before embedding secret pixels. The ABP matrix F must meet the following two requirements
  • When stacking S 1 and S 2 , the ABP matrix F should cover the SIPs for the secret image I 2 ;
  • When stacking S 1 and F S 2 , the ABP matrix F should cover the SIPs for the secret image I 1 .
So, we should adjust the position matrices as follows.
F = F M 1 ,
M 1 = L M 1 F L M 2 ,
M 2 = F M 1 ,
B 1 = L B 1 F L B 2 ,
B 2 = L B 2 F L B 1 .
These positions on shares S 1 and S 2 are illustrated in Figure 7.
The basic matrices for bit 1 and bit 0 are denoted as D 0 and D 1 , respectively. For example, for a (2, 2) scheme, when α = 2 , we let
D 0 = 1 0 1 0 , D 1 = 1 0 0 1 .
That is, when the secret pixel is bit 0, then D 0 is selected and it is transformed into Π ( D 0 ) , where Π denotes column permutation. The first line of Π ( D 0 ) is filled into the corresponding secret pixel position in share 1, and the second row is filled in the corresponding secret pixel in share S 2 .
Now that we know how to embed a secret bit, then we can embed the whole secret image into the shares. First, we embed the bits from I 1 . The other block index is (k,l), which is also the pixel index of the secret pixel. If the pixel M 1 ( k , l ) in I 1 is 0, we need to fill the lines of Π ( D 0 ) into the corresponding M 1 positions in the two shares, otherwise we fill in Π ( D 1 ) . Next, the bits from I 2 is embedded based on the information of I 1 . If the bit M 2 ( k , l ) of I 2 is 0, we fill in the complement of the M 1 ( k , l ) position information in S 2 into the M 2 ( k , N Q l ) position in S 1 . Instead, the M 1 ( k , l ) location information is copied. Finally, fill the auxiliary secret pixel F and the auxiliary black pixel B q position with the bit 1.

3.5. Embed Cover Image In Share

The above section describes the process of embedding two secret images into two shares. The share obtained through this process is meaningless. In this section, we use constraint error diffusion to embed the cover image into the shares [26], making the shares meaningful. The pixels in the share image are sequentially scanned using the raster scanning order. The cover image is quantized and embedded into the share image. The quantization process can be expressed as
S t ( k , l ) = M p ( k , l ) · B q ( k , l ) · F ( k , l ) · S t ( k , l ) + ( 1 M p ( k , l ) ) · ( 1 B q ( k , l ) ) · ( 1 F ( k , l ) ) · Q ( C q ( k , l ) ) ,
where M p , p 1 , 2 , B q , q 1 , 2 , and F are the position matrices obtained from previous sections. The first term in the summation says that for those positions carrying the SIPs and ABPs, we leave them unchanged during cover image embedding process. The second terms says that for those positions allocated for carrying cover image, we use a simple binary quantizer:
Q ( C q ( k , l ) ) = 1 , if C q ( k , l ) 127 0 , if C q ( k , l ) < 127
To achieve better visual quality for the share images, the error between the share images and the cover images is spread to the non-secret information positions and the non-auxiliary positions by the error diffusion. Error diffusion diffuses the error produced by quantization at current location to its neighbors, so that when quantizing these neighboring pixels, these errors can be compensated. A diffusion kernel is like a filter kernel that determines how the errors are allocated to its neighbors [24].
Let h ( k , l ) be the diffusion kernel located in the pixel (k, l), then in the constrained diffusion, the modified diffusion coefficient is h ( k , l ) = h ( k , l ) · ( 1 M p ) · ( 1 B q ) · ( 1 F ) . That is, the diffusion coefficient is set to 0 at the M p and B q and F positions.

4. Flip Visual Cryptography for Color Images

Color visual cryptography has better visual quality than its gray-scale counterpart since it can render more details with colors. In this section, we design a color VC in RGB color space. The secret image is divided into three channels of R, G, and B, and the secret image is embedded into the share image according to the principle of color stacking. The color overlay model is shown in Figure 8.
Our color VC is based on the human perception of color. When different pixels having different colors are clustered then our HVS (Human Visual System) perceives and average color. For example, if four pixels having color R, G, B, and W (R: red, G: green, B: blue, and W: white) are arranged as a 2 × 2 block, then we perceive white. Similarly, the effect of other colors can be achieved according to the proportion of colors in a small block. For example, if we have two B, one R and one G, then the ratio of the R, G, and B colors that are shared by the two shares is 1 4 , 1 4 , 1 2 , and the perceived color is blue. We can get different proportions of different colors after superimposing the sharing of different colors, as shown in Figure 9.
The steps to embed a secret image in a share during the color visual cryptography process are as described as follows:
  • Step 1: Color decomposition and halftoning. The RGB color image channels of I 1 and I 2 are separately halftoned.
  • Step 2: Embed R, G, B, W at the secret information 1 position in the S 1 (k, l), where (k, l) denotes the position of the pixel block, where k g , l h .
  • Step 3: Embed the corresponding color in the secret information I 1 position of the S 2 (i, j) pixel block according to the color of I 1 (i, j) and the color of S 1 (i, j) position corresponding to secret information I 1 .
  • Step 4: Embed in the secret information I 2 position of the pixel block at S 1 (i, N + 1 −j) position according to the color of I 2 (i, N + 1 −j) and the color of the secret information 1 of S 2 (i, j) pixel block.
  • Step 5: Embed R, G, B, and W at the secret information I 1 position in S 1 (i, N + 1 − j) position pixel block.
  • Step 6: Fill in secret information I 1 position of S 2 (i, N + 1 −j) pixel block according to the color of I 1 (i, N + 1 −j) and the color of secret information 1 in S 1 (i, N + 1 − j) pixel block.
  • Step 7: According to the color of I 2 (i, j) and the color of secret information I 1 in S 2 (i, N + 1 −j) pixel block, fill in the corresponding color of the secret information I 2 position in S 1 (i, j) pixel block.

5. Experiments

5.1. Experiment for Gray-Scale Image

In this section, we show the experimental results for gray-scale cover images. The parameters used for the experiment are M = N = 768 , Q = 4 , α = 2 and β = 6 . In order to measure the visual quality of the share images, we use the MSSIM (Mean Structural Similarity Measure) and PSNR (Peak Signal-to-Noise Ratio) metrics. The diffusion mask is the Floyd—Steinberg mask in experiments. The two cover images and two secret images are shown in Figure 10.
The share images obtained from the proposed algorithm are shown in Figure 11. Before calculating image quality, Gaussian filtering is performed on the halftone image of the cover images and the share images. This Gaussian filtering simulates the low-pass property of the HVS. The PSNRs for the two share images are 16.3478 and 13.8942, respectively. The MSSIM measures are 0.6584 and 0.6196, respectively.
The superimposed results of the two share images are shown in Figure 12. Among them, Figure 12a is stacking result of Figure 11a,b. Figure 12b is the stacking result of the front side of Figure 11a and the reverse side of Figure 11b.
In order to test if the proposed algorithm is applicable to various types of images, we performed a batch test on ten standard testing images. Figure 13 shows the gray-scale cover images and Figure 14 shows the secret images. In our experiment, different images are selected as the cover images, and the corresponding binary image with the same size as cover images are used as the secret image. The binary secret images are randomly chosen from a set of 18 binary images. The grayscale cover images are randomly chosen from a set of 18 grayscale images. If the size of the secret image is too large or too small, it is resized so that it is suitable for the cover image. To resize the binary image, we found that the nearest interpolation method gives a reasonably good result. Then, we use the simple binary thresholding to convert the gray-scale image to a binary image. PSNR and MSSIM metrics are used to measure the visual quality of the share images.

5.1.1. Feasibility Experiment for Gray-Scale Cover Images

For the batch test, the variance of the Gaussian filter is set to 4 and the kernel size is 11 × 11 . Table 1 shows the values of the PSNR and MSSIM values for some images in the batch test.
It can be seen from Table 1 that, the values of PSNR and MSSIM in the image experiment do not fluctuate much, indicating that our algorithm performs well and consistent for different cover images and secret images. The contrast of the recovered secret image is the same as in [26]. The cover image, which is also halftoned before encryption, is Gaussian filtered and compared with the share image. In this paper, the compared cover image information in each pixel block of the share image accounts for ( Q 2 2 β ) / Q 2 , while in [26], the compared cover image information in each pixel block of the share image accounts for ( Q 2 β ) / Q 2 . Therefore, the contrast of our flip VC is only slightly inferior to [26], but visually quite similar.
The time complexity of our algorithm is tested in terms of machine time. The machine time of each experiment is affected by the location of the image pixels and the random distribution of the secret information. That is to say, because the pixel positions of each image are different and the pixel positions are randomly distributed when the secret information is embedded, the machine time of each image experiment is also different. The machine time of each experiment in the batch experiment is shown in Figure 15.
According to the chart, it can be seen that the machine time of the algorithm has nothing to do with the content of the image, it is only related to the size of the image, all floating around the average. At the same time, it can be seen that the short machine time of the algorithm is generally about 7.7 s, indicating that the algorithm is simple to run, high in efficiency, and easy to apply.

5.1.2. Security Analysis

This section analyzes the security of our algorithm. We show that it is not possible to infer the secret image from just one share. Each 4 × 4 block in the share image contains two secret image bits and two cover image bits, each of which has the same proportion of secret image information. At the same time, the position of each pixel information is random. In Figure 16, we list the position distribution of the corresponding pixel blocks in the share image S 1 between the secret image I 1 ( i , j ) and the secret image I 2 ( i , j ) . The five cases are listed among all the possibilities. Among them, I 1 ( i , j ) and I 2 ( i , j ) are secret images, ( i , j ) is a pixel index of the secret image, S 1 ( k , l ) is a share image, and ( k , l ) is a block index corresponding to the secret image ( i , j ) . Each position situation has the same probability.
The secret information in the corresponding pixel block in the share image is obtained by the random column transformation of the basic matrix. The probability of each position situation in the picture is the same. so the secret information in the pixel block cannot be determined. Therefore, even if someone obtains one of the share images, the secret image information cannot be obtained from it. Therefore, the system build using our algorithm is secure.
In our algorithm, the share images use a random allocation method to embed the secret image and the cover image. So, the attacker cannot copy the secret information and the black auxiliary information location without knowing the allocation location. An attacker can only change any pixel information in a pixel block. However, under this attack, the secret image can still be recovered. Therefore, the proposed algorithm is also robust to attacks.

5.2. Experiments for Color Images

In this section, we show the experimental results for color cover images. The parameters used for the experiment are M = N = 504 , Q = 4 , α = 4 and β = 4 . In order to measure the quality of the share images, we apply the MSSIM and PSNR parameters. The diffusion kernel is the Floyd—Steinberg mask in experiments. The two cover images and two secret images are shown in Figure 17.
The color flip visual cryptography experiment is similar to the gray-scale flip visual cryptography. When the two share images are superimposed on the front side, the secret image I 1 is recovered. After the share image S 2 is flipped and the share image S 1 is stacked, we obtain the secret image I 2 . The experimental result is shown in Figure 18.
The secret image recovery result is shown in Figure 19, where Figure 19a is the recovery secret image I ^ 1 , and Figure 19b is the recovery secret image I ^ 2 .

Testing Contrast

According to the algorithm principle of the previous chapter, when the two share images are superimposed to generate a secret image, the recovered black color is biased, not pure black, but a black-like color displayed by mixing cyan and red through the human eye system. At the same time, because the secret pixel information in each pixel of the share image is relatively small, the visual quality of the recovered secret image is dark. The size of each pixel block in the paper is 4 × 4 . According to the principle of visual cryptography and overlay, it can be concluded that only 4 pixels in the share image pixel block are one of the secret image information. The color obtained by superimposing the secret image information is a mixture of colors, so only two pixels in each share image pixel block are secret image information colors. That is, the contrast of the share image with respect to the cover image is 1/8.
Because the pixel block in each superimposed recovered secret image includes information auxiliary pixels and black auxiliary pixels, and each auxiliary pixel is a black pixel, the entire recovered secret image is displayed black, and the black and white information of the secret image is not obvious. Because 3/4 of the pixel blocks in each share are superimposed with black pixels and white pixels are mixed with four colors of R, G, B, and W, the superimposed white pixels are relatively dark and cannot be used. This analysis shows that black and white pixels in a secret image can be distinguished in a recovered image.
According to the above analysis, each color in the recovered secret image has the same proportion in the block, so the brightness is the same. However, the restored images of different colors have different visual quality, objectively because the color contrast of each color and the background black is different, so each recovered secret image has a different visual quality.
Because the recovered secret images have the same brightness, we cannot objectively evaluate which color has the best visual quality, so we performed a series of subjective evaluations. First, we use the image in Kodak as a cover image and combine different letters or numbers to form a secret image for encryption. Each secret image has six different colors: red, green, blue, cyan, magenta, and yellow. In order to print the image with better visual quality, we set the size of each secret image to 300 × 300 , then cover up the image size to 1200 × 1200 , and print the image with 600 dpi (dots per inch) to get a larger image, which is easier for visual inspection. Secondly, the different colors of each secret image are encrypted and superimposed to recover the secret image. The recovered secret image has a dpi of 600 and a size of two inches (5.08 cm). Finally, the different color overlay results of each secret image are printed on a piece of paper. In order to avoid the human eye’s adaptation to their color differences, each experiment is repeated for a different participant. The participant is asked to be exposed to the test image for 5 s and is asked to scale the quality. These subjective rankings are then counted, and the final ranking obtained according to the principle of majority voting is used as the final subjective evaluation data. After the above experimental process, we finally get the subjective judgment results of recovering the secret image from good to bad, which are blue, red, cyan, yellow, magenta, and green, respectively. Figure 20 shows the results of a set of experiments in a batch experiment. We can sort the following experiments according to the above process.

5.3. Comparison with Other Algorithm

In our design, we apply the following restrictions to our algorithms:
  • Meaningful shares;
  • Simple decoding without calculation;
  • No interference from cover images on stacking result;
  • Applicable to color cover images.
Our experimental test verified that these requirements are met simultaneously by our design. For a fair comparison with existing algorithms, we focus on the type where no computation is needed in the decoding stage [25,26,27,28,29]. Among these algorithms, Lin’s proposal is closely related to our proposal since both of these two belongs to flip VC [25]. Compared with Lin’s algorithm, our algorithm applies to color cover images and produces meaningful shares, where Lin’s algorithm is designed for binary secret image and it produces meaningless shares. In terms of computational complexity, our algorithm is slightly higher than Lin’s algorithm because local error propagation is a neighborhood operation, while encoding in Lin’s algorithm is point-wise. However, both algorithms have a complexity which scales linearly with the number of pixels in secret image.
Similar to our proposal, Fang’s algorithm also hides a second secret image in shares which can be decoded by stacking one share with a shifted version of the other share [27]. However, Fang’s algorithm is not directly applicable to color cover images and it produces meaningless shares. Furthermore, Fang’s algorithm is not size-invariant so that each share image is four times larger than the secret images. In contrast, our algorithm is size-invariant. Our algorithm has a higher complexity since both the secret images and the cover images needs to be consider during encoding stage. This is the price we have to pay for added function.
Yan’s algorithm hides a second secret image in meaningful shares [26]. But unfortunately, it is not directly applicable to color secret images. Yan’s algorithm have a similarity complexity as our algorithm since both of them are based on constrained error diffusion. Wang’s algorithm produces meaningful shares but is also not directly applicable to color secret images [28]. Furthermore, Wang’s algorithm hides only one secret image, while our algorithm hides two. In terms of complexity, our algorithm has a slightly higher complexity than Wang’s due to the added functions.
Lou’s algorithm applies to color secret images, but the stacking image has interference from the cover images [29]. This makes the decoding of fine details in the secret image more difficult. In contrast, our algorithm can guarantee a clean stacking result, i.e., no interference from cover images. Both Lou’s algorithm and the proposed algorithm scale linearly with the number of pixels in the secret image.
We summarize the above comparison and analysis in Table 2. It is evident that our algorithm is the only one that meets these requirements simultaneously.

6. Conclusions

Based on the principle of the VC system, this paper constructs an extended VC system that can embed two secret images on two color cover images. Constraint error diffusion is designed to embed two secret images during the halftoning process. The two secret images are restored by flipping the overlay, and the secret images do not interfere with each other. Experiments show that there is a trade-off between the restoration of secret images and share images. Compared with other related papers, this paper has the better visual quality and good image quality. Our work also demonstrates that joint VC encrypting and halftoning is promising in improving the visual quality of the share images.

Author Contributions

Conceptualization, L.W., B.Y., J.-S.P. and H.-M.Y.; software, L.W., B.Y.; Methodology, J.-S.P., H.-M.Y.; Writing—original draft, L.W., B.Y., J.-S.P. and H.-M.Y.; Writing—review & editing, H.-M.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This work was funded by the 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).

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the corresponding author. The data are not publicly available due to privacy.

Acknowledgments

The authors would like to thank Molefi Itumeleng Alice for proof-reading the whole manuscript.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Weng, S.; Zhang, C.; Zhang, T.; Chen, K. High capacity reversible data hiding in encrypted images using SIBRW and GCC. J. Vis. Commun. Image Represent. 2020, 102932. [Google Scholar] [CrossRef]
  2. Cai, H.L.; Yan, B.; Pan, J.S.; Ye, J.L. Print-Scan Resistant Two-Level QR Code. J. Inf. Hiding Multimed. Signal Process. 2019, 10, 300–312. [Google Scholar]
  3. Yan, B.; Chen, N.; Yang, H.M.; Hao, J.J. Local blackness preserving visual cryptography for grayscale secret images. J. Inf. Hiding Multimed. Signal Process. 2018, 9, 370–382. [Google Scholar]
  4. Naor, M.; Shamir, A. Visual Cryptography. In Proceedings of the Workshop on the Theory and Application of Cryptographic Techniques (EUROCRYPT’94), Perugia, Italy, 9–12 May 1994; pp. 1–12. [Google Scholar]
  5. Sharma, R.G.; Dimri, P.; Garg, H. Visual cryptographic techniques for secret image sharing: A review. Inf. Syst. Secur. 2019, 27, 241–259. [Google Scholar] [CrossRef]
  6. Yang, C.N.; Laih, C.S. New Colored Visual Secret Sharing Schemes. Des. Codes Cryptogr. 2000, 20, 325–336. [Google Scholar] [CrossRef]
  7. Mhala, N.C.; Jamal, R.; Pais, A.R. Randomised visual secret sharing scheme for grey-scale and colour images. IET Image Process. 2018, 12, 422–431. [Google Scholar] [CrossRef]
  8. Chen, S.K. Friendly progressive visual secret sharing using generalized random grids. Opt. Eng. 2009, 48, 117001. [Google Scholar] [CrossRef]
  9. Hou, Y.C.; Quan, Z.Y. Progressive Visual Cryptography With Unexpanded Shares. IEEE Trans. Circuits Syst. Video Technol. 2011, 21, 1760–1764. [Google Scholar] [CrossRef]
  10. Wang, R.Z. Region Incrementing Visual Cryptography. IEEE Signal Process. Lett. 2009, 16, 659–662. [Google Scholar] [CrossRef]
  11. Yang, C.N.; Chung, T.H. A general multi-secret visual cryptography scheme. Opt. Commun. 2010, 283, 4949–4962. [Google Scholar] [CrossRef]
  12. Dewi, R.; Sari, P.K. The Improvement of Flip (2,2) Visual Cryptography Images Using Two Key Images. ComTech Comput. Math. Eng. Appl. 2016, 7, 213. [Google Scholar] [CrossRef] [Green Version]
  13. Abdul, W.; Ali, Z.; Ghouzali, S.; Alfawaz, B.; Muhammad, G.; Hossain, M.S. Biometric Security Through Visual Encryption for Fog Edge Computing. IEEE Access 2017, 5, 5531–5538. [Google Scholar] [CrossRef]
  14. Cimato, S.; Prisco, R.D.; Santis, A.D. Probabilistic Visual Cryptography Schemes. Comput. J. 2006, 49, 97–107. [Google Scholar] [CrossRef]
  15. Guo, T.; Liu, F.; Wu, C. Threshold visual secret sharing by random grids with improved contrast. J. Syst. Softw. 2013, 86, 2094–2109. [Google Scholar] [CrossRef]
  16. Nakajima, M.; Yamaguchi, Y. Extended Visual Cryptography for Natural Images. J. WSCG 2002, 10, 303–310. [Google Scholar]
  17. Liu, F.; Wu, C. Embedded Extended Visual Cryptography Schemes. IEEE Trans. Inf. Forensics Secur. 2011, 6, 307–322. [Google Scholar] [CrossRef] [Green Version]
  18. Bao, L.; Zhou, Y. Image encryption: Generating visually meaningful encrypted images. Inf. Sci. 2015, 324, 197–207. [Google Scholar] [CrossRef]
  19. Kanso, A.; Ghebleh, M. An algorithm for encryption of secret images into meaningful images. Opt. Lasers Eng. 2017, 90, 196–208. [Google Scholar] [CrossRef]
  20. Hsiao, C.Y.; Wang, H.J. Enhancing image quality in Visual Cryptography with colors. In Proceedings of the International Conference on Information Security and Intelligence Control, Yunlin, Taiwan, 14–16 August 2012. [Google Scholar]
  21. Pahuja, S.; Kasana, S.S. Halftone visual cryptography for color images. In Proceedings of the International Conference on Computer, Jaipur, India, 1–2 July 2017; pp. 281–285. [Google Scholar]
  22. Hou, Y.C. Visual cryptography for color images. Pattern Recognit. 2003, 36, 1619–1629. [Google Scholar] [CrossRef]
  23. Prakash, N.K.; Govindaraju, S. Visual cryptography scheme for color images using halftoning via direct binary search with adaptive search and swap. Int. J. Comput. Electr. Eng. 2011, 3, 900. [Google Scholar] [CrossRef] [Green Version]
  24. Yan, B.; Xiang, Y.; Hua, G. Improving Image Quality in Visual Cryptography; Springer Nature Singapore Pte Ltd.: Singapore, 2019. [Google Scholar]
  25. Lin, S.J.; Chen, S.K.; Lin, J.C. Flip visual cryptography (FVC) with perfect security, conditionally-optimal contrast, and no expansion. J. Vis. Commun. Image Represent. 2010, 21, 900–916. [Google Scholar] [CrossRef]
  26. Yan, B.; Wang, Y.F.; Song, L.Y.; Yang, H.M. Size-invariant extended visual cryptography with embedded watermark based on error diffusion. Multimed. Tools Appl. 2016, 75, 11157–11180. [Google Scholar] [CrossRef]
  27. Fang, W.P.; Lin, J.C. Visual cryptography with extra ability of hiding confidential data. J. Electron. Imaging 2006, 15, 023020. [Google Scholar] [CrossRef] [Green Version]
  28. Wang, Z.; Arce, G.R.; Crescenzo, G.D. Halftone Visual Cryptography Via Error Diffusion. IEEE Trans. Inf. Forensics Secur. 2009, 4, 383–396. [Google Scholar] [CrossRef]
  29. Lou, D.C.; Chen, H.H.; Wu, H.C.; Tsai, C.S. A novel authenticatable color visual secret sharing scheme using non-expanded meaningful shares. Displays 2011, 32, 118–134. [Google Scholar] [CrossRef]
Figure 1. Structure of a VC system with meaningful shares.
Figure 1. Structure of a VC system with meaningful shares.
Symmetry 13 00065 g001
Figure 2. A 3D illustration of basic ( 2 , 2 ) -threshold VC. Please note that share 1 and share 2 are printed on transparencies.
Figure 2. A 3D illustration of basic ( 2 , 2 ) -threshold VC. Please note that share 1 and share 2 are printed on transparencies.
Symmetry 13 00065 g002
Figure 3. The block diagram of flip visual cryptography (VC).
Figure 3. The block diagram of flip visual cryptography (VC).
Symmetry 13 00065 g003
Figure 4. Restrictions imposed on shares by flip VC decoder.
Figure 4. Restrictions imposed on shares by flip VC decoder.
Symmetry 13 00065 g004
Figure 5. Overall structure of the system. C 1 and C 2 are cover images, I 1 and I 2 are secret images, S 1 and S 2 are share images, I ^ 1 and I ^ 2 are recovered images.
Figure 5. Overall structure of the system. C 1 and C 2 are cover images, I 1 and I 2 are secret images, S 1 and S 2 are share images, I ^ 1 and I ^ 2 are recovered images.
Symmetry 13 00065 g005
Figure 6. Determining the locations of secret pixels and non-secret pixels( Q = 4 , α = 2 , β = 6 ).
Figure 6. Determining the locations of secret pixels and non-secret pixels( Q = 4 , α = 2 , β = 6 ).
Symmetry 13 00065 g006
Figure 7. Locations on shares after adjustment.
Figure 7. Locations on shares after adjustment.
Symmetry 13 00065 g007
Figure 8. Color overlay model for RGB color space.
Figure 8. Color overlay model for RGB color space.
Symmetry 13 00065 g008
Figure 9. Color sub-channel visual cryptography scheme.
Figure 9. Color sub-channel visual cryptography scheme.
Symmetry 13 00065 g009
Figure 10. The images used in the experiment. (ad) are cover image C 1 , cover image C 2 , secret image I 1 , and secret image I 2 , respectively.
Figure 10. The images used in the experiment. (ad) are cover image C 1 , cover image C 2 , secret image I 1 , and secret image I 2 , respectively.
Symmetry 13 00065 g010
Figure 11. The generated meaningful shares. (a,b) are share image S 1 , share image S 2 , respectively. The corresponding PSNR values are 16.3478 and 13.8942, respectively.
Figure 11. The generated meaningful shares. (a,b) are share image S 1 , share image S 2 , respectively. The corresponding PSNR values are 16.3478 and 13.8942, respectively.
Symmetry 13 00065 g011
Figure 12. The superimposed results of the two share images. (a) The recovered secret image 1. (b) The recovered secret image 2.
Figure 12. The superimposed results of the two share images. (a) The recovered secret image 1. (b) The recovered secret image 2.
Symmetry 13 00065 g012
Figure 13. A collection of cover images in batch test. (aj) are samples of the cover images.
Figure 13. A collection of cover images in batch test. (aj) are samples of the cover images.
Symmetry 13 00065 g013
Figure 14. A collection of secret images in batch test. (aj) are samples of the secret images.
Figure 14. A collection of secret images in batch test. (aj) are samples of the secret images.
Symmetry 13 00065 g014
Figure 15. Machine time in batch test.
Figure 15. Machine time in batch test.
Symmetry 13 00065 g015
Figure 16. The distribution of secret image bits in the share image pixel block (five in all cases).
Figure 16. The distribution of secret image bits in the share image pixel block (five in all cases).
Symmetry 13 00065 g016
Figure 17. The images used in the experiment. (ad) are cover image C 1 , cover image C 2 , secret image I 1 , and secret image I 2 , respectively.
Figure 17. The images used in the experiment. (ad) are cover image C 1 , cover image C 2 , secret image I 1 , and secret image I 2 , respectively.
Symmetry 13 00065 g017
Figure 18. The generated meaningful shares. (a,b) are share image1 and share image2 S 2 , respectively. PSNR values are 3.5139 and 2.5697, respectively.
Figure 18. The generated meaningful shares. (a,b) are share image1 and share image2 S 2 , respectively. PSNR values are 3.5139 and 2.5697, respectively.
Symmetry 13 00065 g018
Figure 19. The superimposed results of the two share images. (a) The recovered secret image 1. (b) The recovered secret image 2.
Figure 19. The superimposed results of the two share images. (a) The recovered secret image 1. (b) The recovered secret image 2.
Symmetry 13 00065 g019
Figure 20. Contrast main observation evaluation chart. (a) Yellow. (b) Cyan. (c) Magenta. (d) Green. (e) Red. (f) Blue.
Figure 20. Contrast main observation evaluation chart. (a) Yellow. (b) Cyan. (c) Magenta. (d) Green. (e) Red. (f) Blue.
Symmetry 13 00065 g020
Table 1. The values of PSNR and MSSIM for some images in the batch test. The images kodim01 to kodim18 are cover images, and the binary images binary1 to binary18 are secret images.
Table 1. The values of PSNR and MSSIM for some images in the batch test. The images kodim01 to kodim18 are cover images, and the binary images binary1 to binary18 are secret images.
C 1 C 2 S 1 S 2 PSNR1PSNR2MSSIM1MSSIM2
kodim01kodim02binary1binary216.038019.87680.64600.6934
kodim03kodim04binary3binary416.230216.38740.66720.6548
kodim05kodim06binary5binary617.259410.92870.68390.5822
kodim07kodim08binary7binary816.116811.96550.65740.5601
kodim09kodim10binary9binary1013.468213.86730.60860.6086
kodim11kodim12binary11binary1217.82899.93720.67350.5284
kodim13kodim14binary13binary1414.288615.85850.62500.6426
kodim15kodim16binary15binary1610.714815.18610.62210.6402
kodim17kodim18binary17binary1817.834918.54780.65530.6694
Table 2. Comparison with related papers.
Table 2. Comparison with related papers.
PaperColor Cover ImagesNo InterferenceMeaningful SharesNo Computation
[25]××
[27]××
[26]×
[28]×
[29]×
Proposed
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Wang, L.; Yan, B.; Yang, H.-M.; Pan, J.-S. Flip Extended Visual Cryptography for Gray-Scale and Color Cover Images. Symmetry 2021, 13, 65. https://doi.org/10.3390/sym13010065

AMA Style

Wang L, Yan B, Yang H-M, Pan J-S. Flip Extended Visual Cryptography for Gray-Scale and Color Cover Images. Symmetry. 2021; 13(1):65. https://doi.org/10.3390/sym13010065

Chicago/Turabian Style

Wang, Lu, Bin Yan, Hong-Mei Yang, and Jeng-Shyang Pan. 2021. "Flip Extended Visual Cryptography for Gray-Scale and Color Cover Images" Symmetry 13, no. 1: 65. https://doi.org/10.3390/sym13010065

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