CN105247471A - 用于动态调谐对于随机数生成器的反馈控制的系统和方法 - Google Patents

用于动态调谐对于随机数生成器的反馈控制的系统和方法 Download PDF

Info

Publication number
CN105247471A
CN105247471A CN201480029801.9A CN201480029801A CN105247471A CN 105247471 A CN105247471 A CN 105247471A CN 201480029801 A CN201480029801 A CN 201480029801A CN 105247471 A CN105247471 A CN 105247471A
Authority
CN
China
Prior art keywords
circuit
oscillator
entropy
digital
digital oscillator
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.)
Pending
Application number
CN201480029801.9A
Other languages
English (en)
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.)
Synopsys Inc
Original Assignee
Synopsys Inc
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 Synopsys Inc filed Critical Synopsys Inc
Publication of CN105247471A publication Critical patent/CN105247471A/zh
Pending legal-status Critical Current

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

  • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

一种随机数生成器,包括:产生随机值序列的第一电路,该第一电路具有改变随机数序列的熵的可调输入;第二电路,该第二电路从第一电路接收随机值序列并且产生指示随机值序列的熵程度的输出;以及第三电路,该第三电路响应于第二电路的输出而调整第一电路的可调输入。

Description

用于动态调谐对于随机数生成器的反馈控制的系统和方法
技术领域
本发明总体涉及数字安全并且更具体地涉及生成在用于在电子系统内的数字安全过程中使用的随机值序列内的值。
背景技术
在加密系统中使用的随机数生成器通常落入两个类别之一。伪随机数生成器(PRNG),也称为确定性随机数生成器或者确定性随机位生成器(DRNG或者DRBG),使用数学函数生成在具有随机分布特性的值序列内的值。良好的PRNG经常基于加密函数、具有从未重复或者未频繁地重复的很长序列、并且难以跟随,即进展显得不可预测。依赖于它们是因为(1)它们的输出值具有已知的统计特性以及(2)PRNG是可调用的并且可以按照需要被频繁地调用以按照用户的需求而产生随机数。PRNG的最大问题之一是如果知道通常称为“种子”的用来初始化PRNG的起始值,则可以可靠地确定由PRNG生成的整个值序列。
第二类随机数生成器称为“真”随机数生成器(TRNG)。这些TRNG也称为非确定性随机数生成器或者非确定性随机位生成器(NRNG或者NRBG)。TRNG使用从随机物理过程采样的值或者值集合以产生它们的输出值序列。随机物理过程的示例包括在电阻器中生成的热噪声、在晶体管中的散射噪声、在从经历放射衰变的主体的自发能量发射之间的时间、和在任何给定的时间在给定的星际空间体积中的物质原子数目。一些随机过程比其它随机过程更适合于在不同电子通信系统中实施。
普遍将TRNG与PRNG组合在单个模块中或者作为如下级联,在该级联中,TRNG输出值序列用来播种PRNG。这一布置经常提供很高质量的随机数源,这些随机数具有PRNG的无偏置白频谱统计特性和TRNG的不可预测性。除了它的其它质量之外,PRNG通常还以比TRNG更快的速率产生随机数。通过足够经常地利用TRNG周期性地重播种PRNG以限制安全漏洞的统计可能性来维持安全性。
发明内容
根据一个实施方式,一种随机数生成器包括:产生随机值序列的第一电路,该第一电路具有改变随机数序列的熵的可调输入;第二电路,该第二电路从第一电路接收随机值序列并且产生指示随机值序列的熵程度的输出;以及第三电路,该第三电路响应于第二电路的输出而调整第一电路的可调输入。
在一个实现方式中,第一电路包括:产生第一振荡输出信号和第二振荡输出信号的一对振荡器,至少第二振荡器是可调谐的,从而可以调整第二振荡输出信号的频率;以及采样电路,该采样电路接收第一振荡输出信号和第二振荡输出信号并且以由第二振荡输出信号确定的间隔采样第一振荡输出信号。第一振荡器和第二振荡器优选地从第一次电力施加而自由运行,从而所述第一振荡输出信号和第二振荡输出信号具有相对于彼此的随机相位。第二电路是产生第一输出信号的冯诺依曼(vonNeumann)去相关器,该第一输出信号每当所述第一电路的输出处于第一状态和第二状态持续选择的时间段的相等部分时改变状态。计数器对去相关器的第一输出信号的状态改变进行计数并且每当计数达到预定阈值时被重置。第三电路每当计数达到预定阈值时调整第一电路的可调输入。
根据本发明的实施方式,提供一种用于产生随机值序列的电路,该电路包括:数字电路,该数字电路设计为在其至少一个状态下基于其中的固有熵产生结果,这些结果不是确定性的;调谐电路,该调谐电路用于调谐数字电路的结果的熵比例;以及输出端口,该输出端口用于从其提供结果作为随机值序列。
根据本发明的实施方式,提供一种方法,该方法包括:提供从第一已知状态启动的第一数字振荡器;提供从第二其它已知状态启动的第二其它数字振荡器;调谐第一数字振荡器和第二数字振荡器中的至少一个数字振荡器以产生在第一数字振荡器与第二数字振荡器之间的交互,该交互依赖于第一数字振荡器和第二数字振荡器中的至少一个数字振荡器的熵;以及对第一数字振荡器和第二数字振荡器中的至少一个数字振荡器进行采样,从而根据第一数字振荡器和第二其它数字振荡器二者以及其中的熵确定值。
根据本发明的实施方式,提供一种电路,该电路包括:第一电路部分,该第一电路部分中具有用于影响其形成非确定性值序列的结果的熵;以及自动化控制系统,该自动化控制系统用于调整非确定性值序列内的熵量。
根据本发明的实施方式,提供一种其中存储有数据的存储介质,该数据用于在被实施时产生:用于根据多种不同半导体制造过程中的任何一种半导体制造过程而制造的电路,该电路包括:数字电路,该数字电路设计为在其至少一个状态下基于其中的固有熵产生结果,这些结果不是确定性的;调谐电路,该调谐电路用于调谐数字电路的熵比例,即调谐源;以及输出端口,该输出端口用于从其提供随机值序列。
根据本发明的实施方式,提供一种方法,该方法包括:通过以下操作来提供用于提供非确定性值序列的第一随机数生成器:形成设计为在至少一个状态中基于固有熵产生非确定性结果的第一数字电路;形成用于调谐第一数字电路的熵比例的调谐电路;以及形成用于从其提供随机值序列的输出端口;以及通过以下操作提供用于提供非确定性值序列的第二随机数生成器:形成设计为在其至少一个状态中基于固有熵产生非确定性结果的第二数字电路;形成用于调谐第二数字电路的熵比例的调谐电路;以及形成用于从其提供随机值序列的输出端口。可以使用不同的数字集成电路技术来形成第一数字电路和第二数字电路,并且用于第一随机数生成器和第二随机数生成器以及第二随机数生成器的集成电路设计文件可以是相同的集成电路设计文件。
附图说明
图1是包括一对自由运行振荡器的电路的示意图,该对振荡器之一控制D型触发器对另一振荡器的输出的采样。
图2示出具有按照需求启用/停用振荡器的简单门控制的振荡器。
图3示出输入采样子系统,该输入采样子系统连接到用于提供无偏置输入的冯诺依曼去相关器以及连接到用于调整输入振荡器匹配的控制系统。
图4示出在随机序列生成器内包括用于从序列去除偏置的许多冯诺依曼去相关器的实施方式。
图5示出具有频率匹配控制的振荡器对的一个实施方式。
图6示出具有频率匹配控制的振荡器对的替选实现。
图7示出用于频率匹配控制元件的优选控制算法。
尽管本公开内容易受各种修改和替选形式影响,但是已经在附图中通过示例示出并且将在文本中详细地描述具体实施方式或者实现方式。然而,应当理解,公开内容不意图受限于公开的具体形式。实际上,公开内容将覆盖落入本发明的如由所附权利要求限定的精神和范围内的所有修改、等效和替选。
具体实施方式
呈现以下描述以使本领域技术人员能够实现和使用本发明,并且在具体应用及其要求的背景下提供以下描述。对公开的实施方式的各种修改对于本领域技术人员来说将是很明显的,并且本文中定义的一般原理可以应用于其它实施方式和应用而未脱离本发明的范围。因此,本发明不意图受限于公开的实施方式、但是将被赋予与本文中公开的原理和特征一致的最广范围。
在图1中所示电路中,包含两个自由运行振荡器101和102的电路用来生成包含随机数据的样本序列。一个振荡器102充当采样时钟,而另一振荡器101产生待采样的信号。利用对于振荡器的优点(例如低抖动、随时间的稳定性等)的常规测量,振荡器101和振荡器102无需是很高质量的。事实上,通过使用质量欠佳的振荡器来提高熵产生速率、即在生成的数据流中的样本的值的随机性或者不可预测性。通常选择振荡器使得它们的频谱特性不是和谐相关的。一种用于选择振荡器的策略是相对于采样的振荡器的基本模式选择慢采样振荡器、即它以远低于采样振荡器的尼奎斯特(Nyquist)速率的频率被采样。
可以通过允许振荡器从第一次电力施加起自由运行来最大化熵。这保证振荡器具有相对于彼此的随机相位。对于数字电路,可以使用由奇数数目的逻辑反相器的闭合环组成的环形振荡器。在被允许从通电起自由运行时,这些振荡器可以实际地在非基本模式上操作,这进一步增大熵。振荡器可以随时间改变模式。由不同库单元组成每个环或者每个环的部分帮助保证振荡器的基本模式不是和谐相关的。对系统测量的熵有贡献的主要因素包括:振荡器的随机相位和初始状态;振荡器抖动;振荡器的非平稳操作点;以及振荡器在亚稳态窗口内的偶尔采样。
图1的系统可以被推广为包括更多振荡器,每个振荡器以它自己的频率操作。尽管可以使用单个采样振荡器来完成采样,但是具有成对操作的优点。在这些优点之中的首要优点是由于冗余性所致的错误和故障容许。在用于每个振荡器对的采样电路(例如D触发器103)处收集来自每个振荡器对子系统的输出位以在单条输出线104上产生随机值序列。改变采样频率使随机值序列的熵改变。
尽管图1的系统可以产生高质量随机位流,但是它面临诸多缺点。首先,良好设计的数字系统一般不允许子系统在不可预测的状态中启动并且一般不允许子系统从那些状态起自由运行。具有来自这种电路操作的许多不希望的结果。功率利用不可预测,这在电池供电的数字电路中成问题。系统静态供电电流具有大的随机噪声分量,并且在一些情况下,在射频频谱中的噪声散发可能不利地影响与其它附近RF部件和子系统的兼容性。为了保持最大熵,必须允许振荡器继续贯穿每个通电周期运行。这浪费电力,尤其是在一些振荡器在非基本模式上运行时。另外,一旦被启动,每个振荡器在电路被供电时是持续的,从而振荡器电路的电力管理不是在未使用时减少电力消耗而在需要时重新接合电路的简单直接过程。因而,希望使系统操作在可按照需要接通和关断的模式中,和操作在有可能确保振荡器的操作频率的模式中。
图2示出包括控制门201和多个缓冲器202a-202f的振荡器电路。使用例如图2中所示的简单控制策略来启用和停用振荡器路径中的振荡器(例如这里示出为NAND门201的控制门),造成振荡器的操作的可预测对准。它也保证振荡器在它们的基本模式上操作且因此以最小电力消耗操作。尽管这一操作模式从许多观点来看是希望的,但是振荡器的门控除了同步它的启动与相邻振荡器的启动之外还造成振荡器环中的任何初始熵的损失并且使振荡器在它的基本模式上操作。
振荡器保持其它不确定性源,例如易受来自附近电路和电源的噪声以及在振荡器操作中固有的抖动影响。设计电路以鼓励在振荡器之间的竞赛(其中当采样门的输入端口在亚稳态过渡区域中时触发该采样门)是一种增大从熵源收获熵的速率的方法。使用互补透明锁存器取代单片库触发器允许采样电路表现增强的亚稳态脆弱性,这是又一熵源。在一种用于创建数字输出序列的方法中,频率或者事件计数器用来测量在给定的时间窗口中观测的大量事件。比较相继的计数器输出值的对以产生输出数据位。该比较例如在x样本大于y样本时产生逻辑真输出值;在x样本小于y样本时产生逻辑假输出值;而在样本具有相同值时丢弃输出值。
图3示出包括输入采样子系统302的系统,该输入采样子系统302连接到冯诺依曼去相关器301以在输出线306上产生具有减小的偏置(更大熵)的输出位流。无论输入信号何时在第一状态和第二状态中持续选择的时间段的相等部分,去相关器的这一输出都改变状态,例如线306上的输出信号在x大于y时在第一方向上改变状态(例如变高)而在x小于y时在第二方向上改变状态(例如变低)。这一输出信号是具有减小的偏置的随机值序列。
去相关器301通常一次两位地考虑输入流中的位。如果在任何给定的对中的两位x和y相等(x=y),则线305上的第二输出信号处于第一状态,而如果x和y不相等,则线305上的输出信号处于第二状态。该输出信号指示在去相关器的输入端接收的随机值序列的熵程度并且用来如以下详细描述的那样控制对振荡器102的频率的调整。
为了提高线306上的去相关器输出的熵,线305上的输出由频率控制子系统307处理以确定何时应当调整可调谐振荡器102的频率。在图4中示出一种用于在子系统307中进行该确定的算法。该算法的步骤401在步骤401从输出线306接收信号,然后步骤402确定该信号的状态是否指示x=y。如果答案为否定,则步骤403将计数器重置成零,并且系统在步骤408等待下一样本。如果在步骤40的答案为肯定,则步骤404递增计数器,然后步骤405确定递增的计数是否超过预选的阈值。如果答案为否定,则步骤406将系统带向步骤408以等待下一样本。如果在步骤405的答案为肯定,则将计数器重置成零并且在线307上产生信号以增大可调谐振荡器102的振荡输出的频率。该增大的频率增大在采样触发器303的输出端的随机值序列的熵。
冯诺依曼去相关器301的输出线305上的信号提供对系统何时没有以可接受速率产生熵的有用测量。在极端情况下,振荡器的操作可以变成平衡到在频率控制子系统303的分辨率限度内,从而产生很少的可测量熵或者完全不产生可测量熵。因此,线305上的信号用来确定何时需要对相对振荡器频率的调整以提高熵生成速率。在图3中所示的优选实施方式中,独立于可以存在的其它对而调整个别振荡器对101/102。
如果该改变造成提高熵生成速率,则不明确地使用新的相对频率。如果熵生成速率再次降至由产生样本的相继失败所测量的阈值以下,则进行另一调整。在将频率相对频率升高超出预设的限度之后,将相对频率重置成预定的下界。该方法允许每个振荡器对的相对频率基于该对向系统贡献熵的能力而按照需要独立地变化。该策略很通用:它允许系统补偿由于改变供电电压、环境和操作温度、随时间的漂移以及在系统的操作寿命内改变的其它因素所致的改变。它也允许系统对如下尝试做出响应和从如下尝试中恢复,这些尝试使用电路的外部参数来操控它的操作以尝试使由系统生成的随机数可预测,这是对运用加密随机数生成器的系统的某些种类的攻击的特性。
图5示出如下系统,在该系统中,多个输入位流104a…104n由多个独立振荡器对101a/102a…101n/102n产生。这些独立流104可以被组合以产生熵流的进一步增强。在本领域中存在用于产生指示随机值序列的熵程度的输出的其它方法。例如,可以直接地测量在位生成事件之间的时间,或者从采样门输出的实际位值可以在它们被产生时被直接地测量。这样的方法通常由于输出位流的不同统计表征而以相对于彼此不同的速率产生熵。如本领域技术人员将清楚的那样,它们也需要不同详细设计以便获得样本。
图5示出至少两个如图3中描述的连接到冯诺依曼去相关器的输入采样子系统。线104a…104n上的输入数据流被供应至冯诺依曼去相关器301a…301n以在线306a…306a上产生输出,并且线305a…305n上的输出被馈送至频率控制子系统307a…307n以产生去往对应的可调谐振荡器102a…102n的反馈控制信号。
尽管示出两个这样的电路块,但是应当注意可以使用多个电路块。这里,监视聚合的位流以确定其与整体性能有关的特性。例如监视在聚合的位流内的值的熵。可替选地,监视其它过程的结果,例如位舍弃统计。在熵落在已知限度以下时,调整每对输入电路的相对频率。可选地预设已知限度。另外可选地,已知限度是可编程的。以上用于调谐的方法独立地有效,并且在与其它方法组合时有效。
图6示出具有可调谐的相对频率的一对振荡器601a和601b。在一个实施方式中,用于每对的基频的比被选择为在约3至50的范围内。尽管自由运行的振荡器(即在未知状态中启动的振荡器)被设计为避免公共谐波,但是当前确定性数字设计有意地利用谐波的效果以通过过渡区域将采样时钟的门沿与采样时钟的上升沿或者下降沿对齐。例如通过使用复用器602控制环形振荡器601b的长度来实现如图6中所示的调谐。可替选地,依赖于另一种用于调谐振荡器频率的方法。进而另外,可以使振荡器相对相位可调谐。
由于多对振荡器在一些实施方式中存在,所以在那些实施方式中,针对每对可使用不同的振荡器频率和谐波,从而提供更少相关或者不相关的熵。对每对振荡器的调谐可单独执行,并且这样,由每对提供的熵有些在控制电路的控制内。调谐差异也潜在地对系统的总熵有贡献。
形成为环形振荡器的典型自由运行振荡器由在环中串联设置的奇数数目的反相元件构成。在使用这样的配置时,调谐频率和谐波包括从环形振荡器的路径去除非反相组中的一个或者多个单元,例如偶数数目的反相器将为非反相组。组合反相器与非反相缓冲器有时是有益的。尽管非反相缓冲器未使信号反相且因此未直接地造成振荡,但是它们提供延迟并且它们可以从环形振荡器的路径个别地可去除而不影响环的振荡性质。对于门控式振荡器设计(如上所述的示例性可调谐振荡器),存在如图7所示的将缓冲器703a-703k用于环701a的绝大多数的优点。图7示出包括缓冲器703a-703k和控制门704a-704b的振荡器对。在这一情况下,环702的长度无需是奇数数目的元件,即使反相元件的数目是奇数。缓冲器703a-703k是针对它们的传播延迟和驱动强度特性而选择的。回路延迟的控制粒度经常通过选择回路的频率调整部分中的短延迟缓冲器(703e-703g)而更细微,从而允许向环添加递增延迟或者从环去除递增延迟。
在另一实施方式中,可选地利用不同延迟的缓冲器,从而允许切换不同缓冲器以实现甚至更细微的调整粒度或者允许聚合用于更粗略的频率调整的缓冲器。环的其余部分可选地包括用于维持环形振荡器的近似频率的相对较慢的元件。
例如,如果环包括七个反相器和控制部分,该控制部分包括四个缓冲器,每个缓冲器具有回路中的先前缓冲器的近似两倍的延迟,则合成回路通过启用/停用第一缓冲器而用1u的延迟、通过启用/停用第二缓冲器而用2u的延迟、通过启用/停用第一缓冲器和第二缓冲器而用3u的延迟、…、通过启用/停用所有缓冲器而用15u的延迟可调谐。可替选地,缓冲器具有1u、1.1u、1.2u等的延迟以根据选择的缓冲器提供很细微的调整。由于无需为了每次调整而从环去除两个反相器,所以更细微的调整有时是可支持的,如更多不同类型的调整有时是可支持的。
本公开内容是逐对连接到数字化子系统的振荡器集合的公开内容。振荡器的操作被设计为由门控信号启用或者停用。在被启用时,每个振荡器在它的基频上操作。振荡器对和数字化子系统被设计为最大化在它在它的操作过渡区域中时采样输入信号的概率,因此它的值既不是逻辑“1”也不是逻辑“0”。电路的操作可以由于参数(例如环境温度)的变化、电源噪声的存在或者不存在、操作电压的改变和其它因素而随时间改变。因而,控制电路监视系统的操作并且如果它未产生足够频繁的随机结果则调整振荡器链的长度而且因此调整它的频率。
尽管已经参照一个或者多个具体实施方式描述本发明,但是本领域技术人员将认识到,可以对其做出许多改变而未脱离本发明的精神和范围。这些实施方式及其明显变化中的每一者均被设想成落入本发明的在所附权利要求中阐述的精神和范围内。

