Chapter 10: Processes of Perception and Analysis

Section 10: Cryptography and Cryptanalysis

Digit sequence encryption

One can consider using as encrypting sequences the digit sequences of numbers obtained from standard mathematical functions. As discussed on page 139 such digit sequences often seem locally very random. But in many cases one can immediately tell how a sequence was made just by globally applying appropriate mathematical functions. Thus, for example, given the digit sequence of Sqrt[s] one can retrieve the key s just by squaring the number obtained from early digits in the sequence. Whenever a number x is known to satisfy Sum[a[i] f[i][x], {i, n}]==0 with fixed f[i] one can take the early digits of x and use LatticeReduce to find integer solutions for the a[i]. With f[i_]=(#^i&) this method allows algebraic numbers to be recognized. If no linear equation is satisfied by any combination of known functions of x, however, the method fails, and it seems quite likely that in such cases secure encrypting sequences can be generated, albeit less efficiently than with systems like cellular automata.

From Stephen Wolfram: A New Kind of Science [citation]