A Construction Method of (2, 3) Visual Cryptography Scheme

Visual cryptography scheme (VCS) shares a binary secret image into multiple shadows, stacking qualified set of shadows will decode the secret image without computer resources. In this paper, we propose a (2, 3)-VCS, which can share one or two secret images into 3 shadows, stacking any two shadows will reveal the secret image. The shadow size is 3/2 times of the secret image. The contrasts of the revealed image are 1/3 and 1/2 when we share one and two secret images, respectively. We can also reveal the secret image by XOR decoding operation, and the visual quality of the revealed image can be further improved. By XOR decoding operation, the contrasts of the revealed image will be 2/3 and 1 when we share one or two secret images, respectively. In the case of sharing two secret images, the revealed two secret images have no distortion. Theoretic analysis and experimental results demonstrate the feasibility and advantages of the proposed (2, 3)-VCS.


I. INTRODUCTION
Visual cryptography scheme (VCS) proposed by Naor and Shamir [1] encodes a binary secret image into multiple share images (also called shadows) and then distribute shadows to the corresponding participants. The decoding process is easy to be implemented. By printing shares on transparencies and then stacking them together, the secret information can be recognized by human visual system without any complex mathematical computation. Generally, for (k, n) threshold VCS, a secret image is first shared into n shadows. One secret pixel is expanded into m (m >1) pixels of each shadow. With any k or more shadows, the secret image can be revealed by stacking these shadows, while any k-1 or less shadows can get no information about the secret. Although VCS has the advantage of stacking-to-see decoding property, the visual quality of the revealed image is degraded. Following with Naor and Shamir's pioneer work, many VCSs were proposed with special properties, such as sharing gray and color images [2]- [4], progressive recovering VCS [5]- [7], sharing multiple images [8], [9], and VCS with meaningful shadows [10]- [12].
The associate editor coordinating the review of this manuscript and approving it for publication was Chien-Ming Chen .
Pixel expansion of shadows and visual quality of the revealed image are the two most important indicators to measure the performance of VCS. Many VCSs were proposed to reduce shadow size and improve the visual quality of the revealed image. In Naor and Shamir's VCS, one secret pixel will be expanded into m (m >1) shadow pixels. Each shadow has m times size expansion. Probabilistic VCSs were proposed to reduce the size expansion [13], [14]. Yang [13] proposed probabilistic VCS, in which each shadow has the same size of the secret image. Cimato et al. [14] introduced probabilistic VCS that can achieve better visual quality at the price of larger size expansion. Researchers proposed random grid based visual secret sharing schemes [15], [16]. These schemes can achieve non-expansible shadows. However, the visual quality of revealed image is seriously degraded.
The visual quality of the revealed image is usually evaluated by contrast. Many researchers focused on improving visual quality by constructing VCS with optimal contrast [17], [18]. In traditional VCS, the stacking operation on shadows can be viewed as an implementation of Boolean OR operation. Actually, Boolean XOR operation can be realized by OR and inverse operations. With a copy machine that can copy and reverse transparences, we can implement XOR operation without computation. Obviously, XOR operation can be also implemented by using light-weight computational devices, such as cell phone and smart devices. Therefore, many XOR-based VCS (XVCS) were proposed to improve contrast. Tuyls et al. [19] studied the threshold visual secret sharing schemes associated to XVCS systems. Wang et al. [20] proposed XVCS for (2, n) and (n, n) thresholds. Liu et al. [21] proposed XVCS for general access structure by using (2, 2)-XVCS as the building block. Wu and Sun [22] proposed XVCS without size expansion and no code book required. Shen et al. [23] proposed the perfect contrast XVCS via linear algebra. The minimal qualified sets are partitioned into multiple parts. For each part of qualified sets, a sub-shadow is generated for each participant. The final shadow is a concatenation of multiple sub-shadows. Yang and Wang [24] analyzed the relationship between OR-based VCS and XVCS, and realized XVCS by using the basis matrices of OR-based VCS. Some researchers also tried to explore the application of VCS [25]. There are also come secret image sharing schemes with two decoding options [26]- [28]. A vague secret image can be decoded by stacking shadows, and a precise secret image can be decoded by computation.
In this paper, we focus on a special case of (k, n)-VCS, that is (2, 3)-VCS. Our main contribution is that we propose a novel construction method for (2,3)-VCS. The decoding process of our (2, 3)-VCS can be implemented by both OR and XOR operations. The proposed scheme can share one or two secret images. By OR decoding operation, the contrast of the proposed (2,3)-VCS is 1/3 when sharing one secret image, and 1/2 when sharing two secret images. By XOR operation, the contrast of the proposed scheme is 2/3 and 1 when sharing one and two secret images, respectively. The size expansion of each shadow is 1.5. When sharing two secret images, the secret images can be revealed without distortion and expansion.
The rest of the paper is organized as follows. In Section 2, we give the terminology and concepts used in the following sections, as well as OR based VCS and XVCS. The proposed scheme, and the theoretical analysis are included in Section 3. In Section 4, we show the experimental results and comparisons. Finally, we briefly conclude in Section 5.