Claims (35)

1.一种随机数生成器,包括:
第一电路,所述第一电路产生随机值序列,所述电路具有改变所述随机数序列的熵的可调输入;
第二电路,所述第二电路从所述第一电路接收所述随机值序列并且产生指示所述随机值序列的熵程度的输出;以及
第三电路,所述第三电路响应于所述第二电路的所述输出而调整所述第一电路的所述可调输入。
2.根据权利要求1所述的随机数生成器,其中,所述第一电路包括:
一对振荡器,所述一对振荡器产生第一振荡输出信号和第二振荡输出信号,至少第二振荡器是可调谐的,从而能够调整所述第二振荡输出信号的频率,以及
采样电路,所述采样电路接收所述第一振荡输出信号和所述第二振荡输出信号并且以由所述第二振荡输出信号确定的间隔采样所述第一振荡输出信号。
3.根据权利要求2所述的随机数生成器,其中,第一振荡器和所述第二振荡器从第一次电力施加起自由运行,从而所述第一振荡输出信号和所述第二振荡输出信号具有相对于彼此的随机相位。
4.根据权利要求2所述的随机数生成器,其中,所述采样电路是D型触发器,所述D型触发器具有接收所述第一振荡输出信号的D输入端和接收所述第二振荡输出信号的时钟输入端。
5.根据权利要求1所述的随机数生成器,其中,所述第二电路是产生第一输出信号的冯诺依曼去相关器,所述第一输出信号每当所述第一电路的输出处于第一状态和第二状态持续选择的时间段的相等部分时改变状态。
6.根据权利要求5所述的随机数生成器,其中,所述第三电路包括计数器,所述计数器对所述去相关器的所述第一输出信号的状态改变进行计数并且每当所述计数达到预定阈值时被重置。
7.根据权利要求6所述的随机数生成器,其中,所述第三电路每当所述计数达到所述预定阈值时调整所述第一电路的所述可调输入。
8.一种随机数生成器,包括:
第一电路,所述第一电路产生随机值序列,所述电路具有改变所述随机值序列的随机性程度的可调输入;
第二电路,所述第二电路从所述第一电路接收所述随机值序列并且产生指示所述随机值序列的所述随机性程度的输出;以及
第三电路,所述第三电路响应于所述第二电路的所述输出而调整所述第一电路的所述可调输入。
9.一种用于产生随机值序列的电路,所述电路包括:
数字电路,所述数字电路具有基于所述数字电路中的固有熵产生非确定性输出的状态,所述非确定性输出包括随机值序列;
调谐电路,所述调谐电路用于基于所述数字电路的所述输出调整所述数字电路中的所述熵;以及
输出端口,所述输出端口用于从所述输出端口提供所述随机值序列。
10.根据权利要求9所述的电路,其中,所述调谐电路包括用于测量所述数字电路内的熵的熵确定电路。
11.根据权利要求10所述的电路,其中,所述调谐电路包括用于调整由所述电路产生的熵量的自动化控制系统。
12.根据权利要求9所述的电路,所述电路包括:第一振荡器,所述第一振荡器用于以第一频率振荡并且在其转变中包括已知熵量;第二可调谐振荡器,所述第二可调谐振荡器用于振荡并且在其转变中包括第二已知熵量;以及调谐电路,所述调谐电路用于调整至少所述第二可调谐振荡器用以影响所述随机值序列内的熵量。
13.根据权利要求9所述的电路,所述电路包括:第一振荡器,所述第一振荡器用于以第一频率振荡并且在其转变中包括已知熵量;第二可调谐振荡器,所述第二可调谐振荡器用于振荡并且在其转变中包括第二已知熵量;组合电路,所述组合电路用于组合所述第一振荡器和所述第二振荡器的结果以产生值,所述值是非确定性的并且基于已知熵量;以及调谐电路,所述调谐电路用于调整至少所述第二可调谐振荡器用以影响所述随机值序列内的所述已知熵量。
14.根据权利要求12所述的电路,所述电路包括节电控制电路,所述节电控制电路用于控制所述第一振荡器和所述第二可调谐振荡器的操作以在第一常规操作模式与第二低功率操作模式之间能够切换地控制所述第一振荡器和所述第二可调谐振荡器的操作。
15.根据权利要求12所述的电路,所述电路包括节电控制电路,所述节电控制电路用于控制所述第一振荡器和所述第二可调谐振荡器的操作以在所述第一振荡器和所述第二可调谐振荡器除了振荡之外的第一低功率操作模式与第二常规操作模式之间能够切换地控制所述第一振荡器和所述第二可调谐振荡器的操作。
16.根据权利要求9所述的电路,其中,所述第一数字振荡器用以提供门信号以产生用于形成所述值序列的部分的输出数据位,并且所述第二数字振荡器被设置成用于被门控以从所述第二数字振荡器提供所述输出数据。
17.根据权利要求16所述的电路,其中,用于被门控的电路包括传输门。
18.根据权利要求16所述的电路,其中,用于被门控的电路包括透明锁存器。
19.根据权利要求16所述的电路,所述电路包括用于对采样值进行滤波的滤波器。
20.根据权利要求20所述的电路,其中,所述滤波器包括冯诺依曼去相关器。
21.根据权利要求20所述的电路,其中,所述滤波器包括冯诺依曼去相关器的级联。
22.根据权利要求16所述的电路,其中,用于被门控的所述电路包括透明锁存器的级联,每个锁存器与该锁存器在所述透明锁存器的级联内的配对物相反地被门控。
23.根据权利要求9所述的电路,所述电路包括第三数字振荡器和第四数字振荡器,其中,所述第三数字振荡器用以提供门信号以产生用于形成所述值序列的部分的输出数据位,并且所述第四数字振荡器被设置成用于被门控以从所述第四数字振荡器提供所述输出数据,在所述第三数字振荡器与所述第四数字振荡器之间的时序是可调谐的。
24.根据权利要求9所述的电路,所述电路包括缓冲子系统,所述缓冲子系统具有输入端口和输出端口并且用于缓冲在所述输入端口接收的值以在所述输出端口形成值序列。
25.根据权利要求9所述的电路,所述电路包括监控器,所述监控器用于监控所述值序列内的熵并且用于提供指示所述熵的信号。
26.根据权利要求9所述的电路,所述电路包括:监控器,所述监控器用于监控所述值序列内的熵并且用于根据所述熵提供信号;以及自动调谐电路,所述自动调谐电路用于改变所述第一数字振荡器和所述第二数字振荡器中的至少一者的至少一个参数用以影响监控的所述值序列内的所述熵。
27.根据权利要求9所述的电路,所述电路包括第三数字振荡器和第四数字振荡器,其中,所述第三数字振荡器用以提供门信号以产生用于形成所述值序列的部分的输出数据位,并且所述第四数字振荡器被设置成用于被门控以从所述第四数字振荡器提供所述输出数据,在所述第三数字振荡器与所述第四数字振荡器之间的时序是可调谐的。
28.根据权利要求27所述的电路,其中,所述第一振荡器和所述第二数字振荡器形成第一振荡器对,以及其中,所述第三数字振荡器和所述第四数字振荡器形成第二振荡器对,以及其中,所述振荡器对被设置使得对一个振荡器与另一振荡器的同步采样高概率地产生在输入端口向采样门的亚稳态转变期间获得的样本。
29.根据权利要求28所述的电路,其中,来自每对的至少一个振荡器通过调整采样时序和转变时序之一来调谐以产生在输入端口向采样门的亚稳态转变期间获得的样本。
30.根据权利要求22所述的电路,所述电路包括监控子系统,所述监控子系统利用所述冯诺依曼去相关器累加连续样本拒绝的比率。
31.根据权利要求30所述的电路,所述电路包括控制电路,所述控制电路用于调整每对中的振荡器的相对频率以减小样本拒绝的所述比率。
32.根据权利要求1所述的电路,所述电路包括启动器电路,所述启动器电路用于以确定性方式从已知状态启动所述振荡器。
33.一种生成随机数的方法,包括:
产生具有可调熵的随机值序列,
将来自所述第一电路的所述随机值序列去相关并且产生指示所述随机值序列的熵程度的信号,以及
响应于指示所述随机值序列的所述熵程度的所述信号而调整所述随机值序列的所述熵。
34.一种产生随机值序列的方法,包括:
提供从第一已知状态启动的第一数字振荡器,
提供从第二已知状态启动的第二数字振荡器,
调谐所述第一数字振荡器和所述第二数字振荡器中的至少一者以产生在所述第一数字振荡器与所述第二数字振荡器之间的交互,所述交互依赖于所述第一数字振荡器和所述第二数字振荡器中的至少一者的熵,以及
对所述第一数字振荡器和所述第二数字振荡器中的至少一者进行采样,从而根据所述第一数字振荡器和所述第二其它数字振荡器二者以及其中的熵确定值。
35.一种电路,包括:
第一电路部分,所述第一电路部分中具有用于影响其形成非确定性值序列的结果的熵;以及
自动化控制系统,所述自动化控制系统用于调整所述非确定性值序列内的熵量。
CN201480029801.9A 2013-05-23 2014-05-14 用于动态调谐对于随机数生成器的反馈控制的系统和方法 Pending CN105247471A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361826883P 2013-05-23 2013-05-23
US61/826,883 2013-05-23
PCT/IB2014/061439 WO2014188307A1 (en) 2013-05-23 2014-05-14 System and method for dynamic tuning feedback control for random number generator

