The second method investigated for generating keys for seeding the chaos oscilla- tors applied an EC software called Eureqa, developed by Lip Hodson and Michael Schmidt et al. in Cornell Creative Machines Lab, Nutonian.Inc [Stoutemyer, 2013], [Techniques, 1996]. The concept of EC first appeared in an MIT academic journal in 1993 [Bäck and Schwefel, 1993], where survival of the fittest algorithmic techniques mimicked Nature’s evolutionary selection process was discussed. Eureqa genetic algorithms try to fit equations to applied natural noise data using symbolic regres- sion using trigonometric, arithmetic, and exponential operator functions [Mckhann, 2011], [Schmidt and Lipson, 2009], [Gupta, Mittal, and Mittal, 2008]. Symbolic re- gression optimisation minimises a fitness function between input and output data by creating and rejecting up to 10 billion equations per second. The optimisation can be terminated when the evolved function almost matches the input signal.
4.3.1
Evolving Noise-Producing Functions in Eureqa
Figure 4.6 illustrates how Eureqa generates key-producing functions from natural
noise source4.
FIGURE4.6: Evolving noise and chaos functions in Eureqa.
Eureqa evolves a function to represent the noise [Haahr, 2010], [Haahr, 1999] and is a novel, highly-speculative idea, since true noise is stochastic. Nevertheless, noise- generating functions were produced for seeding chaos oscillators and for generat- ing OTP sequences. Block A shows natural noise downloaded from a trusted noise source and applied to Eureqa. Block B shows the noise imported into Eureqa’s spreadsheet to evolve a noise-producing function which could be used as a key.
Chapter 4. Keys for Seeding Chaos
Block C converts the evolved function into an iterative noise-producing function using Block D, which is a delay function. Block E converts the noise into pseudo- random sequences (pseudo-random because of digital finite state arithmetic). The Eureqa user-interface (UI) in Figure 4.7 shows a function evolving in the top left pane from input noise data.
FIGURE4.7: Eureqa evolving a new function from noise.
Eureqa required almost a day of processing using an Intel(R)-Core(TM) i3 CPU M330 @2.13 GHz processor. The FIT column changes colour from red through or- ange to green as a new function evolves. The evolutionary progress is displayed as an error function versus complexity in the bottom right pane. The evolving signal in the top right pane is shown superimposed on the input natural noise data.
4.3.2
Processing Evolved Functions in PSpice
The evolved functions were post-processed to produce an iterative function using a delay in an iterative loop. The nomenclature for the noise function is xn for the present value and xnd for the delayed value. The delay in digital signal processing (DSP) is x(n) and x(n-1) [Tobin, 2007c]. The evolved noise function is:
a∗cos(b∗xnd2+tan(c∗xnd) +sin(d∗xnd+cos(e+ f ∗xnd2)))
−g∗cos(h∗xnd2) (4.3)
Equating xn to equation (4.3) produces the iterative nonlinear equation in (4.4).
xn= a∗cos(b∗xnd2+tan(c∗xnd) +sin(d∗xnd+cos(e+ f ∗xnd2)))
The newly-evolved key function parameters are: a = 0.767, b = 0.465, c = 0.327, d = 2.353, e = 0.9189, f = 0.465, g = 27.8, h = 4.463. Figure 4.8 (a) shows the schematic with a delay and a PSpice ABM1 part containing the new post-processed multivariate iterative function equation ((4.4)).
FIGURE 4.8: (a) Simulating the evolved noise function using PSpice ABM parts (b) 1-bit ADC producing PRBS from the noise function.
The delay part developed by the author (see Chapter 7) connects the ABM1 part output to the input forming an iterative loop, where the equation coefficients and delay parameter are defined in a PSpice PARAM part. A PSpice LIMIT part in the loop was an important discovery as it allowed the simulation to continue, otherwise, the simulation would have stopped because of convergence problems. Figure 4.8 (b) shows an 8-bit ADC connected as a 1-bit ADC to the loop and converts the analogue noise signal to binary digits. The binary sequences are written to a text file using a PSpice VECTOR1 part attached as shown for statistical analysis at a later stage. The top left pane in Figure 4.9 (a) shows the random binary sequence produced by the evolved function.
FIGURE4.9: (a) Eureqa random binary sequence (b) Eureqa noise Spec- trum (c) Eureqa Noise (d) A noise attractor (xn v xnd).
Chapter 4. Keys for Seeding Chaos
The evolved noise signal and corresponding wideband spectrum are plotted in the bottom left pane in Figure 4.9 (b) and (c). The noise attractor in Figure 4.9 (d) is a plot
of xnd v xn5and is similar to a true noise attractor showing no correlation between
past and present values.
4.3.3
Limitations of Eureqa
The Eureqa method for seeding chaos produced PRBS and has many applications in cryptography. This method, however, was deemed not suitable for the local encod- ing applications outlined in Chapter 2 for the following reasons:
• Generates pseudo-random sequences because of finite state arithmetic, • Costs are levied when Eureqa is used commercially, and
• Overall lack of control for generating noise functions.
In the next section, a radial basis neural network was investigated as an alternative method for overcoming some of the limitations listed.
4.3.4
Generating Noise Functions using Neural Networks
A Radial Basis neural network (NN) was researched for evolving noise-producing functions in a similar fashion to Eureqa, and the results were published [Blackledge, Bezobrazov, and Tobin, 2015]. Nevertheless, this technique didn’t address the prob- lem of finite arithmetic but did overcome the last two reasons listed above. Although not used in the present prototype encoder, one solution for overcoming finite state arithmetic is to implement the NN using an analogue design comprising memris- tance as the NN variable weight (see Chapter 5).
4.3.5
Final Choice of Seed
Two methods were investigated for creating keys to seed the prototype chaos oscil- lators. The Eureqa and ANN methods produced PRBS from a digital platform and have valid applications but were not chosen because of the reasons stated previ- ously. The prototype used sampled electronic noise from a data receiver and hence qualified the generated sequences as TRBS.
4.4
Chapter Conclusion
Two methods for creating keys for seeding chaos were discussed in this chapter. The first method used audio noise from a data receiver which was sampled ran- domly to prevent successful cryptanalysis using an external periodic signal injected into the data receiver from adversaries corrupting the initialising random noise. The second method applied natural noise to Eureqa to generate a noise-producing func- tion which can be used as a source of random binary signals, or as a seed for chaos systems but this method generated PRBS only. Both techniques have applications in cryptography, but only the first method was used in the prototype for encoding sensitive medical and legal data as explained in Chapter 2. Some of the problems as- sociated with using Eureqa as a noise seed source for chaos systems were addressed by researching and creating, a Radial basis ANN, but again this method only gener- ated PRBS.
5 Methods for Generating OTPs
“Radio has no future. Heavier-than-air flying machines are impossible. X-rays will prove to be a hoax”. William Thomson, Lord Kelvin British scientist
5.1
Chapter Overview
Two further techniques were investigated for generating OTPs. The first technique employs a new circuit device called memristance, the missing circuit element pro- posed in 1971 by Professor Leon Chua [Chua, 1971]. Several models of memris- tance were simulated in PSpice and added to the Chua chaos oscillator investigated in Chapter 3 to generate OTP sequences. An emulated memristor built from stan- dard circuit components, replaced the negative resistance, ‘Chua diode’, in a Chua chaos oscillator [Muthuswamy and Kokate, 2009]. The second technique employs a fractional-order (FO) Lorenz chaos oscillator system to generate OTP and is similar to the method used in Chapter 3.