Download - Visual Cryptography
Visual Cryptography
(OR) Reading Between the Lines
Ecaterina Valică
http://students.info.uaic.ro/~evalica/
Agenda
Introduction k out of n sharing problem Model General k out of k Scheme 2 out of n Scheme 2 out of 2 Scheme (2 subpixels) 2 out of 2 Scheme (4 subpixels) 3 out of 3 Scheme 2 out of 6 Scheme Extensions Applications References
Introduction
Visual cryptography (VC) was introduced by Moni Naor and Adi Shamir at EUROCRYPT 1994.
It is used to encrypt written material (printed text, handwritten notes, pictures, etc) in a perfectly secure way.
The decoding is done by the human visual system directly, without any computation cost.
Introduction
Divide image into two parts: Key:
a transparency Cipher:
a printed page Separately, they are
random noise Combination reveals an
image
Simple example
k out of n sharing problem
Extended to k out of n sharing problem 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.
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)
Model Assume the message consists of a collection
of black and white pixels and each pixel is handled separately.
Each share is a collection of m black and white subpixels.
The resulting picture can be thought as a [nxm] Boolean matrix S = [si,j] si,j = 1 if the j-th subpixel in the i-th share is black. si,j = 0 if the j-th subpixel in the i-th share is white.
Pixels are split:Pixels are split:
mm
n n shares per pixel: per pixel:
mm
nn
Share 1
Share 2
Share n
Pixel Subpixels
si,j
Model
The grey level of the combined share is interpreted by the visual system:as black if as white if .
is some fixed threshold and
is the relative difference. H(V) is the hamming weight of the “OR”
combined share vector of rows i1,…in in S vector.
md 1 0a
Model
dVH )(
amdVH )(
mm
mm
: V: V
H(V)H(V)
H(V) H(V) m mBB
H(V) H(V) m mWW
mmWW < m < mBB
contrast = (mcontrast = (mBB-m-mWW)/m)/m
Stacking
Model: Stacking & Contrast
Model
General k out of k Scheme Matrix size = k x 2k-1 S0 : handles the white pixels
All 2k-1 columns have an even number of 1’sNo two k rows are the same
S1 : handles the black pixelsAll 2k-1 columns have an odd number of 1’sNo two k rows are the same
C0/C1 : all the permutation of columns in S0/S1
2 out of n Scheme
m = nm = n White pixel - a random column-permutation of:White pixel - a random column-permutation of:
Black pixel - a random column-permutation of:Black pixel - a random column-permutation of:
0001
0001
0001
0001
1000
0100
0010
0001
2 out of 2 Scheme (2 subpixels) Black and white image: each pixel
divided in 2 sub-pixels Randomly choose between black and
white. If white, then randomly choose one of
the two rows for white.
2 out of 2 Scheme (2 subpixels)
If black, then randomly choose between one of the two rows for black.
2 out of 2 Scheme (2 subpixels)
2 out of 2 Scheme (2 subpixels)
Example:
2 out of 2 Scheme (2 subpixels)
+
The two subpixels per pixel variant can distort the aspect ratio of the original image
2 out of 2 Scheme (4 subpixels) Each pixel encoded as
a 2x2 cell in two shares (key and cipher)
Each share has 2 black, 2 transparent subpixels
When stacked, shares combine toSolid blackHalf black (seen as gray)
6 ways to place two black subpixels in the 2 x 2 square
White pixel: two identical arrays Black pixel: two complementary arrays
}1001
1001
0110
0110
1100
1100
0011
0011
1010
1010
0101
0101{0
C
}0110
1001
1001
0110
0011
1100
1100
0011
0101
1010
1010
0101{1
C
2 out of 2 Scheme (4 subpixels)
Horizontal shares Vertical shares Diagonal shares
2 out of 2 Scheme (4 subpixels)
2 out of 2 Scheme (4 subpixels)
share1
share2
stack
pixel
4
1
0
5
random
0 1 2 3 4 5 0 1 2 3 4 5
3 out of 3 Scheme (4 subpixels)
With same 2 x 2 array (4 subpixel) layout
0110
0101
0011C0={ 24 matrices obtained by permuting the columns of }
1001
1010
1100C1={ 24 matrices obtained by permuting the columns of }
0011 1100 0101 1010 0110 1001
horizontal shares vertical shares diagonal shares
Original Share #1 Share #2 Share #3
Share #1+#2+#3
Share #1+#2 Share #2+#3 Share #1+ #3
3 out of 3 Scheme (4 subpixels)
2 out of 6 Scheme
Any 2 or more shares out of the 6 produced
1100
1100
1100
1100
1100
1100
C0={ 24 matrices obtained by permuting the columns of }
C1={ 24 matrices obtained by permuting the columns of }
0110
0011
0101
1001
1010
1100
Share#1 Share#2 Share#3 Share#4 Share#5 Share#6
2 shares 3 shares 4 shares 5 shares 6 shares
2 out of 6 Scheme
Extensions - Four Gray Levels
Each pixel encoded asA 3x3 cell3 black, 6 transparent
Combine to 3, 4, 5, or 6 black
Pixel range from 0 (white) to 255 (black) Encode pixel with a half-circle
Share #1 Share #2 Stacked Color
White
Gray
Black
Extensions - Grey Scale Encryption
Extensions - Continuous Gray level
Each pixel encoded as 33% black circle Combine for any gray from 33% to 67%
black
Ateniese et al., 2001 Send innocent looking transparencies, e.g.
Send images a dog, a house, and get a spy message with no trace.
Extensions - Extended VC
Extensions - Color VC
Verheul and van Tilborg’s methodFor a C-color image, we expand each pixel to
C subpixels on two images.For each subpixel, we divide it to C regions.
One fixed region for one color. If the subpixel is assigned color C1 , only the
region belonged to C1will have the color. Other regions are left black.
Four subpixels
Four regions
CombinedOne pixel on four- color image
Extensions - Color VC
Verheul and van Tilborg’s method
Extensions - Color VC
Rijmen and Preneel’s method Each pixel is divided into 4 subpixels, with the color
red, green, blue and white. In any order, we can get 24 different combination of
colors. We average the combination to present the color.
To encode, choose the closest combination, select a random order on the first share. According to the combination, we can get the second share.
Extensions - Color VC
Rijmen and Preneel’s method
Pattern1 Pattern1 Pattern2 Pattern2Combined
ResultCombined
Result
Extensions - Color VC
Applications
Remote Electronic Voting Anti-Spam Bot Safeguard Banking Customer Identification Message Concealment Key Management
References
Naor and Shamir, Visual Cryptography, in Advances in Cryptology - Eurocrypt ‘94
www.cacr.math.uwaterloo.ca/~dstinson/visual.html
http://homes.esat.kuleuven.be/~fvercaut/talks/visual.pdf
http://www.cse.psu.edu/~rsharris/visualcryptography/viscrypt.ppt
References
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
http://163.17.135.4/imgra/PPT/200500022.ppt