Visual Cryptography


Note: Krypto-Kekkonen was an implementation of the Naor-Shamir scheme from Dr. Markku-Juhani O. Saarinen back in the days. Later on, much to my dismay, he had removed Krypto-Kekkonen. However, he has brought in other cool stuff instead.

After admiring the Krypto-Kekkonen, I thought I'd roll my own.

Here's a Python script called split_pic2.py to split an image of your choosing into two shares as described by the Naor-Shamir "visual cryptography" scheme. See the script for details.

The script requires PIL (Python Image Library). The outputs are two files, "share1.png" and "share2.png". Print share1.png on paper, and share2.png on transparency/foil/plastic and carefully align them on top of each other to see the hidden image.

Or, you can use an image editor such as Gimp. Note, the layer effect must be "multiply" for both layers.

Here are two examples you can play with:

First share of the hidden image

First share of the hidden image

Second share of the hidden image

Second share of the hidden image