CN106293617B - 真随机数发生器 - Google Patents

真随机数发生器 Download PDF

Info

Publication number
CN106293617B
CN106293617B CN201610667018.6A CN201610667018A CN106293617B CN 106293617 B CN106293617 B CN 106293617B CN 201610667018 A CN201610667018 A CN 201610667018A CN 106293617 B CN106293617 B CN 106293617B
Authority
CN
China
Prior art keywords
random number
signal
ring oscillator
random
true
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
Application number
CN201610667018.6A
Other languages
English (en)
Other versions
CN106293617A (zh
Inventor
卢君明
洪享
厉祥春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI JIANXIN ELECTRONICS TECHNOLOGY Co Ltd
Original Assignee
SHANGHAI JIANXIN ELECTRONICS TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI JIANXIN ELECTRONICS TECHNOLOGY Co Ltd filed Critical SHANGHAI JIANXIN ELECTRONICS TECHNOLOGY Co Ltd
Priority to CN201610667018.6A priority Critical patent/CN106293617B/zh
Publication of CN106293617A publication Critical patent/CN106293617A/zh
Application granted granted Critical
Publication of CN106293617B publication Critical patent/CN106293617B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

本发明涉及电路技术领域,公开了一种真随机数发生器。该真随机数发生器包括:随机信号发生源电路,用于生成随机数产生源信号;真随机数生成电路,用于对随机数产生源信号进行采样和扩散,得到真随机数序列;PRNG,用于根据输入的真随机数序列输出串行或并行的随机数序列;随机数截取器,用于根据输入的真随机数序列,从PRNG输出的随机数序列中截取预设长度的随机数序列,并反馈至随机信号发生源电路;随机信号发生源电路,还根据随机数截取器反馈的随机数序列调整随机数产生源信号。本发明实施方式的真随机数发生器采用普通逻辑器件即可实现,电路结构简单,且与工艺无关,重用性好,还增加了反馈机制,可消除无反馈时长时间工作出现的伪随机性。

Description

真随机数发生器
技术领域
本发明涉及电路技术领域,特别涉及一种真随机数发生器。
背景技术
随机数发生器是信息安全芯片或者信息安全系统中不可缺少的一部分,对于很多加密系统来说,其安全性完全取决于所使用的密钥和一些协议中的参数等。若采用传统模型产生的伪随机序列作为密钥,如果攻击者拥有足够的计算能力,则完全可以预测到伪随机数的产生规律,从而破解密钥。对于使用伪随机数的安全系统来说,采用软件方法产生的伪随机数,并不能保证足够的不确定性,这使得伪随机数成为加密系统性能提高的瓶颈。一个安全系统,即使其他部分足够安全,如果使用了伪随机数进行加密,也会使得整个安全系统变得很脆弱,容易受到攻击。因此,现代密码学中,以维斯特沙米尔阿德勒曼(RSA,RivestShamir Adleman)公钥密码算法和数字签名算法为代表的非对称密钥加密体制中,或者其他类型的安全协议中,需要安全可靠的、不可预测的随机数,以防系统被破解,这些系统都需要用到高质量的真随机数发生器。
真随机数发生器往往以某一个随机物理过程作为参考随机源,通过特定的电路对随机源的信号进行采样并转化为数字信号。目前随机数发生器方案通常可以归纳为三大类,分别为直接放大法、离散事件混沌法以及振荡器采样法,前两种方法都需要采用模拟电路,十分依赖于工艺技术,主要用于客户订制的单元设计,但无法跨工艺重用,振荡器采样技术可以使用普通逻辑单元,因此在安全芯片设计中比较受欢迎。
本申请的发明人发现,目前基于振荡器采样技术的随机数发生器,有的硬件开销小,但是使用了诸如PLL(Phase Locked Loop,锁相环)等特殊功能资源,使得重用性比较差,有的过于依赖于振荡器的抖动特性,使得分布不够均匀,或者需要非常多的硬件资源来消除对振荡器抖动特性的依赖,增加了系统硬件资源开销。
发明内容
本发明实施方式的目的在于提供一种真随机数发生器,使得采用普通逻辑器件构成的简易电路结构,不仅产生好的随机数序列,而且与制作工艺无关,可作为单独的数据电路模块,实现在不同工艺的芯片设计中的重用,还增加了反馈机制,可以消除无反馈时长时间工作出现的伪随机性。
为解决上述技术问题,本发明的实施方式提供了一种真随机数发生器,包括:
随机信号发生源电路、真随机数生成电路、伪随机数发生器PRNG与随机数截取器;
所述随机信号发生源电路、所述真随机数生成电路、所述PRNG依次相连;所述随机数截取器的第一输入端与所述真随机数生成电路的输出端连接,第二输入端与所述PRNG的输出端连接,输出端与所述随机信号发生源电路的输入端连接;
所述随机信号发生源电路,用于生成随机数产生源信号;
所述真随机数生成电路,用于对所述随机数产生源信号进行采样和扩散,得到真随机数序列;
所述PRNG,用于根据所述真随机数序列输出输出串行或并行的随机数序列;
所述随机数截取器,用于从所述随机数序列中截取预设长度的随机数序列,并反馈至所述随机信号发生源电路;
所述随机信号发生源电路,还根据所述随机数截取器反馈的随机数序列调整所述随机数产生源信号。
本发明实施方式相对于现有技术而言,可以通过普通逻辑器件构成的简易电路结构,不仅可以产生好的随机数序列,而且与制作工艺无关,可以作为单独的数据电路模块,实现在不同工艺的芯片设计中的重用,还增加了反馈机制,可以消除无反馈时长时间工作出现的伪随机性。
另外,所述随机信号发生源电路具体包括:环形振荡器阵列以及第一异或门;其中,所述环形振荡器阵列包括N个环形振荡器,N为自然数;所述N个环形振荡器均与所述第一异或门连接;第i个所述环形振荡器包括Mi个反相器,Mi为自然数,Mi的值各不相同,i为环形振荡器并联的次序;所述N个环形振荡器,用于在接收到第一使能信号时开始工作,还用于将所述反馈的随机数序列作为频率选择开关信号FSEL,并根据所述FSEL选择振荡频率;其中,所述振荡频率由有效串联的反相器数目决定;所述N个环形振荡器的输出信号经过所述第一异或门进行异或运算后,得到所述随机数产生源信号。
随机信号发生源电路包括N个环形振荡器构成的环形振荡器阵列和第一异或门,N个环形振荡器的输出信号均与第一异或门连接,经过第一异或门的异或运算后,得到随机数产生源信号。其中,各环形振荡器分别由取值各不相同的Mi个反相器串联构成,有效串联的反相器数目决定了各环形振荡器的振荡频率,从而间接影响各环形振荡器的输出信号,并最终影响随机数产生源信号,因此,可以通过控制各环形振荡器有效串联的反相器数目,达到控制随机数产生源信号的目的。同时,N个环形振荡器,还用于将反馈的随机数序列作为频率选择开关信号FSEL,从而可以根据FSEL动态的选择振荡频率,并动态控制随机数产生源信号。
另外,每个所述环形振荡器还包括与门以及多路选择器;在第i个所述环形振荡器中,所述与门、所述Mi个反相器、所述多路选择器依次首尾连接形成第一环路,Mi=4Ki+1,Ki为自然数,Ki的值各不相同;第2Ki+1个反相器的输出端还与所述多路选择器的输入端连接,所述与门、第1个反相器至第2Ki+1个反相器、所述多路选择器依次首尾连接形成第二环路;所述N个环形振荡器根据所述FSEL选择所述第一环路工作或者选择所述第二环路工作;在所述第一环路工作时,所述振荡频率为4Ki+3个门延迟产生的频率,在所述第二环路工作时,所述振荡频率为2Ki+3个门延迟产生的频率。
每个环形振荡器还包括与门以及多路选择器,与门、Mi个反相器及多路选择器的第一输入端依次首尾连接,形成第一环路,与门、第1个反相器至第2Ki+1个反相器以及多路选择器的第二输入端依次首尾连接,形成第二环路,其中,Mi=4Ki+1,Ki为自然数,Ki的值各不相同。当各环形振荡器根据FSEL选择第一环路工作时,各环形振荡器的振荡频率为4Ki+3个门延迟产生的频率,当N个环形振荡器根据FSEL选择第二环路工作时,各环形振荡器的振荡频率为2Ki+3个门延迟产生的频率。这样处理,可以对每个环形振荡器的反向器环长度进行动态的选择配置,实现振荡频率的动态更改,降低产生的随机数对振荡器电路抖动的依赖性,提高随机数发生器的真随机性。
另外,所述真随机数生成电路具体包括第二异或门与线性反馈移位寄存器LFSR;所述第二异或门的第一输入端与所述第一异或门的输出端连接,所述第二异或门的第二输入端与所述LFSR的输出端连接;所述第二异或门的输出端与所述LFSR的输入端连接;所述LFSR的输出端与所述随机数截取器的输入端连接,还与所述PRNG的输入端连接;所述第二异或门,用于对所述随机数产生源信号与采样得到的所述真随机数序列进行异或运算;所述LFSR,用于对所述第二异或门的输出信号进行偏移纠正,对所述随机数产生源信号位流进行均衡分配,得到所述真随机数序列。
真随机数生成电路包括第二异或门与线性反馈移位寄存器LFSR,第二异或门对输入的随机数产生源信号及LFSR反馈的真随机数序列进行异或运算后,再将得到的运算结果输入至LFSR中,通过LFSR对随机数产生源信号进行偏移纠正及均衡分配,得到真随机数序列。这种电路结构,一方面,可以实现随机数产生源信号的采样和扩散,另一方面,可以纠正生成随机数产生源信号的过程中,振荡器电路产生的相位偏移,并对随机数位流进行均衡分配。经过上述处理后产生的真随机数序列具有良好的统计性能,极大增强了真随机数序列的随机性。
另外,所述随机数截取器具体包括:信号翻转计数器与数据锁存模块;所述信号翻转计数器的输入端为所述随机数截取器的输入端,与所述真随机数生成电路的输出端连接,所述信号翻转计数器的输出端与所述数据锁存模块的使能端连接,所述数据锁存模块的输入端与所述PRNG的输出端连接,输出端为所述随机数截取器的输出端;所述信号翻转计数器,用于记录真随机数序列信号的翻转次数;所述数据锁存模块,用于在所述翻转次数达到预设次数时,截取当前的随机数序列,并反馈至所述N个环形振荡器的频率选择开关,作为所述FSEL。
随机数截取器包括信号翻转计数器与数据锁存模块,信号翻转计数器记录输入的真随机数序列信号的翻转次数,并在翻转次数达到预设次数时,使能数据锁存模块截取当前输入的随机数序列,并反馈至N个环形振荡器的频率选择开关,作为FSEL。这样,实现了不定时的截取一段随机数,反馈到环形振荡器阵列中作为FSEL,使得真随机数发生器可以根据反馈的FSEL动态的控制振荡频率,进一步增加了随机信号发生源的随机性,并消除了原有无反馈的反向器环电路由于长时间工作而出现的伪随机性。
附图说明
图1是根据本发明第一实施方式的一种真随机数发生器的电路结构示意图;
图2是根据本发明第一实施方式的真随机数发生器的电路结构示意图;
图3是根据本发明第一实施方式的环形振荡器的电路结构示意图;
图4是根据本发明第一实施方式的随机数截取器的电路结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种真随机数发生器,包括:随机信号发生源电路、真随机数生成电路、伪随机数发生器与随机数截取器,其中,随机信号发生源电路、真随机数生成电路、伪随机数发生器依次相连;随机数截取器的第一输入端与真随机数生成电路的输出端连接,第二输入端与伪随机数发生器的输出端连接,输出端与随机信号发生源电路的输入端连接,具体电路结构如图1所示。
随机信号发生源电路101,用于生成随机数产生源信号,同时还用于根据随机数截取器104反馈的随机数序列调整随机数产生源信号。
真随机数生成电路102,用于对所述随机数产生源信号进行采样和扩散,得到真随机数序列。
伪随机数发生器103,用于根据所述真随机数序列输出串行或并行的随机数序列。
随机数截取器104,用于从所述随机数序列中截取预设长度的随机数序列,并反馈至所述随机信号发生源电路。
不难发现,在本实施方式中,通过普通逻辑器件构成的简易电路结构,不仅可以产生好的随机数序列,而且与制作工艺技术无关,可以作为单独的数据电路模块,实现在不同工艺的芯片设计中的重用,还增加了反馈机制,可以消除无反馈时长时间工作出现的伪随机性。
下面具体介绍随机信号发生源电路、真随机数生成电路及随机数截取器的具体构成。其中,随机信号发生源电路包括N个环形振荡器201至204构成的环形振荡器阵列和第一异或门205,真随机数生成电路包括第二异或门206与线性反馈移位寄存器(LFSR)207,具体电路结构如图2所示。
随机信号发生源电路由一个环形振荡器阵列和第一异或门205构成,其中,环形振荡器阵列由环形振荡器21(图2的201)、环形振荡器22(图2的202)、环形振荡器23(图2的203)直至环形振荡器2N(图2的204)并联构成,N为自然数,即环形振荡器阵列包括N个并联的环形振荡器,N个环形振荡器均与第一异或门连接。N个环形振荡器,在接收到第一使能信号EN1时开始工作,N个环形振荡器的输出信号CLKOUT均进入第一异或门205,经过第一异或门205的异或运算后,得到随机数产生源信号。同时,N个环形振荡器还会将反馈的随机数序列作为频率选择开关信号(FSEL),并根据FSEL选择振荡频率,其中,振荡频率由有效串联的反相器数目决定。
第i个环形振荡器又进一步包括与门、Mi个反相器以及多路选择器,具体电路结构如图3所示,Mi为自然数,Mi的值各不相同,i为环形振荡器并联的次序。与门301、Mi个反相器302至306及多路选择器307的第一输入端依次首尾连接形成第一环路,其中,Mi=4Ki+1,Ki为自然数,Ki的值各不相同,i为环形振荡器并联的次序。与门301、第1个反相器至第2Ki+1个反相器302至304及多路选择器307的第二输入端依次首尾连接形成第二环路,也即多路选择器307的两路输入分别为第4Ki+1个反向器的输出与第2Ki+1个反向器的输出。当第i个环形振荡器根据FSEL选择第一环路工作时,环形振荡器的振荡频率为4Ki+3个门延迟产生的频率,当选择第二环路工作时,环形振荡器的振荡频率为2Ki+3个门延迟产生的频率,实现了振荡频率的动态选择。
在图3所示的环形振荡器电路结构中,当使能信号EN为“0”时,环形振荡器的输出固定为“1”,环形振荡器停止工作。当使能信号EN为“1”时,根据频率选择信号FSEL的状态,分别组成不同的闭合环路,当FSEL为“1”时,器件301、302、303、304、305、306、307组成一个闭合环路(即第一环路),环形振荡器以第一环路的振荡频率进行自振荡,输出一个高频的振荡时钟信号CLKOUT,也即环形振荡器输出振荡频率为4Ki+3个门延迟产生的信号CLKOUT。当FSEL为“0”时,器件301、302、303、304、307组成一个闭合环路(即第二环路),此时环形振荡器以第二环路的振荡频率进行自振荡,输出一个高频的振荡时钟信号CLKOUT,也即环形振荡器输出振荡频率为2Ki+3个门延迟产生的信号CLKOUT。通过FSEL,可以选择环形振荡器输出振荡频率为4Ki+3个门延迟产生的频率或者2Ki+3个门延迟产生的频率,实现了振荡频率的动态更改。
N个环形振荡器组成的振荡器阵列中,每个的环形振荡器的参数Ki都不相同,实现了对环形振荡器中反向器环长度动态配置,降低了产生的随机数序列对振荡器电路抖动特征的依赖,改善了随机数发生器的真随机性,同时使得每个环形振荡器的两个振荡频率也都不相同,同时每个环形振荡器选用的振荡频率,在随机数序列产生过程中,可以动态切换,最大限度的获取到信号的随机性。
真随机数生成电路包括第二异或门206与线性反馈移位寄存器(LFSR)207,其中,第二异或门206的第一输入端与第一异或门205的输出端连接,第二异或门206的第二输入端与LFSR207的输出端连接,第二异或门206的输出端与LFSR207的输入端连接,LFSR的输出端与随机数截取器209的输入端连接,同时还与伪随机数发生器208的输入端连接。第二异或门206,将输入的随机数产生源信号与真随机数序列进行异或运算后,将异或运算结果输出至LFSR207,LFSR207对输入的随机数产生源信号进行偏移纠正及随机数位流均衡分配,输出真随机数序列。
目前,在振荡器采样技术的随机数发生器电路设计中,主要是利用振荡器电路在振荡频率上产生的抖动现象和相位漂移,环形振荡器对电源电压波动或输入信号中的直流分量特别敏感,极易受到电源电压波动或输入信号中直流分量的影响,任何的噪声波动,都会影响到振荡器的抖动现象,抖动现象是一个平均值为零的随机变量。除了时钟抖动外,两个独立时钟之间的相位漂移也具有随机特性,因而抖动信号和相位漂移适合在数字电路中作为真随机数发生器的噪声源。通过LFSR对输入的随机数产生源信号进行偏移纠正,可以对位流进行均衡分配,得到具有良好的统计性能的真随机数序列,增强真随机数序列的随机性。
如图4所示,随机数截取器209包括信号翻转计数器401与数据锁存模块402,其中,信号翻转计数器的输入端为随机数截取器的输入端,与真随机数生成电路的输出端连接,信号翻转计数器的输出端与数据锁存模块的使能端连接,数据锁存模块的输入端与PRNG的输出端连接,输出端为随机数截取器的输出端。
信号翻转计数器401,对输入的真随机数序列信号进行观测,一旦观测到真随机数序列信号有翻转就进行累加计数,以记录真随机数序列的翻转次数,其中,真随机数序列从“1”到“0”的翻转或者从“0”到“1”的翻转均计为一次翻转。当信号翻转计数器记录的翻转次数达到预设次数时,例如100次,使能数据锁存模块402的第二使能信号EN2为有效信号,即第二使能信号为1。数据锁存模块402,在第二使能信号为1时,对当前的随机数序列锁存一次,截取预设长度的当前随机数序列,并反馈至N个环形振荡器的频率选择开关,作为FSEL。数据锁存模块402在锁存当前的随机数序列后,使能第二使能信EN2号为0,使数据锁存模块402保持锁存的数据,同时将信号翻转计数器401清零,重新开始进行计数,也即数据锁存模块402在第二使能信号为1时,对输入的随机数进行锁存,而在第二使能信号为0时,保持所存数据。
随机数截取器209通过信号翻转计数器401和数据锁存模块402,实现了不定时的截取一段随机数,反馈到反环形振荡器阵列中作为FSEL,消除了原有无反馈反向器环电路由于长时间工作出现的伪随机性,同时,使得真随机数发生器可以根据反馈的FSEL动态的控制振荡频率,进一步增加了随机信号发生源的随机性。
本实施方式中,N个环形振荡器组成的振荡器阵列中,每个环形振荡器的参数Ki都不相同,实现了对环形振荡器中反向器环长度的动态配置,降低了产生的随机数序列对振荡器电路抖动特征的依赖,改善了随机数发生器的真随机性,通过LFSR可以最大可能的消除随机数发生器电路设计中,环形振荡器之间的相位漂移,得到具有良好的统计性能的真随机数序列,增强真随机数序列的随机性,随机数截取器实现了不定时的截取一段随机数,并反馈到反环形振荡器阵列中作为FSEL,消除了原有无反馈反向器环电路由于长时间工作出现的伪随机性,同时,使得真随机数发生器可以根据反馈的FSEL动态的控制振荡频率,进一步增加了随机信号发生源的随机性。
本发明的第二实施方式涉及一种真随机数发生器,第二实施方式在第一实施方式的基础上做了进一步改进,主要改进之处在于:在本发明第二实施方式中,通过LFSR对输入的随机数产生源信号进行偏移纠正,可以对位流进行均衡分配,得到具有良好的统计性能的真随机数序列,增强真随机数序列的随机性。
线性移位寄存器LFSR为48比特LFSR,并且该LFSR的特征多项式为f(x)=x48+x7+x5+x4+x2+x+1,其中,x指示寄存器,x的指数指示寄存器的序号。通过48比特LFSR对输入的随机数产生源信号进行偏移纠正,可以对输入的随机数产生源信号的位流进行均衡分配,得到具有更好的统计性能的真随机数序列,极大增强真随机数序列的随机性。
本发明的第三实施方式涉及一种真随机数发生器,第三实施方式在第二实施方式的基础上做了进一步改进,主要改进之处在于:在本发明第三实施方式中,具体给出了随机信号发生源电路中,环形振荡器阵列的环形振荡器数目的最佳取值范围为:N的取值范围为4~10,这样,可以在资源和性能之间到达折中效果。
环形振荡器阵列中环形振荡器的数量会影响随机信号发生源电路采集随机信号的效率,环形振荡器的数目越多,其输出的随机数产生源信号的随机性就会越好,但是环形振荡器的数目越多,所消耗的硬件资源也会越多,所以要在资源和性能之间做一个折中。本发明实施方式的随机信号发生源电路结构中,采用4到10个环形振荡器就足以达到美国国家标准与技术研究院(NIST,National Institute of Standards and Technology)的随机性测试要求。下面以8个环形振荡器组成的环形振荡器阵列为例,介绍各个环形振荡器的参数情况,见表1,其中,表1中的频率按一个门的延时为1ns计算。
表1
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (8)

1.一种真随机数发生器,其特征在于,包括:随机信号发生源电路、真随机数生成电路、伪随机数发生器PRNG与随机数截取器;
所述随机信号发生源电路、所述真随机数生成电路、所述PRNG依次相连;所述随机数截取器的第一输入端与所述真随机数生成电路的输出端连接,第二输入端与所述PRNG的输出端连接,输出端与所述随机信号发生源电路的输入端连接;
所述随机信号发生源电路,用于生成随机数产生源信号;
所述真随机数生成电路,用于对所述随机数产生源信号进行采样和扩散,得到真随机数序列;
所述PRNG,用于根据所述真随机数序列输出串行或并行的随机数序列;
所述随机数截取器,用于从所述随机数序列中截取预设长度的随机数序列,并反馈至所述随机信号发生源电路;
所述随机信号发生源电路,还根据所述随机数截取器反馈的随机数序列调整所述随机数产生源信号;
所述随机信号发生源电路具体包括:环形振荡器阵列以及第一异或门;
其中,所述环形振荡器阵列包括N个环形振荡器,N为自然数;所述N个环形振荡器均与所述第一异或门连接;第i个所述环形振荡器包括Mi个反相器,Mi为自然数,Mi的值各不相同,i为环形振荡器并联的次序;
所述N个环形振荡器,用于在接收到第一使能信号时开始工作,还用于将所述反馈的随机数序列作为频率选择开关信号FSEL,并根据所述FSEL选择振荡频率;其中,所述振荡频率由有效串联的反相器数目决定;
所述N个环形振荡器的输出信号经过所述第一异或门进行异或运算后,得到所述随机数产生源信号。
2.根据权利要求1所述的真随机数发生器,其特征在于,每个所述环形振荡器还包括与门以及多路选择器;
在第i个所述环形振荡器中,所述与门、所述Mi个反相器、所述多路选择器依次首尾连接形成第一环路,Mi=4Ki+1,Ki为自然数,Ki的值各不相同;第2Ki+1个反相器的输出端还与所述多路选择器的输入端连接,所述与门、第1个反相器至第2Ki+1个反相器、所述多路选择器依次首尾连接形成第二环路;
所述N个环形振荡器根据所述FSEL选择所述第一环路工作或者选择所述第二环路工作;
在所述第一环路工作时,所述振荡频率为4Ki+3个门延迟产生的频率,在所述第二环路工作时,所述振荡频率为2Ki+3个门延迟产生的频率。
3.根据权利要求2所述的真随机数发生器,其特征在于,所述N的取值范围为4~10。
4.根据权利要求2所述的真随机数发生器,其特征在于,所述真随机数生成电路具体包括第二异或门与线性反馈移位寄存器LFSR;
所述第二异或门的第一输入端与所述第一异或门的输出端连接,所述第二异或门的第二输入端与所述LFSR的输出端连接;所述第二异或门的输出端与所述LFSR的输入端连接;所述LFSR的输出端与所述随机数截取器的输入端连接,还与所述PRNG的输入端连接;
所述第二异或门,用于对所述随机数产生源信号与采样得到的所述真随机数序列进行异或运算;
所述LFSR,用于对所述第二异或门的输出信号进行偏移纠正,对所述随机数产生源信号位流进行均衡分配,得到所述真随机数序列。
5.根据权利要求4所述的真随机数发生器,其特征在于,所述LFSR的长度为48比特,所述LFSR的特征多项式为:f(x)=x48+x7+x5+x4+x2+x+1;其中,x指示寄存器,x的指数指示所述寄存器的序号。
6.根据权利要求2所述的真随机数发生器,其特征在于,所述随机数截取器具体包括:信号翻转计数器与数据锁存模块;
所述信号翻转计数器的输入端为所述随机数截取器的输入端,与所述真随机数生成电路的输出端连接,所述信号翻转计数器的输出端与所述数据锁存模块的使能端连接,所述数据锁存模块的输入端与所述PRNG的输出端连接,所述数据锁存模块的输出端为所述随机数截取器的输出端;
所述信号翻转计数器,用于记录真随机数序列信号的翻转次数;
所述数据锁存模块,用于在所述翻转次数达到预设次数时,截取当前的随机数序列,并反馈至所述N个环形振荡器的频率选择开关,作为所述FSEL。
7.根据权利要求6所述的真随机数发生器,其特征在于,所述翻转次数具体包括:所述真随机数序列信号从1到0的翻转次数以及从0到1的翻转次数。
8.根据权利要求6所述的真随机数发生器,其特征在于,当所述翻转次数达到预设次数时,第二使能信号为1,对所述当前的随机数序列锁存一次;
在锁存所述当前的真随机数序列后,所述第二使能信号为0,保持所述锁存的数据,对所述信号翻转计数器进行清零,重新计数。
CN201610667018.6A 2016-08-12 2016-08-12 真随机数发生器 Active CN106293617B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610667018.6A CN106293617B (zh) 2016-08-12 2016-08-12 真随机数发生器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610667018.6A CN106293617B (zh) 2016-08-12 2016-08-12 真随机数发生器

Publications (2)

Publication Number Publication Date
CN106293617A CN106293617A (zh) 2017-01-04
CN106293617B true CN106293617B (zh) 2018-11-09

Family

ID=57670868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610667018.6A Active CN106293617B (zh) 2016-08-12 2016-08-12 真随机数发生器

Country Status (1)

Country Link
CN (1) CN106293617B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368283B (zh) * 2017-07-21 2020-07-03 郑州大学 一种真随机数生成方法
CN107465508B (zh) * 2017-08-07 2021-02-23 吕文华 一种软硬件结合构造真随机数的方法、系统和设备
EP3665776A4 (en) * 2017-08-08 2020-12-30 Politechnika Warszawska RANDOM NUMBER GENERATOR
TWI634479B (zh) * 2017-10-11 2018-09-01 華邦電子股份有限公司 隨機數產生系統及其隨機數產生方法
CN109656514B (zh) 2017-10-11 2023-08-15 华邦电子股份有限公司 随机数产生系统及其随机数产生方法
CN107678731B (zh) * 2017-11-06 2023-03-21 何安平 一种基于fpga的高频异步随机数发生器
CN108287682B (zh) * 2018-02-07 2020-09-04 北京集创北方科技股份有限公司 一种伪随机序列生成方法和装置以及集成电路
TWI662471B (zh) 2018-05-31 2019-06-11 華邦電子股份有限公司 真實隨機數產生裝置及其產生方法
CN110609672B (zh) * 2018-06-15 2023-11-07 华邦电子股份有限公司 真实随机数产生装置及其产生方法
CN111010880A (zh) * 2018-08-08 2020-04-14 深圳市汇顶科技股份有限公司 随机数发生器的建模方法、装置、介质及随机数发生器
CN108984152B (zh) * 2018-08-21 2021-01-29 北京睦合达信息技术股份有限公司 一种数据处理方法、系统和计算机可读存储介质
CN110399626B (zh) * 2019-01-31 2021-07-30 中国科学院软件研究所 基于环形振荡器的真随机数发生器热噪声抖动估计方法
CN110045946B (zh) * 2019-04-19 2020-11-17 中国南方电网有限责任公司 随机数发生器、自检模块以及随机数发生器的自检方法
CN110502209B (zh) * 2019-08-16 2021-05-25 兆讯恒达科技股份有限公司 一种随机数发生器防注入式攻击的方法
CN111008005A (zh) * 2019-11-22 2020-04-14 深圳市纽创信安科技开发有限公司 一种真随机数发生器和真随机数发生方法
CN110955408A (zh) * 2019-12-02 2020-04-03 上海威固信息技术股份有限公司 一种基于Xilinx FPGA的真随机数生成方法和系统
CN111782179B (zh) * 2020-06-05 2023-09-01 上海赛昉科技有限公司 一种真随机数发生器
CN111969981B (zh) * 2020-10-21 2021-01-12 鹏城实验室 一种时钟产生电路和随机数产生电路
CN112615589B (zh) * 2020-12-15 2023-03-24 海光信息技术股份有限公司 环形振荡器频率调整方法、装置、存储介质及设备
CN113535124B (zh) * 2021-09-07 2021-12-14 深圳大学 基于片上数字反馈自校准系统的真随机数发生器
CN113961171B (zh) * 2021-10-21 2022-08-19 无锡沐创集成电路设计有限公司 随机信号生成装置和物理不可克隆函数生成系统
CN116368463A (zh) * 2021-10-27 2023-06-30 京东方科技集团股份有限公司 随机数生成器及随机数生成方法
CN114244397B (zh) * 2022-02-25 2022-05-10 北京智芯微电子科技有限公司 跳频通信装置、方法、芯片、发射机及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1573681A (zh) * 2003-06-24 2005-02-02 株式会社瑞萨科技 具备环形振荡电路的随机数产生装置
CN1675617A (zh) * 2002-08-21 2005-09-28 皇家飞利浦电子股份有限公司 用于改善生成真随机数的随机性的熵估计和抽取
US8583711B2 (en) * 2009-12-02 2013-11-12 Seagate Technology Llc Random number generation system with ring oscillators
CN104778029A (zh) * 2014-01-09 2015-07-15 罗伯特·博世有限公司 用于产生随机数发生器的随机源的输出的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2899352B1 (fr) * 2006-03-29 2008-06-20 Eads Secure Networks Soc Par A Generateur de nombres aleatoires
US8180816B2 (en) * 2007-11-30 2012-05-15 Infineon Technologies Ag Control of a pseudo random number generator and a consumer circuit coupled thereto

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1675617A (zh) * 2002-08-21 2005-09-28 皇家飞利浦电子股份有限公司 用于改善生成真随机数的随机性的熵估计和抽取
CN1573681A (zh) * 2003-06-24 2005-02-02 株式会社瑞萨科技 具备环形振荡电路的随机数产生装置
US8583711B2 (en) * 2009-12-02 2013-11-12 Seagate Technology Llc Random number generation system with ring oscillators
CN104778029A (zh) * 2014-01-09 2015-07-15 罗伯特·博世有限公司 用于产生随机数发生器的随机源的输出的方法

Also Published As

Publication number Publication date
CN106293617A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN106293617B (zh) 真随机数发生器
Anandakumar et al. FPGA-based true random number generation using programmable delays in oscillator-rings
EP2260376B1 (en) Digital random number generator based on digitally-controlled oscillators
Johnson et al. An improved DCM-based tunable true random number generator for Xilinx FPGA
US7827223B2 (en) Accelerated throughput synchronized word stream cipher, message authenticator and zero-knowledge output random number generator
KR101987141B1 (ko) 난수 발생기
CN106775583A (zh) 一种高速真随机数的产生方法
WO2011117929A1 (ja) 乱数生成器、暗号化装置、及び認証装置
CN103019648A (zh) 一种带有数字后处理电路的真随机数发生器
JP2012186809A (ja) 乱数を発生させるための装置および方法
WO2021232255A1 (zh) 真随机数发生器及电子设备
JP6167876B2 (ja) 電子回路、電子機器及び認証システム
Bahadur et al. Reconfigurable side channel attack resistant true random number generator
CN107678731B (zh) 一种基于fpga的高频异步随机数发生器
CN106383691A (zh) 一种随机数产生方法及随机数产生器
Johnson et al. Remote dynamic clock reconfiguration based attacks on internet of things applications
Lee et al. Implementing a phase detection ring oscillator PUF on FPGA
Tupparwar et al. A hybrid true random number generator using ring oscillator and digital clock manager
Stanchieri et al. An fpga-based architecture of true random number generator for network security applications
Subramanian et al. Adaptive counter clock gated S-Box transformation based AES algorithm of low power consumption and dissipation in VLSI system design
WO2021142830A1 (zh) 随机数生成电路、随机数生成方法和电子设备
Upadhyay et al. Cryptanalysis of hardware based stream ciphers and implementation of GSM stream cipher to propose a novel approach for designing n-bit LFSR stream cipher
Sadkhan et al. Improvement of A5/1 encryption algorithm based on Using Unit Delay
Maache et al. Design and Implementation of a flexible Multi-purpose Cryptographic System on low cost FPGA
Hernández-Morales et al. Codesign for Generation of Large Random Sequences on Zynq 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
GR01 Patent grant
GR01 Patent grant