Visual Cryptography by Ayan Mukherjee, MCA/CSE/IT Department

With the rapid progress of the Internet, the transferring of digital media over the internet becomes more and more popular. So, the copyright protection of digital data becomes a very important concern because the digital data can be available and distributed easily over the Internet.


Visual Cryptography is a new cryptographic technique which allows visual information, printed text, handwritten notes, pictures, etc. in a very secure way which can be easily decoded by the human eye which is a visual system. The basic model contains a printed page of ciphertext and printed transparency which works as the secret key. Visual Cryptography (VC) is a method of encrypting a secret image into shares so that the secret image can be revealed by stacking a sufficient number of shares.


Naor and Shamir introduced an easy but very secure process which permits secret sharing without any cryptographic computation, termed as Visual Cryptography Scheme (VCS).  The idea is to convert the written material into an image and encode this image into ‘n’ shadow images. The decoding needs finding some subset of these ‘n’ images, which makes transparencies of them, and stacking them on top of each other. Each page of the ciphertext is decrypted by a different transparency. So we can compare it with one time key. The main advantage of this system is anyone can decrypt the ciphertext without any knowledge or without performing any cryptography related computation.


This basic model can be extended into a visual variant of the ‘k’ out of n secret sharing problem: When we are having a written message, we would create ‘n’ transparencies. Now the original message can be viewed if any ‘k’ (or more) of them are stacked together. But if less than ‘k’ transparencies are stacked one after another the message cannot be visible now. The real encryption problem can be viewed as a 2 out of 2 secret sharing problem.


The simplest type of the visual secret sharing problem makes an assumption that the message is a collection of black and white pixels. Each pixel is processed separately and original pixel comes in ‘n’ modified versions, called shares, one for each transparency. Each share consists of ‘m’ black and white subpixels. The subpixels are printed very close to each other. In effect of this, the human visual system averages their individual black/white contributions. The output can be expressed as an n x m Boolean matrix S = [sij] where sij = 1 if the jth subpixel in the ith transparency is black. When transparencies i1, i2, ….ir are put together as a stack in a manner which properly aligns the subpixels, we can view a combined share, where the black subpixels are represented by the Boolean “or” of rows i l , i 2 , . . . i r in S. The grey level of this combined share is proportional to the Hamming weight H(V) of the “or”ed m-vector V. This grey level is interpreted by the visual system of the users as black if H(V) >= d and as white if H(V) < d – αm for some fixed threshold

1 <= d <= m and relative difference α>0.


Because of its simplicity for the end user, this new area of cryptographic domain is becoming very popular and becomes the research interest of most of the researchers in this field.

Leave a Reply