A novel visual secret sharing scheme for multiple secrets without pixel expansion

A novel visual secret sharing scheme for multiple secrets without pixel expansion

Expert Systems with Applications 37 (2010) 7858–7869 Contents lists available at ScienceDirect Expert Systems with Applications journal homepage: ww...

2MB Sizes 3 Downloads 82 Views

Expert Systems with Applications 37 (2010) 7858–7869

Contents lists available at ScienceDirect

Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

A novel visual secret sharing scheme for multiple secrets without pixel expansion q Tsung-Lieh Lin a, Shi-Jinn Horng a,b,c,g,*, Kai-Hui Lee d, Pei-Ling Chiu e, Tzong-Wann Kao f, Yuan-Hsin Chen c, Ray-Shine Run c, Jui-Lin Lai c, Rong-Jian Chen c a

Department of Electrical Engineering, National Taiwan University of Science and Technology, 106 Taipei, Taiwan Department of Computer Science and Information Engineering, National Taiwan University of Science and Technology, 106 Taipei, Taiwan c Department of Electronic Engineering, National United University, 36003 Miao-Li, Taiwan d Department of Computer Science and Information Engineering, Ming Chuan University, 250 Zhong Shan N. Rd., Sec. 5, 111 Taipei, Taiwan e Department of Risk Management and Insurance, Ming Chuan University, 250 Zhong Shan N. Rd., Sec. 5, 111 Taipei, Taiwan f Department of Electronic Engineering, Technology and Science Institute of Northern Taiwan, Taipei, Taiwan g Department of Computer Science, Georgia State University, Atlanta, GA 30302-4110, USA b

a r t i c l e

i n f o

Keywords: Visual secret sharing scheme Contrast Pixel expansion Camouflage

a b s t r a c t The main concept of the original visual secret sharing (VSS) scheme is to encrypt a secret image into n meaningless share images. It cannot leak any information of the shared secret by any combination of the n share images except for all of images. The shared secret image can be revealed by printing the share images on transparencies and stacking the transparencies directly, so that the human visual system can recognize the shared secret image without using any devices. The visual secrets sharing scheme for multiple secrets (called VSSM scheme) is intended to encrypt more than one secret image into the same quantity of share images to increase the encryption capacity compared with the original VSS scheme. However, all presented VSSM schemes utilize a pre-defined pattern book with pixel expansion to encrypt secret images into share images. In general, it leads to at least 2 times pixel expansion on the share images by any one of the VSSM schemes. Thus, the pixel expansion problem becomes more serious for sharing multiple secrets. This is neither a practical nor the best solution for increasing the number of secret sharing images. In this paper, we propose a novel VSSM scheme that can share two binary secret images on two rectangular share images with no pixel expansion. The experimental results show that the proposed approach not only has no pixel expansion, but also has an excellent recovery quality for the secret images. As our best knowledge, this is the first approach that can share multiple visual secret images without pixel expansion.  2010 Elsevier Ltd. All rights reserved.

1. Introduction The secret sharing scheme was proposed by Blakely (1979) and Shamir (1979). The ordinary secret sharing scheme separates secret information into a set of portions for participants and achieves the objective of protecting secret information. In general, the secret sharing scheme is a (k, n)-threshold scheme, that is, the secret is separated into n different share messages. The secret can be recovered by combining at least k (2 6 k 6 n) share messages, and the

q This work was supported in part by the National Science Council under contract number NSC 96-2918-I-011-002, 97-2221-E-239-022, 95-2221-E-011-032-MY3. * Corresponding author at: Department of Computer Science and Information Engineering, National Taiwan University of Science and Technology, 106 Taipei, Taiwan. Tel.: +886 2 27376700; fax: +886 2 27301081. E-mail addresses: [email protected] (T.-L. Lin), [email protected] (S.-J. Horng), [email protected] (K.-H. Lee), [email protected] (P.-L. Chiu), [email protected] (T.-W. Kao), [email protected] (Y.-H. Chen), run5116@ ms16. hinet.net (R.-S. Run), [email protected] (J.-L. Lai), [email protected] (R.-J. Chen).

0957-4174/$ - see front matter  2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2010.04.051

secret cannot be recovered by using less than k share messages. In a traditional (k, n)-threshold scheme based on cryptography theory, the operation of separating to n share messages is called encryption, and the operation of recovery by combining k share messages is called decryption. The decryption process requires the aid of additional devices such as computers and high mathematical computation ability. Under this ordinary secret sharing scheme, it is impossible to recover the secret information without computational devices. Another visual secret sharing scheme (VSS scheme) was introduced by Naor and Shamir (1995). In the encrypting process, devices were needed to encrypt the secret image into n (n P 2) shared images for participants. But in the decrypting process, the secret image could be revealed by directly stacking share images and the recovered secret image could be recognized by the human visual system without any additional computational devices. This VSS scheme was very convenient for revealing the secret image, particularly as it could be done without any computational devices. Like the traditional (k, n)-threshold scheme, the (k, n)-VSS scheme

T.-L. Lin et al. / Expert Systems with Applications 37 (2010) 7858–7869

could reveal the shared secret image when at least k (2 6 k 6 n) share images were stacked together. Of course, any single share image or less than k share images stacked together could not reveal the shared secret even when using computational devices. During the past decade, VSS has attracted the attention of many researchers. Some of the literature has been related to the construction of a visual secret scheme (Ateniese, Blundo, De Santis, & Stinson, 1996; Chen, Chan, Huang, Tsai, & Chu, 2007; Verheul & van Tilborg, 1997; Yang, 2004; Wang, Zhang, Ma, & Li, 2007). Based on the concept of sharing binary secret images, researchers have extended the visual secret sharing scheme to suit the sharing of gray secret images (Iwamoto & Yamamoto, 2003; Wang et al., 2007; Yang & Chen, 2006) and color secret images (Chang, Lin, Le, & Le, 2008; Hou, 2003; Shyu, 2006; Yang & Chen, 2008). In terms of the number of share secret images, the literature has been solely concerned with sharing only one secret image. However, it would be useful to be able to share more than one secret image simultaneously. Clearly, it would be worthwhile to develop a visual secret sharing scheme for multiple secrets (is called the VSSM scheme). Based on the traditional VSS scheme, some schemes have been proposed in order to share multiple secrets simultaneously. Wu and Chen (1998) proposed a (2, 2) visual secret sharing scheme to share two secret images in two square share images, noted as S1 and S2. By stacking the two square share images of S1 and S2, the first secret image SE1 could be revealed, and the second secret image SE2 could be revealed by stacking shared image S1 and the other share image S2 with a 90 rotation angle (Wu & Chen, 1998). The rotation angle could be easily modified to be one of q  90, 1 6 q 6 3. Wu and Chang (2005) developed a multi-secrets sharing scheme which could share two secret images by embedding secret images into two circle share images. The rotation angle of the rotated share image in Wu and Chang’s scheme was a factor of 360, not being limited to 90, 180, and 270 as in Wu and Chen’s sharing scheme (Wu & Chen, 1998) when the two circle share images were stacked together. Shyu, Huang, Lee, Wang, and Chen (2007) scheme permits share x P 2 secret images in two circle share images S1, and S2, and x secret images could be revealed one by one stacking the first circle share image S1 and the rotated second shared image S2 with q  r (0 6 q 6 x  1, r = 360/x) different rotation angles. Feng, Wu, Tsai, Chang, and Chu (2008) proposed a (2, 2)-x-VSSM scheme to share x P 2 secret images by using two cylinder share images so that the secret image could be revealed from the two share images by stacking with an aliquot angle. Although the above-mentioned VSSM schemes could share at least two secret images, unfortunately, the obvious and serious problem of pixel expansion (means m = sizeshare image/sizesecret image), existed in these visual multiple secrets sharing schemes (Feng et al., 2008; Shyu et al., 2007; Wu & Chen, 1998; Wu & Chang, 2005). In the scheme of Wu and Chen (1998), the size of the share image was 4 times larger than that of the secret image; that is, the pixel expansion was 4, as was the pixel expansion of Wu and Chang’s proposed scheme (Wu & Chang, 2005), while in the scheme of Shyu et al. (2007) the pixel expansion was 2x when x secret images were shared. According to the (2, 2)-x-VSSM in Feng et al. (2008), pixel expansion was 3x, with x as the number of secret images to be shared. For the above-mentioned schemes, the problem of pixel expansion was a definite disadvantage and it became critical to develop a VSSM scheme. However, the challenge of obtaining no pixel expansion in a VSSM scheme has not yet been resolved. In VSSM scheme, researchers have faced another challenge in that the contrast quality in the revealed secret images has been so low that it could not be effectively discerned by human visual system. The best contrast was 1/4 in the multiple secrets sharing schemes of Wu and Chen (1998) as well as Wu and Chang

