Robert P. Munafo, 1996 Dec 4.

It has probably occurred to some that the Mandelbrot Set could be used as part of an encryption scheme. Various approaches can be taken; the common principle is using Mandelbrot Set iteration as a pseudo-random sequence generator. The details involve which basic type of encryption algorithm is being used and how that algorithm uses a pseudo-random sequence to encrypt and decrypt.

As an example, we can use the simple "XOR with a fixed one-time key" approach. In this type of encryption, a key (which is a very large set of random numbers) is transmitted via a secure channel (e.g. by courier), and the plaintext is XORed with the key before transmission. By using a pseudo-random sequence for the key, you don't have to securely transmit as much data, just the starting parameters for the sequence.

Mandelbrot Set iteration is difficult to use for encryption because:

- It has to be predictable: the iterations at both end have to come out the same so that the same sequence is generated. The IEEE math standard greatly reduces the unknowns here but it's still an issue that needs to be examined closely.

- There are non-random statistical properties: Mandelbrot iterations are not totally random. An iterate is related to its previous and next iterations, and to the iterates of neighboring points. Any Mandelbrot image, now matter how much it looks like random noise or "snow", actually contains a statistically noticable fraction of pixels that have certain dwell values. (The commonly occuring values are always near multiples of the periods of the lowest-period mu-atoms in the image and nearby the image.) Whenever a non-random sequence is XORed with plaintext, some of the statistical properties of the plaintext remain in the cyphertext, and this can be used to crack the code.


aboutcontact    mrob    news    @mrob_27    mrob27