II. RELATED WORKS
A. VISUAL CRYPTOGRAPHY SCHEME Let P ={1, 2, . . . , n} is the set of all participants in a VCS and 2 P denotes the set of all subsets of P. Let Qual ⊆2 P , and Forb ⊆2 P , where Qual ∩ Forb =Ø, and the elements in the Qual are referred to as qualified sets and the elements in the Forb are referred to as forbidden sets. The pair ( Qual , Forb ) is called the access structure.
Let 0 denotes all the minimal qualified sets, which is defined as follows. 0 ={A ∈ Qual |A' / ∈ Qual for all A'⊂ A} Let M denotes the set of all the maximal forbidden sets, which is The access structure ( Qual , Forb ) on P ={1, 2, . . . , n} is called non-monotone if Qual = 0 . Otherwise, it is called monotone.
Two participants i and j, which belong to the access structure ( 0 , Forb ), are referred to as equivalent participants on 0 if they satisfy that, for ∀A ∈ M , i ∈ A if and only if j ∈ A, denoted by i ∼ j.
VCS is usually constructed by a pair of Boolean matrices sets. A formally definition of VCS is shown as follows.
Definition 1 [1]: Let P ={1, 2, . . . , n} be the set of all of participants in (k, n)-VCS. Let m, l and h be non-negative integers satisfying 0≤ l < h ≤ m. Two sets of n × m Boolean matrices C 0 and C 1 constitute an effective (k, n)-VCS if the following conditions are satisfied: (1) (Contrast Condition) Let X ={i 1 , i 2 , . . . , i k }⊆ P. For any M ∈ C 0 (resp. M ∈ C 1 ), the OR-ed result on rows of M by restricting to the rows i 1 (2) (Security Condition) For any i 1 , i 2 , . . . , i k in P with p < k, two collections of F 1 and F 2 , obtained by restricting each matrix in C 0 and C 1 , respectively to the rows i 1 , i 2 , . . . , i k , are indistinguishable in the sense that they contain the same matrices with the same frequencies.
In the construction of VCS, the two collections of matrices C 0 and C 1 are usually generated by permuting the columns of two basis matrices B 0 and B 1 , respectively. For a (k, n)-VCS constructed with two collections of matrices C 0 and C 1 , to share a white (resp. black) secret pixel, a dealer randomly chooses a matrix from C 0 (resp. C 1 ), and distribute n rows of the chosen matrix to n shadows, respectively. Since each matrix has m columns, each shadow will receive m pixels when sharing one secret pixels. The shadow size is m times of the secret image. Usually, m is called size expansion of shadows. In order to reduce the cost in storage and transmission, the value of m should be as small as possible.
In decoding process, stacking shadows can visually perceive the content of the secret image. The underlined operation of stacking is Boolean OR operation. Actually, the OR-ed result of qualified shadows will not get the original secret image. Each secret pixel is represented by a block of pixels in the revealed image. By contrast condition in Definition 1, we know the number of black pixels in a block corresponding to black pixel is larger than that corresponding to white pixel. Let blackness refer to the proportion of black pixels in a block. For the black (resp. white) area of the revealed image, the blackness is h/m (resp. l/m). Then the difference between the blackness of black and white areas, denoted by contrast, can be perceived by our human visual system.
Formally, the contrast α is defined as follows.
The definition of contrast is consistent with the definition in [1]. The value of α is between 0 and 1. When α = 1, the visual quality of revealed secret image is the same as the secret image. In this case, VCS is called perfect. In practice, we need to construct VCS with the contrast as larger as possible Example 1: (2, 3)-VCS [1]. Construct a (2,3)-VCS with basis matrices B 0 and B 1 .
Permuting the columns of B 0 and B 1 , we have two collections of share matrices C 0 and C 1 , respectively.
In the sharing process, if a secret pixel is white (resp. black), randomly select a share matrix from C 0 (resp. C 1 ). The entries in the ith row of the share matrix are attributed to the ith shadow as the corresponding block of pixels. Until all secret pixels are processed, we have 3 generated shadows. Stacking any two of three shadows will visually decode the secret image. The size expansion of (2, 3)-VCS is 3 and the contrast is 1/3. Figure 1 shows the experimental result of Naor and Shamir's (2, 3)-VCS based on OR operation.

