Monday, May 06, 2019

Visual Cryptography Part 1 - A Source Image Authoring Tool

Ever come across an algorithm that's just crying out to be implemented? That's where I found myself a few days ago when I learned about Visual Cryptography.

Despite the generic sounding name, visual cryptography has a specific definition: it's a process of taking a black and white source image and splitting into into two or more 'shares.' The shares look like random noise. When you overlay the shares, the image you encrypted pops out. It's like magic.

This approach was developed back in 1994 and calls for images to be printed on transparent material and then overlaid. Fortunately, we can leverage transparency in images to avoid the printing step.

I built out the first part of my Visual Cryptography demo here. This is little more than a super-simple drawing tool built using the HTML5 Canvas API.

My plan is to analyze the pixels in the user-created drawing and encrypt the content as the Visual Cryptography algorithm calls for.

As simple as this first bit of functionality is, it's surprisingly gratifying. Stay tuned for more fun.

No comments:

Post a Comment