
Visual Cryptography - superberliner
http://users.telenet.be/d.rijmenants/en/visualcrypto.htm
======
Groxx
Visual XOR against random data using the supplied "information pixels" instead
of actual pixels (2x2 pixel groups). Cryptography at its most simple and most
effective, with a visual twist.

Makes me want to fiddle, and make something which lets you hide information in
the interference between 3 such images... one message for each pair, and one
for all three stacked.

------
axman6
A few years ago, these James Bond magazines for kids came out, and i bought a
bunch of them. I seem to remember them using this idea in the magazine to hide
"secret" messages, which you could only decrypt if you had the transparent key
that came with the magazine. Pretty awesome stuff.

------
gojomo
Whenever I read about this technique, I can't help but think of the sunglasses
in _They Live_.

------
Groxx
[side topic]

The last-linked "additional information" mentions rotated 1/2-circles with
black & white halves to define greyscale images. There's an easier way, and
it'll scale to as many layers and colors as you want:

pixel(r,g,b) = ((r1^r2), (g1^g2), (b1^b2)). (bit-level xoring) More layers
just add in their values. Until you add _all_ of them, there's no way to know
what the final value for a pixel will be.

As for the "general access structures"... maybe this can be tweaked, haven't
looked closely enough and my brain is tired.

\---

edit: fixed algorithm. wrote quick ruby script. first attempt at something
like this, glad it works.

edit again: and for those interested, the last linked "additional info"
article describes how to make multi-layer images like the one in the main
article. It's kinda interesting.

~~~
kragen
You can avoid the waste of space implied by the circles by using ½×1
rectangles instead: [http://lists.canonical.org/pipermail/kragen-
hacks/2007-March...](http://lists.canonical.org/pipermail/kragen-
hacks/2007-March/000453.html)

The interesting thing about the original technique (to me) is that you can do
the decryption without a computer. If you want to do this in color, I think
you need to use the LCD approach of having red, green, and blue subpixels next
to each other.

------
ct4ul4u
How is this different from a combination of one time pads and steganography?

~~~
stcredzero
I think that's what it is. One could use this with the least significant bit
of an image to do a watermark.

------
est
even better: they could have use vector graphics so each layer must be
correctly zoomed, overlayed and rotated to restore the original.