7859

(2005). The contrast in Shyu et al.’s scheme (Shyu et al., 2007) was 1/(2x), and for Feng et al. (2008) it was 1/(3x) when x secret images were shared, with the greater number of sharing secrets causing the lower contrast for the schemes of Shyu et al. and Feng et al. The state-of-the-art on VSSM schemes, no existed scheme has overtaken the upper contrast (=1/4) in the revealed secret images. In this paper, we have proposed a novel VSSM scheme for sharing two binary secret images in two share images S1 and S2 with no pixel expansion, and have achieved an excellent recovery quality for the revealed secret images. During the encrypting process, the proposed scheme generated share images without any pre-defined pattern books. This process was different from any existing VSS schemes. By directly stacking the two share images, S1 and S2, the first secret SE1 could be revealed and be recognized by the human visual system, and the second secret SE2 could be revealed by stacking one share image and the other with a rotation angle of 180. Neither of the two share images leaked any information of the two secret images. Our proposed VSSM scheme has resolved the pixel expansion problem existing in VSS schemes, whether sharing one or multiple secrets, and has increased the contrast quality of the revealed secret image by adopting the appropriate encrypting process. The remainder of this paper has been organized as follows. In Section 2.1, the original visual sharing secret scheme proposed by Naor and Shamir has been reviewed and 4 other visual multiple secrets sharing schemes have been reviewed in Sections 2.2 and 2.3. The proposed scheme for sharing two secret images in two share images with no pixel expansion and no pre-defined pattern book has been described in Sections 3.1–3.4 and 3.5. The experimental results and comparisons are presented in Section 4 with the conclusions presented in the last section. 2. Related literature review 2.1. Naor and Shamir’s visual secret sharing scheme The (n, n)-threshold visual secret sharing scheme, first proposed by Naor and Shamir (1995), is used to share one secret image on n share images (Naor & Shamir, 1995). The secret image is encrypted into n share images of which every one of the n share images is a meaningless random image and cannot reveal the secret image. By stacking n share images together, the hidden secret image is revealed and can be recognized by the human visual system without any computation. Fig. 1 shows a (2, 2)-threshold VSS scheme used to share the secret image ‘‘CRYPT”. As shown in Fig. 1(b) and (c), the shares images are meaningless. No one can recognize the secret image ‘‘CRYPT” by staring at the shared images. In Fig. 1(d), the secret image is revealed by stacking the share images, as shown in Fig. 1(b) and (c). The stacking operation prints n share images on n different transparencies, T1, T2, . . ., Tn. T1, T2, . . ., and Tn are stacked together with a corresponding position. This process is an ‘‘OR” operation for the corresponding pixels on transparencies T1, T2, . . ., and Tn. According to the color level of the corresponding pixels on T1, T2, . . ., and Tn, the color level on the secret image can be revealed by this stacking operation. Eq. (1) describes the detailed operation. In Eq. (1), the digit 1 represents the black color level and digit 0 ði;jÞ represents the white color level. The ok represents the pixel color on the (i, j) position of transparency Tk, 1 6 k 6 n. If all correspondði;jÞ ing pixels are white (means ok ¼ 0), then the stacked result is white (=0). If at least one pixel color is black (=1), the stacked result pixel is black (=1). Obviously, the color level on the stacked transparencies can reveal the secret image by an subtle encrypting method.

7860

T.-L. Lin et al. / Expert Systems with Applications 37 (2010) 7858–7869

Fig. 1. An example of (2, 2)-VSS scheme.

Table 1 An implementation of (2, 2)-VSS with pixel expansion m = 4.

(a) pixel of secret is black.

Expanded sub-block pattern #

b1

b2

(b) pixel of secret is white.

Expanded sub-block

stacked b1⊕b2

pattern #

b1

b2

stacked b1⊕ b2

b1 is (0 1 1 02) on S1 and b2 is (1 0 0 12) on S2. By scanning pixel by pixel from the left-top to the right-bottom and filling the selected sub-blocks b1 and b2 on the corresponding position of two share images S1 and S2, two share images are created. After the encrypting process, share images S1 and S2 are meaningless images because the pattern was chosen randomly. To reveal the secret image, S1 and S2 are stacked together directly. If the stacked block has 4 black pixels, the human visual system recognizes it as a black block and it is used to reveal the black pixel of the secret image. Meanwhile, the human visual system does not recognize the stacked block as a black block and it reveals the white pixel of the secret image if the stacked block has two black pixels and two white pixels. An example of sharing one secret is shown in Fig. 1 using the pattern book of Table 1.

1

1

2

2

3

3

4

4

2.2. Wu and Chen’s visual two secrets sharing scheme

5

5

6

6

Wu and Chen proposed a VSSM scheme for two secrets which can encrypt two secret images into two square share images (Wu & Chen, 1998). The first secret image SE1 can be revealed by stacking share images S1 and S2. The second secret image SE2 can be revealed by stacking S2 and S1 that are rotated by h, and h is designed to be 90 and can be modified to be 180 or 270. As with Naor and Shamir’s scheme, Wu and Chen’s VSSM scheme expands one pixel of each secret image into a sub-block with a 4 times pixel expansion. Sub-block b1 on S1, which will be rotated in the decrypting process, has one white pixel and 3 black pixels, and sub-block b2 on the other shared image S2 has two white pixels and two black pixels. By stacking S1 and S2 directly, it can reveal secret image SE1, and reveal secret image SE2 by stacking S2 and S1 with rotated counterclockwise 90. This means that sub-block b1 stacked with sub-block b2 will reveal the corresponding pixel pSE1 on secret image SE1, sub-block b1 with rotated counterclockwise 90 stacked and sub-block b2 will reveal the corresponding pixel pSE2 on secret SE2, and sub-block b1 and sub-block b2 are encoded by the color of pixel pSE1 ; pSE2 and the rotation degree. For example, if pSE1 is white, pSE2 is black and the rotation angle is counterclockwise 90, let subblock b1 be (1 0 1 12) selected randomly from the 4 basic sub-blocks as in Fig. 2(a), and sub-block b1 with a rotated counter-