Publications (1)

Publication Number Publication Date
CN105247471A true CN105247471A (zh) 2016-01-13

Family

ID=51933025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480029801.9A Pending CN105247471A (zh) 2013-05-23 2014-05-14 用于动态调谐对于随机数生成器的反馈控制的系统和方法

Country Status (5)

Country Link
US (1) US9846568B2 (zh)
KR (1) KR20160012121A (zh)
CN (1) CN105247471A (zh)
DE (1) DE112014002503T5 (zh)
WO (1) WO2014188307A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027238A (zh) * 2016-06-30 2016-10-12 中国电子科技集团公司第五十四研究所 一种适用于无线通信系统的真随机数发生器
CN107301033A (zh) * 2017-06-13 2017-10-27 复旦大学 一种真随机数发生器最大熵速率的测试方法
CN108306732A (zh) * 2018-04-20 2018-07-20 北京数字认证股份有限公司 一种随机数生成方法、相关设备及系统
CN108345445A (zh) * 2017-01-25 2018-07-31 中国科学院数据与通信保护研究教育中心 一种足熵数字物理噪声源装置
TWI634479B (zh) * 2017-10-11 2018-09-01 華邦電子股份有限公司 隨機數產生系統及其隨機數產生方法
CN109656514A (zh) * 2017-10-11 2019-04-19 华邦电子股份有限公司 随机数产生系统及其随机数产生方法
CN112306456A (zh) * 2019-07-25 2021-02-02 熵码科技股份有限公司 熵生成器及生成增强熵的方法
CN112615589A (zh) * 2020-12-15 2021-04-06 海光信息技术股份有限公司 环形振荡器频率调整方法、装置、存储介质及设备
CN116382635A (zh) * 2023-06-05 2023-07-04 灿芯半导体(成都)有限公司 一种全数字、真随机数熵源系统

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101987141B1 (ko) * 2013-03-04 2019-10-01 삼성전자주식회사 난수 발생기
FR3023396B1 (fr) 2014-07-02 2016-07-29 Stmicroelectronics Rousset Generateur de nombres aleatoires
US10140096B1 (en) * 2016-12-14 2018-11-27 Amazon Technologies, Inc. Preventing ring oscillator phase-lock
US10579339B2 (en) * 2017-04-05 2020-03-03 Intel Corporation Random number generator that includes physically unclonable circuits
JP6886700B2 (ja) * 2017-07-11 2021-06-16 吉川工業アールエフセミコン株式会社 乱数生成回路
US11061997B2 (en) * 2017-08-03 2021-07-13 Regents Of The University Of Minnesota Dynamic functional obfuscation
PL3665565T3 (pl) * 2017-08-08 2024-04-22 Politechnika Warszawska Generator fizycznie niekopiowalnych kluczy kryptograficznych
EP3665776A4 (en) * 2017-08-08 2020-12-30 Politechnika Warszawska RANDOM NUMBER GENERATOR
WO2019030667A1 (en) * 2017-08-08 2019-02-14 Politechnika Warszawska RANDOM NUMBER GENERATOR
KR101971001B1 (ko) 2017-09-08 2019-04-22 국민대학교산학협력단 화이트박스 암호가 적용된 블록 암호 기반의 난수 생성 방법 및 장치
DE102019201094A1 (de) * 2019-01-29 2020-07-30 Robert Bosch Gmbh Datenverarbeitungsvorrichtung und Verfahren zum Betreiben einer Datenverarbeitungsvorrichtung
US11237800B2 (en) 2019-11-12 2022-02-01 International Business Machines Corporation Time-shifted seed for random number generator
US11301215B2 (en) 2020-01-27 2022-04-12 International Business Machines Corporation Real time configuration of multiple true random number generator sources for optimized entropy generation
WO2021207428A1 (en) * 2020-04-09 2021-10-14 Rambus Inc. Entropy generation for use in cryptographic random number generation
US11567733B2 (en) * 2020-04-15 2023-01-31 Intel Corporation System, method and apparatus for race-condition true random number generator
US11928248B1 (en) * 2021-06-18 2024-03-12 Marvell Asia Pte Ltd Semiconductor device with mechanism to prevent reverse engineering

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 皇家飞利浦电子股份有限公司 用于改善生成真随机数的随机性的熵估计和抽取
US20100106757A1 (en) * 2007-09-18 2010-04-29 Seagate Technology Llc Active Test and Alteration of Sample Times For a Ring Based Random Number Generator
US20110169580A1 (en) * 2010-01-08 2011-07-14 James Dodrill Inverting gate with maximized thermal noise in random number genertion
CN102354280A (zh) * 2011-08-16 2012-02-15 西南大学 一种物理随机数发生器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480072B1 (en) 2000-04-18 2002-11-12 Advanced Micro Devices, Inc. Method and apparatus for generating random numbers
US6509772B1 (en) * 2000-10-23 2003-01-21 Intel Corporation Flip-flop circuit with transmission-gate sampling
US6862605B2 (en) * 2001-08-15 2005-03-01 Scott A. Wilber True random number generator and entropy calculation device and method
JP4248950B2 (ja) 2003-06-24 2009-04-02 株式会社ルネサステクノロジ 乱数発生装置
JP4274457B2 (ja) * 2003-06-27 2009-06-10 インターナショナル・ビジネス・マシーンズ・コーポレーション トランスペアレントラッチ回路
CN1949708B (zh) 2006-11-10 2011-02-02 华为技术有限公司 随机数发生装置、方法及对应的数据交互系统
IL187035A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Configurable random number generator
US8539009B2 (en) 2008-12-16 2013-09-17 Lsi Corporation Parallel true random number generator architecture
WO2011102866A2 (en) * 2009-11-25 2011-08-25 Aclara RF Systems Inc. Random number generator
DE102013204274A1 (de) * 2013-03-12 2014-09-18 Robert Bosch Gmbh Verfahren zum Erkennen einer Korrelation

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 皇家飞利浦电子股份有限公司 用于改善生成真随机数的随机性的熵估计和抽取
US20100106757A1 (en) * 2007-09-18 2010-04-29 Seagate Technology Llc Active Test and Alteration of Sample Times For a Ring Based Random Number Generator
US20110169580A1 (en) * 2010-01-08 2011-07-14 James Dodrill Inverting gate with maximized thermal noise in random number genertion
CN102354280A (zh) * 2011-08-16 2012-02-15 西南大学 一种物理随机数发生器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BENJAMIN JUN ET AL.: "The Intel Random Number Generator", 《CRYPTOGRAPHY RESEARCH INC WHITE PAPER PREPARED FOR INTEL CORPORATION》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027238A (zh) * 2016-06-30 2016-10-12 中国电子科技集团公司第五十四研究所 一种适用于无线通信系统的真随机数发生器
CN108345445A (zh) * 2017-01-25 2018-07-31 中国科学院数据与通信保护研究教育中心 一种足熵数字物理噪声源装置
CN107301033A (zh) * 2017-06-13 2017-10-27 复旦大学 一种真随机数发生器最大熵速率的测试方法
TWI634479B (zh) * 2017-10-11 2018-09-01 華邦電子股份有限公司 隨機數產生系統及其隨機數產生方法
CN109656514A (zh) * 2017-10-11 2019-04-19 华邦电子股份有限公司 随机数产生系统及其随机数产生方法
US10613832B2 (en) 2017-10-11 2020-04-07 Winbond Electronics Corp. Random number generating system and random number generating method thereof
CN109656514B (zh) * 2017-10-11 2023-08-15 华邦电子股份有限公司 随机数产生系统及其随机数产生方法
CN108306732A (zh) * 2018-04-20 2018-07-20 北京数字认证股份有限公司 一种随机数生成方法、相关设备及系统
CN112306456A (zh) * 2019-07-25 2021-02-02 熵码科技股份有限公司 熵生成器及生成增强熵的方法
CN112615589A (zh) * 2020-12-15 2021-04-06 海光信息技术股份有限公司 环形振荡器频率调整方法、装置、存储介质及设备
CN116382635A (zh) * 2023-06-05 2023-07-04 灿芯半导体(成都)有限公司 一种全数字、真随机数熵源系统
CN116382635B (zh) * 2023-06-05 2023-08-08 灿芯半导体(成都)有限公司 一种全数字、真随机数熵源系统

