Randomness exists in several different forms. The term “pseudo-randomness” implies that there is an alternative form of randomness, which is free from the stigma of “pseudo”. This alternative form is often termed “pure” randomness. When asked to cite an example of pure randomness, most people will suggest the tossing of a coin. If, however, a person repeatedly tosses a coin under exactly the same conditions, then the outcome will be the same every time. The outcomes will not be random. But because it is impossible for the human nervous system to produce the necessary fine control of muscular activity, each “event” of coin tossing is unpredictably different from the previous. This is because the nature of coin tossing is highly dispersive. A small difference in input, such as a slight tremble of the hand, or a different stance, or the distracting noise of a passing car will have a large effect on output. The difference cannot be observed and measured, so it is not possible for a person “skilled in the art” of mathematics or physics to predict the next outcome.
This gives us a working definition of randomness: Randomness is the condition in which “a person skilled in the art” – or an entire university mathematics department – cannot predict the next number in a sequence, no matter how many previous numbers in the sequence are known. “Skill in the art” is an important consideration. In the politics of encryption the real judges are GCHQ. But even these august judges are subject to Jon von Neumann’s dictum: “Anyone who considers arithmetical methods of producing random numbers is, of course, in a state of sin”.
The HDX 3072 Encryption Algorithm used in CRYPTETO 3072 presents a challenge in the method of creating randomness. What is required is non-deterministic randomness. The “Master Key” is 12288-bits and therefore requires the generation of a stream of 3072 HEX numbers. The design problem is best described by a numerical example:
Suppose we have a “well designed” cipher such as the HFX40 bit stream cipher, which uses a 12-figure numeric key. By well-designed we mean one in which the least complex method of unraveling the cipher is to “key-crash” all possible keys. On the face of it HFX40 can be exhausted by one million, million trials i.e. all possible 12-figure numbers. But if the HFX40 algorithm is housed in a PC, and if the method of generating the key is to use the randomiser supplied with the CPU, then the “key-strength” is not the full 10^12, because the primitives which generate the randomizer may only be clock dependent to the nearest millisecond. This means that key strength is a mere 86,400,000 not 1,000,000,000,000, because only 86,400,000 distinct sets of 12 figures can be produced. Using the same randomizer on the HDX 3072 MASTER KEY would be totally catastrophic. It would reduce the key from 12288 bits to 26 bits!
Hawthorne Davies has developed a non-deterministic method for generating Master Keys. The aim is to create 10^ 3699 different keys. It does not matter if any one of these keys would fail a simple distribution test. What is important is that knowledge of the first 12200 hex numbers (for example) does not provide any clue to the remaining 88. If any mathematician wishes to investigate the claim that we achieve non-deterministic randomness, then the easiest method is to acquire a copy of CRYPTETO 3072 and carry out a full-scale analysis.