B. XOR-BASED VISUAL CRYPTOGRAPHY SCHEMES
In Definition 1, the operation used in contrast condition is Boolean OR. VCS defined by Definition 1 is also called OR-based VCS. If we replace OR operation in Definition 1 by Boolean XOR operation, we have the definition of XOR-based VCS. Shen et al. [23] proposed a non-monotone XOR-based (k, n)-VCS. Specifically, for XOR-based (2, 3)-VCS, Qual = 0 ={{1, 2}, {1, 3}, {2, 3}}. Three qualified sets {1,2},{1,3} and {2,3} are represented by α, β, γ , respectively. For each qualified set, a pair of share matrices are generated by the basis matrix of (2, 2)-VCS. It should be noted that the row of basis matrix, corresponding to the uninvolved participant of the qualified set, is randomly generated with entries 0 or 1. The generated three pair of basis matrices are shown as follows.
where * is assigned by 0 or 1 randomly. Then partition the qualified sets 0 into 2 parts 1 0= {{1, 2}, {1, 3}} and 2 0={{2, 3}}. For 1 0, participant 2 and 3 are equivalent participants, which means they may have the same shadows. After combining the first two pair of basis matrices, we have the following two pair of basis matrices.
In the sharing process, a dealer first uses basis matrices B αβ 0 and B αβ 1 to share the secret image, and generate 3 sub-shadows as region 1 in the corresponding shadows. Then uses basis matrices B γ 0 and B γ 1 to share the secret image again, and generate another 3 sub-shadows as region 2 in the corresponding shadows. Note that only one column of basis matrix is randomly chosen to generate sub-shadows when sharing one secret pixel. Therefore, the size of each sub-shadow is the same as the secret image. The final shadow size is 2 times as the secret image. Region 1 and region 2 can be concatenated horizontally or vertically. In revealing process, the secret image can be decoded on a specific region when performing XOR operation on any two shadows.  . We need to design new basis matrices, which can eliminate the random pixels '' * ''. The main idea is that two share matrices can be merged if they have the same rows except for the rows that contain '' * ''. We design the new basis matrices by processing two secret pixels at one time. For the first pixel a, the basis matrices are the same as those in Shen et al.'s scheme [23]. For convenience, we use a set of new notations here.
Note that shadow 2 and shadow 3 decode the secret pixel a in region 2. Shadow 1 and shadow 2 decode the secret pixel a in region 1, so do shadow 1 and shadow 3.
For the second pixel b, the basis matrices are generated by switching the first two rows of above basis matrices. The third rows are unchanged. The new basis matrices are shown as follows.
Note that after switching rows of the basis matrices, the relation between the qualified set and region area may be changed. In this case, shadow 1 and shadow 3 will decode the secret pixel b in region 2. Shadow 1 and shadow 2 will decode the secret pixel b in region 1, so do shadow 2 and shadow 3. We also find that the random pixels in B a2 0 and B a2 1 are in the first row, while the random pixels in B b2 0 and B b2 1 are in the second row. And their third rows are the same. Since the qualified sets for decoding secret pixel in region 2 are different for secret pixels a and b, we can merge region 2 of secret pixel a and region 2 of secret pixel b as one region. In another word, both secret pixels a and b use the same region as their region 2. After combination, region 2 can be used to decode different secret information with different qualified sets. In the decoded image, region 2 may show the secret pixel a or secret pixel b. In the combined regions, the region 1 for secret pixel a is still region 1, and the region 1 for secret pixel b is represented as new region 3. Finally, secret pixel a will be decoded in region 1 or region 2, and secret pixel b will be decoded in region 2 or region 3. Figure 3 shows the relationship of the regions of two secret pixels. In addition, the basis matrix used for region 2 need to be reconstructed. Let p and q denote the value of secret pixels a and b, respectively. As we mentioned before, B a2 p and B b2 q have the same third rows, where p and q are in {0, 1}. We generate the basis matrix B Region2 pq for region 2, which has the same first row as B b2 q , the same second row as B a2 p , and the same third row as B a2 p or B b2 q . For region 1, only secret pixel a will be decoded in region 1, then the basis matrix for region 1 B   denotes the basis matrix for region r with secret pixels' value p and q.
With above basis matrices, we can share a secret image into 3 shadows. Note that the secret pixels only shown in two out of three regions, called effective regions. The relationship between the qualified set and the effective regions is shown in the following table.

