thoughtasylumTOOLBOX Preview

Tools › Ciphers

Visual Cryptography

Split a word or picture into two images of random noise. Either alone shows nothing; laid on top of each other, they reveal the secret.

About this tool What it's for, how to use it and an example

What it's for

Split a word or a black-and-white picture into two images that each look like random noise. Put one on top of the other and the secret appears, with no computer needed. This is Naor and Shamir’s visual cryptography from 1994, and each share on its own reveals nothing at all.

For example, when you’re making a puzzle or an invitation: print one share on paper and the other on a transparency, give them to two people, and the message only appears when they get together.

How to use it

Type the secret text, or choose Black and white image and pick a picture or drop one on the page (it’s reduced to black and white at up to 240 pixels wide). The shares are made straight away; New shares makes a fresh random pair. Drag the slider to slide share B over share A and watch the secret appear when they line up. Download each share as a PNG, with clear rather than white pixels so a share printed on a transparency can be laid over the other.

Pixel size sets how many screen pixels each dot uses (remembered); larger is easier to line up by hand.

Example

Keep the text as:

SECRET

Drag the slider to the left: as share B reaches the left edge, SECRET appears in solid black on a grey speckle.

Good to know

Stacked, white areas are only half dark, so the secret shows as black on grey, not on white. Printed shares must be printed at exactly the same size and lined up precisely; a larger pixel size helps. Each share is twice the width and height of the secret in dots. Only two shares are made, and both are needed.

Private: this tool runs in your browser. Nothing you type, paste or choose leaves this page.

Saved you a few minutes? Say thanks with a coffee.

Something wrong with this tool, or missing from it? Report a bug or suggest a feature.

↑ ↓ move↵ openesc close