consumption results are analyzed for the digital generator. The basic design aims for ..... The worst case delay path through the circuit design, as given by the ...
A Digital Chaos Generator for Use Within Chaos Encrypted Communication Systems S. Amini, A.L. Steele Department of Electronics, Carleton University, Ottawa, ON Abstract — This paper presents the results of a digitally implemented chaos generator for use within a chaotically encrypted communication system. Simulation and power consumption results are analyzed for the digital generator. The basic design aims for speed that allows the chaos system to be operated at frequencies not achievable in the analog implementation. Index Terms — Chaos, synchronization, encryption, digital chaos, chaos encryption
I. INTRODUCTION Since the discovery of chaos synchronization [1], there has been an increasing interest in using chaotic signals to implement a level of security for communication systems. Chaotic encryption in hardware is relatively simple and therefore provides a level of security at low cost [2]. A major issue with chaotic systems; however, is their relatively low frequency of operation. Using discrete or fabricated analog blocks results in very low response times that limit the frequency at which such systems can operate sometimes as low as only a few KHz [3]. This paper gives an overview of chaotic systems, chaos synchronization and focuses on the Rössler chaotic system. The results of a digitally implemented Rössler th system using a 4 order Rung-Kutta approximation are then presented. The accuracy, frequency and power and area consumptions of the digital generator is then discussed and compared to an analog implementation.
III. RÖSSLER SYSTEM The Rössler system is a very famous system first studied by Otto Rössler, a German biochemist. It is comprised of three coupled differential equations as follows:
x = − y − z y = x + ay z = b + xz − cz
As it can be seen, this is a dynamic system – a change in one variable will affect the state of the system (value of x, y and z variables). The system, however, is also nonlinear due to the non-linear xz term in the third differential equation. If the values of the constants a, b, and c are chosen within a specific range, the output of each state variable against time appears to be random or chaotic. This is shown in Fig. 1. If the three state variables are plotted with respect to each other, in what is known as phase space, the properties of the chaotic system can be better demonstrated. As is shown in Fig. 2, the chaotic system is confined within a specific region in space but no lines ever cross each other.
II. OVERVIEW OF CHAOS SYSTEMS A chaotic system is a non-linear, dynamic system. A dynamic system is simply a set of functions (rules, equations) that specify how variables change overtime. A system is considered non-linear if one or more functions specifying the change in variables are non-linear. Based on this definition, a chaotic system has two very important characteristics. The system output appears to be random in the time domain. This randomness means that signal is not periodic and it does not converge or diverge to any value. However, the system is still deterministic.
(1)
Figure 1 : Time domain signal of Rössler System
Figure 3: Matlab simulation demonstrating synchronization Figure 2: Phase domain graph of Rössler System
IV. CHAOTIC SYNCHRONIZATION Chaotic systems have been known for the better part of the 20th century. The interesting characteristic of these systems is that for even the slightest difference in initial values, the system outputs differ vastly over time.
The output of the two systems (y variable) were then subtracted from each other and the result is shown in Fig. 4. As it can be seen, the two systems synchronize after a short period of time.
In 1990, however, two researchers, Louis Pecora and Thomas Carroll, discovered that it was possible for two chaotic systems with different initial conditions to synchronize to each other. The mathematics of synchronization are rather complex but the concept works on a master and slave configuration whereby taking the output of a master system as input to a slave system causes synchronization. To demonstrate the synchronization concept, a Matlab simulation was performed as shown in Fig. 3. The left hand side implements a Rössler master system with the differential equations of (1). The right hand side shows a slave system with output y of the master system fed into it. The two systems equations for the master and slave configuration would be as follows:
x = − y m − z m y = x m + ay m z = b + x m z m − cz m
It is important to note that not all state variables of a chaotic system can lead to synchronization. For the Rössler system, only x and y variables can achieve synchronization [4].
V. CHAOTIC ENCRYPTION (2)
x = − y s − z s y = x s + ay m z = b + xs z s − cz s
Figure 4: Difference between y state variables
Chaos encryption focuses on the fact that if a chaotic signal can be synchronized, then it can be used to hide a message. The random noise like shape of a chaotic system can be used to hide information while synchronization can be used to control chaos and extract information.
(3) Two types of encryption techniques are widely used. In chaos masking (Fig. 5, top), a chaotic signal is superimposed on top of a signal of interest and transmitted. The chaotic signal is in the order of several magnitudes higher than the data signal and as a result,
effectively “masks” the signal. At the receiver, the chaotic signal is subtracted leading to an extracted data signal.
speed of generating the chaotic signal leads directly to an increase in frequency of operation.
Figure 5: Chaos Masking (top) and Chaos Shift Keying (bottom)
In chaos shift keying, two chaotic signals are used to represent binary data. A simple detection mechanism is then used to determine the bits transmitted.
VI. HARDWARE IMPLEMENTATION ISSUES In order to achieve a chaos encryption system, the chaotic system at hand must be implemented in hardware. Most research in this area focuses on use of analog components for implementing such systems. Integration, subtraction, addition and division are simply implemented with the use of the versatile operational amplifier often the ubiquitous 741 version. The major limitation of such systems is speed however. A system based on CSK can only function at the rate at which synchronization can be detected. It turns out that this speed, depending on how the system is implemented, ranges in the KHz range [3]. A discrete analog implementation of the Rössler chaotic signal is shown in Fig. 6 [3],[5]. This topology would be used both at the receiver and the transmitter. An analog implementation is acceptable for certain applications such as FRS radios, wireless phones, car door openers, garage door openers, and access cards which operate at low frequencies and require a certain level of security [2]. Higher frequencies; however, are required for applications such as voice transmission. A possible method to overcome this limitation is to use a digitally implemented chaos function. The increase in
Figure 6: Analog implemented Rössler System [5], [6]
VII. DIGITAL IMPLEMENTATION In order to implement a chaotic function digitally, a numerical solution is required for integration. In general, commercial software such as Matlab or Mathematica, use numerical techniques such as Euler’s method or RungKutta in order to solve such equations. For the digitization of the Rössler, the 4th order Rung-Kutta method was used. The Euler method, although simpler, has a higher convergence time than the Rung-Kutta method. The Rung-Kutta method is rather involved and complicated, however, it offers the best robustness in terms of speed.
VIII. DESIGN FLOW A.Rung-Kutta Equations The 4th order Rung-Kutta equations for three coupled differential equations are as follows: 1 6 1 6
1 3 1 3
1 3 1 3
1 6 1 6
1 6
1 3 ,
,
1 3
B.Precision for Registers
,
2 2
, ,
2
,
2
2
,
,
, ,
2
Since the hardware implemented system used the 741 opamp, the values of the chaotic signal range from -10 to +10 due to the ±15 supply rails. This can be confirmed by running a Matlab simulations with a, b, c values chosen using the simulink schematic shown below.
,
,
2 2
,
,
2
,
2
,
,
,
2
,
2
, ,
,
2
, ,
transient time to chaos will differ based on the initial conditions [3].
1 6
,
2
,
,
2 2
, ,
,
2 2 ,
, ,
2 2
, Figure 7: Matlab simulation for Determining Register Sizes
,
2
The output of the y variable is shown in Fig. 7
,
The functions, F,G, H represent the individual derivatives. For the Rössler system, these are equivalent to: ,
,
,
,
,
,
,
,
,
For the Rössler system, the values of a, b and c must be chosen to create a chaotic system. A set of values that results in chaotic behavior is: 0.2, 0.2, and close to these).
5.7 (or any range of values
If a, b and c values are chosen correctly, the Rössler system will demonstrate chaotic behavior regardless of initial conditions for the x, y and z variables although the
Figure 8: Output of the y state variable for Rössler
As a result, 8 bit fractional two’s complement precision registers were used. The first bit represents the sign bit. The next bit represents 2 , 2 and so on until 2 .
C. Verilog implementation A verilog code was written to implement the Rung-Kutta method of estimation as shown by the equations above. Although these equations may seem daunting, they are simpler for the Rössler system, containing mainly subtraction and addition formulas with relatively few multiplications. The code was analyzed and synthesized using the Synopsys Design Analyzer, a kit from the Cadence analog design tool. D. Circuit Level Synthesis The synthesized schematic is shown in Fig. 8. It is important to note that the verilog code was not very well optimized and as a result the code and therefore the schematic can likely be improved.
process involved checking the output data and confirming that it is with the expected range (+10 to -10) and that it followed a sinusoidal curve as is the case for the y output variable of the Rössler system. Table 1 shows the output of the digital generator for several points in equal time intervals. Digital Code
Y Output
00101000
+5.000
10001010
-1.250
10110010
-6.250
00110110
+6.750
11000001
-8.125
01011011
+11.375
10100001
-4.125
00101100
+5.500
00010001
+2.125
10111010
-7.250
01010011
+10.375
10110010
-6.250
00101010
+5.250
Table 1: Digital Output of Circuit
To confirm that these values present the digitized y-output of the Rössler system, the data points were plotted and a spline interpolation method used to smooth the curve. This is shown in Figure 10.
Figure 9: Synthesized Circuit of Chaos Generator
IX. DESIGN ANALYSIS A.Verification of Functionality To verify the functionality of the circuit, a test bench was set up for analyzing the output signals. An issue with comparing the digital output of the chaotic signal to its analog counterpart is that there can never be a one to one correspondence made between digital and analog signals. This is the inherent characteristic of chaotic signals in general. As a result, the confirmation
Figure 10: Digital Output Plot with Spline Interpolation
As it can be seen by looking at the output of Fig. 8 and comparing it to Fig. 10, we can confirm the sinusoidal pattern as expected for the y-output of the Rössler system. This along with the fact that the values are within the expected range (±10) is a good indication that the RungKutta numerical technique gives a good approximation for the Rössler system.
B.Analysis
C. Comparison to the Analog Implementation
Operating Frequency
As it can be seen, the analog case takes less space and operates at a lower power than the digitally implemented system. The main advantage is of course its 600MHz operational frequency. At this frequency, the chaotic systems applications are greatly increased compared to the 50KHz frequency of the analog implementation.
The worst case delay path through the circuit design, as given by the Synopsys Design Analyzer, is 1.57 ns. This is equivalent to a threshold frequency of operation of: 1 637
VII. CONCLUSION
For an encryption system, the system operation frequency can be given by: 1 1
600
A functional chaos generator function has successfully been implemented in verilog. Compared to its analog version, the circuit takes more area, consumes more power but can operate at an extremely high frequency. As a result, any chaos encryption system built using chaotic signals can have a much broader application base. ACKNOWLEDGEMENT
This is based on the fact that the comparator’s delay should be negligible. Other Analysis Data The gate count, power consumption and area considerations for the circuit were obtained through reports from the Synopsys design tool and are presented in Table 2 below. The analog comparison is based on [3] and represents the circuit of Fig. 6.
Component
Digital
Gate Count
1200
Power Consumption
471 uW
Analog 120 300 uW
2
Area
0.450 cm
0.3 cm2
Operating Frequency
600 MHZ
50 KHz
Table 2: Comparison of Digital and Analog CSK systems
The author would like to thank Dr. Alan Steele and Dr. Leonard Maceachern of the Department of Electronics, Carleton University for their help and support. REFERENCES [1] L.M. Pecora, T.L. Carroll. “Synchronization in Chaotic Systems”, Physical Review Letters, vol. 68, no. 8, 1999. [2] S. Amini, “Security Analysis of Chaos Based Communication Systems”, B. Eng. thesis, Carleton University, Ottawa, ON, Canada, 2007. [3] S. Amini and J. Lam (2007), “A Chaos Based Transceiver for Low Frequency Wireless Applications”. IEEE Canada Wide Papers Competition, 45 pages. [4] L. M. Pecora, T. L. Carroll, G.A. Johnson, D. J. Mar. “Fundamentals of synchronization in chaotic systems, concepts, and applications”. Chaos, 7:520–543, December 1997. [5] T. L. Carroll, “A simple circuit for demonstrating regular and synchronized chaos,” American Journal of Physics, vol. 63 (4), pp. 377-379, April 1995. [6] J. Menezes, P. C. van Oorshot, and S. A. Vanstone. Handbook of Applied Cryptography. Boca Raton: CRC Press, pp. 225-226, 1996.