FractalNet
Home Software Music Other
Overview   Overview
Guitar Chord Explorer   GCE
Guitar Chord Explorer - Home       Home
Guitar Chord Explorer - Instructions       Instructions
Guitar Chord Explorer - User comments       User comments
Guitar Chord Explorer - Links       Links
Guitar Chord Explorer - Version 2       Version 2
FractalNet   FractalNet
Particle System Designer   PSD (Second Life)
Marble Challenge   Marble Challenge
ASCIIroids   ASCIIroids
Gravity Bubbles   Gravity Bubbles
EcoSim   EcoSim
Cosmic Dust   Cosmic Dust
LandMesh   LandMesh
Imagencrypter   Imagencrypter
TrainMapper   TrainMapper
Foxy Detector   Foxy Detector
MacDiff   MacDiff
Asteroid Belt   Asteroid Belt
Matrix Attack   Matrix Attack
Solar Swarm   Solar Swarm
Tools   Tools
Names :-)   Names :-)
Imagencrypter


The animation above requires JavaScript to be enabled (it uses the move effect in script.aculo.us).  If you cannot see the animation, click here for an alternative diagram.


Imagencrypter is a visual cryptography program I wrote in Java.  It takes a greyscale image for its input, and generates two black & white images as its output.  These output images appear to be just random patterns, but when they are overlaid (one on top of the other), the original greyscale image appears as if by magic!


Sorry, Imagencrypter
is not yet available
for public download.
Video

YouTube fullscreen button Click on this button in
the YouTube player to
watch the video fullscreen.
Watch this video on YouTube  →
Watch this video on Vimeo  →


Explanation and examples

Each pixel in the original image is converted into a 4x4 grid of 16 pixels.  In the first output image, 8 of those pixels are randomly coloured black, and the remaining 8 are coloured white.  In the second output image, 8 pixels are coloured black, according to the darkness of the source pixel in the original image, as illustrated in the example below:


Don’t assume that each output image contains half the information of the original image.  Each output image is truly random – there’s no information in it whatsoever.  Therefore, if a third party intercepted only one of the images, there’s no way they could break the encryption, because there’s no hidden information to find!  Information is only stored in the difference between the two images, so both images are required for decryption.  This is different from some other forms of cryptography (such as public-key cryptography) where the encrypted message contains all the information of the original message, and can potentially be decrypted by a third party.

My program supports input images with up to 8 levels of grey, so that greyscale photographs can be encrypted.  Below is an example using a photograph of Alan Turing, a famous cryptographer who worked at Bletchley Park.  Click on the picture for the full-size version.


Colour images (CMYK) can also be encrypted, by encrypting each of the colour channels separately as a greyscale image.  The example below uses “Colorful spring garden” by annia316.  Click on the picture for the full-size version.



Practical applications

Once Alice has encrypted a secret image, she prints the two encrypted output images onto two transparent acetate sheets.  She then sends these sheets to Bob using two different methods (eg. one via the normal postal service, and one via a courier service).  Even if a third party manages to intercept one of the sheets, it would be useless without the other one.

An alternative is to use a form of symmetric-key cryptography.  Alice creates a “master” decryption sheet, and delivers a copy of it to Bob by some very secure method (eg. by meeting him in person in some secure location).  Alice then encrypts all her secret images using this master sheet, and sends the encrypted sheets to Bob using a non-secure method.  Bob overlays his master sheet on top of each encrypted sheet in turn, to decrypt them.  If a third party intercepts the sheets, they are undecypherable without the master sheet.


Comments Automatic country lookup for comments powered by MaxMind GeoLite Country

Lizzy91438
    25 Sep 2009
    United States
Awesome!


Add a comment 

Name (optional)
Copy the security code above
into the box below:



The security code is a CAPTCHA to prevent automated software from posting large amounts of spam comments (I get about 22 spam comments for every 1 genuine comment).
Comment
No HTML or BBCode please
Contact me  –  Page last updated on 7th February 2010  –  Website hosted by 5quidhost (highly recommended!)
Michael Hogg