The invention relates to the field of random number generators (or TRNG standing for “True Random Number Generator”), advantageously applied to the field of cryptography.
In the field of cryptography, a TRNG is a fundamental circuit used in many cryptographic primitives (generation of session keys, digital signature, masking, etc.). It ensures the unpredictable nature of the outputs of the primitive. Unpredictability is one of the mechanisms guaranteeing the security level of a cryptographic primitive. A TRNG is composed by three main blocks:
The entropy source of the TRNG may be made based on a ring oscillator (or RO standing for “Ring Oscillator”). The entropy source is often formed by several ROs operating in parallel and whose digitised outputs are applied on inputs of an Exclusive-OR (XOR) circuit in order to obtain at the output of this XOR a unique series of bits with random values. The role of the XOR is to improve the randomness and the correlation of each series of bits derived from each RO, considered independently. The number of ROs connected in parallel is sized so that the generated randomness is compliant with the expected standards.
A RO is composed by one or more (an odd number) inverter(s), each composed by a NMOS transistor and a PMOS transistor. All inverters are connected to the same power supply voltage VDD and to the ground GND.
In the case of a TRNG made from one or more RO(s), the randomness source of the TRNG is the jitter of the RO(s), i.e. the discrepancy between the theoretical period and the actual period of the output signal of the or each RO.
In practice, the jitter is a randomness composed by several sources of noises the most prevailing two of which are the thermal noise and the flicker noise. The thermal noise is perfectly white, i.e. non-correlated, and therefore contributes in the generation of a perfectly unpredictable randomness. On the contrary, the flicker noise is a self-correlated noise which induces predictability in the jitter.
Several recent constraints applying to cryptography affect the design of TRNGs. For example, the use of TRNGs in the field of light cryptography (IoT standing for “Internet of Things”) imposes a greater connectivity and a lower electrical consumption of the TRNGs. The increase of attacks, in number and in power, also increases the requirement on the quality of the TRNGs. Finally, the use of quantum computers for cryptography suggests the emergence of cryptographic systems with more significant constraints.
To date, for the generated randomness to be compliant with the expected standards (typically an entropy higher than 0.997 according to the standards of the AIS31 defined by the German Federal Office for information security (BSI)), the solution consists in using a total number of RO in a TRNG that is enough to meet these standards. Nonetheless, this solution is not satisfactory given the recent constraints exposed before. A physical model statistically describing the operation of the TRNG is required.
Thus there is a need to provide a random number generator, or TRNG, having a better assessment of the entropy which is calculated from the thermal component alone of the jitter, the other noise sources introducing errors in the calculation of the entropy.
For this purpose, one embodiment provides a random number generator, or TRNG, including at least one ring oscillator comprising at least one inverter formed by at least two FDSOI (“Fully Depleted Silicon-On-Insulator”) LVT (“Low Voltage Threshold”) transistors, one being of the NMOS type and the other one being of the PMOS type, further including a circuit for applying voltages on rear gates of the transistors configured to polarise the transistors in the FBB (“Forward Body Bias”) mode.
The direct polarisation of the wells of the transistors of the RO of the TRNG allows lowering the threshold voltage of these transistors. Yet, surprisingly and unexpectedly, this lowering of the threshold voltage of the transistors is reflected by a decrease in the flicker, or twinkle, noise for the same number of periods, which results in a shift of the point where the proportion of the thermal noise is maximum towards a larger number of periods. This results in increasing the quality of the calculation of the entropy of the signal outputted by the RO for a given number of oscillations, or change of values of this signal.
The FD-SOI type transistors are made in a FD-SOI type substrate having the particularity of having a silicon superficial layer in which the conduction channel and the source and drain regions of the transistors are formed, a final thickness of this channel being comprised between about 5 nm and 10 nm. The FD-SOI type substrate also includes a buried dielectric layer, or BOX (“Buried Oxide”), whose thickness is for example comprised between about 10 nm and 145 nm.
The transistors are of the LVT type, i.e. are such that the NMOS-type transistor(s) include(s), at the rear face and in contact with the BOX, a n-doped semiconductor well forming the rear gate(s) of these transistors, and that the PMOS-type transistor(s) include(s), at the rear face and in contact with the BOX, a p-doped semiconductor well forming the rear gate(s) of these transistors.
The polarisation of the transistors in the FBB mode means that the transistors are polarised, on their rear gate, such that the polarisation voltage applied on the rear gate of the NMOS transistor, or of each NMOS transistor, is positive and that the polarisation voltage applied on the rear gate of the PMOS transistor, or of each PMOS transistor, is negative.
The TRNG may be used in various fields, in particular that of embedded cryptography, for example in the fields of defence, industry, general-public electronics, etc.
In an advantageous embodiment, the random number generator may further include a circuit for detecting the maximum of the thermal noise present in a jitter of an output signal of the ring oscillator with respect to the flicker noise and to the quantisation noise present in the jitter of the output signal of the ring oscillator, configured to implement the following steps:
Advantageously, the circuit for applying voltages on the rear gates of the transistors may be configured to apply, on the rear gate of the PMOS transistor, a polarisation voltage with a value opposite to that applied on the rear gate of the NMOS transistor.
Advantageously, the circuit for applying voltages on the rear gate of the transistors may be configured to apply, on the rear gate of the NMOS transistor, a polarisation voltage with a value equal to a maximum limit value that the NMOS transistor withstands, and on the rear gate of the PMOS transistor, a polarisation voltage with a value equal to a minimum limit value that the PMOS transistor withstands.
The present invention will be better understood upon reading the description of embodiments given for purely indicative and non-limiting purposes with reference to the appended drawings wherein:
Identical, similar or equivalent portions of the different figures described hereinafter bear the same reference numerals so as to facilitate switching from one FIG. to another.
The different portions shown in the figures are not necessarily plotted according to a uniform scale, to make the figures more readable.
The different possibilities (alternatives and embodiments) must be understood as not being mutually exclusive and can be combined with one another.
A random number generator, TNRG, 100 according to a particular embodiment is described hereinbelow in connection with
The TRNG 100 includes a first circuit 102 forming a digitised entropy source, i.e. a sampled physical randomness source. This first circuit 102 includes at least one ring oscillator, RO, 104. When the first circuit 102 includes several ROs 104 operating in parallel, the digitised outputs of the RO 104 are preferably applied on inputs of an exclusive-OR (XOR) circuit in order to obtain at the output of this XOR a unique series of bits with random values.
The TRNG 100 also includes a post-processing circuit 106 receiving at the input the signal outputted by the first circuit 102 and intended to increase the rate or to modify the output of the entropy source. For example, the circuit 106 includes a PRNG.
The TRNG 100 also includes an embedded test circuit 108 receiving at the input the signal outputted by the first circuit 102 and intended to detect an anomaly in the operation of the TRNG 100 and to output possible warning signals.
Details of making of the circuits 106 and 108 are described for example in the document W. Killmann et al., AIS20/AIS31. “A Proposal for: Functionality Classes for Random Number Generators”, version 2.0.
An embodiment of the RO 104, or of one of the RO 104, of the TRNG 100 is described hereinbelow in connection with
In this example, the RO 104 includes an AND gate 110 provided with a first input on which an operating voltage VENB with a value corresponding to that of a logic state “1” is applied. The output of the AND gate 110 is coupled to the input of at least one inverter. In the example of
In the embodiment of
Alternatively, the RO 104 may include no AND gate 100 and/or frequency divider 114. Thus, the RO 104 may be formed by at least one inverter 112. Furthermore, it is also possible that the RO 104 includes one or more delay line(s) replacing one or more inverter stage(s), or that the RO 104 includes a NAND gate coupled to an even number of inverter stages and/or delay lines.
The inverter of each of the inverters RO 104 is formed by at least two FD-SOI LVT double-gate CMOS transistors intended to be polarised in the FBB mode during the operation of the TRNG 100.
The rear gates of the MOSFET transistors forming the inverters are controlled by voltages VN-WELL and VP-WELL applied on these.
The TRNG 100 also includes a circuit 128 for applying voltages VN-WELL and VP-WELL on the rear gate contacts 126.1 and 127.1 of the transistors 116.1, 117.1, configured to polarise the transistors 116.1, 117.1 in the FBB mode. This circuit 128 is shown in
Advantageously, the circuit 128 is configured to apply, on the rear gate of the PMOS transistor 117.1, a polarisation voltage with a value opposite to that applied on the rear gate of the NMOS transistor 116.1. Advantageously, these polarisation voltages have values equal to maximum (for the NMOS transistor) and minimum (for the PMOS transistor) limit values that the transistors 116.1, 117.1 withstand. For example, the voltage VN-WELL is equal to 1.8 V and the voltage VP-WELL is equal to −1.8 V. Furthermore, the values of the voltages VN-WELL and VP-WELL are selected such that VN-WELL−VP-WELL>−0.6 V in order not to make the diode formed between the doped regions 124.1 and 125.1 conducting, and such that VN-WELL−VP-WELL<6 V in order not to trigger the breakdown effect of this diode.
The TRNG 100 also includes a circuit 130 for detecting the maximum of the thermal noise present in the jitter of the output signal of the RO 104 with respect to the flicker noise and to the quantisation noise present in the jitter of the output signal of the RO 104.
The circuit 130 calculates an Allan variance V of the rise and descent times (also called “flip times”) of the signal outputted by the RO 104 according to the size of the measured sample, i.e. the number of oscillations N of the output signal. The calculated variance V corresponds to an Allan variance, as described for example in the document by P. Haddad et al., “On the assumption of mutual independence of jitter realisations in
P-TRNG stochastic models.”, Proceedings of Design, Automation and Test in Europe DATE 2014, March 2014, Dresden, Germany, pp. 1-6, or else in the document E. N. Allini et al., “Evaluation and monitoring of free running oscillators serving as source of Randomness”, IACR Transactions on Cryptographic Hardware and Embedded Systems I, 2018, Issue 3, pp. 214-242.
The curve 200 shown in
The calculated Allan variance V significantly depends on the characteristic parameters of the thermal noise, of the quantisation noise and of the flicker noise present in the jitter of the output signal of the RO 104. Indeed, this Allan variance V is quadratic depending on the size of the measured sample (i.e. of the number of oscillations of the output signal of the considered RO 104). In this Allan variance V, the linear component corresponds to the thermal noise, the quadratic component corresponds to the flicker noise, and the constant component corresponds to the quantisation noise (the noise floor). Consequently, by estimating the coefficients of these components of the calculated Allan variance V, it is possible to deduce therefrom the proportion between the flicker, quantisation and thermal noises in the jitter of the output signal of the RO 104.
Thus, starting from the previously-calculated Allan variance V, the circuit 130 then calculates a quadratic approximation, called Vapp, of the previously-calculated Allan variance V, in the form of an equation of the type Vapp=a0+a1·N+a2·N2. In this equation, the term a0 is representative of the quantisation noise, the term a1 is representative of the thermal noise, and the term a2 is representative of the flicker noise.
To determine the number of oscillations of the output signal of the RO 104 for which the thermal noise is maximised with respect to the flicker noise and to the quantisation noise, the circuit 130 calculates the number of oscillations Nth_max of the RO 104 such that Nth_max=√{square root over (a0/a2)}.
By making the RO 104 operate afterwards such that the output signal of the RO 104 includes a number of oscillations N=Nth_max, the contribution of the thermal noise in the jitter of the signal generated by the RO 104 is maximised with respect to the flicker and quantisation noises, which allows guaranteeing greater entropy of the TRNG 100. When N is less than Nth_max, the lower is N, the more significant will be the quantisation noise with respect to the thermal noise. When N is greater than Nth_max, the greater is N, the more significant will be the flicker noise with respect to the thermal noise.
The curves 204, 206 and 208 shown in
As a variant of the embodiment described hereinabove, when the RO 104 includes a chain with an odd number of inverters coupled in series, it is possible that one or more inverter(s) of this chain is replaced by another electronic circuit performing a function of inverting the signal applied at its input. Conversely, at least one amongst the inverters of this chain is formed by at least two FDSOI LVT double-gate CMOS transistors intended to be polarised in the FBB mode as described before.
Number | Date | Country | Kind |
---|---|---|---|
22 04633 | May 2022 | FR | national |