Jason Cawley
Wolfram Science Group
Phoenix, AZ USA
Registered: Aug 2003
Posts: 712 |
Visual Encryption
John Bailey describes a simple scheme of visual encryption on his website, here -
http://home.rochester.rr.com/jbxroa...ual_crypto.html
It is easy to impliment this is Mathematica, and it seems a somewhat NKS subject, which might be of interest to people here. The attached notebook illustrates the procedure, with the recognizable rule 90 from simple initial conditions nested pattern as a sample signal.
First I show it using a purely random array as the "mask", as Bailey intended. Next to get a bit more NKS-ee, I use instead rule 90 from a random seed (which would reduce the provided "key" to the rule number, seed, and a number of steps), and last show it with a block of cells from within the rule 30 pattern evolved from a single black cell. All that is necessary to specify the mask in the last case is therefore the offsets used. This example is largely a way of showing how to use the fourth argument to the built in CellularAutomaton function, keeping only a specific offset "window".
That may seem like a considerable gain in the simplicity of the mask specification, to go from an entire array of 1s and 0s to the rule and two offsets. But actually, one could provide just the seed to use for "Random" when generating the mask as a random array, so in either case one can provide the key in a simpler form than the full array. You just provide the "recipe" for "cooking up" the key. Internally, Mathematica gets the series of 1s and 0s that result from the successive calls to Random that makes from a CA, just a little more elaborately than this.
I hope this is interesting.
Attachment: imageencryptionexample.nb
This has been downloaded 1740 time(s).
Report this post to a moderator | IP: Logged
|