1. Introduction
With the advent of big data, information security has become a vital issue that needs to be solved urgently. Secret information and images specifically play a critical role in both military and commercial applications. The encryption and decryption processes are given to ensure the safety of image information, namely secret image sharing (SIS) scheme. The key idea of SIS is to distribute a secret image to multiple participants for safekeeping. Only the participants that meet the decryption conditions can restore the secret image, otherwise the information about the secret image cannot be obtained. Secret image sharing schemes are mainly divided into two categories due to the decryption method: one is polynomial-based secret image sharing (PSIS) scheme relying on Lagrange’s interpolation, and the other is visual cryptographic scheme (VCS) depending on human visual system.
Polynomial-based secret sharing was first proposed by Shamir [
1] at the European Cryptography Summit. Thien and Lin [
2] proposed an enhanced (
k,
n)-PSIS scheme, with
k ≤
n, where the secret image is shared among
n shadow images and any
k shadows can reveal the secret image by computation. Each shadow image is 1/
k times of the original secret image. PSIS scheme takes advantage of perfectly decoding, holding an optimal visual quality of the recovered image, where it has to run with the help of computer device. Naor and Shamir [
3] put forward VCS in 1994. Without any complex calculations, VCS gets the revealed image by superposition using only the human visual system. For higher security of authenticity and accuracy of secret images, Hu et al. [
4] proposed cheating prevention VCS. Zhou et al. [
5] proposed halftone VCS for creating meaningful image sharing techniques that reduce attacker suspicion of encrypted data. For different authority levels of participants, present a VCS with essential participants [
6]. However, the visual quality of the restored image is not ideal.
One of increasing SIS performance methods is to apply exclusive-
OR (
XOR) operation instead of
OR operation in decryption process. Scheme [
7] has good resolution on contrast and vision properties. Chao and Lin [
8] put forward a novel technology of Boolean-based secret image sharing (BSIS) scheme combining benefits of perfect decoding and fast approaches. The encrypted sub-image is twice the secret image, with less calculation time and lower computational complexity. In addition, Guo et al. [
9] proposed a method based on
XOR decryption. The improved encryption algorithm used the reflexivity property of
XOR operation, which has nothing with base matrices designs. Scheme [
10] gave an enhanced BSIS with less storage space. More
XOR-based VCSs are devised for meaningful shadows and resolving various problems in [
11] separately. The problems include pixel expansion, contrast loss, explicit codebook requirement and lossy recovery of secret image.
In recent years, researchers have proposed more SIS schemes, including schemes for color images [
12,
13], progressive decoding [
14,
15], meaningful shares [
16], and minimizing pixel expansion [
17,
18], etc. In addition, there exist novel SIS schemes based on various theorems, like matrix theory [
19], non-full rank linear model [
20] and natural steganography (NS) [
21]. More methods of steganography and multimedia security [
22,
23] are given in these years. It is worth noting that a specific SIS scheme is a collection of several types.
For higher requirements of application, it is possible to combine two SIS schemes to possess the advantages of these SIS schemes, called two-in-one secret image sharing (TiOSIS) scheme. PSIS scheme can be combined with VCS to achieve the purposes of fast preview and accurate decryption [
24,
25]. To resolve the problem of lossless reconstruction and improve the visual quality of the previewed image [
26] and share more information [
27], Li et al. gave improved SIS methods based on a gray mixing model separately. Additionally, the scheme [
28] combined BSIS to construct a TiOSIS scheme, which reduces the computation times in decoding process. For convenience, we refer to the scheme [
28] as BO-TiOSIS. More researchers are dedicated to studying TiOSIS schemes, including progressive recovery [
29], and sharing multiple secrets based on random-grid visual cryptographic scheme (RGVCS) [
30].
A typical feature of TiOSIS scheme is two decoding Phases: previewing capability by stacking shadows and lossless recovery by computation. In Phase one, adequate shadow images are printed on transparencies and superimposed on any authorized set of elements to visually restore the information of the secret image. During Phase two, the gray information embedded in shadow images is extracted. Then the original secret image is recovered by decryption algorithm. This article mainly ameliorates the visual quality of the previewed image. Based on the BO-TiOSIS scheme, we utilize a gray visual cryptography scheme with q-bit grayscale values (qGVCS) to change the embedding method for improving recognition of the previewed image in Phase one. Therefore, we establish a single model of the relationship between visual quality of the previewed image and size expansion of shadows.
The rest of the structure of this paper is as follows. Next, we briefly introduce the definitions of VCS, PBVCS, gray visual cryptography scheme (GVCS) and
qGVCS. Li et al.’s BO-TiOSIS scheme is reviewed in
Section 2.2.
Section 3 indicates the model building of an improved TiOSIS scheme, including motivation, design concept and theoretical analysis. Related experimental results and discussion are presented in
Section 4, and the performance comparison of the scheme is also in this part. Finally, concise conclusions are formulated in
Section 5.
2. Related Works
2.1. VCS and GVCS
The (k, n)-VCS is a typical threshold secret image sharing scheme. A secret image is shared into n shadow images printed on transparencies and then distributed to the corresponding n participants. If no fewer than k participants gather, secret information can be recovered by stacking their shadows. Nothing about the secret is reconstructed if there are less than k shares. Let OR (D|r) denote the ‘OR’-ed vector of any r rows of matrix D∈ℤn×m, with r ≤ n, and H(v) be the Hamming weight of vector v. Let l and h be nonnegative integers, with 0 ≤ l < h ≤ m. The notation m represents pixel expansion of (k, n)-VCS. Thus, the definition of VCS is exhibited as below:
Definition 1. A (k, n)-VCS is composed of double sets: white set C0 and black set C1. The elements in sets C0 and C1 are both base Boolean matrices. Randomly choose a matric B0 ∈ ℤn×m from C0 to encode a white pixel and extract a matric B1 ∈ ℤn×m from C1 to encrypt a black pixel stochastically. The selected matrix confirms the color of m pixels corresponding to n shares. This scheme is deemed valid if the following conditions are met [3]: (Contrast condition) H (OR (B0|k)) ≤ l, and H (OR (B1|k)) ≥ h;
(Security condition) H (OR (B0|t)) = H (OR (B1|t)), for any 0 < t < k.
A VCS is called a perfect black VCS (PBVCS) as well if h = m. All elements of the ‘OR’-ed vector of any k rows of black matrix are black pixels. Hence H (OR (B1|k)) = m.
Moreover, the modified VCS is the so-called gray visual cryptography scheme (GVCS) if all shadows are grayscale images. This construction method is concealing grayscale values into shares of VCS. In the revealing process, the stacking operation on grayscale shadows cannot be simulated by OR operation. Let us employ a formal definition of a gray mixing model to simulate the stacking operation on grayscale values.
Definition 2. Let g1 and g2 be two grayscale values. Two transparencies with gray colors g1 and g2 are stacked. The resulting grayscale value g3 can be approximately expressed as below [27]:where MX (·) represents the gray-mixed result of its arguments, and the int (·) function approximates its argument to the nearest integer.
Let G0 and G1 represent the share matrices used in GVCS. Let MX (D|r) be the ‘MX’-ed vector of any r rows of D ∈ ℤn×m, with r ≤ n, and Avg(v) denote the average expected grayscale value of all elements in vector v. Analogously, TiOSIS method based on GVCS should satisfy the following conditions:
(Contrast condition) Avg (MX (G1|k)) > Avg (MX (G0|k));
(Security condition) Avg (MX (G0|t)) = Avg (MX (G1|t)), for any 0 < t < k;
(Contrast condition) H (OR (B1|k)) = m, H (OR (B0|k)) < m;
(Security condition) H (OR (B1|t)) < H (OR (B1|k)), for any 0 < t < k.
Thereinto, Conditions (1) and (2) illustrate the previewed image is identified with k shadows and nothing can be obtained if less than k shadows to take part in it. Conditions (3) and (4) state a black pixel block is able to extract the embedded information on any k shadows. In addition, there is no meaningful grayscale pixels in white pixel block.
Moreover, a GVCS is also called qGVCS if the concealed grayscale values are q bits. The GVCS embeds grayscale values into shadow images directly, where each grayscale value occupies 8 bits in the range of [0, 255]. Let each gray information convert into a q-bit grayscale value in qGVCS. As a consequence, the range of grayscale values is [0, 2q –1].
2.2. Li et al.’s BO-TiOSIS Scheme
Li et al. proposed a BO-TiOSIS scheme by combining PBVCS, GVCS with BSIS [
8]. The brief encoding structure is demonstrated in
Figure 1. It shares two secret images: grayscale secret image by BSIS and binary secret image by PBVCS. Then embed the processed gray image into shares to obtain grayscale shadow images which are assigned to different participants. Replace the pixel ‘1’ in black basis matrix with the processed grayscale value and replace pixel ‘1’ in white basis matrix with grayscale values randomly selected from [0, 255]. All pixels ‘0’ in basic matrices are replaced with 255. In the decryption process, it not only reveals a fuzzy previewed image by superimposing shadows, but also is able to decode the perfect grayscale secret image by fewer Boolean operations. In terms of the source of secret images, the binary secret image can be divided into two categories according to the different acquisition methods. One is a halftone image obtained by halftone processing technique of grayscale secret image, and the other is black-and-white image that has nothing to do with grayscale secret image. Compared with traditional polynomial-based TiOSIS scheme, BO-TiOSIS scheme is faster in the second decoding process.
3. The Proposed Scheme
3.1. Motivation
In most cases, users have to know the brief structure of the secret image in advance. Hence, we propose a mathematical model for higher visual quality of the previewed image and to make a balance between size expansion and visual quality. BO-TiOSIS scheme has the advantage of lower computational complexity. One of this method’s drawbacks is that the visual quality of the previewed image is extremely poor. When hiding the grayscale image, the embedded information may be a grayscale value 255, which may be confused with the white shadow pixels. To avoid the confusion of white pixel ‘0’ and the embedded grayscale value 255, this scheme used two pixels to represent grayscale values larger than 253. The simplest method is using (254,0) to show grayscale value 254, and (254,1) to denote grayscale value 255. Furthermore, in the revealing process, we need an extra operation to add the extracted value 254 with the value behind it. These extra processes enlarge size expansion of shadows and make this scheme more complicated.
3.2. Design Concept
We propose a mathematical model for higher visual quality and lower size expansion based on BO-TiOSIS scheme. Model building contains three techniques: PBVCS,
qGVCS [
27] and BSIS scheme [
8]. The principle of
qGVCS is extremely simple that convert 8-bit grayscale values into
q-bit grayscale values and conceal them into shares encoded by VCS. About the transformation of grayscale values, it is easy to implement. We first transform 8-bit gray values into bit stream, and then each
q bits are converted to a
q-bit gray value. For example, if we have
W 8-bit grayscale values, we can have a bit stream with 8
W bits. Since each
q bits should be converted to one gray value, we have 8
W/
q q-bit grayscale values. Example 1 states an accurate result that is easy to understand.
This model mainly enhances the visual quality of the previewed image by limiting
q-bit gray values where
q is a positive integer smaller than 8. Particularly, the model with 8GVCS is the same as BO-TiOSIS scheme.
Figure 2 shows the basic framework of the proposed (
k,
n)-TiOSIS scheme. In the encoding process, secret image
S is first shared by BSIS method to generate the corresponding shadow image
B. The 8-bit image
B is converted to
q-bit grayscale values
C. Then secret image
H subjected to size compression is encrypted by (
k,
n)-PBVCS to obtain
n shares
V1,
V2, …,
Vn. In terms of the source of secret image
H, halftone processing is used to dither grayscale image and gain a binary image. Otherwise, secret image
H is derived with no secret
S from image database. Finally, the idea of
qGVCS is important to embedding the
q-bit grayscale image
C into shadow images
V1,
V2, …,
Vn so that we obtain shadow images of the whole TiOSIS scheme
G1,
G2, …,
Gn. The structure of the sharing scheme is demonstrated in Algorithm 1.
Algorithm 1. Secret image encoding process |
Input: secret image S and H, value of q. Output: shadow images G1, G2, …, Gn. |
Step 1: Utilize sharing scheme of BSIS given in [8] to encrypt secret image H. Then generate gray image B. Step 2: Convert all secret information in B into q-bit pixel values through bit conversion and obtain q-bit grayscale values C. Suppose C has W pixels. Step 3: Dither S to obtain halftone image H. Step 4: If the number of black pixels in H is smaller than W/m, where m is the pixel expansion of (k, n)-PBVCS, then enlarge the size of secret image S, and go back to Step 3. Otherwise, go to Step5. Step 5: Generate n shadow images V1, V2, …, Vn by sharing binary image H for (k, n)-PBVCS. When sharing black pixels of H, extract m unembedded pixels in C to replace all black sub-pixels in shadows. However, when sharing white pixels of H, generate random grayscale values within the range of 0~2q–1 to replace all black sub-pixels in shadows. Step 6: Obtain n grayscale images G1, G2, …, Gn. |
There are two decoding options in the recovery process. One is to obtain a fuzzy secret image
H’ by superimposing transparencies with any
k shadows. The other is to extract
q-bit shadow information
C from any
k shadows and convert into 8-bit image
B, thus exploiting the BSIS scheme to restore an accurate recovered image. The specific steps of decryption process are described in Algorithm 2.
Algorithm 2. Secret image decoding process |
Input: k shadow images G1, G2, …, Gk. Output: a vague image H′, secret image S. |
Step 1: Print k shadow images G1, G2, …, Gk on transparencies and stack together. Step 2: Generate fuzzy image H′. Step 3: Extract q-bit information from k shadows G1, G2, …, Gk. Step 4: Convert the extracted q-bit information into 8-bit pixel values through bit conversion, and obtain B. Step 5: Decrypt information B by BSIS scheme [8] to generate secret image S. |
For accurate analysis, the embedding principle and extracting principle are expressed as below. If secret pixel of binary image is black, then embed grayscale values into black sub-pixels while replace white sub-pixels with grayscale value 255. If secret pixel is white, then conceal randomly selected grayscale values into black sub-pixels and express white sub-pixels as grayscale value 255. Example 1 shows the process result in detail. Given
B0 and
B1:
denote white base matrix and black base matrix of a (2, 3)-PBVCS separately. Hence conceal
q-bit grayscale values
g1,
g2,
g3 and obtain a pair of corresponding matrices
G0 and
G1:
where
r represents random number uniformly distributed in [0, 2
q–1]. The augmented Matrices in Equations (2) and (3) above have 3 rows, which means three participants, and 3 columns, which states the size ratio of shadows to binary secret image.
Example 1. For (2,3)-TiOSIS based on 7GVCS, the embedded process is drawn as below, where gray information are 25, 234, 113. Then they are represented in binary form as ‘00011001’, ‘11101010’, ‘01110001’. Rearrange them in 7-bit as ‘0001100’, ’1111010’, ‘1001110’ to gain three 7-bit gray values 12, 122, 78. Besides, the two random numbers are randomly selected as 34, 56. Thus G0 ang G1 are given:
In addition, extract a group of m unprocessed grayscale information on any k shadows and reconstruct matrix like G1 or G0 described in Equation (5). If there exists a column that all pixels are 255, then stop and continue extracting. If there is no such column, select grayscale values in one column other than 255 as embedded information in turn. Example 2 illustrates the specific extracting process of easy understanding.
Example 2. For (2,3)-TiOSIS based on 7GVCS, the extracting process is drawn as below. From formula (5), there is no gray information in G0. Extract grayscale values 12, 122, 78 from black matrix G1.
3.3. Theoretical Analysis
In this section, theorems and theoretical analysis are given for building modelling effectively. The following content illustrates the whole scheme in mathematical model relying on Conditions (1)-(4). The reason that we separate the cases q < 8 and q = 8 is coming from the information embedding method. When q = 8, the embedded information may be grayscale value 255, which may be confused with the white shadow pixels. The grayscale values larger than 253 are split into two values, the size of the processed gray image will increase a little bit. However, when q is less than 8, the largest q-bit grayscale value is 127. This step is not needed. Concrete proof processes of the conditions are given in BO-TiOSIS scheme while q = 8. Now prove that the proposed mathematical modelling satisfies these conditions with q < 8.
Theorem 1. The (k, n)-TiOSIS scheme based on qGVCS meets threshold and security condition represented in Conditions (3) and (4) for q < 8.
Proof. Based on the definition of (
k,
n)-VCS, any information of the secret image cannot be recovered with less than
k shadow images. We have:
and because of the contrast condition in Definition 1, we gain:
From the rule of (
k,
n)-PBVCS, we find that:
Then associate Equation (7) with Equation (8) and get:
So, Condition (3) is proved. Due to the above equations, acquire the tacit knowledge.
That is, the amount of black sub-pixels corresponding to a black secret pixel stacking
k shares is better than that with
t shares, where
t <
k. Thus, we have:
from Equation (6). However, both
H (OR (B0|k)) and
H (OR (B0|t)) are smaller than
H (OR (B1|k)). Because of inequality, we cannot determine the magnitude of
H (OR (B0|k)) and
H (OR (B0|t)). That is why white secret pixels should not be the space for hiding grayscale values. Only black secret pixels conceal meaningful grayscale information. Condition (4) is verified. □
Theorem 2. The (k, n)-TiOSIS scheme based on qGVCS meets Condition (2) for q < 8.
Proof. Base matrices G0 and G1 of qGVCS are generated from B0 and B1, respectively, where B0 and B1 are the base matrices of (k, n)-PBVCS. Since B0 and B1 satisfy security condition of VCS, we show:
It means they are the same in construction with less than
k rows. All grayscale information embedded in shares are within the range of [0, 2
p–1]. Therefore,
G0 and
G1 also have the same structure with less than
k rows. That is:
The verification of this condition is completed. □
Condition (1) is extremely difficult to be verified in mathematical form. Since this condition tells us the average gray value of all black secret pixels is higher than all white secret pixels. We analyse this condition from two aspects: the visual quality of previewed image and size expansion.
3.3.1. Visual Quality of Previewed Image
In VCS, the revealed image is not the same as the secret image. The visual quality of the revealed image is degraded. Contrast is used to evaluate the visual quality of the revealed image. For GVCS, the contrast is evaluated by the difference of average grayscale values between the black pixel block and white pixel block. The definition of contrast is described as follows:
Definition 3. Let r1 and r0 respectively denote the average grayscale values of the black pixel block and white pixel block in restored image. Then the contrast of restored image of GVCS is [
27]:
The result of stacking two grayscale colors is a darker gray image according to the grayscale mixing model. As
q decreases, the maximum grayscale value and average gray value are lowered. Now, calculate the contrast of the proposed model for base matrices with corresponding base matrices of (2,
n)-PBVCS. The structures are:
Let
gi,j denote the embedded grayscale information, with
i = 1, 2. If
i = 1, then
g1,j represents gray value randomly selected and concealed in white base matrix
B0. Where
j = 1, 2, …,
n–1 except from zero column. If
i = 2, then hide
g2,j in black base matrix
B1,
j = 1, 2, …,
n. Let
g’ represent the
MX-ed value of any two rows of the corresponding column. From embedding principle,
G0 and
G1 are:
Contrast equation of (2, n)-qGVCS for specific base matrices G0 and G1 is indicated in Theorem 3.
Theorem 3. Suppose G0 and G1 are drawn as Equation (16) with respect to (2, n)-qGVCS, where pixel expansion of corresponding (2, n)-PBVCS is n. Symbols gb and gw denote the mean gray values of black pixel block and white pixel block separately. Then verify that the contrast of qGVCS is the following equation.
Proof. There are
n grayscale values in a white pixel block of reconstructed image of (2,
n)-
qGVCS depending on base matrix
G0, denoted as
g′
1,1,
g′
1,2, …,
g′
1,n–2,
g′
1,n–1, 255. Calculate them via gray mixing model:
Thus, obtain average grayscale value of white pixel block of renewed image, signified by
gw.
Now turn to
G1 in a similar way. There exists
n grayscale values in black pixel block of previewed image, denoted as
g′2,1,
g′2,2, …,
g′2,n–1,
g′2,n, and show that:
Then derive mean grayscale value of black pixel block:
According to the security of BSIS, the processed grayscale value satisfies uniform distribution. Hence,
gi,j meets uniform distribution on {0, 1, …, 2
q–1}, and the mathematical expectation of
gi,j is equal to (2
q–1)/2. Let
E(·) denote expectation function, then acquire:
Moreover, expectation function is with the property of the linear feature. Derive the expectations
E(
gw) and
E(
gb) of grayscale values for white pixel block and black pixel block:
Relying on Definition 3, the contrast
αq of (2,
n)-
qGVCS can be written as:
Hence, prove the theorem completely. □
The contrast of
qGVCS for any given base matrices can be calculated in this way. The lower the value
q, the darker the grayscale pixel color. Thus, gray level difference between white pixel block and black pixel block is larger. In other words, the contrast of the proposed model is higher as well.
Table 1 results contrast trend with
q changing, which increases as
q decreases. It also does when
n reduces. Hence the proposed model combining
qGVCS can show better visual quality of the previewed image.
3.3.2. Size Expansion
The proposed model employs PBVCS as a building block. The size expansion of the proposed scheme partially relies on the choosen PBVCS. In addition, unlike ordinary VCS, the proposed scheme is a TiOSIS, which shares two secret images with two decoding options. The final shadow size is also effected by the information embedding efficiency. With higher information embedding efficiency, we can obtain a smaller shadow size. In this paper, we proposed a TiOSIS based on
qGVCS, and we derive the shadow size with different value of
q, where 1 ≤
q ≤ 8. With a larger value of
q, we can obtain a smaller shadow size. Given grayscale secret image
S, processed 8-bit grayscale image
B is 2 × |
S| bytes if
q < 8. Otherwise, it is 2 × |
S|×(1 + 2/256) bytes if
q = 8. Since these grayscale values distribute uniformly and two grayscale values, 254 and 255, are split into double figures. That is
Because of the presence of transformation between 8-bit and
q-bit, the size of image
C is:
Assume there is
pb percentage of black pixels and
pw percentage of white pixels. Obviously,
pb and
pw have the following relationship:
Define BHS to denote the amount of embedded information in binary secret image as below:
Definition 4. Let BHS denote the hiding space in binary secret image H. Then calculate BHS as follows:
Noted that one byte of grayscale value is concealed in one bit of black sub-pixels for black secret pixels. For the requirement of concealing information totally, the hiding space in binary secret image
H must be larger than image size |
C|. Thus,
BHS is no less than |
C|.
To get size ratio of image
H to image
S, move both sides of the inequation.
Definition 5. Let SR denote size ratio of binary secret image H to grayscale secret image S. Use it to measure the size expansion and the information embedding efficiency. Then define SR as below:
Therefore gain
SR of the proposed model:
It results that SR is inversely proportional to the value q. The reduction of SR means less size expansion is produced in the proposed model, while the reduction in contrast deteriorates visual quality of previewed image. Hence, select a proper value q to make a balance between size expansion and visual quality in practical application.