8 ði;jÞ ði;jÞ ði;jÞ ði;jÞ > > > o1 _ o2 _ . . . _ ok _ . . . _ on ¼ 0; > > < 8 oði;jÞ 2 f0g: k

ði;jÞ ði;jÞ ði;jÞ ði;jÞ > > o1 _ o2 _ . . . _ ok _ . . . _ on ¼ 1; > > > : ði;jÞ ði;jÞ 8 ok 2 f0; 1g; 9 ok 2 f1g:

ð1Þ

The encrypting process of Naor and Shamir’s VSS scheme is described in this subsection. Pixel mapping to sub-block technique is used in Naor and Shamir’s VSS scheme, and so pixel expansion exists in their scheme. Pixel expansion means one pixel will be expanded into one sub-block. The size of the sub-block can be any one size, and pixel expansion is 4 (means m = 4), which is an appropriate ratio in realistic implementation. With Naor and Shamir’s VSS scheme, every single pixel p of the secret image is encrypted into two 2  2 sub-blocks b1 and b2, and sub-block b1 (resp. b2) is filled on the corresponding position of share image S1 (resp. S2). Every sub-block consists of two white pixels and two black pixels. For a white pixel of the secret image, two share sub-blocks b1 and b2 are the same pattern, which means the positions of the two white pixels and the position of the two black pixels are the same. For a black pixel of the secret image, share subblock b1 on share image S1 is complementary with share sub-block b2 on share image S2. The complete sub-block patterns for a (2, 2)VSS scheme with pixel expansion 4 are shown in Table 1. In the encrypting process, when pixel p of the secret image is black (resp. white), it generates the corresponding blocks b1 and b2 by randomly selecting one of the six patterns as shown on the left (resp. right) side of Table 1. For example, if p is white and one selected pattern # is 3, then b1 is (0 0 1 12) on S1 and b2 is (0 0 1 12) on S2. If p is black and one selected pattern # is 6, then

(a). Four basic patterns. ⊕

=

(b). The result of stacked two patterns. ⊕

=

(c). The result of stacked two patterns with a rotated angle. Fig. 2. The stacked results by Wu and Chen’s scheme (Wu & Chen, 1998).

7861

T.-L. Lin et al. / Expert Systems with Applications 37 (2010) 7858–7869 Table 2 Encoding pattern of Wu and Chen’s VSSM Scheme for two secrets (Wu & Chen, 1998).

Pixel of the first secret image Pixel of the second secret image Sub-block of share image 1 Sub-block of share image 2

clockwise 90 is (0 1 1 12), then sub-block b2 must be defined as (1 0 1 02), with Fig. 2(b) showing the revealed pSE1 by stacking sub-block b1 with sub-block b2, and Fig. 2(c) showing the revealed pSE2 by stacking the rotated sub-block b1 with sub-block b2. Following this encoding rule, all sub-block patterns that are used during the encrypting process with rotated counterclockwise 90. Table 2 shows the encoding sub-block patterns for Wu and Chen’s VSSM scheme. In the encrypting process, the first step is to randomly select one sub-block pattern from 4 basic patterns, as shown in Fig. 2(a), and put the selected sub-block pattern on the 4 dependent block positions corresponding to the secret image’s pixel positions of (i, j), (j, W  i + 1), (W  i + 1, W  j + 1 ) and (W  j + 1, i) on share image S1, with 1 6 i, j 6 W, W as the edge size of the secret image. According to the secret images pixel pair ðpSE1 ; pSE2 Þ and sub-block b1 of the first step, the second step is to search sub-block b2 for a match to secret image pair ðpSE1 ; pSE2 Þ and sub-block pattern b1 from Table 2. An example of Wu and Chen’s scheme is illustrated in Fig. 3. 2.3. The other 3 schemes Three other VSSM schemes with pixel expansion have been developed based on Naor and Shamir’s VSS scheme (Shamir, 1979; Naor & Shamir, 1995) as well as Wu and Chen’s scheme (Wu & Chen, 1998), and they are introduced here in order to describe the pixel expansion problem that exists in these 3 schemes. For a detailed description of either the encrypting or decrypting process, refer to (Feng et al., 2008; Shyu et al., 2007; Wu & Chang, 2005). Wu and Chang (2005) proposed a VSSM scheme with two circle share images, S1 and S2, to allow the rotation angle to be a factor of 360 and not limited to 90, 180 and 270. As in Wu and Chen’s scheme, the sub-block used to create share images S1 and S2 consists of 4 sub-pixels but with different pattern types. There are 4 basic patterns in which each pattern of two white pixels and two black pixels is used to create share image S1. The sub-block used to create share image S2 consists of one white pixel and 3 black pix-

(a) Secret image SE1

(b) Secret image SE2 =

⊕ (d) Share image S2

(c) Share image S1

(f) Share image S1 with rotated

(g) Share image S2

3. Proposed visual secret sharing scheme without pixel expansion In this section, the notations shown on Table 3 are used to describe the process of our proposed scheme and algorithm. The following example describes the function of the H() operator. For one block with a binary image, one corresponding matrix corresponding can be made. To count the number of black pixels for one block, H() is used to calculate the sum of digits in the corresponding matrix. For example, suppose there is one matrix shown, such as the following, the sum of one corresponding matrix F1,1 is 39, which means there are 39 black pixels on the block. The following calculation shows the function of H():

2

(e) Stacked result 1

=



els. According to the corresponding pixel pair ðpSE1 ; pSE2 Þ on two secret images (SE1, SE2) and sub-block b1 selected from the 4 basic patterns, the pattern of b2 can be defined. Although, Wu and Chang improved the rotation angle so it was not limited to 90, 180 and 270, the critical pixel expansion problem, as in Wu and Chen’s scheme (Wu & Chen, 1998) still exists. Shyu et al.’s VSSM scheme shares more than two secret images in two circle share images, S1 and S2, and one pattern book which is different from Wu and Chen’s pattern book was proposed in order to generate the share images. In this scheme, one pixel of secret is expanded to a sub-block with 2x size for sharing x secret images. One chord-shaped block type consists of top and bottom parts where every part has x pixels. There is only one white pixel in the top part and the other (2x  1) pixels are black for each chord-shaped block which is to be filled on share image S1. For chord-shaped block b2, the pixels on the upper part correspond to the order of pixel pk, with k as the index of x secret images and each pixel on the bottom part is complementary to the pixel on the top part. Of course, Shyu et al. developed one algorithm to generate the patterns needed for sharing secret images with different number x. Here, pixel expansion with 2x can be pointed out by the sub-block size. Feng et al. developed a scheme using another different pattern book (Feng et al., 2008). This scheme can share more than two secrets in two cylinder share images which can be spread to a rectangle. In the Feng et al.’s scheme, one sub-block with x rows which one row consists of 3 pixels is used to encrypt x secret images. There is no doubt that one pixel expansion with 3x exists in Feng et al.’s scheme. Since Wu and Chen’s proposed VSSM scheme (Wu & Chen, 1998), some researchers have also tried to develop different VSSM schemes (Feng et al., 2008; Shyu et al., 2007; Wu & Chang, 2005). All of the proposed VSSM schemes with pixel expansion that have been reviewed use pattern book to encrypt x (x P 2) secret images into two share images. Obviously, a critical pixel expansion problem exists in all proposed VSSM schemes, as it is impractical that one VSSM scheme shares x secret images while having more than or equal to 2x times pixel expansion. As a result of pixel expansion in the previous schemes, the contrast quality is decreased and the stacked images cannot be easily recognized by human visual system. According to the definition of contrast, the best contrast is 25% in the previous schemes for sharing two secret images.

