1. Field of Invention
The present invention relates to a chaotic circuit suitable for truly random number generation, and more particularly to a truly random number generating circuit based on charge redistribution of capacitors.
2. Description of the Related Art
Random numbers are widely used in simulation, testing and communications, especially in information security. Some applications, such as cryptography, require secure random numbers, which is neither predicted in spite of any knowledge of preceding numbers in the sequence, nor are deduced when succeeding numbers are known.
In general, there are two basic types of generators: pseudo-random number generators (PRNGs) and random number generators (RNGs), which are also called truly random number generators (TRNGs) to be distinguished from PRNGs.
PRNGs are deterministic algorithms capable of generating sequences that appear random-like from many aspects and pass nearly all statistical tests. Many applications prefer PRNGs because they can be implemented with fast and simple software routine. However, they are periodic and deterministic at the same time, and predictable when having sufficient computer power. That is, security to PRNGs completely depends on complexity of algorithms. Nowadays, PRNGs are inappropriate when ultimate security is required.
In contrast with PRNGs, the randomness of TRNGs comes from intrinsically random physical process, such as thermal noise and radioactive decay. TRNGs convert the randomness of a physical process into a sequence of discrete random variables, most usually binary ones, and derive the desired distribution from them.
The core of a TRNG is an unpredictable and unmeasurable random physical process. But in circuit, it is difficult to find such a random and feasible physical process, which is a must when designing a TRNG circuit. Several phenomena are known to be available for circuit, such as thermal noise of a resistor that is most often used. Because precise amplifiers are needed to measure thermal noise, it is not easy to reduce chip size and power consumption.
In recent years, rapid progress has been made in nonlinear science, and it is found that implementation of chaotic behavior is also suitable for circuit especially for VLSI. Chaotic systems are thus desired to be used as sources of physical randomness based on an on-chip design complying with small core size and low power consumption.
A random number generating circuit for VLSI purpose is provided in this present invention. The random number generating circuit mainly includes four capacitors and eight switches that are controlled by two-phase non-overlapping clock signals, the first clock signal and the second clock signal. The random number generating circuit further includes an operational amplifier coupling to the aforementioned capacitors/switches network, and a chain of two inverters coupled to the operational amplifier and the capacitors/switches network. The two clock signals turn on the switches alternatively. When the first clock signal turns on, the four capacitors are charged by the inverter chain that performs piecewise function, and the operational amplifier that connected as a unity gain buffer. When the second clock signal turns on, some switches are connected and thus charges are redistributed. Voltage at the output terminal of the operational amplifier is then a function of its previous value in time domain.
According to the law of conservation of charges, when the circuit eventually reaches equilibrium after the second clock signal turns on, the voltage at the output terminal of the operational amplifier is:
where (n+1) referring to current status, n referring to previous status, where n being a positive integer.
That is, voltage at the output terminal of the operational amplifier is an iterated piecewise linear map when the first clock signal and the second clock signal switches alternatively. Therefore a discrete dynamical system is generated by the continuous cycles of such an iterated map.
To make the circuit chaotic, the parameters are chosen to satisfy 1<b<2, bVt−aVOH<Vt<bVt−aVOL. The binary sequence outputted at the output terminal of the operational amplifier is random. To achieve higher entropy rate, value of b close to 2 is preferred. Parameter a and b are determined by ratios of the four capacitors, but the absolute values are not insignificant. Smaller capacitors obtain faster speed, smaller area, less power consumption, and meanwhile larger parameter errors caused by mismatch and parasitical effect.
The random number generating circuit in this present invention is fabricated in a 0.8 μm CMOS technology. A core size of the random number generating circuit based on the feature size is less than 60×70 μm2. And a simulation by HSpice of the random number generating circuit shows the current of power dissipation is less than 200 μA at a power supply voltage of 5V and at a clock frequency of 1 MHz.
Therefore, a chaotic circuit suitable for VLSI is provided in this present invention, which is better at area and power consumption than prior technologies. Uncertainty demanded by cryptography is provided according to the random number generating circuit in the present invention. It can be used as a source of randomness of truly random number generator with an appropriate algorithm that could derive uniform distributed sequence from bit stream at the inverter chain output.
Referring to
A detail network description of the random number generating circuit is introduced hereinafter. The capacitor 111 is coupled to a ground and a node 101. The capacitor 113 is coupled to a node 102 and a node 103. The third capacitor 115 is coupled to a node 104 and a node 105. And the fourth capacitor 117 is coupled to a node 106 and the ground. The switch 121 is coupled to the node 101 and a node 107 and controlled by the clock signal CLK1. The switch 122 is coupled to the node 101 and 102 and controlled by the clock signal CLK2. The switch 123 is coupled to the node 102 and the ground and controlled by the clock signal CLK1. The switch 124 is coupled to the node 103 and the node 104 and controlled by the clock signal CLK2. The switch 125 is coupled to the node 103 and the node 107 and controlled by the clock signal CLK1. The switch 126 is coupled to the node 105 and the node 106 and controlled by the clock signal CLK2. The switch 127 is coupled to the node 104 and the output terminal of the second inverter 136, which is also the data output terminal of the random number generating circuit, and controlled by the clock signal CLK1. The switch 129 is coupled tot he node 105 and the ground and controlled by clock CLK1.
Moreover, the operational amplifier 132 has a negative input terminal coupling to the node 107, a positive input terminal coupling to the node 106, and an output terminal coupling to the node 107. The first inverter has an input terminal coupling to the node 107, and an output terminal coupling to a node 108. The second inverter has an input terminal coupling to the node 108, and an output terminal being the data output of the random circuit generating circuit in this present invention.
The two clock signals CLK1 and CLK2 are two phase non-overlapping clock signals, which turn on switches alternatively. When CLK1 turns on, four capacitors are charged by the inverter chain 134 and 135 that so that a piecewise function of voltage is provided, and the operational amplifier 132 performs as a unity gain buffer. When CLK2 turns on, switches 122, 124, and 126 are connected and thus charges are redistributed. Voltage at node 107 is a function of its previous value thereby.
According to the law of conservation of charge, when the random number generating circuit reaches equilibrium after CLK2 turns on, the voltage at node 107 is:
for 1<b<2, bVt−aVOH<Vt<bVt−aVOL, where (n+1) referring to current status, n referring to a previous status, where n being a positive integer.
Notice that although the operational amplifier has a gain of unity, the accuracy requirement of the random generating circuit of this present invention is low, i.e., the gain of the operational amplifier is not necessary to be unity. Any number being about unity is within the scope of the present invention.
Also notice that the approach to implement a piecewise linear map chaotic behavior is based on charge redistribution of capacitors. A much less area and power consumption is thus obtained, for circuit is simplified as opposed to circuits that include resistors and other devices in prior technologies. Since the parameters of the circuit in this present invention mainly depend on the ratio of capacitance, fabrication of the circuit is thus easier to be controlled in VLSI technology.
It is to also to be noted that more number of capacitors can apply to the random number generating circuit in this present invention for a more complicated map. Any block implementing an iterated map other than piecewise linear map is also within the scope of the present invention; therefore the inverter chain can be replaced.
Although the invention has been described with reference to a particular embodiment thereof, it will be apparent to those skilled in the art that modifications to the described embodiment may be made without departing from the spirit of the invention. Accordingly, the scope of the invention will be defined by the attached claims and not by the above detailed description.