EP1573509A2 - Systeme et procede de generation de nombres aleatoires purs - Google Patents
Systeme et procede de generation de nombres aleatoires pursInfo
- Publication number
- EP1573509A2 EP1573509A2 EP03772477A EP03772477A EP1573509A2 EP 1573509 A2 EP1573509 A2 EP 1573509A2 EP 03772477 A EP03772477 A EP 03772477A EP 03772477 A EP03772477 A EP 03772477A EP 1573509 A2 EP1573509 A2 EP 1573509A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- frequency
- counter
- oscillator
- shifter
- stages
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
Definitions
- the present invention relates to a method for providing a true random number generator. More particularly, the present invention relates to a system and method for providing an entirely digital and/or digitally synthesizable true random number generator for incorporation on integrated circuits (IC) using any standard logic synthesis tool or comparable technique.
- IC integrated circuits
- Random number generation is employed in a variety of applications, including for example, computer security, cryptography, audio systems testing, bit error testing and secure communications.
- Current efforts in the area of random number generation typically require an analog oscillator to obtain frequency variance, or metastable flip flops to provide an unpredictable pattern, or analog circuitry to filter and amplify thermal noise, or some combination of each.
- TRNGs true random number generators
- the system and method comprise providing at least a counter, a shifter, a first oscillator for cooperating with the counter, a second oscillator for cooperating with the shifter, and a microprocessor for cooperating with each of the aforesaid components.
- the system and method of the present invention provides for the generation of a random number without the use of analog clocks or metastable configurations because the generating clocks of the present invention are digitally controlled ring oscillators designed with frequency perturbation based on digital (high or low) input signals thereby allowing random frequencies to be generated from truly digital signals. Accordingly, random numbers can be generated using simple counters and shifters. TRNGs designed using the system and method of the present invention can be synthesized for incorporation on an IC using any standard logic synthesis tool or comparable technique.
- Fig. 1 is a block diagram of a system in accordance with an illustrative embodiment of the present invention
- Fig. 2 is a block diagram of another illustrative embodiment of the present invention.
- Fig. 3 is a schematic diagram of a true random number generating circuit in accordance with an illustrative embodiment of the present invention
- Fig. 4 is a flow chart of one method for providing a true random number in accordance with the present invention.
- Ring oscillators typically have an odd number of gates that are connected in series to form a ring, and in some cases a gate of such ring oscillators may have as an input a combination of outputs of other gates in the ring. Ring oscillators can be sampled at a certain point to provide a random or a pseudo random number.
- TRNGs can provide random numbers and/or pseudo random numbers, it is realized by those in the art that many of these TRNGs can be periodic in nature and consequently generate numbers that are less random than desirable. Further, as it is desirable to efficiently incorporate TRNGs on a chip or an IC so as to not require special components on the chip or IC to generate random numbers, a system that is relatively compact and that dissipates relatively small amounts of power is desirable.
- system 10 can accommodate at least a 2 Mbits/sec (62,500 numbers per second) rate while providing unpredictable/non-deterministic number generation, and can optionally operate with or without a seed value.
- System 10 is preferably biased against long runs of digital 0's and digital l's.
- System 10 preferably can also have a sleep mode to reduce required power requirements.
- System 10 has at least one counter 20 for generating bits, at least one shifter 30 for scrambling bits, at least one first oscillator 40 for cooperating with said at least one counter 20, at least one second oscillator 50 for cooperating with said at least one shifter 30, and a microprocessor 60 for cooperating with each of the aforesaid components to provide a frequency perturbation based on digital input signals.
- Counter 20 preferably has an initialization register for receiving an initialization bit value 5, the bit value preferably being inserted at a trailing edge of an initialization write of microprocessor 60.
- Counter 20 is preferably a 32-bit up counter.
- counter 20 can also be 16-bit up counter and a 16-bit down counter, and/or any other comparable type of counter suitable for accomplishing the above-identified objects of the present invention. If the 16-bit counters are used, the outputs thereof may be interleaved into shifter 30. Shifter 30 preferably being a barrel shifter, and more particularly a 32-bit barrel shifter. Shifter 30 can be any other comparable type of shifter suitable for accomplishing the above-identified objects of the present invention.
- First and second oscillators 40 and 50 are preferably ring oscillators each having a differing odd number of stages, first oscillator 40 preferably being a 5-stage oscillator and second oscillator 50 preferably being a 7-stage oscillator.
- first and second oscillators 40 and 50 can also be any other comparable type of oscillator sufficient to accomplish the above-identified objects of the present invention.
- First and second oscillators 40 and 50 can preferably be constructed from a combination of inverters, AND gates, NAND gates, NOR gates, XOR gates, and/or any other similar type components. Refer generally to Fig. 3 for one illustrative embodiment of system 10 employing an illustrative combination of components in accordance with the present invention.
- system 10 can preferably include a whitening filter and/or a linear feedback shift register (“LFSR") 70 between shifter 30 and microprocessor 60. This arrangement preferably facilitates using a counter value to modify an output of shifter 30.
- LFSR 70 can have any number of stages appropriate for accomplishing the above-identified objectives of the present invention.
- System 10 can also include a one- hot shift selector 80 between second oscillator 50 and shifter 30.
- Fig. 4 is a flow chart of one method for providing a true random number in accordance with an illustrative embodiment of the present invention generally represented by reference numeral 100. Method 100 comprising at least the steps of 110, 120, 130 and 140.
- Step 110 is to utilize at least one counters 20 to generate bits.
- counter 20 is initialized by a write from microprocessor 60 to an initialization register of the counter, the microprocessor having some rate or frequency.
- counter 20 is clocked by first oscillator 40 at a rate or frequency that is preferably chip dependent on the physical characteristics of the components used to form the first oscillator and asynchronous to that of the microprocessor.
- Step 120 is to utilize at least one shifter 30 to scramble bits.
- shifter 30 cooperates with counter 20, shifter 30 being continuously spun by second oscillator 50 at a rate or frequency asynchronous to that of counter 20 and microprocessor 60.
- the shifter rate or frequency is faster than that of the microprocessor.
- Step 130 is to utilize oscillators 40 and 50 to simultaneously cooperate with counter 20 and shifter 30, respectively.
- Step 140 is to cross couple asynchronous frequency control bits for oscillators 40 and 50 from counter 20 and shifter 30. Accordingly, it is preferable that when microprocessor 60 reads a random number having a certain number of bits, such as for example 32 bits, shifter 30 will preferably inputs a current counter 20 value and shift it by a current shift count (e.g. 0 to 31). Preferably, as the frequencies of each of components (i.e., the counter, the shifter and the microprocessor) are asynchronous to each other, a non- predictable pattern of bit numbers is returned to the microprocessor.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Manipulation Of Pulses (AREA)
- Pulse Circuits (AREA)
- Oscillators With Electromechanical Resonators (AREA)
- Networks Using Active Elements (AREA)
Abstract
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US43134102P | 2002-12-05 | 2002-12-05 | |
| US431341P | 2002-12-05 | ||
| PCT/IB2003/005265 WO2004051458A2 (fr) | 2002-12-05 | 2003-11-18 | Systeme et procede de generation de nombres aleatoires purs |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP1573509A2 true EP1573509A2 (fr) | 2005-09-14 |
Family
ID=32469604
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP03772477A Withdrawn EP1573509A2 (fr) | 2002-12-05 | 2003-11-18 | Systeme et procede de generation de nombres aleatoires purs |
Country Status (6)
| Country | Link |
|---|---|
| EP (1) | EP1573509A2 (fr) |
| JP (1) | JP2006509286A (fr) |
| KR (1) | KR20050084153A (fr) |
| CN (1) | CN1720501A (fr) |
| AU (1) | AU2003280091A1 (fr) |
| WO (1) | WO2004051458A2 (fr) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1887459B1 (fr) | 2004-10-15 | 2010-09-29 | Nxp B.V. | Circuit intégré à générateur de vrais nombres aléatoires |
| CN100505540C (zh) * | 2004-11-24 | 2009-06-24 | 中国科学院物理研究所 | 一种产生真随机数的方法及其装置 |
| CN100461089C (zh) * | 2006-03-15 | 2009-02-11 | 中兴通讯股份有限公司 | 一种随机数的产生方法 |
| CN100458685C (zh) * | 2006-05-26 | 2009-02-04 | 北京中星微电子有限公司 | 产生随机数的装置及方法 |
| US8676870B2 (en) | 2007-09-18 | 2014-03-18 | Seagate Technology Llc | Active test and alteration of sample times for a ring based random number generator |
| CN103885747B (zh) * | 2014-02-27 | 2017-01-11 | 浙江大学 | 低功耗随机数发生器 |
| KR101630791B1 (ko) | 2015-03-27 | 2016-06-16 | 황순영 | 의사 난수로부터 진성 난수를 생성하는 방법 및 이 방법을 컴퓨터상에서 실행할 수 있는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 |
| JP2024027025A (ja) * | 2022-08-16 | 2024-02-29 | 国立大学法人北海道大学 | メモリ回路及び双安定回路並びにメモリ処理方法 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4855690A (en) * | 1987-08-10 | 1989-08-08 | Dallas Semiconductor Corporation | Integrated circuit random number generator using sampled output of variable frequency oscillator |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5065256A (en) * | 1987-09-21 | 1991-11-12 | Fuji Photo Film Co., Ltd. | Method of and apparatus for processing image signal |
| JPH02242327A (ja) * | 1989-03-15 | 1990-09-26 | Oki Electric Ind Co Ltd | 乱数発生装置 |
| JP2002268874A (ja) * | 2001-03-07 | 2002-09-20 | Toshiba Corp | 乱数シード生成回路及びこれを備えたドライバ、並びに、sdメモリカードシステム |
| JP4521708B2 (ja) * | 2001-03-12 | 2010-08-11 | ルネサスエレクトロニクス株式会社 | 乱数生成装置 |
-
2003
- 2003-11-18 JP JP2004556611A patent/JP2006509286A/ja active Pending
- 2003-11-18 CN CNA2003801052696A patent/CN1720501A/zh active Pending
- 2003-11-18 WO PCT/IB2003/005265 patent/WO2004051458A2/fr not_active Ceased
- 2003-11-18 EP EP03772477A patent/EP1573509A2/fr not_active Withdrawn
- 2003-11-18 KR KR1020057010124A patent/KR20050084153A/ko not_active Withdrawn
- 2003-11-18 AU AU2003280091A patent/AU2003280091A1/en not_active Abandoned
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4855690A (en) * | 1987-08-10 | 1989-08-08 | Dallas Semiconductor Corporation | Integrated circuit random number generator using sampled output of variable frequency oscillator |
Non-Patent Citations (1)
| Title |
|---|
| See also references of WO2004051458A3 * |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20050084153A (ko) | 2005-08-26 |
| JP2006509286A (ja) | 2006-03-16 |
| WO2004051458A2 (fr) | 2004-06-17 |
| AU2003280091A1 (en) | 2004-06-23 |
| CN1720501A (zh) | 2006-01-11 |
| WO2004051458A3 (fr) | 2004-12-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8150900B2 (en) | Random number generation based on logic circuits with feedback | |
| US6480072B1 (en) | Method and apparatus for generating random numbers | |
| US8209367B2 (en) | Random number generator | |
| JP3696209B2 (ja) | シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器 | |
| ATE254775T1 (de) | Schneller zufallszahlengenerator | |
| US20130346459A1 (en) | Method for generating random numbers | |
| KR950009450A (ko) | 데이타 동기 시스템 및 방법 | |
| CN111124363B (zh) | 一种真随机数生成方法及真随机数发生器 | |
| EP1573509A2 (fr) | Systeme et procede de generation de nombres aleatoires purs | |
| JPH06509200A (ja) | 乱数発生装置並びに方法 | |
| JP4417389B2 (ja) | デジタルロジックを利用した乱数発生装置及び方法 | |
| JP5171420B2 (ja) | 擬似乱数生成装置 | |
| CN100359803C (zh) | 随机数产生器中的随机变化模拟偏压信号装置 | |
| JP5119417B2 (ja) | 擬似乱数生成装置 | |
| US9116764B2 (en) | Balanced pseudo-random binary sequence generator | |
| Mehra et al. | Design of hexagonal oscillator for true random number generation | |
| Stefanou et al. | High speed array of oscillator-based truly binary random number generators | |
| EP1660988B1 (fr) | Generateur materiel d'ecarts homogenes et gaussiens mettant en oeuvre des circuits de correction analogiques et numeriques | |
| JP6886700B2 (ja) | 乱数生成回路 | |
| Sekhar et al. | An Efficient Pseudo Random Number Generator for Cryptographic Applications | |
| Williams et al. | A Novel Pentagonal Ring Oscillator as a True Random Number Generator | |
| US20060198479A1 (en) | Data synchronizer system | |
| Krishnamurthy et al. | Variable Duty Cycle Pulse Generation for Low Complexity Randomization in Machine Learning | |
| CN119210403A (zh) | 信号传送系统以及信号传送方法 | |
| KR100194578B1 (ko) | 디지털 회로로 구성된 2.5 분주장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20050705 |
|
| AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR |
|
| AX | Request for extension of the european patent |
Extension state: AL LT LV MK |
|
| DAX | Request for extension of the european patent (deleted) | ||
| RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: LESTER, BILLC/O NXP SEMICONDUCTORS Inventor name: EHRHARDT, JACKC/O NXP SEMICONDUCTORS Inventor name: MITCHUM, SAMC/O NXP SEMICONDUCTORS |
|
| 17Q | First examination report despatched |
Effective date: 20070215 |
|
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NXP B.V. |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20080520 |