Latching electronic circuit for random number generation
Abstract
A physical random number generator has a bi-stable latch that operates to generate a random number bit in response to a reception of one or more voltage input signals and a clock signal. A voltage source provides the voltage input signal(s) for provoking the bi-stable latch into a metastable state. A clock provides the clock signal for triggering the bi-stable latch. When triggered, the bi-stable latch latches the random number bit as a function of its metastable state provoked by the voltage input signal(s).
Term
Term ended
Projected expiry passed 14 July 2023, 3.2 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
19 claims: 3 independent, 16 dependent
- 1Claims of equivalent WO 2004012156 A2 CLAIMS 1. A physical random number generator, comprising:a bi-stable latch;a voltage source operable to provide one or more voltage input signals for provoking said bi-stable latch into a metastable state;and a clock operable to provide a clock signal for triggering said bi-stable latch, wherein said bi-stable latch is operable to latch a random number bit in response to a triggering of said bi-stable latch by the clock signal, the random number bit being a function of a provoking of said bi-stable latch into the metastable state by the one or more voltage input signals .
- 10A physical random number generating system, comprising:a plurality of random number generators operable to provide a plurality of random number bits;a logic circuit operable to provide a system random number bit in response to a reception of the plurality of random number bits;and wherein a first random number generator includes a bi-stable latch, a voltage source operable to provide one or more voltage input signals for provoking said bi-stable latch into a metastable state, and a clock operable to provide a clock signal for triggering said bi-stable latch, wherein said bi-stable latch is operable to latch a first random number bit in response to a triggering of bi-stable latch by the clock signal, the random number bit being a function of a provoking of said bi-stable latch into the metastable state by the one or more voltage input signals .
- 1819. A method of operating a bi-stable latch of a physical random number generator, said method comprising:receiving one or more voltage input signals for provoking the bi-stable latch into a metastable state;receiving a clock signal for triggering the bi-stable latch;and latching a random number bit in response to triggering of the bi-stable latch, the random number bit being a function of a provoking of the bi-stable latch into the metastable state by the one or more voltage input signals.
Independent claims3
22 paragraphs in 1 section, as filed
Description of equivalent WO 2004012156 A2
LATCHING ELECTRONIC CIRCUIT FOR RANDOM NUMBER GENERATION
The present invention generally relates to physical random number generators (i.e., a device that generates a bit or bits representative of a number by operating one or more components of the device in an undeterminable manner). The present invention specifically relates to an operational efficiency of a physical random number generator that facilitates an incorporation of the physical random number generator within various types of electronic devices .
FIG. 1 illustrates one possible way to provoke a metastable state of a bi-stable latch via one or more inputs to the bi-stable latch. When a voltage level of each input of the bi-stable latch equals or exceeds a high logic voltage level V<sub>HL</sub>, each output of the bistable latch can be pre-determined with a high degree of certainty (i.e., a stable state). Similarly, when a voltage level of each input of the bi-stable latch equals or is lower than a low logic voltage level V<sub>LL</sub>, each output of the bi-stable latch can again be pre-determined with a high degree of certainty. Conversely, when a voltage level of any input of the bistable latch is between the high logic voltage level V<sub>HL</sub> and the low logic voltage level V<sub>LL</sub> (i.e., an indeterminate range), each output of the bi-stable latch can't be pre-determined with any degree of certainty (i.e., the metastable state).
The present invention provokes a metastable state of a bi-stable latch as a basis of a physical random number generator. Various aspects of the present invention are novel, non-obvious, and provide various advantages. While the actual nature of the present invention covered herein can only be determined with reference to the claims appended hereto, certain features, which are characteristic of the embodiments disclosed herein, are described briefly as follows.
One form of the present invention is a physical random number generator comprising a voltage source, a clock, and a bi-stable latch. The voltage source operates to provide one or more voltage input signals for provoking the bi-stable latch into a metastable state. The clock operates to provide a clock signal for triggering the bi-stable latch. The bi-stable latch operates to latch a random number bit in response to a triggering of the bi-stable latch by the clock signal, the random number bit being a function of a provoking of the bi-stable latch into the metastable state by the voltage input signal(s). The foregoing form as well as other forms, features and advantages of the present invention will become further apparent from the following detailed description of the presently preferred embodiments, read in conjunction with the accompanying drawings. The detailed description and drawings are merely illustrative of the present invention rather than limiting, the scope of the present invention being defined by the appended claims and equivalents thereof.
FIG. 1 illustrates a graphic view of a data voltage range for provoking a metastable state of a bi-stable latch;
FIG. 2 illustrates a block diagram of a basic embodiment of a physical random number generator in accordance with the present invention;
FIG. 3 illustrates a schematic diagram of a first embodiment of a physical random number generator in accordance with the present invention;
FIG. 4 illustrates a schematic diagram of a second embodiment of a physical random number generator in accordance with the present invention; FIG. 5 illustrates a schematic diagram of a third embodiment of a physical random number generator in accordance with the present invention;
FIG. 6 illustrates a schematic diagram of a fourth embodiment of a physical random number generator in accordance with the present invention; and
FIG. 7 illustrates a block diagram of a basic embodiment of a physical random number generation system in accordance with the present invention.
FIG. 2 illustrates a physical random number generator 10 (hereinafter "PRNG 10") comprising a conventional voltage source 20, a conventional clock 30, and a conventional bi-stable latch 40. The voltage source 20 provides a voltage input signal V<sub>ΓN</sub> having a logic voltage level for provoking the bi-stable latch 40 into a metastable state. The clock 30 provides a clock signal CS for triggering the bi-stable latch 40 (e.g., an edge triggering or a level triggering). Upon each triggering of the bi-stable latch 40 by the clock signal CS, the bi-stable latch 40 latches a random number bit RNB as a function of its metastable state provoked by the voltage input signal V<sub>ΓN</sub> provided by the voltage source 20. Alternatively, when triggered, the bi-stable latch 40 can latch the random number bit RNB as a function of its metastable state being provoked by a plurality of voltage input signals V<sub>Γ</sub> provided by the voltage source 20.
The randomness of a logic voltage level of the random number bit RNB as a zero (e.g., a low logic voltage level V<sub>LL</sub> as shown in FIG. 1) or a one (e.g., a high logic voltage level V<sub>HL</sub> as shown in FIG. 1) is based on the internal noise of the bi-stable latch 40 (e.g., thermal-junction-, shot- or other types of noise as well known in the art). This kind of metastable behavior by the bi-stable latch 40 is provoked by the voltage input signal V<sub>ΓN</sub> having a logic voltage level within an indeterminate range of the bi-stable latch 40, such as, for example, an indeterminate logic voltage level V^as shown in FIG. 1. Preferably, the logic voltage level of the voltage input signal V<sub>IN</sub> is around a median of the indeterminate range of the bi-stable latch 40. When the bi-stable latch 40 is triggered, the metastable state of the bi-stable latch 40 functions to latch the random number bit RNB with a logic voltage level reflective of whether the logic voltage level of the voltage input signal V<sub>ΓN</sub> is considered by the bi-stable latch 40 to equate to the low logic voltage level V<sub>LL</sub> or to the high logic voltage level V<sub>HL</sub>-
The number of configurations of the voltage source 20, the clock 30 and the bistable latch 40 in accordance with the present invention is without limit. Additionally, a communication of the voltage input signal V<sub>IN</sub> by the voltage source 20 to the bi-stable latch 40 and a communication of the clock signal CS by the clock 30 to the bi-stable latch 40 can be achieved in numerous ways (e.g., electrically, optically, acoustically, and/or magnetically). The number of embodiments of the PRNG 10 in accordance with the present invention is therefore essentially limitless. The following description herein of four embodiments of PRNG 10 as illustrated in
FIGS. 3-6 are premised on an operational specification directed to a common temperature dependence of the voltage source 20 and the bi-stable latch 40. Such common temperature dependence can be best achieved by employing standard library cells of the voltage source 20 and the bi-stable latch 40 on the same chip. Furthermore, short electrical coupling between the voltage source 20 and the bi-stable latch 40 prevents non-random signals to influence the random behavior of the bi-stable latch 40. The short electrical coupling can also be achieved by employing the voltage source 20 and the bi-stable latch 40 on the same chip.
FIG. 3 illustrates a physical random number generator 11 (hereinafter "PRNG 11") as one embodiment of PRNG 10 (FIG. 1). The PRNG 11 comprises a bi-stable latch in the form of a D-type flip-flop 41 (hereinafter "flip-flop 41") having a data input D electrically coupled to a voltage source in the form of a resistor Rl and a resistor R2 configured as a voltage divider. The flip-flop 41 also has a clock input electrically coupled to the clock 30 as shown. The resistors Rl and R2 are electrically coupled to a supply voltage Vss to thereby generate voltage input signal VIN- The resistive values of resistor Rl and R2 are selected to generate the voltage input signal V<sub>ΓN</sub> with a logic voltage level for provoking flip-flop 41 into a metastable state. Upon each triggering of the flip-flop 41 by the clock signal CS, the flip-flop 41 latches random number bit RNB at a data output Q as a function of its metastable state provoked by the voltage input signal V<sub>IN</sub>. In an alternative embodiment of PRNG 11, a JK flip-flop can be employed in lieu of flip-flop 41.
FIG. 4 illustrates a physical random number generator 12 (hereinafter "PRNG 12") as another embodiment of PRNG 10 (FIG. 1). The PRNG 12 comprises flip-flop 41 having the data input D electrically coupled to a voltage source in the form of capacitor C that is charged and discharged at a high switching frequency by a conventional pulse generator 21 and a tri-state gate 22. The high frequency charging and discharging of the capacitor C generates voltage input signal V<sub>IN</sub> with a logic voltage level for provoking the flip-flop 41 into a metastable state. Upon each triggering of the flip-flop 41 by the clock signal CS, the flip-flop 41 latches random number bit RNB at the data output Q as a function of its metastable state provoked by the voltage input signal V<sub>I</sub> - In an alternative embodiment of PRNG 12, a JK flip-flop can be employed in lieu if flip-flop 41.
FIG. 5 illustrates a physical random number generator 13 (hereinafter "PRNG 13") as another embodiment of PRNG 10 (FIG. 1). The PRNG 13 comprises flip-flop 41 having the data input D electrically coupled to a voltage source in the form of a CMOS transistor Tl and a CMOS transistor T2 for generating voltage input signal V<sub>I</sub> with a logic voltage level for provoking the flip-flop 41 into a metastable state. Upon each triggering of the flip-flop 41 by the clock signal CS, the flip-flop 41 latches random number bit RNB at the data output Q as a function of its metastable state provoked by the voltage input signal V<sub>IN</sub>. In an alternative embodiment of PRNG 13, a JK flip-flop can be employed in lieu if flip-flop 41.
FIG. 6 illustrates a physical random number generator 14 (hereinafter "PRNG 14") as another embodiment of PRNG 10 (FIG. 1). The PRNG 14 comprises flip-flop 41 having the data input D electrically coupled to NAND gate 26 for providing voltage input signal V<sub>I</sub> to the flip-flop 41. At least one of the inputs of the NAND gate 25 is electrically coupled to an output of the NAND gate 25 to provide a negative DC feedback whereby voltage input signal V<sub>ΓN</sub> has a logic voltage level for provoking the flip-flop 41 into a metastable state. Upon each triggering of the flip-flop 41 by the clock signal CS, the
* • flip-flop 41 latches random number bit RNB at the data output Q as a function of its metastable state provoked by the voltage input signal V<sub>JN</sub>. In an alternative embodiment of PRNG 11, a JK flip-flop can be employed in lieu if flip-flop 41 and other logic circuit configurations can be employed in lieu of NAND gate 25.
Referring to FIGS. 3-6, in one embodiment, the clock signal CS is provided to the flip-flop 41b in a manner that honors a setup time and a hold time associated with a proper triggering of the flip-flop 41 as is well known in the art. To intensify the metastable state of the bi-stable latch (40) provoked by the voltage input signal V<sub>IN</sub>, the clock signal CS can alternatively be provided to the flip-flop 41 in a manner that violates either the setup time and/or the hold time of the flip-flop 41, and/or the clock signal CS can alternatively be provided to have an influence the voltage input signal V<sub>ΓN</sub>, such as, for example, via cross talk or a load change in the supply voltage. In practice, a PRNG 10 (FIG. 1) having an exactly matched temperature and supply voltage dependencies will rarely be achieved, if ever. Also, the manufacturing tolerances of the PRNG 10 can have imbalances whereby the PRNG 10 could generate the random number bit RNB as a zero significantly more often than producing the random number bit RNB as a one, or vice-versa. FIG. 7 illustrates a physical random number generating system 50 employing a plurality of PRNG 10ι-10 electrically coupled to logic circuit 51 (e.g., a multi-input XOR gate) to thereby provide a plurality of random number bits RNBi- RNBx to the logic circuit 51. In response thereto, the logic circuit 51 will provide a system random number bit SRNB that is sufficiently insensitive to any of the plurality of PRNG 10ι-10χ producing corresponding random number bits RNBι-RNBχ as a constant bit stream. As long as any one of the PRNG 10ι-10χ produces random bits, the resulting system random number bit SRNB will also be random. On a VLSI chip, integrating several hundreds of slightly different PRNG 10χ is feasible and the resulting bit stream will be highly unpredictable.
From the description of PRNG 10-13 and system 50, one skilled in the art will appreciate various benefits of the present invention. One benefit of the present invention is the facilitation of an easy implementation of a low power and relatively inexpensive physical random noise generator. While the embodiments of the present invention disclosed herein are presently considered to be preferred, various changes and modifications can be made without departing from the spirit and scope of the present invention. The scope of the present invention is indicated in the appended claims, and all changes that come within the meaning and range of equivalents are intended to be embraced therein.
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US8583712B2 | Cited by | United States of America | Applicant |
15 members in 8 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 205231 | United States of America | – | |
| 20523102 | United States of America | A | |
| 20523102 | United States of America | A | |
| 0303231 | International Bureau of the World Intellectual Property Organization (WIPO) | W | |
| 0303231 | International Bureau of the World Intellectual Property Organization (WIPO) | W | |
| 205231 | – | – | – |
| IB2003003231 | – | – | – |
| US20020205231 | – | – | – |
| WO2003IB03231 | – | – | – |
Members15
| Document | Office | Kind | |
|---|---|---|---|
| US2004019617A1 | United States of America | A1 | |
| WO2004012156A2 | World Intellectual Property Organization (WIPO) | A2 | |
| AU2003247073A1 | Australia | A1 | |
| AU2003247073A8 | Australia | A8 | |
| WO2004012156A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1527384A2This record | European Patent Office (EPO) | A2 | |
| CN1672126A | China | A | |
| JP2005534115A | Japan | A | |
| EP1527384B1 | European Patent Office (EPO) | B1 | |
| AT341026T | Austria | T | |
| ATE341026T1 | Austria | T1 | |
| US7124155B2 | United States of America | B2 | |
| DE60308689D1 | Germany | D1 | |
| DE60308689T2 | Germany | T2 | |
| CN100468317C | China | C |
56 legal events, as 6 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal feeWithdrawnR119 | R119 | DE | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Fr: translation filedET | ET | EP | |
| Transmission of propertyTP | TP | FR | |
| Patent ceasedCeasedPL | PL | CH | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents actLapsedNLV1 | NLV1 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)732E | 732E | GB | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Corresponds to:REF | REF | EP | |
| European patents granted designating irelandGrantedFG4D | FG4D | IE | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Request for extension of the european patent (deleted)DAX | DAX | EP | |
| Information on inventor provided before grant (corrected)RIN1 | RIN1 | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1527384
- Publication, DOCDB
- 1527384
- Publication, EPODOC
- EP1527384
- Application
- 3771229
- Application, DOCDB
- 03771229
- Application, EPODOC
- EP20030771229
Titles3
- German
- SPEICHERSCHALTKREIS ZUR ZUFALLSZAHLENGENERIERUNG
- English
- LATCHING ELECTRONIC CIRCUIT FOR RANDOM NUMBER GENERATION
- French
- CIRCUIT DE VERROUILLAGE ELECTRONIQUE POUR LA GENERATION DE NOMBRES ALEATOIRES
Classification
- CPC, 2
- G06F7/588
- H03K3/84
- IPC, 5
- G06F1 02
- G06F7 58
- G07C15 00
- H03K3 037
- H03K3 84
Designated states31
- Contracting states, 27
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Hungary
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Romania
- Sweden
and 3 moreShow fewer
- Slovenia
- Slovakia
- Türkiye
- Extension states, 4
- Albania
- Lithuania
- Latvia
- North Macedonia