C. THE SHARING AND REVEALING PROCESSES 1) THE SHARING PROCESS FOR ONE SECRET IMAGE
For the case of one secret image, we share two continuous secret pixels at each time. According to the values p and q of these two secret pixels a and b, using basis matrices B to generate the shadow pixels in region 2 and region 3, respectively. By sharing two secret pixels, each shadow will receive three pixels. These three pixels are concatenated as a 3-pixel block. Figure 4 shows an example of the generation of shadow blocks. By sharing secret pixel a 1 and b 1 , the first shadow receives three pixels S 1 11 , S 2 11 and S 3 11 in region 1, region 2 and region 3, respectively. These pixels are concatenated as a 3-pixel shadow block in shadow 1. The shadow blocks of shadow 2 and shadow 3 are generated in the same way, where S k ij is the j-th shadow pixel of shadow i generated by sharing the k-th block of secret image, and a k and b k are the pixels in the k-th block of secret image.

2) THE SHARING PROCESS FOR TWO SECRET IMAGES
Our scheme can also share two secret images simultaneously. As we introduced in Section 3.2, our scheme is designed by processing two secret pixels at one time. If these two secret pixels are coming from two secret image, respectively, our scheme can be used to sharing two secret images with the same sizes. Let A and B be the two secret images. First, we take the first pixel a 1 from A and the first pixel b 1 from B as a pair of secret pixels. Let p and q be the values of pixel a 1 and pixel b 1  to generate shadows. By share a pair of secret pixels, one shadow will receive three pixels according to three regions. The shadow pixels are generated with the same method as that for sharing one secret image. The difference is the arrangement of the shadow pixels in three regions. Different from the method for sharing one secret image, all generated shadow pixels in the same region of each shadow are stored together. Hence each shadow is separated as three parts according to the pixels in three regions, respectively. Figure 5 shows the diagram of generating shadows with different regions. First, all pixels in the same region of each shadow are concatenated together. Then the three regions of each shadow are concatenated to generate the final shadow. Note that S k ij is the pixel of shadow i in region j generated by sharing the secret pixels a k and b k , where a k and b k are the k-th secret pixels of secret image A and B, respectively.