F (h) Stacked result 2

Fig. 3. An illustration of Wu and Chen’s secret sharing scheme (Wu & Chen, 1998).

1;1

3

0

0

0

0

0 1 1 1

60 6 6 60 6 60 6 ¼6 60 6 61 6 6 41

0

0

0

0

0

0

0 0

0 0

0 0

0 1 1 17 7 7 0 1 1 17 7 0 1 1 17 7 7; 0 1 1 17 7 1 1 1 17 7 7 1 1 1 15

1 1 1 1 1 1

1 1 1 1 1 1 1 1

HðF 1;1 Þ ¼ 39:

7862

T.-L. Lin et al. / Expert Systems with Applications 37 (2010) 7858–7869

Table 3 Definition of notations. SEp Sp h, w n K Ap,k (resp. Bp,k)

pth secret image, p 2 {1, 2} pth share image, p 2 {1, 2} The edge size of secret image, h = 2i, w = 2j, i, j 2 N The edge size of one block, n = 2i, i 2 N The number of block with edge size n in a secret image, K = (h/n)  (w/n) p;k

(resp. bi;j ) is the element on position (i, j) of Ap,k One n  n matrix represents the bitmap on kth block of secret image SEp (resp. share image Sp). The ap;k i;j p,k

(resp. B ) and represents the pixel on coordinate (x, y) of secret image SEp (resp. share image Sp), if

ap;k i;j

¼

p;k bi;j

¼ 1 then the pixel of image is black,

otherwise the pixel of image is white, 1 6 i 6 n, 1 6 j 6 n, 1 6 k 6 K, i, j, k 2 N Fp,k

p;k d dTH Cq

One attribute matrix with n  n represents the pixel attribute on kth block of Sp, the pixel attribute is built by secret image SEp, one element fi;jp;k of Fp,k is 1 (resp. 0) then it represents black area (resp. white area), in which fi;j1;k ¼ a1;k _ a2;k ; fi;j2;k ¼ a1;k _ a2;Kþ1k ; 1 6 i 6 n; 1 6 j 6 n; i; j 2 N i;j i;j i;j nþ1i;nþ1j p;k  Represents the camouflaging density of black pixel on kth block of share image S , 0 < d < 1; 1 6 k 6 K; k 2 N. p

H()

Represents the threshold of block density, 0 < dTH < 1 One matrix with n  n, cqi;j represents the element of Cq, cqi;j 2 f0; 1g; 1 6 i 6 n; 1 6 j 6 n; 1 6 q 6 4 P P One operator used to count the sum of one matrix, HðÞ ¼ 8 i 8 j ði;j Þ

_

‘‘OR” operator

DSP

SP

CMP

Secret image 1

Secret image 2

Share image 1

Share image 2

Rotated with 180° Fig. 4. The encrypting process chart of the proposed scheme.

In this section, the details are described of our visual multiple secrets sharing scheme, with no pixel expansion and which does not need a pattern book. The no pixel expansion and no patterns book characteristics of our proposed scheme can be best understood by the following description, and the contrast factor is explained by the next section of experiments. The proposed scheme adopted two rectangular share images to share two rectangular secret images. The rotation degree was 180 for revealing the second secret image. As with the previous schemes, encrypting and decrypting processes were needed. In our proposed scheme, encryption included 3 processes:

of SE2 was rotated with 180 and stuck to the corresponding position of S2. The function of the last process, CMP, was to camouflage two share images to make the density of the black pixel on each block of one share image to be equal by referencing the maximum block density of all blocks. A complete process flow chart is shown in Fig. 4. In the decrypting process, the first secret image was revealed by directly stacking share image S1 and share image S2. To reveal the second secret image, share image S1 was stacked and share image S2 with a rotated 180. The complete decrypting process is shown

 DSP (dividing and separating process).  SP (sticking process).  CMP (camouflaging with maximum block density process). In DSP, the first function was to divide each secret image into blocks with n  n size, and the second function was to separate each block of the secret image into two subsets without intersection according to the black pixel on one n  n block. In SP, the function was to stick the subsets obtained by DSP to generate the share images, and two subsets of secret image SE1 were stuck to share images S1 and S2, respectively. The first subset of SE2 was directly stuck on the corresponding position of S1 while, the second subset



=

S1 S2 (a) The decrypting process for SE1 . ⊕

=

S1

S2 with rotation (b) The decrypting process for SE2. Fig. 5. The decrypting process.

7863

T.-L. Lin et al. / Expert Systems with Applications 37 (2010) 7858–7869

in Fig. 5. In Figs. 4 and 5, the small images are only to describe the concept of our proposed scheme. The complete experimental results displaying the novel characteristics are shown in Section 4.

A2,1

A1,1

3.1. DSP: dividing and separating process At the beginning, two empty share images (i.e., the pixel color is white) with a size equal to that of the secret image must be generated. Then, each secret image must be divided into K blocks with n  n size, that is K = (h/n)  (w/n). According to the position of each black pixel and the sum of black pixels on the block, one block can be randomly separated to two subsets without any one black pixel being overlapped, and the difference in the number of black pixels between the two subsets must be equal to or less than one. For one block, the two subsets are noted as Cqand Cq+1, then

jHðC q Þ  HðC qþ1 Þj 6 1:

ð2Þ

In order to describe all the processes, two images with 32  32 pixels, as shown on Fig. 6, have been used as the secret images for all the examples of this section. As an example for the separation of one block, the left-top corner A1,1 was separated into C1 and C2 by referring to the secret image shown on the left side of Fig. 6, and the result was as follows:

2

Given A1;1

0

0 0

0

0

0

0

60 6 6 60 6 6 60 6 ¼6 60 6 6 61 6 6 41

0

0 0

0

0

0

0

0 0

0

0

0

0

0 0

0

0

0

0

0 0

0

0

0

07 7 7 07 7 7 07 7 7; 07 7 7 17 7 7 15

2

0 60 6 6 60 6 6 60 6 1 then C ¼ 6 60 6 6 61 6 6 41

1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 07 7 7 0 0 0 0 0 0 07 7 7 0 0 0 0 0 0 07 7 7; 0 0 0 0 0 0 07 7 7 0 1 0 1 0 1 07 7 7 0 0 1 1 0 1 05

0 1 1 0 2

3

0

0 0 0 60 0 0 6 6 60 0 0 6 6 60 0 0 6 2 C ¼6 60 0 0 6 6 60 1 0 6 6 40 1 1

0

0

0

0

0

0

0

0

0

0

1 0 0

0

0 1 0 1 3 0 0 0 0 0 07 7 7 0 0 07 7 7 0 0 07 7 7: 0 0 07 7 7 1 0 17 7 7 1 0 15

A1,16 Fig. 6. Two secret images with 32  32 pixels.

8 k; 1 2 a1;k i;j ¼ ci;j þ c i;j ;

ð3Þ

3 4 a2;k i;j ¼ ci;j þ c i;j ;

