A Recursive Threshold Visual Cryptography Scheme
AA Recursive Threshold Visual Cryptography Scheme
Abhishek Parakh and Subhash Kak Department of Computer Science, Oklahoma State University Stillwater, OK 74078
Abstract:
This paper presents a recursive hiding scheme for 2 out of 3 secret sharing. In recursive hiding of secrets, the user encodes additional information about smaller secrets in the shares of a larger secret without an expansion in the size of the latter, thereby increasing the efficiency of secret sharing. We present applications of our proposed protocol to images as well as text.
Keywords: recursive hiding of secrets, visual cryptography, secret sharing, information efficiency.
Introduction ⎤ Conventional secret sharing schemes [1], which have several networking applications, are information theoretically very inefficient. For example, a ( , ) secret sharing scheme expands a secret of bits into shares each of at least bits in size. Furthermore, since only of these shares are needed to recreate the secret, each bit of any share, in a threshold secret sharing schemes, conveys at most bits of the secret. If kn n b n b k ⎡ k /1 k = , as in the case of a non-threshold scheme, where all the shares must be brought together to recreate the secret, the information conveyed by each bit of any share is ⎡ ⎤ n /1 bits of the secret. An extension of secret sharing schemes is visual cryptography that aims at splitting images into two or more shares such that when a predetermined number of shares are aligned and stacked together, the secret image is revealed [1],[3], without the requirement of any computation. However, conventional approaches to visual cryptography also suffer from inefficiency in terms of number of bits of secret conveyed per bit of shares. Recursive hiding of secrets was proposed in [2], with applications to both images and text, to increase the efficiency of visual cryptography and to make it possible to incorporate additional secret information that serves as a steganographic channel. The idea involved is recursive hiding of smaller secrets in shares of larger secrets with secret sizes doubling at every step, thereby increasing the information that every bit of share conveys to nn /)1( − bit of secret i.e. nearly 100%. However, the scheme described in [2] is a non-threshold scheme where all the shares are needed to recreate the secret. In this paper, we extend the idea of recursive hiding of secrets to 2 out of 3 threshold scheme and apply it to both images and text. Further, the idea can be generalized to a 2 out of threshold scheme. However we deal with only binary images and regard each pixel as one bit of information, denoting black or white pixel. n he proposed scheme For text represented as a binary sequence, a 2 out of 3 secret sharing scheme can be developed on a comparison based algorithm as follows: we divide the secret bit into 3 pieces , , and such that if we wish to encode bit 0, and p p p ppp == ppp ≠≠ if we wish to encode bit 1. It is clear that to satisfy the above conditions we would need at least 3 symbols, say 0, 1 and 2. Therefore to encode bit 0 we could create pieces as 000, 111, or 222. Whereas the candidates to encode bit 1 would be 012 and all possible permutations of it, i.e. 021, 102, 120, 210, and 201. In all, to encode secret bit 0 and secret bit 1, we have 3 and 6 possibilities, respectively, out of which any one can be chosen to satisfy our requirement based on the secret encoded. ppp Example: If M is a 27 bit long message that we wish to encode into 3 shares and the threshold is 2, then the shares , , and may be created as follows: S S S M : 011011010110110011100101101 S : 102012012010201201201020102 S : 110020022120111210101221001 S : 121001002200021222001122200 Viewed as a ternary alphabet, the efficiency of this system is 33%. If 0,1 and 2 are encoded using prefix coding as 0, 10, and 11 respectively, then we are effectively mapping each bit of secret into 5 bits of shares and the efficiency is only =× , i.e. 20%. The above efficiency can be improved by recursively hiding secrets in the shares of M . However, since each bit is mapped into 3 shares, in order to take advantage of the recursive technique, the secrets at each step must increase by a factor of 3. We can then hide the following secrets , , and in , , and as follows: M M M S S S Secret Shares M : 1 0 M S M S M S M : 010 M S M S M S M : 110101101 M S M S M S : 011011010110110011100101101 S S S Table 1. Recursive hiding of smaller messages in the shares of larger messages
Note that at each step we have used the shares of the previous smaller messages to create the shares of larger messages, these smaller shares are denoted in bold. Also, we have distributed the shares at each step so that no player has access to all the shares of the smaller messages and hence, every message remains secure until at least two players come together. This approach is different from that discussed in [2], where the shares of smaller messages were all accumulated into one of the larger shares instead of distributing them among all the possible players. As a result, any player having that share which encodes the smaller images could in principle recreate these smaller images without the help of the other player, which in some cases might not be acceptable. Therefore, our new approach seems to be more secure for certain applications. Also seen in table 1 is that using recursive hiding of secrets, we have been able to encode 13 characters of , , and and 27 characters of M M M M into shares of M alone. As a result the efficiency is = )273/( × )2713( + ≈ . If one considers binary representations of each character then each share now conveys )275/()2713( ×+ = ≈ bits. Compared to 1/5 bits of conventional approaches, this is an almost 40% increase in efficiency. Recursive hiding and threshold visual cryptography
The idea described in previous section can be applied to images to develop a recursive 2 out of 3 visual cryptographic scheme. For this purpose we divide each pixel into 3 subpixels as shown in table 2. Pixel Partition 1 Partition 2 Partition 3 And all possible permutations of the above three pieces
Table 2. Possible partitions for black and white pixels.
As seen in table 2, when the partitions of white pixel are stacked upon each other one third of the pixel is white and hence appears light gray to human eye. However, the subpixels of the black pixel are so arranged that when 2 shares are stacked together, the resulting pixel is completely dark. Yet another way to create subpixels would be to have only one third of the subpixel colored dark. Therefore, when subpixels of a larger white pixel are stacked upon each other they would appear light gray and the stacking of the subpixels of a black pixel would result in dark gray. However, the human eye can perceives the difference between gray and completely dark pixels better than two different shades of gray itself. Hence our construction of subpixels in table 2. We observe that the distribution of subpixels also corresponds to the comparison based splitting of secrets in the case of text. However, in this case, each subpixel can simply be represented by 1 bit. Therefore a white subpixel represents a 0 and black subpixel represents a 1. Their spatial distribution determines the manner in which they are stacked and the color they produce in the final image. As an example to make the working of the proposed scheme clearer, we present in figure 1 the encoding of a 3x3 pixel image such that each share of the 3x3 image contains shares of a 1 pixel secret image and a 3x1 pixel secret image.
Figure 1. Illustration of recursive hiding of secret images in the shares of larger original image using a 2 out of 3 threshold scheme.
The subpixels of an original pixel can be represented as a matrix. For example if the original pixel was black then the 3 shares representing it can be written as [100] T , [010] T , and [001] T . Since, these matrices can be stored as a sequence of bits; it implies that there is an expansion by a factor of 1 (cid:175) (cid:175) (cid:175) (cid:175) Original image size 387x387 (scaled here)
First secret image size 129x129
Second secret image size 387x129 (scaled here)
Share 1 of Original image size 387x387 (scaled here)
Share 2 of Original image size 387x387 (scaled here)
Share 3 of Original image size 387x387 (scaled here)
Share 1 of second secret image size 387x129 (scaled here)
Share 2 of second secret image size 387x129 (scaled here)
Share 1 of second secret image size 387x129 (scaled here)
Share 1 of first secret image size 129x129
Share 3 of first secret image size 129x129
Share 2 of first secret image size 129x129
Figure 2. Illustration of the process of recursive hiding of secrets in shares of larger original image Regenerated second secret image from shares 1 and 2 size 387x129 (scaled here) Regenerated second secret image from shares 1 and 3 size 387x129 (scaled here)
Regenerated second secret image from shares 2 and 3 size 387x129 (scaled here)
Regenerated first secret image from shares 1 and 2 size 129x129
Regenerated first secret image from shares 1 and 3 size 129x129
Regenerated first secret image from shares 2 and 3 size 129x129
Figure 3. Illustration of regeneration of smaller images from the shares hidden inside the shares of the original larger image.
Conclusions
This paper presents a threshold scheme for recursive hiding of secrets. The construction presented is for a 2 out of 3 scheme; however it can be expanded to a 2 out of scheme as well. Recursive hiding serves as a steganographic channel that can be used to embed invisible watermarks, convey secret keys or encode authentication information. Further applications of such schemes would be in secure distributed storage of information over a network using secret sharing to enable storage of extra information in the shares, thereby decreasing network load and increasing efficiency. n References Naor, M. and A, Shamir. 1995. Visual Cryptography.
Advances in Cryptology-Eurocrypt,
Gnanaguruparan, M. and Kak, S. 2002. Recursive Hiding of Secrets in Visual Cryptography.
Cryptologia
26: 68-76. 3.
Horng, G., Chen, T. and Tsai D. 2006. Cheating in Visual Cryptography.
Design, Codes and Cryptography
Prisco, R. and Santis, A. 2006. Cheating Immune (2,n)-Threshold Visual Secret Sharing.