3) THE REVEALING PROCESS
In our proposed (2, 3)-VCS, we have two options to reveal the secret image. First, we can reveal the secret image by stacking any two out of three shadows. The stacking operation can be simulated by Boolean OR operation. The secret image can be visually recognized with degreed visual quality. Second, the secret image can be decoded by XOR operation on any two shadows. By XOR operation, the revealed image will have better visual quality than that revealed by OR operation. Specifically, the secret images can be revealed perfectly as the original secret images when we share two secret images.

D. THEORETICAL ANALYSIS
In this subsection, we theoretically prove that the proposed (2, 3)-VCS satisfies the definition of VCS. For (2, 3)-VCS, any two out of three shadows consist of a qualified set, while each shadow is also a maximal forbidden set. To verify the proposed (2, 3)-VCS satisfies the security condition of VCS, we only need to prove that each shadow pixel is randomly selected in {0, 1}. To verify the contrast condition of (2, 3)-VCS, we only need to prove that the contrast value is larger than 0 by OR and XOR operations. In case of sharing two secret images, we only need to prove the contrast is larger than 0 in the effective regions.
First, we prove that the proposed (2, 3)-VCS satisfies the security condition.
Proof: To prove that our scheme satisfies the security condition of (2, 3)-VCS, we need to prove any one shadow will not decode any information about the secret image. In the generation of shadows, each shadow pixel is generated by one entry of a randomly chosen column of a basis matrices. For each basis matrix, it is easy to verify that each row has two entries, 0 and 1. Therefore, the probabilities for each shadow pixel generated as 0 and 1 are the same. By one shadow, we cannot identify the secret pixels' values from the shadow values. Hence, the security condition of (2, 3)-VCS is satisfied.
Next, we prove that our scheme satisfies the contrast condition, that is, the contrast of the revealed image is larger than 0. Since we have two decoding options with OR and XOR operations, we need to prove that the proposed (2, 3)-VCS satisfies the contrast condition by OR and XOR operations. In addition, we have two kinds of regions arrangements. For the first regions arrangement, any two-pixel secret block is shared into a three-pixel shadow block of each shadow.
In another word, a secret pixel is shared into one and half shadow pixels. We need to verify that the average blackness in black area is larger than that in white area, and calculate the average contrast in three regions. For the second regions arrangement, three regions are concatenated regionby-region, and only two out of three regions of the revealed image are effective. We need the verify that the contrast in the effective regions is larger than 0. With the definition of contrast, we calculate the contrasts of the revealed images with different qualified sets of shadows and different regions arrangements. Table 2 and Table 3 show the contrasts of (2, 3)-VCS with different qualified sets using OR and XOR decoding operations, respectively.  For the first regions arrangement, we need to calculate the average contrast in the revealed image. Suppose that the secret image has the two-pixel blocks of values (0, 0), (0, 1), (1, 0) and (1, 1) with the same proportions. The average contrast of the revealed image is calculated by the average difference of darkness between the white area and black area. As shown in Table 2, by OR decoding operation, the average contrasts of the revealed image with the first regions arrangement are 1/3, 1/4 and 1/4 with qualified sets (1, 2), (1, 3) and (2, 3), respectively. If all three shadows are stacked, the average contrast will be increased to 5/12.
For the second regions arrangement, the black secret pixels will be definitely decoded as black pixels, and white pixels will be decoded as white pixels with possibility1/2. Hence the contrasts in the effective regions are always 1/2 with qualified sets (1, 2), (1, 3) and (2, 3). For the case when three shadows are stacked together, white secret pixels of secret image A (resp B) will be decoded as white pixels with possibility1/2 in region 1 (region 3), while the black secret pixels of secret image A (resp. B) will be decoded as black pixels with possibility 1 in region 1 (region 3). Therefore, the VOLUME 8, 2020 effective regions with qualified set of (1, 2, 3) are region 1 and region 3, and the contrast in effective regions is 1/2.
When we decode the secret image by using XOR operation, the visual quality of the revealed image is better than that using OR operation. Table 3 lists the decoded pixels in three regions with different qualified sets. For the first regions arrangement, we calculate the average contrast in all regions, and we have contrasts 2/3, 1/2 and 1/2 with qualified sets (1, 2), (1, 3) and (2, 3), respectively. For the second regions arrangement, two secret images will be perfectly decoded in two effective regions, and the contrasts are all 1. Since we have two entries 1 and 0 when we perform XOR operation on three rows of each basis matrix, the contrast of the revealed image will be 0 when we use three shadows to decode the secret image by XOR operation. Therefore, (1, 2, 3) is not a qualified set of (2, 3)-VCS when using XOR decoding operation.
From above analysis and the contrasts listed in Table 2 and Table 3, we have the following Lemma.
Lemma 2: The proposed scheme satisfies the contrast condition of (2, 3)-VCS, that is the contrast is larger than 0.
With Lemma 1 and Lemma 2, we have that the proposed scheme satisfies both the security condition and the contrast condition of VCS. Finally, we have the following theorem.
Theorem 1: The proposed scheme is a (2, 3)-VCS under both OR and XOR operations.
For the first regions arrangement in our proposed (2, 3)-VCS, two secret pixels are shared into three shadow pixels of each shadow. Hence the size expansion of shadows is 1.5. For the second region arrangement, two secret images are shared into three regions of each shadow, and only two regions are effective to decode two secret images. The revealed secret images in effective regions have the same size of the secret images. Although the shadow size is three times of one secret image, with two secret images shared simultaneously, the total size expansion of shadows is still 1.5. We conclude the result about size expansion in following theorem.