jHðC 1 Þ  HðC 2 Þj 6 1 and jHðC 3 Þ  HðC 4 Þj 6 1: 3.2. SP: sticking process The sticking operation executes a logic ‘‘OR” operation between the separated subset and the share images during the sticking process. The goal is to build the patterns of two blocks b1,k and b2,k for share images S1 and S2. The sticking results are generated according to the decrypting function. By the defined decrypting process in our proposed scheme, secret image SE1 is revealed by directly stacking share images S1 and S2. But, it needs to rotate the share image S2 with 180 angle and stack with S1. According to the rule of the decrypting process, the two subsets, C1 and C3, separated from DSP for secret images SE1 and SE2, respectively, can be stuck together to build one corresponding block for share image S1. In order to build the corresponding block of share image S2, the whole matrix, with C4 separated from share image S2 by DSP, must be rotated 180 and stuck with the corresponding block of C2, which is another separated subset of S1, to generate share image S2. It was obvious that every pixel was moved from one position to another related position by the 180 rotation angle. For example, the pixel on the right-bottom position was moved to the left-top position, and vise versa. So, for building the blocks of share image S2, the first sticking operation was to stick C2 with empty share image S2, and then to stick with the matrix with C4 by rotating the share image S2 with 180. For example, the two blocks on the left-top and the right-bottom from secret image two as shown on the right side of Fig. 6 were:

2

A2;1

0 0 0 0 0 1 1 1

60 6 6 60 6 6 60 ¼6 60 6 6 60 6 6 40

1 0 0 1 1 0 1 0 In the above example, H(C1) = H(C2) = 12, which satisfies the constraint. It was easy to draw the corresponding pattern by C1 and C2. So, every block of every one secret image was separated into two subsets without any intersection by this separation rule. To execute the separation for every block, the separated subsets of one secret image slightly, but not completely, reflected the original pattern of the secret image, except by stacking C1 and C2. During DSP, the separation of one block randomly generated two matrixes Cp+1 with size n  n for one block of Ap,k by the following formulas and conditions:

A2,16

A2;16

0 2 1 61 6 6 61 6 6 60 ¼6 60 6 6 60 6 6 40 0

3

0 0 0 0 1 1 17 7 7 0 0 0 0 1 1 17 7 7 0 0 0 0 1 1 17 7; 0 0 0 0 1 1 17 7 7 0 0 0 0 1 1 17 7 7 0 0 0 0 1 1 15 0 0 0 0 1 1 1 3 1 1 1 0 0 0 0 1 1 1 0 0 0 07 7 7 1 1 1 0 0 0 07 7 7 0 0 0 0 0 0 07 7: 0 0 0 0 0 0 07 7 7 0 0 0 0 0 0 07 7 7 0 0 0 0 0 0 05 0

0

0 0 0 0 0

7864

T.-L. Lin et al. / Expert Systems with Applications 37 (2010) 7858–7869

By the dividing and separating process (DSP), two subsets were obtained for A2,1:

2

0 0 0 0 0 1 0 1

3

60 6 6 60 6 60 6 3 C ¼6 60 6 60 6 6 40

0 0 0 0 0 1 17 7 7 0 0 0 0 0 1 07 7 0 0 0 0 1 0 17 7 7; 0 0 0 0 1 0 07 7 0 0 0 0 0 1 17 7 7 0 0 0 0 1 0 05

0 0 60 6 6 60 6 60 6 4 C ¼6 60 6 60 6 6 40

0 0 0 0 0 1 0 3 0 0 0 0 0 1 0 0 0 0 0 1 0 07 7 7 0 0 0 0 1 0 17 7 0 0 0 0 0 1 07 7 7: 0 0 0 0 0 1 17 7 0 0 0 0 1 0 07 7 7 0 0 0 0 0 1 15

2

As per the above description, block B2,1 represented the first block of share image S2 obtained by sticking the C2 matrix of A1,1 and one matrix that was the corresponding matrix by rotating the whole matrix of A2. The result of B2,1 was:

0 0 0 0 0 1 0 1 By the dividing and separating process (DSP), two subsets were obtained for A2,16:

2

1 0

61 6 6 60 6 60 6 3 C ¼6 60 6 60 6 6 40 0 2 0 60 6 6 61 6 60 6 4 C ¼6 60 6 60 6 6 40 0

0 1 0 0 0 0

3

0 1 1 0 0 0 07 7 7 1 0 0 0 0 0 07 7 0 0 0 0 0 0 07 7 7; 0 0 0 0 0 0 07 7 0 0 0 0 0 0 07 7 7 0 0 0 0 0 0 05 0 0 0 0 0 0 0 3 1 1 0 0 0 0 0 1 0 0 0 0 0 07 7 7 0 1 1 0 0 0 07 7 0 0 0 0 0 0 07 7 7: 0 0 0 0 0 0 07 7 0 0 0 0 0 0 07 7 7 0 0 0 0 0 0 05 0

0

As for the above matrix computation, the matrix with the shadowed background is the C4 of A2,16 with rotated 180, it is corresponding to rotate the share image S2 with 180. The function for the sticking process (SP) was accomplished by the following formulas:

8 k; 1;k bi;j

B1;1

0 60 6 6 60 6 60 6 ¼6 60 6 61 6 6 41

2;k

2;Kþ1k

3

0 1 1 0 0 1 1 1 3 2 0 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 07 60 7 6 6 7 6 6 60 0 0 0 0 0 0 07 60 7 6 6 60 0 0 0 0 0 0 07 60 7 6 6 ¼6 7_6 60 0 0 0 0 0 0 07 60 7 6 6 61 0 1 0 1 0 1 07 60 7 6 6 7 6 6 41 0 0 1 1 0 1 05 40 0 1 1 0 0 1 0 1

2;Kþ1k

3.3. CMP: camouflaging with maximum block density process

0 0 0 0 0 1 17 7 7 0 0 0 0 0 1 07 7 0 0 0 0 1 0 17 7 7 0 0 0 0 1 0 07 7 0 1 0 1 0 1 17 7 7 0 0 1 1 1 1 05

2

ð4Þ

2;k

bnþ1i;nþ1j ¼ bnþ1i;nþ1j _ c4i;j :

0 0 0 0 0

0 0 0 0 1 0 1

¼ c1i;j _ c3i;j ;

bi;j ¼ bi;j _ c2i;j ;

Block B1,1 represents the first block of share image S1 obtained by sticking the C1 matrix of A1,1 and the C3 matrix of A2,1. The result of B1,1 was:

2

1 6 k 6 K;

0 0 0 0 1 0 1

3

0 0 0 0 0 1 17 7 7 0 0 0 0 0 1 07 7 0 0 0 0 1 0 17 7 7 0 0 0 0 1 0 07 7 0 0 0 0 0 1 17 7 7 0 0 0 0 1 0 05

0 0 0 0 0 0 1 0

In order to make the share image meaningless to anyone but an unauthorized user, two camouflaging processes must be executed for every block of two share images obtained from the sticking process. Based on the maximum of block density, the camouflaging process makes the black pixel density of every block equal, so that every block appears to have the same pattern and the whole image will be a meaningless image. One attribute matrix Fp,k with n  n size is defined here for finding the black area size for one block. Fp,k is used to represent the color attribute of every pixel on kth block by stacking two secret images without executing the separation. For p = 1, Fp,k was obtained by stacking secret image SE1 and secret image SE2. For p = 2, Fp,k was obtained by stacking secret image SE1 and secret image SE2 with a rotated 180. Let fi;jp;k represent the element of Fp,k. Every Fp,k can be obtained according to the following formulas:

8 k;

1 6 k 6 K;

1 6 i;

2;k fi;j1;k ¼ a1;k i;j _ ai;j ;

fi;j2;k

¼

a1;k i;j

_

j 6 n; ð5Þ