Also Published As

Publication number Publication date
US9846568B2 (en) 2017-12-19
DE112014002503T5 (de) 2016-05-19
WO2014188307A1 (en) 2014-11-27
KR20160012121A (ko) 2016-02-02
US20140351305A1 (en) 2014-11-27

Similar Documents

Publication Publication Date Title
CN105247471A (zh) 用于动态调谐对于随机数生成器的反馈控制的系统和方法
JP6761934B1 (ja) 検出および補正機能を備えた真の乱数の発生方法および装置
Johnson et al. An improved DCM-based tunable true random number generator for Xilinx FPGA
CN106293617B (zh) 真随机数发生器
CN101965552B (zh) 基于数控振荡器的数字随机数生成器
Golic New methods for digital generation and postprocessing of random data
US8583711B2 (en) Random number generation system with ring oscillators
US7117233B2 (en) Random number generator and method for generating a random number
KR101987141B1 (ko) 난수 발생기
CN102007470A (zh) 用于产生随机比特序列的装置和方法
US9612801B2 (en) Power supply for ring-oscillator based true random number generator and method of generating true random numbers
CN103513955B (zh) 用于产生随机数的方法和装置
TW201237744A (en) Apparatus and method for generating a random number
Balasch et al. Design and testing methodologies for true random number generators towards industry certification
US10659020B2 (en) Pulse counting circuit
CN110059487A (zh) 用于在计算机系统中提供安全性的系统和方法
TW557636B (en) Random number generator
CN109167664A (zh) 一种基于异或门的可重构环形振荡器puf电路
US10469059B1 (en) Stabilizing the startup behavior of ring oscillators
CN103607275A (zh) 一种安全性适应速度变化的加密方法及装置
Lee et al. Implementing a phase detection ring oscillator PUF on FPGA
Jin et al. A dynamically reconfigurable entropy source circuit for high-throughput true random number generator
US10140096B1 (en) Preventing ring oscillator phase-lock
CN111124363B (zh) 一种真随机数生成方法及真随机数发生器
US11489681B2 (en) Multifunctional physically unclonable function device based on hybrid Boolean network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160113

WD01 Invention patent application deemed withdrawn after publication