Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Visual Cryptography

32,199 views

Published on

Naor's and Shamir's Visual Cryptography

Published in: Technology, Art & Photos

Visual Cryptography

  1. 1. Visual Cryptography (OR) Reading Between the Lines Ecaterina Valică http://students.info.uaic.ro/~evalica/
  2. 2. Agenda <ul><li>Introduction </li></ul><ul><li>k out of n sharing problem </li></ul><ul><li>Model </li></ul><ul><li>General k out of k Scheme </li></ul><ul><li>2 out of n Scheme </li></ul><ul><li>2 out of 2 Scheme (2 subpixels) </li></ul><ul><li>2 out of 2 Scheme (4 subpixels) </li></ul><ul><li>3 out of 3 Scheme </li></ul><ul><li>2 out of 6 Scheme </li></ul><ul><li>Extensions </li></ul><ul><li>Applications </li></ul><ul><li>References </li></ul>
  3. 3. Introduction <ul><li>Visual cryptography (VC) was introduced by Moni Naor and Adi Shamir at EUROCRYPT 19 94 . </li></ul><ul><li>It is used to encrypt written material (printed text, handwritten notes, pictures, etc) in a perfectly secure way. </li></ul><ul><li>The decoding is done by the human visual system directly , without any computation cost. </li></ul>
  4. 4. Introduction <ul><li>Divide image into two parts: </li></ul><ul><ul><li>Key: </li></ul></ul><ul><ul><ul><li>a transparency </li></ul></ul></ul><ul><ul><li>Cipher: </li></ul></ul><ul><ul><ul><li>a printed page </li></ul></ul></ul><ul><li>Separately, they are random noise </li></ul><ul><li>Combination reveals an image </li></ul>Simple example
  5. 5. <ul><li>Extended to k out of n sharing problem </li></ul><ul><li>For a set P of n participants, a secret image S is encoded into n shadow images called shares (shadows), where each participant in P receives one share. </li></ul><ul><li>The original message is visible if any k or more of them are stacked together, but totally invisible if fewer than k transparencies are stacked together (or analysed by any other method) </li></ul>k out of n sharing problem
  6. 6. Model <ul><li>Assume the message consists of a collection of black and white pixels and each pixel is handled separately. </li></ul><ul><li>Each share is a collection of m black and white subpixels. </li></ul><ul><li>The resulting picture can be thought as a [ n x m ] Boolean matrix S = [s i,j ] </li></ul><ul><ul><li>s i,j = 1 if the j-th subpixel in the i-th share is black. </li></ul></ul><ul><ul><li>s i,j = 0 if the j-th subpixel in the i-th share is white. </li></ul></ul>
  7. 7. Model <ul><li>Pixels are split: </li></ul>Pixel Subpixels s i,j m <ul><li>n shares per pixel: </li></ul>m n Share 1 Share 2 Share n
  8. 8. <ul><li>The grey level of the combined share is interpreted by the visual system: </li></ul><ul><ul><li>as black if </li></ul></ul><ul><ul><li>as white if . </li></ul></ul><ul><li>is some fixed threshold and </li></ul><ul><li>is the relative difference. </li></ul><ul><li>H(V) is the hamming weight of the “ OR ” combined share vector of rows i 1 ,…i n in S vector. </li></ul>Model
  9. 9. Stacking Model: Stacking & Contrast m m : V H(V) H(V)  m B H(V)  m W m W < m B contrast = (m B -m W )/m
  10. 10. Model
  11. 11. General k out of k Scheme <ul><li>Matrix size = k x 2 k-1 </li></ul><ul><li>S 0 : handles the white pixels </li></ul><ul><ul><li>All 2 k -1 columns have an even number of 1’s </li></ul></ul><ul><ul><li>No two k rows are the same </li></ul></ul><ul><li>S 1 : handles the black pixels </li></ul><ul><ul><li>All 2 k -1 columns have an odd number of 1’s </li></ul></ul><ul><ul><li>No two k rows are the same </li></ul></ul><ul><li>C 0 /C 1 : all the permutation of columns in S 0 /S 1 </li></ul>
  12. 12. 2 out of n Scheme <ul><li>m = n </li></ul><ul><li>White pixel - a random column-permutation of: </li></ul><ul><li>Black pixel - a random column-permutation of: </li></ul>
  13. 13. 2 out of 2 Scheme (2 subpixels) <ul><li>Black and white image: each pixel divided in 2 sub-pixels </li></ul><ul><li>Randomly choose between black and white. </li></ul><ul><li>If white, then randomly choose one of the two rows for white. </li></ul>
  14. 14. 2 out of 2 Scheme (2 subpixels) <ul><li>If black, then randomly choose between one of the two rows for black. </li></ul>
  15. 15. 2 out of 2 Scheme (2 subpixels)
  16. 16. 2 out of 2 Scheme (2 subpixels) <ul><li>Example: </li></ul>
  17. 17. 2 out of 2 Scheme (2 subpixels) + <ul><li>The two subpixels per pixel variant can distort the aspect ratio of the original image </li></ul>
  18. 18. 2 out of 2 Scheme (4 subpixels) <ul><li>Each pixel encoded as </li></ul><ul><ul><li>a 2x2 cell </li></ul></ul><ul><ul><li>in two shares (key and cipher) </li></ul></ul><ul><li>Each share has 2 black, 2 transparent subpixels </li></ul><ul><li>When stacked, shares combine to </li></ul><ul><ul><li>Solid black </li></ul></ul><ul><ul><li>Half black (seen as gray) </li></ul></ul>
  19. 19. <ul><li>6 ways to place two black subpixels in the 2 x 2 square </li></ul><ul><li>White pixel: two identical arrays </li></ul><ul><li>Black pixel: two complementary arrays </li></ul>2 out of 2 Scheme (4 subpixels)
  20. 20. Horizontal shares Vertical shares Diagonal shares 2 out of 2 Scheme (4 subpixels)
  21. 21. 2 out of 2 Scheme (4 subpixels)
  22. 22. share1 share2 stack pixel random 0 1 2 3 4 5 0 1 2 3 4 5 4 1 0 5
  23. 23. 3 out of 3 Scheme (4 subpixels) <ul><li>With same 2 x 2 array (4 subpixel) layout </li></ul>C 0 ={ 24 matrices obtained by permuting the columns of } C 1 ={ 24 matrices obtained by permuting the columns of } 0011 1100 0101 1010 0110 1001 horizontal shares vertical shares diagonal shares
  24. 24. 3 out of 3 Scheme (4 subpixels) Original Share #1 Share #2 Share #3 Share #1+#2+#3 Share #1+#2 Share #2+#3 Share #1+ #3
  25. 25. 2 out of 6 Scheme <ul><li>Any 2 or more shares out of the 6 produced </li></ul>C 0 ={ 24 matrices obtained by permuting the columns of } C 1 ={ 24 matrices obtained by permuting the columns of }
  26. 26. 2 out of 6 Scheme Share#1 Share#2 Share#3 Share#4 Share#5 Share#6 2 shares 3 shares 4 shares 5 shares 6 shares
  27. 27. Extensions - Four Gray Levels <ul><li>Each pixel encoded as </li></ul><ul><ul><li>A 3x3 cell </li></ul></ul><ul><ul><li>3 black, 6 transparent </li></ul></ul><ul><li>Combine to 3, 4, 5, or 6 black </li></ul>
  28. 28. <ul><li>Pixel range from 0 (white) to 255 (black) </li></ul><ul><li>Encode pixel with a half-circle </li></ul>Extensions - Grey Scale Encryption Share #1 Share #2 Stacked Color White Gray Black
  29. 29. Extensions - Continuous Gray level <ul><li>Each pixel encoded as 33% black circle </li></ul><ul><li>Combine for any gray from 33% to 67% black </li></ul>
  30. 30. <ul><li>Ateniese et al., 2001 </li></ul><ul><li>Send innocent looking transparencies, e.g. Send images a dog, a house, and get a spy message with no trace. </li></ul>Extensions - Extended VC  
  31. 31. Extensions - Color VC <ul><li>Verheul and van Tilborg ’s method </li></ul><ul><ul><li>For a C-color image, we expand each pixel to C subpixels on two images. </li></ul></ul><ul><ul><li>For each subpixel, we divide it to C regions. One fixed region for one color. </li></ul></ul><ul><ul><li>If the subpixel is assigned color C 1 , only the region belonged to C 1 will have the color. Other regions are left black. </li></ul></ul>
  32. 32. Extensions - Color VC <ul><li>Verheul and van Tilborg ’s method </li></ul>Four subpixels Four regions Combined One pixel on four- color image
  33. 33. Extensions - Color VC <ul><li>Rijmen and Preneel ’s method </li></ul><ul><ul><li>Each pixel is divided into 4 subpixels, with the color red, green, blue and white. </li></ul></ul><ul><ul><li>In any order, we can get 24 different combination of colors. We average the combination to present the color. </li></ul></ul><ul><ul><li>To encode, choose the closest combination, select a random order on the first share. According to the combination, we can get the second share. </li></ul></ul>
  34. 34. Extensions - Color VC <ul><li>Rijmen and Preneel ’s method </li></ul>Pattern1 Pattern1 Pattern2 Pattern2 Combined Result Combined Result
  35. 35. Extensions - Color VC
  36. 36. Applications <ul><li>Remote Electronic Voting </li></ul><ul><li>Anti-Spam Bot Safeguard </li></ul><ul><li>Banking Customer Identification </li></ul><ul><li>Message Concealment </li></ul><ul><li>Key Management </li></ul>
  37. 37. References <ul><li>Naor and Shamir, Visual Cryptography, in A dvances in Cryptology - Eurocrypt ‘94 </li></ul><ul><li>www.cacr.math.uwaterloo.ca/~dstinson/visual.html </li></ul><ul><li>http://homes.esat.kuleuven.be/~fvercaut/talks/visual.pdf </li></ul><ul><li>http:// www.cse.psu.edu/~rsharris/visualcryptography/viscrypt.ppt </li></ul>
  38. 38. References <ul><li>http://netlab.mgt.ncu.edu.tw/computersecurity/2002/ppt/%E5%BD%A9%E8%89%B2%E8%A6%96%E8%A6%BA%E5%AF%86%E7%A2%BC%E5%8F%8A%E5%85%B6%E6%87%89%E7%94%A8.ppt </li></ul><ul><li>http://163.17.135.4/ imgra /PPT/200500022.ppt </li></ul>

×