a2;Kþ1k nþ1i;nþ1j :

So, if fi;j1;k ¼ 1 (resp. 0), it means that the pixel color on (i, j) position of kth block by stacking secret images SE1 and SE2 is black (resp. white); if fi;j2;k ¼ 1 (resp. 0), it means that the pixel color on (i, j) position of kth block by stacking secret images SE1 and SE2 with a rotated 180 is black (resp. white). So, Fp,k can be used to

7865

T.-L. Lin et al. / Expert Systems with Applications 37 (2010) 7858–7869

represent the area attribute of kth block for share image Sp. According to the above example, F1,1 and F2,1 can be obtained by formula (5). F 1;1 ¼ A1;1 _ A2;1 ,

2

then F 1;1

2

0 60 6 6 60 6 60 6 ¼6 60 6 61 6 6 41

0

0

0 0

60 6 6 60 6 60 6 ¼6 60 6 61 6 6 41

0

0

0

0

0 0

0 0

1 1 17 7 7 0 0 1 1 17 7 0 0 1 1 17 7 7 0 0 1 1 17 7 1 1 1 1 17 7 7 1 1 1 1 15

1 1 1 1

1 1 1

0 0

1 1 1 1 1 1 1 1 3 2 0 0 0 0 0 0 0 0 60 0 0 0 0 0 0 07 7 6 7 6 0 0 0 0 0 0 07 60 7 6 6 0 0 0 0 0 0 07 7 60 7_6 6 0 0 0 0 0 0 07 7 60 7 1 1 1 1 1 1 17 6 60 7 6 1 1 1 1 1 1 15 40

F 2;1 ¼ A1;1 _ A2;16 ; a rotated 180 .

2

then F 2;1

2

0 6 60 6 6 60 6 6 60 ¼6 6 60 6 6 61 6 61 4

0

6 60 6 6 60 6 6 60 ¼6 6 60 6 6 61 6 61 4 0 0 0 0 0 1 1

0 0 0 0 1 1 1

3

0 0 0 0 1 1 17 7 7 0 0 0 0 1 1 17 7 0 0 0 0 1 1 17 7 7: 0 0 0 0 1 1 17 7 0 0 0 0 1 1 17 7 7 0 0 0 0 1 1 15

0 0 0 0 0 1 1 1

1 1 1 1 1 1 1 1

where A2;16 is obtained by rotating S2 with

0

0

0 0

0

0

0

0

0 0

0

0

0

0

0 0

0

0

0

0

0 0

0

0

0

0

0 0

0

0

1 1 1 1 1 1 1 1 1 1 1 1

0

3

7 07 7 7 07 7 7 07 7 7 07 7 7 17 7 17 5

1 1 1 1 1 1 1 1 3 2 0 0 0 0 0 0 0 7 6 0 0 0 0 0 07 60 7 6 7 6 0 0 0 0 0 07 60 7 6 7 6 0 0 0 0 0 07 60 7_6 7 6 0 0 0 0 0 07 60 7 6 7 6 1 1 1 1 1 17 60 7 6 6 1 1 1 1 1 17 5 40

1 1 1 1 1 1 1 1

p;k

d

¼

otherwise:

ð7Þ

The camouflaging process, executed after obtaining the maximum of the block density, was executed block by block and share image by share image. The camouflaging operation was executed for both the white area and the black area. There were two stages for camouflaging the white area. In the first stage, one camouflaging block with n  n size C, in which the black pixel number was equal to the black pixel number of one block  was randomly generated. During the camouflagaccording to d, ing operation, the purpose is to fill the difference number between the number of black pixels of one block and the   n  n to the white area. After filling the black pixnumber of d  the el to the white area, which has a block density less than d,  The difference number of black black density was equal to d. pixels for one block was calculated by:

p;k  ðn2  HðF p;k Þc rp;k w ¼ bd

ð8Þ

r p;k w

If is more than zero, then the block must be camouflaged. To select one black pixel on (i, j) position from camouflaging block C, if the color attribute is white on the corresponding (i, j) position of Fp,k, then one black pixel will be filled on the (i, j) position of share image Sp. According to camouflaging matrix C and pixel attribute matrix Fp,k, one black pixel can be filled on (i, j) position of Sp to camouflage the block based on the following formula:

¼

8 < 1;

p;k if rp;k w – 0 and fi;j – 1 and c i;j ¼ 1; 1 6 k 6 K; 8 p:

: bp;k : i;j

ð9Þ p;k bi;j ,

0 0 0 0 0

0

0 0 0 0 0

0

0 0 0 0 0

0

0 0 0 0 0

0

0 0 0 0 0

0

0 0 0 0 1 1 0 0 0 0 1 1

0

3

7 07 7 7 07 7 7 07 7: 7 07 7 7 17 7 17 5

0 0 0 0 0 1 1 1

HðBp;k Þ=HðF p;k Þ; if HðF p;k Þ=n2 P dTH ; 0;

p;k ¼ dp ; d max  ¼ max dp : d max

p;k bi;j

The digit 1 (resp. 0) represents the area with the black (resp. white) pixel, and the size of black area can be counted from the number of digit 1.  the block density of In order to find maximum block density d, each block must be calculated. One block density is defined as:

(

p;k

8k

8p

3

0

p

dmax ¼ max d ;

8 k; p:

ð6Þ

H(Bp,k) means the total black pixel number on kth block of pth share image, and H(Fp,k) means the total black pixel number of black area on kth block for pth share image. dTH is a threshold of black pixel density for one block, and it is defined as 0.5 by experimental experience. Threshold dTH must be set in order to avoid one block having a smaller black area but with the highest black pixel density. So,  and block density d p;k for share image maximum block density d Sp are defined as:

If one black pixel is filled to then difference number rp;k w must be decreased by one. The first stage for camouflaging the   n  n times. After finishing the white area must be executed d first stage of camouflaging the white area, the difference number of black pixels for some blocks was decreased to zero, but some were not. If there are blocks with rp;k w – 0, then the second stage for camouflaging the white area can be executed. The second stage was to randomly fill black pixels to the white areas of blocks. If r p;k w p;k is not equal to zero, it will be executed until r w for all blocks is equal to zero. The block density of the white area for all blocks was equal to the maximum block density after this camouflaging process. Finally, the black areas for all blocks must be camouflaged by randomly filling black pixels on the black area of one block with rp;k not equal to zero. As with the process for camouflaging the b white area of one block, we calculated the difference number of black pixels by the following formula:

p;k  HðF p;k Þ  HðBp;k Þc: rp;k b ¼ bd

ð10Þ

p;k  HðF p;k Þ means the original number of black In the formula, d pixels by stacking two secret images, and H(Bp,k) means the actual number of black pixels on the black area not equal to H(Fp,k) after executing the separation process. The camouflaging operation for the black area of one block was executed rp;k times. An example b showing the camouflaging process and the related matrix mentioned above follows. For example, the block density of the left-top block and the right-bottom block was obtained by formula (7): 1;1

d

2;1

d

1;16

¼ 23=39;

d p;k

2

¼ 22=44;

¼ 0ð*AðF Þ=n ¼ 24=64 < 0:5Þ;

2;16

d

¼ 28=56:

7866

T.-L. Lin et al. / Expert Systems with Applications 37 (2010) 7858–7869



 23 22 1 Suppose dmax ¼ max ; . . . ; 0:609375; . . . ; ¼ 0:609375; 39 44   28 2 ¼ 0:5625; dmax ¼ max 0; . . . ; 0:5625; . . . 56  ¼ 0:609375. then, we can obtain the maximum block density d The black pixel number used to camouflage the white area of B1,1 or B2,1 can be counted by formula (8). 2;1 r 1;1 w ¼ b0:609375  ð64  39Þc ¼ 15; r w ¼ b0:5625  ð64  24Þc ¼ 22:

Camouflaging matrix C with b0.609375  8  8c = 39 black pixels was generated randomly. Suppose the generated camouflaging matrix C is:

2

1 60 6 6 61 6 61 6 C¼6 60 6 61 6 6 40 1

1 1 1 0

0 1 1

1 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0

0

3

images with h  w size. The size of the share image was equal to the size of the secret image. The critical pixel expansion of the visual multiple secrets sharing scheme was solved by our proposed scheme. A complete algorithm for sharing two secrets is shown as follows: Algorithm 1. Encrypting process of VSSM with no pixel expansion Input: Two h  w secret images SE1, SE2, block size: n  n, threshold of block density: dTH. Output: Two h  w share images S1, S2. p;k Step 1: bi;j 0; 8 i; j; k; p. Step 2: Randomly generate 4 matrixes C1, C2, C3, C4 by the conditions: 1 2 a1;k i;j ¼ c i;j þ ci;j ;

0 17 7 7 1 17 7 0 17 7 7: 1 17 7 0 07 7 7 0 15

3 4 a2;k i;j ¼ c i;j þ ci;j ;

jHðC 1 Þ  HðC 2 Þj 6 1 and jHðC 3 Þ  HðC 4 Þj 6 1; 1;k bi;j

0 1 1 0 1

According to the Bp,1 and the Fp,1 that are shown on the abovep,1 mentioned rp;1 is obtained such as the w and C, the camouflaged B following. The digit 1 on the shadow area is filled by the camouflaging process.

c1i;j

2;k c3i;j ; bi;j

2;k bi;j

c2i;j

8 k: 2;Kþ1k

Step 3: Let _ _ and bnþ1i;nþ1j 2;Kþ1k bnþ1i;nþ1j _ c4i;j ; 8 k. Step 4: if H(Fp, k)/n2 P dTH then dp,k H(Bp,k)/H(Fp,k) else p,k d 0," k, p. p p;k p  Step 5: dmax max d ; 8 p; k; d max dmax ; 8 p. p p;k  Step 6: d d ; 8 p; k. max

Step 7: k 1. Step 8: Repeat p;k ðn2  HðF p;k ÞÞc; r p;Kþ1k p;Kþ1k ðn2  Step 8.1: rp;k bd bd w w HðF p;Kþ1k ÞÞc; 8 p:  Step 8.2: r w bn2  dc. Step 8.3: Randomly generate a camouflaging matrix C1 with n  n by the condition:

HðC 1 Þ ¼ rw : Step 8.4: Repeat Step 8.4.1: Randomly select one element c1i;j – 0 from C 1 . p;k p;k Step 8.4.2: if rp;k 1; rp;k w > 0 and fi;j ¼ 0 then bi;j w rp;k  1; 8 p. w p;Kþ1k Step 8.4.3: if r p;Kþ1k > 0 and fnþ1i;nþ1j ¼ 0 then w p;Kþ1k

1; rp;Kþ1k w

bnþ1i;nþ1j

To camouflage the black area,

r p;1 can b

be calculated as follows:

2;1 r 1;1 b ¼ b0:609365  39  23c ¼ 0; r b ¼ b0:5625  24  15c ¼ 2:

Therefore, it was not necessary to fill black pixels to the black area of Bp,1. 3.4. Proposed algorithm

Step 8.4.4: c1i;j 0; r w rw  1. Step 8.4.5: until rw = 0. Step 8.5: k k + 1. Step 8.6: until k > K/2. Step 9: Repeat Step 9.1: Randomly select one p;k r p;k w > 0 and fi;j ¼ 0 then p;k

bi;j

1;

r p;k w

element

p;k

bi;j ¼ 0,

if

rp;k w  1:

Step 9.2: until r p;k w ¼ 0; 8 k; p. p;k  HðF p;k Þ  HðBp;k Þc. Step 10: r p;k bd b Step 11: Repeat p;k Step 11.1: Randomly select one element bi;j ¼ 0; if rp;k b > 0 and fi;jp;k ¼ 1 then p;k

Through the DSP, SP, and CMP processes, two secret images were encrypted into two share images. The two share images camouflaged by the proposed camouflaging process with maximum block density were meaningless images. From the above description, a patterns book was not adopted during the process for generating the two share images. All processes were executed block by block for the initially generated share images with h  w size. So, two secret images with h  w size were encrypted into two share

r p;Kþ1k  1; 8 p: w

bi;j

1; r p;k b

rp;k b  1:

Step 11.2: until r p;k b 6 0; 8 k; p. Step 12: Output share images S1, S2 by Bp,k. Step 1 initializes the two share images with all white pixels. Step 2 separates two secret images into two sets without any intersection. Step 3 sticks the sets to the corresponding share image. Step 4 calculates the block density and finds the maximum block

T.-L. Lin et al. / Expert Systems with Applications 37 (2010) 7858–7869

7867

8–10 can be achieved by another operation when actually implemented. For example, one linear array with the coordinates of the candidates can be created and shuffled, and the black pixels then filled to the corresponding position of one block by selecting the candidates from the linear array by sequence. Complexity is O(hw) by adopting this implementation to achieve the random operations in Steps 8–10. Therefore, the complexity of our proposed algorithm is O(hw). Fig. 7. Two secrets image with 512  512 pixels.

density by Step 5 and Step 6. Step 8 and Step 9 camouflage the white area for all blocks of share images. Step 11 camouflages the black area for all blocks of share images. After finishing Steps 1–11, two share matrices corresponding to share images with meaningless images are generated according to Bp,k. 3.5. Time complexity of the proposed algorithm In this subsection, the time complexity for the proposed algorithm is discussed. In Steps 1, 2 and 3 of the proposed algorithm, the complexity is O(hw). The random operations adopted in Steps

4. Experiments and comparisons A good visual secret sharing scheme must have lower pixel expansion and higher contrast. As previous descriptions in Section 3, our proposed scheme did not use a pattern book to generate share images, as with traditional methodology since Naor and Shamir proposed the concept of VSS. Pixel expansion was equal to 1 for the proposed scheme. So, it was not necessary to evaluate pixel expansion again. We paid more attention to evaluating the contrast of revealed images and the security result of the generated share images. In the previous VSS schemes, one pixel of secret im-

Fig. 8. The share image and stack results by using block size 8  8 pixels.

Fig. 9. The share image and stack results by using block size 16  16 pixels.

Fig. 10. The share image and stack results by using block size 32  32 pixels.

7868

T.-L. Lin et al. / Expert Systems with Applications 37 (2010) 7858–7869

Fig. 11. The share image and stack results by using block size 128  128 pixels.

Fig. 12. The share image and stack results by using block size 128  128 pixels.

age was mapped to a sub-block of share images and the contrast evaluated by counting the difference between the black pixel numbers and the white pixel numbers for the sub-block used to represent one white pixel of secret image. In our proposed scheme, one pixel of secret image was directly mapped to one pixel of share image; it needs modification of the formula of contrast according to the original definition of contrast. Contrast is the ratio of the difference between the total black number of one share image and the total black pixel number of the secret image and the total white pixel number of one secret image. It obviously is not breaking the definition of contrast. So, the contrast is defined by using the operator H():

P Þ  Kk¼1 HðAp;k Þ PK w  h  k¼1 HðAp;k Þ P w  h  Kk¼1 HðBp;k Þ ; p 2 f1; 2g: ¼ PK w  h  k¼1 HðAp;k Þ PK

contrast ¼ 1 

k¼1 HðB

p;k

ð11Þ

max contrast of stacked result 1 max contrast of stacked result 2

Contrast.

40.00%

We implemented the proposed scheme in C language on a IBMPC compatible with Intel Pentium M Processor 730. Two images with 512  512 pixels, as shown in Fig. 7, were used as the secret images. Three experiments were conducted to evaluate the proposed scheme. The first experiment evaluated the performance of contrast and security by changing the block size from 8  8 pixels to 128  128 pixels. This experiment was executed for 10 runs in which the execution number of each run was increased from 100 to 1000. The generated share images and the stacked results, which were the best of the results obtained by executing 1000 sampling for different block sizes, are shown in Figs. 8–12. As per the experimental results shown in Figs. 8–12, the proposed scheme, by using block size 16  16, achieved contrast of more than 16.7% and had better security for the share images. When the block size was smaller, it had higher security but smaller contrast. On the contrary, the proposed scheme had higher contrast quality but lower security using the large block size. The results shown in Fig. 13 proves that the contrast could be increased by increasing the block size in the proposed scheme. The second experiment proved that the size of the secret images did not influence the correctness of our proposed VSSM scheme. We used two secret images with 256  128 pixels as shown in Fig. 14. In this experiment, we adopted a 16  16 block size and executed the scheme for 1000 times. The experimental results are shown in Fig. 15 and prove that the proposed is not limited

30.00% 20.00% 10.00% 0.00% 8×8

16×16

32×32

64×64

128×128

Block size. Fig. 13. Results of contrast for different block size.

Fig. 14. Two secret images with 256  128 pixels.

7869

T.-L. Lin et al. / Expert Systems with Applications 37 (2010) 7858–7869

Fig. 15. The results of two secret images with 256  128 pixels shown on Fig. 14.

Table 4 Comparisons of visual multiple secrets sharing schemes. Schemes

Wu and Chen’s scheme Wu and Chen (1998) Wu and Chang’s scheme Wu and Chang (2005) Shyu et al.’s scheme Shyu et al. (2007) Feng et al.’s scheme Feng et al. (2008) Proposed scheme

Feature No. of Secrets

Contrast

Pixel expansion

Shape of share image

2 2 P2 P2 2

1/4 1/4 1/2x 1/3x Up to 32.4%a

4 4 2x 3x 1

Square Circle Circle Cylnder Rectangular

x: The number of secret images. a The contrast of our scheme was dependent on the block size. The minimum was more than 16.7% for the test images when using a 16  16 block size.

by the size of the secret image. As per the experimental results, the proposed scheme can be executed on a smaller sized secret image, but there was surprisingly no pixel expansion in our proposed scheme for large size secret images that could be shared in a visual secret sharing scheme with larger and larger image sizes. The results of our experiments show that the proposed scheme satisfied the conditions of VSS. In the two experiments, the lowest contrast of the revealed image using a 16  16 block size was 18.3%, which was better than with the other visual multiple secrets sharing scheme. To the best of our knowledge, our proposed scheme is the first VSSM scheme with no pixel expansion. Table 4 shows the comparison between our proposed scheme and the other schemes. 5. Conclusions In this paper, a visual multiple secrets sharing scheme with no pixel expansion has been proposed. To the best of our knowledge, this is the first paper for sharing two secrets with no pixel expansion and not using a codebook to encrypt the secret images. Under the aspect ratio constraint, the least pixel expansion was 4 times that of previous schemes for sharing two secrets. Compared to other schemes, it was clear that the pixel expansion problem in VSSM could be solved by our proposed scheme. Through the separation and camouflaging processes, two share images became meaningless images which did not leak any information of the secret images, and so conformed to the security rule of visual secret sharing schemes. To reveal the secret image, the two share images were just stacked and the recovery image could be recognized by the human visual system. No other devices were needed to reveal the secret image. Our proposed scheme achieved the purpose of a visual secret scheme by not only solving the critical problem of pixel expansion, but it also adopted a novel study completely different from that of previous schemes. Further research for this proposed scheme will study the sharing of more than two secrets and propose another camouflaging process.

References Ateniese, G., Blundo, C., De Santis, A., & Stinson, D. R. (1996). Visual cryptography for general access structures. Information and Computation, 129, 86–106. Blakely, G. R. (1979). Safeguarding cryptography keys. Proceedings of the National Computer Conference, 48, 313–317. Chang, C.C., Lin, C.C., Le, T.H.N., & Le, H.B. (2008). A new probabilistic visual secret sharing scheme for color images. Intelligent information hiding and multimedia signal processing. In IIHMSP ’08 international conference on August 15–17, 2008, pp. 1305–1308. Chen, Y. F., Chan, Y. K., Huang, C. C., Tsai, M. H., & Chu, Y. P. (2007). A multiple-level visual secret-sharing scheme without image size expansion. Information Sciences, 177, 4696–4710. Feng, J. B., Wu, H. C., Tsai, C. S., Chang, Y. F., & Chu, Y. P. (2008). Visual secret sharing for multiple secrets. Pattern Recognition, 41, 3572–3581. Hou, Y. C. (2003). Visual cryptography for color images. Pattern Recognition, 36, 1619–1629. Iwamoto, M., & Yamamoto, H. (2003). The optimal n-out-of-n visual secret sharing scheme for gray-scale images. IEICE Transaction Fundamentals, E86–A(10), 2238–2247. Naor, M., & Shamir, A. (1995). Visual cryptography. In A. De Santis (Ed.). Advances in cryptology: eurprocrypt’94 (Vol. 950, pp. 1–12). Lecture Notes in Computer Science. Shamir, A. (1979). How to share a secret. Communications of the ACM, 22, 612–613. Shyu, S. J. (2006). Efficient visual secret sharing scheme for color images. Pattern Recognition, 39, 866–880. Shyu, S. J., Huang, S. Y., Lee, Y. K., Wang, R. Z., & Chen, K. (2007). Sharing multiple secrets in visual cryptography. Pattern Recognition, 40, 3633–3651. Verheul, E. R., & van Tilborg, H. C. A. (1997). Constructions and properties of k out of n visual secret sharing schemes. Designs, Codes and Cryptography, 11, 179–196. Wang, D., Zhang, L., Ma, N., & Li, X. (2007). Two secret sharing schemes based on Boolean operations. Pattern Recognition, 40, 2776–2785. Wu, C.C. & Chen, L.H. (1998). A study on visual cryptography. Master thesis. Institute of Computer and Information Science, National Chaio Tung University, Taiwan, R.O.C. Wu, H. C., & Chang, C. C. (2005). Sharing visual multi-secrets using circle shares. Computer Standards & Interfaces, 28, 123–135. Yang, C. N. (2004). New visual secret sharing schemes using probabilistic method. Pattern Recognition Letters, 25, 481–494. Yang, C. N., & Chen, T. S. (2006). New size-reduced visual secret sharing schemes with half reduction of shadow size. IEICE Transaction Fundamentals, E89-A(2), 620–625. Yang, C. N., & Chen, T. S. (2008). Colored visual cryptography scheme based on additive color mixing. Pattern Recognition, 41, 3114–3129.