IV. EXPERIMENTAL RESULTS AND DISCUSSION
In this section, we conduct some experiments of the proposed (2, 3)-VCS. We show the experimental result for sharing one secret image and two secret images using OR and XOR decoding operations. We also compare the proposed scheme with literature schemes on performances.

A. THE EXPERIMENTAL RESULTS OF THE PROPOSED (2, 3)-VCS FOR SHARING ONE SECRET IMAGE
In this experiment, a binary secret image S with the size of 256 × 256 pixels as shown in Fig. 6(a) is shared into 3 shadows. Figure 6 (b)-(d) show the 3 generated shadows. Each shadow has the size as 3 times of the secret image. Stacking any two shadows can reveal the secret image. The stacking operation can be simulated by Boolean OR operation.  The content of the secret image can be visual recognized by human visual system. By stacking three shadows, the revealed image has better visual quality as shown in Fig. 6 (h), and the contrast is 5/12. We can also reveal the secret image by Boolean XOR operation, and the revealed images are shown in Fig. 6 (i)-(k). Performing XOR operation on any two shadows, we have the revealed secret image. As we can see, the visual quality of the revealed image using XOR decoding operation is better than that using OR decoding operation. The contrast is increased to 2/3. Since {1, 2, 3} is not a qualified set of (2, 3)-VCS using XOR decoding operation, performing XOR operation on three shadows will not reveal the secret image. Figure 6. (l) shows the revealed image by three shadows using XOR operation, which is noise-like.

