What is VC?• Secret sharing scheme.• Visual Cryptography (VC) was introduced by Moni Naor and Adi Shamir in Eurocrypt (1994).• Used to encrypt written text/ pictures etc in a perfectly secure way.• Decoding is done by human visual system, without any computation.
Secret Sharing Scheme• Method of dividing a secret amongst a group of participants. Share 1• Each of the participants get a share of the Share 2 secret. Share 1• Sufficient number of + Share 2 shares combined reveals the secret.
Example - k by n Scheme (k,n)• Consider data D (text / image) divided into – n number of shares (D1, D2 …. Dn) – k or more shares when overlapped reveals information about the data – k-1 or fewer shares when overlapped reveal no information about the data• If k = n then all participants are required to reconstruct the secret.
Preliminary Notations• n = Group size• k = Threshold• m = number of pixels in a share. (loss in resolution from the original image to the recovered image)• ɑ = the relative difference in the weight between the combined shares that come from a white pixel and a black pixel in the original image. Represents loss in contrast.
Preliminary Notations (contd..)• C0 = Collection of n × m Boolean matrices for shares of white pixel.• C1 = Collection of n × m Boolean matrices for shares of black pixel.• V = ORed k rows.• H(V) = Hamming weight.• d = number in [1,m]
Example 2 by 2 scheme (2 subpixels)Partition for black and white pixels in 2 by 2scheme.
Example 2 by 2 scheme (2 subpixels)This scheme can be explained by below values• n=2 • V1 = [1,1] or [1,1]• m=2 • H(V0 ) = 1• k=2 • H(V1) = 2• V0 = [0,1] or [1,0] • ɑ = H(V1) - H(V0 ) / m = 1/2
Implementation• Platform: .Net Framework 3.5• Language: C#• Reason for selecting .Net: – Previous experience working on .Net. – It is optimal for developing and demonstrating application through UI. – .NET also has lot of support for image acquisition and manipulation.• Other Platforms: Matlab, Python etc
2 by 2 scheme with 4 sub pixelsHorizontal shares Vertical shares Diagonal shares
Results in 2 by 2 scheme (2 subpixels)• The secret image I is encoded into Share1 & Share2 two shares.• D is decoded by superimposing these two shares with 50% loss of contrast. (ɑ = ½)• The decoded image is identified, although some contrast loss is observed.• Due to pixel expansion the width of the decoded image is twice as that of the original image.
Advantages• Simple to implement• Decryption algorithm not required (Use a human Visual System). So a person unknown to cryptography can decrypt the message.• We can send cipher text through FAX or E-MAIL.• Lower computational cost since the secret message is recognized only by human eyes and not cryptographically computed.
Disadvantages• The contrast of the reconstructed image is not maintained.• Perfect alignment of the transparencies is troublesome.• Due to pixel expansion the width of the decoded image is twice as that of the original image. Leads to loss of information due to change in aspect ratio.• Additional processing is required for colored images.
Application• Biometric security• Watermarking• Steganography• Remote electronic voting• Bank customer identification – Bank sends customer a set of keys in advance – Bank web site displays cipher – Customer applies overlay, reads transaction key – Customer enters transaction key