CN101510150B - 随机数产生装置 - Google Patents
随机数产生装置 Download PDFInfo
- Publication number
- CN101510150B CN101510150B CN200910080156.4A CN200910080156A CN101510150B CN 101510150 B CN101510150 B CN 101510150B CN 200910080156 A CN200910080156 A CN 200910080156A CN 101510150 B CN101510150 B CN 101510150B
- Authority
- CN
- China
- Prior art keywords
- random number
- counter
- generating apparatus
- sampling
- number generating
- 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.)
- Expired - Fee Related
Links
- 238000005070 sampling Methods 0.000 claims abstract description 55
- 230000000737 periodic effect Effects 0.000 claims description 3
- 230000010355 oscillation Effects 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
Abstract
本发明公开了一种随机数产生装置,其包括有环形振荡器、计数器、采样器和计时器。其中环形振荡器用于向计数器发送时钟脉冲信号,计数器对输入的时钟脉冲信号的周期进行计数,并将计数结果输出给采样器。计时器用于设定预定时间,当设定时间到达后,其会向采样器发出采样指令。采样器则会对输入的计数结果进行采样,然后将采样获得的数据输出,即为产生的随机数。本发明利用利用计数器去体现环形振荡的jitter特性以及采样器的亚稳态特性使得其对输入的脉冲信号周期进行计数具有很大的随机性。
Description
技术领域
本发明涉及一种随机数装置,尤其是一种集成电路领域内涉及的随机数产生装置。
背景技术
随着电子系统的发展与广泛应用,在电子系统中使用的随机数也得到越来越广泛的应用。在这些应用中,尤其是在保障安全的加密算法中,随机数的产生至关重要。随机数源自随机噪声的存在,把这种随机噪声数字化以后,就可以产生随机的数字。随机数字具有不可预测性和不可重复性。
随机数的产生方法目前有很多种,例如,其可以是利用软件编程的方法产生。具体可以是使用java、VB等编程语言进行程序编写,然后运行程序即可产生随机数。此类方法比较简单。
使用软件编程的方法产生随机数,虽然简单,但是其有一个问题就是,如果反复执行程序,即可得到同样的随机数。若是这样,则产生的随机数则不是真正意义的随机数,而是伪随机数。若产生伪随机数则就没有意义,若其应用于加密方面,则就会导致加密失败。
因此,亟待提出一种新的随机数装置,以解决现有技术中的缺点。
发明内容
有鉴于此,本发明的一个目的在于提供一种随机数产生装置。
为了达到上述目的,本发明的一个实施方式提供了一种随机数产生装置,其包括有环形振荡器、计数器、采样器和计时器。其中所述环形振荡器包括有若干个缓冲器和一个反相器,其向计数器输入周期脉冲信号。计数器记录输入的脉冲信号周期的数值并将其输出给采样器。计时器用于设定预定时间,当预定时间到达时,其向采样器发出采样指令,采样器则对由计数器输入的数值进行采样并输出,输出的数据即为其产生的随机数。
进一步的,在不同实施方式中,计数器为一个二位计数器,其包括有两个触发器、一个非门元件和一个异或门元件。环形振荡器分别与两个触发器连接,非门元件和异或门元件分别与一个触发器连接,并各自输出一位数值。
进一步的,在不同实施方式中,计数器对输入脉冲信号周期的计数获得的数值为二进制数值。
进一步的,在不同实施方式中,该随机数产生装置包括有若干个环形振荡器和与之匹配连接的计数器;每个计数器均与采样器连接并向其输入数值,供其采样。
进一步的,在不同实施方式中,采样器包括有触发器,其使用触发器进行输入数值的采样,并将采样获得的数值输出。
进一步的,在不同实施方式中,采样器的触发器包括有数据端和输出端,其使用数据端进行输入数据的接收和采样,并使用输出端进行数据输出。
进一步的,在不同实施方式中,采样器的触发器的数量对应于计数器中触发器的数量。
进一步的,在不同实施方式中,该随机数产生装置还包括有一个脉冲信号输出装置,其分别与采样器和计时器连接。
进一步的,在不同实施方式中,计时器设置有一个复位信号,每次其计时开始之前,复位信号即会启动使其设置复位于初始状态。
进一步的,在不同实施方式中,采样器的运行时钟脉冲信号频率与环形振荡器产生的时钟脉冲信号频率是不一样的。
相对于现有技术,本发明涉及的随机数产生装置利用了环形振荡的jitter特性、触发器的亚稳态特性以及异步复位信号漂移的特性有效的保证了产生数字的随机性、不可重复性和不可预测性。并且生成随机数所需要的数字电路资源较少,不需要模拟器件,而是利用了数字电路固有的一些模拟特性去实现随机数的产生。
附图说明
图1是本发明的一个实施方式涉及的随机数产生装置的逻辑结构图;
图2图为1中涉及的环形振荡器的逻辑结构图;
图3为图2中涉及的环形振荡器产生的周期时钟脉冲信号示意图;
图4为图1中涉及的计数器的逻辑结构图;
图5为图1所示的采样器的采样原理图;
图6为本发明的又一个实施方式涉及的随机数产生装置的逻辑结构图。
具体实施方式
请参阅图1所示,本发明的一个实施方式涉及的一种随机数产生装置100,其包括有环形振荡器110、计数器120、采样器130、计时器140和振荡器150。其中环形振荡器110与计数器120连接,计数器120与采样器130连接;采样器130与计时器140连接;振荡器150同时与计时器140和采样器130连接。
如图2所示,环形振荡器(ring oscillator,ROC)110由N-1个(本实施方式中,N=5)缓冲器(buffer)和一个反相器114构成。如图3所示,其产生时钟周期为T的时钟脉冲信号(OSC),并将其输送给计数器120。使用环形振荡器,使得本发明可以完全采用数字电路的方式,而不需引入模拟器件来产生随机数。
如图4所示,计数器120,在本实施方式中,其为一个标准的二位计数器,由两个触发器124、128和一个非门元件122和一个异或门元件126,每个触发器和一个非门元件或异或门元件连接并构成一个计数输出。输入的由环形振荡器110输出的时钟脉冲信号分别输入给两个触发器,两个触发器分别对输入的时钟脉冲信号周期进行计数并输出CNT[1]、CNT[0]。在这个实施方式中,输出的数值的计数方式为二进制。
如图5所示,采样器150包括有两个触发器132,每个触发器132包括有用于输入数据的数据端(D端)131、数据输出的输出端(Q端)133、接收控制命令的控制端(en端)135和接收脉冲信号的输入端137。其中数据端131用于接收计数器120输出的数值并进行数据采样。输出端133用于输出数据。控制端135用于接收计时器140发出的控制指令。脉冲信号输入端137用于接收由振荡器150输出的时钟脉冲信号。
当工作时,环形振荡器110开始启动振荡输出一定频率的时钟脉冲信号给计数器120,计数器则对输入的时钟脉冲信号的周期进行计数,其计数的方式可以是记录输入的时钟脉冲信号的上升沿的数量,但由于采用二进制,其输出的数值只会在00、01、10、11间变化。采样器130接收输入的这些数值,其会选择在一个预定的时间对这些输入的数值进行采样。这个预定的时间即时由计时器140控制,并由计时器140发出采样指令,采样器130在接收到采样指令后,其会在数据端131进行采样,并将采样结果由输出端135输出。这个输出结果也将在00、01、10、11间变化。
另外,计时器140具有复位信号设置,在每次采样器130采样之后,计时器140都会进行复位操作,以备下次采样操作。对于输入时钟脉冲信号给采样器130和计时器140进行运行的振荡器150,其并不局限于振荡器,其可以是任何具有输出时钟脉冲频率功能的器件。其输出的时钟脉冲信号频率与环形振荡器输出的时钟脉冲信号频率不同。
由于输出的二位的随机数在数量上过于少,只有4个数值选择输出。即使考虑到的采样器130的触发器在采样时的亚稳态特性(即由于其采样时钟和等待采样的计数器信号是异步,其输出端输出的数值并不一定就是其数据端采样获得数值,其会被很多因素所影响,具有很大的不确定性)以及计时器140复位操作后发出的采样信号在时间上的偏移性,两位随机数的可用性也并不是很大。
请参阅图6所示,本发明涉及的又一个实施方式中的随机数产生装置200,其包括有若干组环形振荡器210和计数器220及采样器230、计时器240和振荡器250。其中各组件间的连接关系由于与前述类似,故此处不再赘述。
由图中可以看出,每组环形振荡器与计数器的组合(图中虚线方框所示)都能向采样器输出一组两位数值,由于环形振荡器与计数器的组合可根据需要任意设定,例如,如果有两组环形振荡器和计数器,则其可输出4位的随机数,这时,输出上就会有16个数值的选择。以此类推,采样器可进行采样的数值的位数就是成2倍数增加,而可输出的数值选择就是以2的几何次方进行增长,并无限制。这样,由于位数的增加,在加上以上说明的两点特征,产生并输出的随机数将会具有极大的随机性,若位数够多,基本上每次输出的随机数是不能被预测的,也不会发生重复。
另外,还有一点需要被考虑到,就是由于环形振荡器自身存在的抖动效应(jitter特性)。这会导致即使结构完全相同的两个环形振荡器在输出时,其开始输出时钟脉冲周期信号的时间点是不同的,而且脉冲信号的周期也是有差别的。因此,也就会导致不同组的计数器,接收到的环形振荡器输出的时钟周期脉冲信号的时间不同,那么,在经过同样一定时间后,不同组的计数器计数获得的输入的时钟周期的数值也是不同的。
因此,本发明利用了环形振荡器的jitter特性、触发器的亚稳态特性以及异步复位信号漂移的特性有效的保证了产生数字的随机性、不可重复性和不可预测性。并且生成随机数所需要的数字电路资源较少,不需要模拟器件,而是利用了数字电路固有的一些模拟特性去实现随机数的产生。
Claims (10)
1.一种随机数产生装置,其特征在于,其包括有环形振荡器、计数器、采样器和计时器;其中所述环形振荡器包括有若干个缓冲器和一个反相器,其向计数器输入周期脉冲信号;所述计数器记录输入的脉冲信号周期的数值并将其输出给采样器;所述计时器用于设定预定时间,当预定时间到达时,其向所述采样器发出采样指令;所述采样器则对由所述计数器输入的数值进行采样并输出,所述输出数据即为其产生的随机数。
2.根据权利要求1所述的随机数产生装置,其特征在于,所述计数器为一个二位计数器,其包括有两个触发器、一个非门元件和一个异或门元件;所述环形振荡器分别与两个触发器连接,非门元件和异或门元件分别与一个触发器连接,并各自输出一位数值。
3.根据权利要求2所述的随机数产生装置,其特征在于,所述计数器对输入脉冲信号周期的计数获得的数值为二进制数值。
4.根据权利要求1所述的随机数产生装置,其特征在于,其包括有若干个环形振荡器和与之匹配连接的计数器;每个计数器均与采样器连接并向其输入数值,供其采样。
5.根据权利要求1所述的随机数产生装置,其特征在于,所述采样器包括有触发器,其使用触发器进行输入数值的采样,并将采样获得的数值输出。
6.根据权利要求5所述的随机数产生装置,其特征在于,所述采样器的触发器包括有数据端和输出端,其使用数据端进行输入数据的接收和采样,并使用输出端进行数据输出。
7.根据权利要求6所述的随机数产生装置,其特征在于,所述采样器的触发器的数量对应于所述计数器中触发器的数量。
8.根据权利要求1所述的随机数产生装置,其特征在于,其还包括有一个脉冲信号输出装置,其分别与所述采样器和所述计时器连接。
9.根据权利要求1所述的随机数产生装置,其特征在于,所述计时器设置有一个复位信号,每次其计时开始之前,复位信号即会启动使其设置复位于初始状态。
10.根据权利要求1所述的随机数产生装置,其特征在于,所述采样器的运行时钟脉冲信号频率与所述环形振荡器产生的时钟脉冲信号频率是不一样的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910080156.4A CN101510150B (zh) | 2009-03-24 | 2009-03-24 | 随机数产生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910080156.4A CN101510150B (zh) | 2009-03-24 | 2009-03-24 | 随机数产生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101510150A CN101510150A (zh) | 2009-08-19 |
CN101510150B true CN101510150B (zh) | 2014-12-31 |
Family
ID=41002555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910080156.4A Expired - Fee Related CN101510150B (zh) | 2009-03-24 | 2009-03-24 | 随机数产生装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101510150B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375722B (zh) * | 2010-08-09 | 2014-07-09 | 中国科学技术大学 | 一种真随机数生成方法及发生器 |
DE102012210990A1 (de) * | 2012-06-20 | 2013-12-24 | Robert Bosch Gmbh | Verfahren zum Erzeugen von Zufallszahlen |
US9762217B2 (en) | 2013-07-15 | 2017-09-12 | Institute of Microelectronics Chinese Academy of Sciences | Random sampler adapted to one-dimension slow-varying signal |
CN104679475A (zh) * | 2013-11-29 | 2015-06-03 | 上海华虹集成电路有限责任公司 | 真随机数产生电路 |
CN106291148A (zh) * | 2015-05-20 | 2017-01-04 | 中芯国际集成电路制造(上海)有限公司 | 测试电路及其测试方法 |
CN105119484B (zh) * | 2015-09-06 | 2017-10-24 | 北京兆易创新科技股份有限公司 | 一种电荷泵电路 |
US10331410B2 (en) * | 2016-11-09 | 2019-06-25 | Google Llc | Hardened random number generator with ring oscillator collapse time random truncation |
CN106775583B (zh) * | 2016-11-18 | 2019-03-05 | 杭州电子科技大学 | 一种高速真随机数的产生方法 |
CN109245883A (zh) * | 2018-09-21 | 2019-01-18 | 深圳市德名利电子有限公司 | 一种随机数发生器及随时数产生方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752924A (zh) * | 2005-08-18 | 2006-03-29 | 上海微科集成电路有限公司 | 基于振荡器的真随机数发生器 |
CN101038541A (zh) * | 2006-03-15 | 2007-09-19 | 中兴通讯股份有限公司 | 一种随机数的产生方法 |
CN101290566A (zh) * | 2003-06-24 | 2008-10-22 | 株式会社瑞萨科技 | 具备环形振荡电路的随机数产生装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10142340A (ja) * | 1996-11-08 | 1998-05-29 | Tsuyusaki Tomoko | 乱数発生装置と暗号化装置 |
JP4251759B2 (ja) * | 2000-05-19 | 2009-04-08 | Okiセミコンダクタ株式会社 | 乱数発生回路 |
JP2002215030A (ja) * | 2001-01-17 | 2002-07-31 | Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd | 乱数発生方法 |
US8805905B2 (en) * | 2007-09-18 | 2014-08-12 | Seagate Technology Llc | On-line randomness test for restart random number generators |
-
2009
- 2009-03-24 CN CN200910080156.4A patent/CN101510150B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290566A (zh) * | 2003-06-24 | 2008-10-22 | 株式会社瑞萨科技 | 具备环形振荡电路的随机数产生装置 |
CN1752924A (zh) * | 2005-08-18 | 2006-03-29 | 上海微科集成电路有限公司 | 基于振荡器的真随机数发生器 |
CN101038541A (zh) * | 2006-03-15 | 2007-09-19 | 中兴通讯股份有限公司 | 一种随机数的产生方法 |
Non-Patent Citations (2)
Title |
---|
JP特开2001-331306A 2001.11.30 * |
真随机数发生器设计;龚红;《CNKI中国知网》;20071011;第36,42-43页 * |
Also Published As
Publication number | Publication date |
---|---|
CN101510150A (zh) | 2009-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101510150B (zh) | 随机数产生装置 | |
US7376687B2 (en) | Pseudo-random number generator | |
US8892616B2 (en) | Device and method for generating a random bit sequence | |
CN102007470B (zh) | 用于产生随机比特序列的装置和方法 | |
US20150077279A1 (en) | Time-to-digital converter | |
KR101987141B1 (ko) | 난수 발생기 | |
US20130346459A1 (en) | Method for generating random numbers | |
US10698030B1 (en) | Precise transmission medium delay measurement | |
CN103839590A (zh) | 存储器时序参数的测量装置、方法及存储器芯片 | |
US11888480B2 (en) | Method and apparatus for synchronizing two systems | |
US9830130B2 (en) | Random number generator | |
Fujieda | On the feasibility of TERO-based true random number generator on Xilinx FPGAs | |
US9582249B2 (en) | Method for monitoring the output of a random generator | |
EP1662375B1 (en) | Random number generator and method for testing the generator | |
CN102204095A (zh) | 定时发生器和测试装置以及测试速率的控制方法 | |
CN101539847B (zh) | 随机数产生装置及其方法 | |
CN102622205B (zh) | 随机数发生器 | |
CN107678731A (zh) | 一种基于fpga的高频异步随机数发生器 | |
Walker et al. | Evaluating metastability in electronic circuits for random number generation | |
Bucci et al. | A fully-digital chaos-based random bit generator | |
CN111124363B (zh) | 一种真随机数生成方法及真随机数发生器 | |
CN110945372A (zh) | 用于检测电信号中的至少一个毛刺的方法和用于实施该方法的装置 | |
CN111782179B (zh) | 一种真随机数发生器 | |
US20150019605A1 (en) | Method for assessing an output of a random number generator | |
CN202512560U (zh) | 随机数发生器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141231 Termination date: 20200324 |