The Laws of Cryptography:
The logistic Lattice as a
Random Number Generator

by Neal R. Wagner

Copyright © 2001 by Neal R. Wagner. All rights reserved.

NOTE: This site is obsolete. See:

Here is a program implementing the logistic lattice in two dimensions. This code shows the results of three parallel runs, with the viscosity constant v equal to 0, 10-12, and 10-13. The code below does two steps of the equation at a time, for testing and demonstration purposes, since the variable NSTEP gets set to 1. An actual implementation would use NSTEP = 60, for 120 iterations.

Here is the function step for the second version of the equation that handles symmetries in the initial numbers.

If all initial numbers are the same, all node values will remain the same. In the run shown below, all nodes were set to 0.5 except for one which was set to 0.4999999999999. The resulting output is shown for three values of v in three columns below: 0.0, 10-12, and 10-13. The value v = 0 would leave all nodes independent of one another, that is, just 9 independent logistic equations. Iterations 2, 48, 74, 100, and 120 are shown.

Notice that after 120 iterations, all node values in the middle column have drifted completely apart. This is the reason that 120 iterations are used in the generator itself.

Notice also that the initial value of 0.5 is transformed to itself by the remapped logistic equation. (This corresponds to 0.75 in the original equation.) This value is then transformed to 0.8333333... by the transformation S that yields numbers uniformly distributed in the interval from 0 to 1.


Revision date: 2002-02-02. (Please use ISO 8601, the International Standard.)