B. THE EXPERIMENTAL RESULTS OF THE PROPOSED (2, 3)-VCS FOR SHARING TWO SECRET IMAGES
In this experiment, two secret images are shared simultaneously. Figure 7 (a) and (b) shows two secret images with the same sizes 256 × 256. Successively select one secret pixel from each secret image, and then share them into three pixels of each shadow in three regions, respectively. Figure 7 (c)-(e) show three generated shadows. In the revealing process, we have two decoding operations to choose. First, we can reveal the secret image by OR operation, that is the secret image can be revealed by stacking any two shadows. Figure 7 Table 1. By Table 2, we have that the contrasts of the revealed image in Fig. 7 (f)-(h) are all 1/2. When three shadows are stacked, the secret image is also revealed with the contrast 1/2 as shown in Fig. 7 (i). Second, we can reveal the secret image by XOR operation. Figure 7 Table 3. The revealed image by performing XOR operation on three shadows is shown in Figure 7 (m), which shows that {1, 2, 3} is not a qualified set of the proposed (2, 3)-VCS using XOR decoding operation.
We also conduct an experiment using natural secret images. Since VCS only directly deals with binary images. We need process the secret image first to get a binary secret image. Two halftone dithered secret images ''Lena'' and ''Baboon'' with 512 × 512 pixels as shown in Fig. 8 (a) and (b) are first shared into three shadows as shown in Fig. 8 (c)-(e). Stacking any two out of three shadows can reveal two secret images in the corresponding regions. The revealed images are shown in Fig. 8 (f)-(h). We can also reveal the secret mage by stacking all shadows, and the revealed image is shown in Fig. 8(i). By Table 2, we have that the contrasts of the revealed images in the effective regions in Fig. 8 (f)-(h) are all 1/2. In addition, we can also reveal the secret image by XOR operation, and the revealed images are shown in Fig. 8 (j)-(m). As we can see, two secret images can be perfectly revealed in the effective regions. The contrasts in the effective regions are all 1 by Table 3.
To further measure the visual quality of the decoded secret images, we calculate the PSNR and SSIM values of the  revealed images. Since the decoded secret images have the same sizes with the original secret images when sharing two secret images, we only calculate PSNR and SSIM values of the revealed images in Fig. 7 and Fig. 8 as shown in Table 4. Note that, the white pixel is represented as 255, and black pixel is represented as 0 when we calculate PSNR and SSIM values. As we can see, the revealed images by OR operation have poor visual quality, while the revealed images by XOR operation have perfect visual quality as original secret images. VOLUME 8, 2020

C. COMPARISON AND DISCUSSION
In this subsection, we compare our (2,3)-VCS with literature VCSs on performances and other property. First, we list out the sharing type of all schemes. There are two types, that are deterministic and probabilistic. For deterministic type, although the visual quality of the revealed image may be degraded, there is no information loss in the revealed image. For probabilistic type, the original secret image cannot be revealed perfectly even with computer resources. Second, we compared with decoding operations. For OR operation, we can easy implement it by stacking shadows without using computer. For XOR operation, we only need some light-weight devices. However, for Lagrange interpolation, we need complicated computation with computer. Finally, the contrast and pixel expansion under different decoding operations are compared. Since the definition of contrast in our scheme is consistent with that in the reference [1], the values can be directly compared. We also compare the proposed scheme with VCS sharing multiple secret images. The comparison results are shown in Table 5. The deterministic type is denoted by ''D'', and the probabilistic type is denoted by ''P''. For sharing one secret image, our scheme has the size expansion 1.5, which is small than the size expansion of Naor and Shamir's VCS 3. Although Yang's VCS has the size expansion 1, their scheme is probabilistic and the visual quality of the revealed image is very poor. We cannot reveal the original secret image even with computer resources. The contrast of the proposed scheme is 1/3 when stacking shadow 1 and shadow 2, and increased to 5/12 when stacking three shadows. If we reveal the secret image by XOR operation, the contrast is increased to 2/3. For sharing two secret images, the total shadow expansion is still 1.5. However, two secret images can be revealed in two effective regions without expansion and distortion. If we use OR decoding operation, the revealed secret images in effective regions have the contrast 1/2. If we use XOR decoding operation, the contrasts in effective regions are 1, and the secret images are perfectly revealed.

V. CONCLUSION
In this paper, we proposed a novel construction of (2,3)-VCS. The proposed scheme can share one or two secret images. Compared with size expansion 3 in Naor and Shamir's OR-based VCS and 2 in Shen et al.'s XOR-based VCS, the size expansion of the proposed scheme is 1.5. When sharing two secret images, the secret images can be revealed in two effective regions of the revealed image without expansion. In the decoding process, we have two choices of decoding operation. The secret image can be revealed by using both OR and XOR operations. When we share one secret image, the contrasts are 1/3 with OR operation, and 2/3 with XOR operation. When we share two secret images, the contrasts are increased to 1/2 and 1 with OR and XOR operations, respectively. To sum up, the proposed scheme has good performances on size expansion and visual quality of the revealed image. A future work might be constructing general (k, n)-VCS using proposed scheme as a building block to achieve better performances.