Professional Documents
Culture Documents
Visual Cryptography: (OR) Reading Between The Lines
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 Simple example
parts:
Key:
a transparency
Cipher:
a printed page
Separately, they are
random noise
Combination reveals an
image
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.
Model
m
si,j Share 1
Share 2
Share n
Model
The grey level of the combined share is
interpreted by the visual system:
as black if H (V ) d
as white if H (V ) d am .
1 d m is some fixed threshold and a 0
is the relative difference.
H(V) is the hamming weight of the “OR”
combined share vector of rows i1,…in in
S vector.
Model: Stacking & Contrast
m
Stacking
m
: V
H(V)
H(V) mB
contrast = (mB-mW)/m
H(V) mW
mW < mB
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’s
No two k rows are the same
S1 : handles the black pixels
All
2k-1 columns have an odd number of 1’s
No two k rows are the same
+
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 to
Solid black
Half black (seen as gray)
2 out of 2 Scheme (4 subpixels)
6 ways to place two black subpixels in the 2 x 2 square
share1
share2
stack
4 0
1 5
random
3 out of 3 Scheme (4 subpixels)
With same 2 x 2 array (4 subpixel) layout
0011
C0={ 24 matrices obtained by permuting the columns of 0101 }
0110
1100
C1={ 24 matrices obtained by permuting the columns of 1010 }
1001
Gray
Black
Extensions - Continuous Gray level
Extensions - Color VC
Verheul and van Tilborg’s method
For 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.
Extensions - Color VC
Verheul and van Tilborg’s method
Four Four
subpixels regions