CN102622205B - 随机数发生器 - Google Patents
随机数发生器 Download PDFInfo
- Publication number
- CN102622205B CN102622205B CN201210060818.3A CN201210060818A CN102622205B CN 102622205 B CN102622205 B CN 102622205B CN 201210060818 A CN201210060818 A CN 201210060818A CN 102622205 B CN102622205 B CN 102622205B
- Authority
- CN
- China
- Prior art keywords
- frequency divider
- shift register
- ring oscillator
- linear shift
- control module
- 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.)
- Active
Links
Landscapes
- Manipulation Of Pulses (AREA)
Abstract
本发明涉及随机数发生器,其特征在于:包括线性移位寄存器、控制模块、环形振荡器、分频器;所述的控制模块与线性移位寄存器、环形振荡器、分频器连接,用于采集线性移位寄存器输出的第一随机序列出并传递给环形振荡器;所述环形振荡器与分频器连接,接收第一随机序列并向分频器输出方波信号,翻转分频器的输出值;所述的控制模块还用于采集分频器的输出值传递给线性移位寄存器;所述的线性移位寄存器异或第一随机序列与分频器的输出值,形成第二随机序列输出。全部采用数字逻辑单元,电路实现容易,而且可以兼容不同的CMOS集成电路工艺节点,具有普遍的实用性。
Description
技术领域
本发明涉及集成电路领域,尤其涉及随机数发生器。
背景技术
在信息安全领域,加解密信息用到的密钥,以及信息填充时常常都需要用到随机数。一个不可预测的适于集成的随机数发生器对现在的多数应用于信息安全的片上系统(SoC)来说是必须的。
随机数发生器通常有两种实现方式,伪随机数和真随机数发生器。伪随机数是一般用同步的数字时序电路或者软件方法来产生,只要给定一个种子,其产生的随机数通常是长周期序列,理论上可以预测。伪随机数发生器中最常用的是线性反馈移位寄存器(LFSR),在电路上一般用寄存器和异或门实现。选择一定的寄存器组合抽头接到异或门,可以达到最长周期的序列,使得序列类似随机。不过,因为伪随机数基于固定的算法,只要给定了种子,其序列就是完全确定的。因此,理论上是可以预测的。
真随机数发生器通常基于噪声、混沌等不可预测的机理,需要采用全定制的模拟电路来实现。真随机数发生器与伪随机数相比,是不可预测的。不过,相比伪随机数发生器,要设计一个稳定的、高速的真随机数发生器较为困难。另外,在工艺、速率等要求重新调整时,就需要重新进行设计。
发明内容
为解决上述问题,本发明提供一种随机性更强的数字随机数发生器。
为达到上述目的,本发明采用的技术方案是:随机数发生器,其特征在于:包括线性移位寄存器、控制模块、环形振荡器、分频器;
所述的控制模块与线性移位寄存器、环形振荡器、分频器连接,用于采集线性移位寄存器输出的第一随机序列出并传递给环形振荡器;
所述环形振荡器与分频器连接,接收第一随机序列并向分频器输出方波信号,翻转分频器的输出值;
所述的控制模块还用于采集分频器的输出值传递给线性移位寄存器;
所述的线性移位寄存器异或第一随机序列与分频器的输出值,形成第二随机序列输出。
本发明的第一优选方案为,所述的控制模块与线性移位寄存器的工作频率相同。
本发明的第二优选方案为,环形振荡器周期可调。
本发明的技术优势在于:
1. 全部采用数字逻辑单元,电路实现容易,而且可以兼容不同的CMOS集成电路工艺节点,具有普遍的实用性。
2. 环振和LFSR均可使用对方的状态互相调节,达到复杂化随机数输出的目的。
3. 与完全的数字算法生成随机数算法相比,环振的周期、读写的时间等会因生产时工艺的微小变化、以及外部的操作而带有不确定性,使得该方法更加不可预测。
下面结合附图和具体实施方式对本发明做进一步说明。
附图说明
图1 为本实施例模块示意图。
具体实施方式
参考图1,本设计的随机数发生器结构。线性移位寄存器(LFSR)、控制模块、环形振荡器、分频器,LFSR即用寄存器和异或门实现的伪随机数发生器。控制模块则是读寄存器进行读取和写入的电路。环形振荡器不停地产生方波信号,方波的周期可以由控制模块的寄存器控制。方波驱动分频器,不停地改变分频器的值。
在输出状态,即read和write控制信号都为0时,环形振荡器的输出为方波信号,后接分频器,则分频器的值不断变化并计数。而LFSR也在数字电路时钟的作用下,不断地移位,在out端产生序列输出。LFSR的特征多项式使用本原多项式,产生最长周期序列。两部分电路互相不影响。
在读时刻,read为1时,从LFSR中抽取若干位作为环形振荡器的控制信号。当这些信号的值变化时,环形振荡器的振荡经过不同的延时路径,从而改变环形振荡器的振荡周期根据一定的优先级,使得对于每一组控制信号,只有一条延时路径有效。read变为0时,则控制信号被保持。
在写时刻,write为1时,从分频器输出,并与LFSR的状态位进行异或,从而改变LFSR的状态,write变为0时,LFSR中寄存器的数据与0异或,等效于没有异或。
read和write间隔性地生效,均为与clk同步的高电平脉冲,可以通过电路其它部分定时产生或者根据特定算法产生。
Claims (3)
1.随机数发生器,其特征在于:包括线性移位寄存器、控制模块、环形振荡器、分频器;
所述的控制模块与线性移位寄存器、环形振荡器、分频器连接,用于采集线性移位寄存器输出的第一随机序列出并传递给环形振荡器;
所述环形振荡器与分频器连接,接收第一随机序列并向分频器输出方波信号,翻转分频器的输出值;
所述的控制模块还用于采集分频器的输出值传递给线性移位寄存器;
所述的线性移位寄存器异或第一随机序列与分频器的输出值,形成第二随机序列输出;
在读时刻,从线性移位寄存器中抽取若干位作为环形振荡器的控制信号;当这些信号的值变化时,环形振荡器的振荡经过不同的延时路径,从而改变环形振荡器的振荡周期;在写时刻,从分频器输出,并与线性移位寄存器的状态位进行异或,从而改变线性移位寄存器的状态。
2.根据权利要求1所述的随机数发生器,其特征在于:所述的控制模块与线性移位寄存器的工作频率相同。
3.根据权利要求1所述的随机数发生器,其特征在于:环形振荡器周期可调。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210060818.3A CN102622205B (zh) | 2012-03-09 | 2012-03-09 | 随机数发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210060818.3A CN102622205B (zh) | 2012-03-09 | 2012-03-09 | 随机数发生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102622205A CN102622205A (zh) | 2012-08-01 |
CN102622205B true CN102622205B (zh) | 2015-02-11 |
Family
ID=46562136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210060818.3A Active CN102622205B (zh) | 2012-03-09 | 2012-03-09 | 随机数发生器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102622205B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870238B (zh) * | 2012-12-10 | 2018-03-16 | 北京普源精电科技有限公司 | 基于fpga的伪随机序列发生器及其生成方法 |
CN107797788B (zh) * | 2017-11-03 | 2021-02-12 | 大唐微电子技术有限公司 | 一种随机数发生装置、真随机数发生器及系统级芯片 |
CN110413257B (zh) * | 2019-07-30 | 2021-04-23 | 北京智芯微电子科技有限公司 | 随机数产生电路 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534454A (zh) * | 2003-03-31 | 2004-10-06 | �����ɷ� | 伪随机数发生器 |
CN1914847A (zh) * | 2003-12-23 | 2007-02-14 | 韩国电子通信研究院 | 使用数字逻辑产生随机数的装置和方法 |
CN101162998A (zh) * | 2006-10-13 | 2008-04-16 | 上海华虹Nec电子有限公司 | 真随机数发生器 |
CN101344839A (zh) * | 2007-07-13 | 2009-01-14 | 通嘉科技股份有限公司 | 虚拟随机时钟脉冲发生器及虚拟随机时钟脉冲产生方法 |
CN101965552A (zh) * | 2008-03-04 | 2011-02-02 | 桑迪士克以色列公司 | 基于数控振荡器的数字随机数生成器 |
CN202512560U (zh) * | 2012-03-09 | 2012-10-31 | 无锡华大国奇科技有限公司 | 随机数发生器 |
-
2012
- 2012-03-09 CN CN201210060818.3A patent/CN102622205B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534454A (zh) * | 2003-03-31 | 2004-10-06 | �����ɷ� | 伪随机数发生器 |
CN1914847A (zh) * | 2003-12-23 | 2007-02-14 | 韩国电子通信研究院 | 使用数字逻辑产生随机数的装置和方法 |
CN101162998A (zh) * | 2006-10-13 | 2008-04-16 | 上海华虹Nec电子有限公司 | 真随机数发生器 |
CN101344839A (zh) * | 2007-07-13 | 2009-01-14 | 通嘉科技股份有限公司 | 虚拟随机时钟脉冲发生器及虚拟随机时钟脉冲产生方法 |
CN101965552A (zh) * | 2008-03-04 | 2011-02-02 | 桑迪士克以色列公司 | 基于数控振荡器的数字随机数生成器 |
CN202512560U (zh) * | 2012-03-09 | 2012-10-31 | 无锡华大国奇科技有限公司 | 随机数发生器 |
Also Published As
Publication number | Publication date |
---|---|
CN102622205A (zh) | 2012-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7720895B2 (en) | Random number generator and method for generating random numbers | |
US7376687B2 (en) | Pseudo-random number generator | |
US20110131263A1 (en) | Random Number Generators Having Metastable Seed Signal Generators Therein | |
KR101987141B1 (ko) | 난수 발생기 | |
CN102007470A (zh) | 用于产生随机比特序列的装置和方法 | |
CN101510150B (zh) | 随机数产生装置 | |
JP2012186809A (ja) | 乱数を発生させるための装置および方法 | |
CN102622205B (zh) | 随机数发生器 | |
CN104049936A (zh) | 用于识别相关的方法 | |
CN101882062A (zh) | 真随机比特流发生器 | |
US9774317B1 (en) | Bistable-element for random number generation | |
JP6220642B2 (ja) | 乱数生成モードを備える記憶回路 | |
EP3770750A1 (en) | Entropy generator and method of generating enhanced entropy using truly random static entropy | |
Sreekumar et al. | Selection of an optimum entropy source design for a true random number generator | |
CN111124363B (zh) | 一种真随机数生成方法及真随机数发生器 | |
CN202512560U (zh) | 随机数发生器 | |
CN102662627A (zh) | 一种基于混沌双螺旋的混合随机序列发生器 | |
TWI506541B (zh) | 自回授亂數產生器及其自回授亂數產生方法 | |
CN102662626B (zh) | 一种带扰动的混沌双螺旋随机数发生器 | |
EP2933719A1 (en) | A digital method and device for generating true random numbers | |
US20150019605A1 (en) | Method for assessing an output of a random number generator | |
Mao et al. | Zero-bias true random number generator using LFSR-based scrambler | |
Hochberger et al. | Influence of operating conditions on ring oscillator-based entropy sources in FPGAs | |
US20230333818A1 (en) | Entropy Generator and Method of Generating Enhanced Entropy Using Truly Random Static Entropy | |
CN111352608B (zh) | 一种低开销型fpga基真随机数产生系统 |
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 |