CN101174201B - 产生随机数输出值的电路和方法 - Google Patents

产生随机数输出值的电路和方法 Download PDF

Info

Publication number
CN101174201B
CN101174201B CN2007101819710A CN200710181971A CN101174201B CN 101174201 B CN101174201 B CN 101174201B CN 2007101819710 A CN2007101819710 A CN 2007101819710A CN 200710181971 A CN200710181971 A CN 200710181971A CN 101174201 B CN101174201 B CN 101174201B
Authority
CN
China
Prior art keywords
circuit
voltage level
bistable
time
bistable circuit
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
Application number
CN2007101819710A
Other languages
English (en)
Other versions
CN101174201A (zh
Inventor
T·N·马奇
D·T·布劳夫
C·A·托库纳加
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.)
University of Michigan
Original Assignee
University of Michigan
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 University of Michigan filed Critical University of Michigan
Publication of CN101174201A publication Critical patent/CN101174201A/zh
Application granted granted Critical
Publication of CN101174201B publication Critical patent/CN101174201B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Measurement Of Current Or Voltage (AREA)
  • Measurement Of Unknown Time Intervals (AREA)
  • Electronic Switches (AREA)

Abstract

本发明公开了一种用于产生随机输出值的电路,包括:双稳态电路,具有在其中输出0或1的两种稳定状态,并且具有在其中输出0与1之间的浮点值的平衡亚稳定状态,所述双稳态电路在接通后从所述亚稳定状态转变为所述稳定状态之一,所述状态取决于所述双稳态电路的端口上的电压电平;电压电平控制电路,用于控制所述双稳态电路的所述端口上的电压电平;时间测量电路,用于测量所述双稳态电路在接通之后从所述亚稳定状态转变为所述稳定状态之一所需的转变时间;以及控制逻辑,用于控制所述时间测量电路、所述电压电平控制电路以及所述双稳态电路的断开与接通,所述控制逻辑适于执行以下序列:控制所述电压电平控制电路来设置所述双稳态电路的所述端口上的预定电压电平,接通所述双稳态电路,检测所测量的转变时间,并且断开所述双稳态电路,以及若所述所测量的转变时间大于预定值,则输出所述双稳态电路的转变后的稳定状态作为所述随机输出值。

Description

产生随机数输出值的电路和方法
技术领域
本发明的领域涉及数据处理,具体来说,涉及随机数的生成。 
背景技术
真随机数的生成是一项困难的任务。不同的方法已经尝试采用亚稳态事件来生成随机输出值。它们似乎都不太理想,并且倾向于处理输出以在它们发觉不存在时恢复随机性。在本质上是一个非随机过程。例如,一部分采用了冯·诺伊曼校正器来消除大量0和1(例如参见R.Brederlow等人的“采用单氧化层陷阱的随机电报噪声的低功率真随机数发生器”(ISSCC Dig.Tech.Papers,第536-532页,2006年2月))。这样一种校正仅用来掩盖以下事实:初始位流不是真正随机的,并且无法恢复真随机性。Kinniment等人的“采用亚稳性的芯片上随机数发生器的设计”(Proc European Solid-Statecircuit conf,第595-598页,2002年9月)公开了一种方法,它采用XOR(异或)校正器、利用亚稳性来放大热噪声,并且通过偏置系统来控制亚稳态操作,以产生相等数量的0和1。但是,这通过产生实际上缺乏随机性的相关流而危及到系统。 
发明内容
本发明的第一方面提供一种用于产生随机输出值的电路,包括:双稳态电路,具有在其中输出0或1的两种稳定状态,并且具有在其中输出0与1之间的浮点值的平衡亚稳定状态,所述双稳态电路在接通后从所述亚稳定状态转变为所述稳定状态之一,所述状态取决于所述双稳态电路的端口上的电压电平;电压电平控制电路,用于控制所述双稳态电路的所述端口上的电压电平;时间测量电路,用于测量所述双稳态电路在接通之后从所述亚稳定状态转变为所述稳定状态之一所需的转变时间;以及控制逻辑,用于控制所述时间测量电路、所述电压电平控制电路以及所述双稳态电路的断开及接通,所述控制逻辑适于执行以下序列:控制所述电压电平控制电路来设置所述双稳态电路的所述端口上的预定电压电平,接通所述双稳态电路,检测所测量转变时间,并断开所述双稳态电路,以及若所测量的转变时间大于预定值,则输出所述双稳态电路的经转换的稳定状态作为所述随机输出值。 
通过为电路提供亚稳定状态,电路可在那种亚稳定状态上平衡,然后,到稳定状态的任何转变起因于热过程,这些热过程是随机的。因此,到稳定状态的这种转变可用来产生真正随机的输出值。这种系统的一个潜在的问题是,不一定始终易于达到亚稳定状态。但是,本发明已经认识到,接通与转变到稳定状态之间所需的时间是电路在接通时是否最初处于亚稳定状态的指示。实际上,若它立即转变,则可能的是,电路首先没有在亚稳定状态中平衡,但是,若它需要较长时间,则它短暂地处于那种亚稳定状态。因此,具有亚稳定状态的双稳态电路不仅能够用于产生随机输出值,而且它转变所需的时间也可用作它是否最初处于那种亚稳态、因而用作输出值是否是真正随机输出值的量度。这消除了通过输出值本身来判断输出值的随机性的需要。 
实际上,电路在接通时越接近亚稳定状态,则越有可能最终转变后的状态将起因于作为随机物理过程的热噪声。因此,不是必须修正输出流以尝试使它更随机,这是本质上一定有缺陷的过程,而是可修正输入,以使电路能够更接近其亚稳定状态。实际上,系统可通过随机物理过程、热噪声影响系统的方式来限制。 
在一些实施例中,所述控制逻辑适于连续执行所述序列,以输出多个随机输出值。 
序列的重复可用来产生例如可用于组成随机数的多个随机值。 
在一些实施例中,响应不大于多个连续序列的所述预定值的所测量转变时间,所述控制逻辑适于执行复位操作,所述复位操作包括对于所述双稳态电路的所述端口上的不同的设置电压电平多次执行所述序列,并且在所述复位操作期间不输出转变后的稳定状态;以及在所述复位操作之后,所述控制逻辑适于将所述预定电压电平复位为所述复位操作期间输出最长平均转变时间的电压电平值。 
为了确保双稳态电路继续接近其平衡点运行,有时可能需要执行复位操作。因此,控制逻辑适于检测所测量的转变时间下降到低于多个连续序列的预定值,根据情况选取该数。这表明,电路可能逐渐离开其最佳操作位置。在这种情况下,运行复位操作。复位操作改变双稳态电路的端口上的电压电平,并对每个不同的电压电平设置多次执行该序列,然后再选择产生了最长平均转变时间的设置电压电平,并将其复位作为后续序列的预定电压电平。电路保持为越接近以其亚稳定状态开始,则存在越多随机的并且可作为随机值输出的转变后的状态。因此,希望使它保持为尽可能接近,在本发明的实施例中,这通过检测电路电路从这种状态漂移的时间以及在必要时执行复位操作来进行。 
在一些实施例中,在所述复位操作期间,控制逻辑适于对序列的初始和后续集合将所述设置电压电平修正一预定量,使得所述平均转变时间增加,然后对序列的另一个集合将所述设置电压电平修正所述预定量,直到所述平均转变时间减小。 
可能有利的是,控制复位期间的电压电平的修正,使得转变时间最初对于序列的各集合增加,然后转变时间开始减小。若发生这种情况,则知道已经通过电压平衡点,以及只要电压没有调节太大量,就可能已经达到亚稳定状态,因而序列集合的最长平均测量转变时间将在接通时对应于亚稳定状态,并且产生它的电压将是适当的预定值。 
在一些实施例中,在所述复位操作期间,所述控制逻辑适于修正接通时的所述电压电平,以与先前序列相比增加所述平均转变时间,并响应所述平均转变时间超过所述预定值来将所述电压电平设置为所述预定电压电平,输出转变后的值作为所述随机输出值。 
复位操作可修正电压,直到平均转变时间大于预定值,然后将电压电平调节到该值。当选择预定值以表明已经达到亚稳定状态时,这提供复位电压电平的可接受方式。 
该预定值可存储在电路的数据存储器中。可在制造时校准之后永久地存储在电路中,或者可在使用中校准电路,在这种情况下,它可能间断地被更新。作为备选的方案,必要时,它可从外部输入。 
在一些实施例中,所述预定值响应所述控制电路执行校准操作而产生,所述校准操作包括:对于不同的设置电压电平多次执行所述序列而不输出转变后的稳定状态并确定最长平均转变时间,所述控制电路适于多次执行其它序列,其中的所述电压电平设置为产生所述最长平均转变时间的电压电平,所述控制电路适于分析其它序列所产生的转变后的稳定状态,以确定所述锁存器是否在接通时处于亚稳定状态以及是否将作为所述预定值来存储其它序列的最长平均转变时间。 
该电路可经过校准以确定产生亚稳定状态的测量时间的预定值。可在最初进行校准和/或必要时在操作中再次进行校准。例如,若甚至在复位之后仍然存在过快转变的许多连续序列,则可能需要这种操作。 
在一些实施例中,若所述分析确定所述锁存器在接通时未处于亚稳定状态,则所述电路可用于输出出错指示符。 
采用预定值的另一个优点在于,若所测量的转变时间没有超过该值,则在系统中可能存在差错,并且可能输出出错指示符。若系统处于确定性噪声的攻击之下,则这可能是有用的。在这样一种情况下,则不会达到亚稳定状态,但出错指示符有助于检测该问题, 然后可解决该问题。 
在一些实施例中,所述电路包括另一个端口,所述端口和另一个端口输出所述输出值,所述电压电平控制电路通过在接通时于所述另一个端口上提供恒定电压并在所述端口上提供所述设置电压电平,来控制接通时所述端口与另一个端口之间的电压差。 
在许多实施例中,双稳态电路具有两个端口,电压电平设置为两个端口之间的电压差,在一个端口上提供恒定电压,而在另一个端口上提供可变电压。 
虽然双稳态电路可由具有两种稳定状态和一种亚稳定状态的任何元件来组成,但是,交叉耦合逆变器对特别适合于这种电路,因为它易于构建并具有亚稳定状态。 
在一些实施例中,所述双稳态电路由高和低电压干线供电,所述控制电路适于通过提供所述高和低电压干线上的电压差来接通所述双稳态电路,以及适于通过提供等于所述电压干线的每一个上的所述电压差的一半的电压来断开所述双稳态电路。 
电路的接通和断开明显影响从亚稳定到双稳定状态的转变时间,因此应当以受控方式进行。在实施例中,两种电压干线均设置为相同的中间电压,然后在接通时,干线上的电压电平改变到其相应的高和低值。 
在一些实施例中,所述时间测量电路包括计数器,计数器包括各可由所述双稳态电路的逐渐延迟的接通信号作为时钟脉冲的触发器的串联阵列,所述计数器响应指示所述双稳态电路已经转变到稳定状态的信号而停止。 
虽然可通过许多方式来测量时间,但是,进行这种操作的一种简单且准确的方式是采用一种计数器,它包括各由逐渐延迟的接通信号作为时钟脉冲的触发器的串联阵列并且响应双稳态电路转变到稳定状态而停止。 
在一些实施例中,多次产生所述随机输出值,以及所述多个随 机输出值作为随机数被输出。 
该电路一般用来产生随机数。因此,可多次产生随机输出值,从而产生该随机数。 
在另一些实施例中,根据本发明的第一方面的多个电路通过它们的输出端相互并联来设置,以产生随机数。 
本发明的第二方面提供一种用于产生随机输出值的方法,包括以下步骤:(i)产生预定电压电平,并将所述电压电平输出到双稳态电路,所述双稳态电路具有分别产生0或1作为输出值的两种稳定状态并具有带有0与1之间的浮点输出值的平衡亚稳定状态,所述双稳态电路在接通后从所述亚稳定状态转变为所述稳定状态之一,所述双稳态电路的所述状态取决于所述输入电压电平; 
(ii)接通所述双稳态电路; 
(iii)测量所述双稳态电路从所述亚稳定状态转变为所述稳定状态之一所需的时间;以及 
(iv)若所述时间大于预定值,则输出转变后的状态作为所述随机输出值。 
本发明的第三方面提供一种用于产生随机输出值的装置,包括:双稳态部件,具有在其中输出0或1的两种稳定状态,并且具有在其中输出0与1之间的浮点值的平衡亚稳定状态,所述双稳态部件在接通后从所述亚稳定状态转变为所述稳定状态之一,所述状态取决于所述双稳态部件的端口上的电压电平;电压电平控制部件,用于控制所述双稳态部件的所述端口上的电压电平;转变时间测量部件,用于测量所述双稳态电路在接通之后从所述亚稳定状态转变为所述稳定状态之一所需的转变时间;以及控制部件,用于控制电压电平控制部件、所述转变时间测量部件及所述双稳态部件的接通及断开,所述控制部件适于执行以下序列:控制所述电压电平控制部件来设置所述双稳态部件的所述端口上的预定电压电平,接通所述双稳态部件,检测所测量转变时间,以及若所测量的转变时间大于 预定值,则输出所述双稳态部件的转变后的稳定状态作为所述随机输出值。 
通过以下结合附图对解释性实施例的详细描述,本发明的上述和其它目的、特征和优点将显而易见。 
附图说明
图1示出根据本发明一个实施例的双稳态电路以及表示各逆变器的输入电压与输出电压之间的差异的曲线图; 
图2示出采取晶体管形式的图1的双稳态电路; 
图3示出根据本发明的一个实施例的电路; 
图4a示出根据本发明的一个实施例的双稳态电路和电压控制电路; 
图4b更详细地示出图4a的电压控制电路; 
图4c更详细地示出图3的时间测量电路; 
图5是示出产生随机数的方法的流程图; 
图6示出采用电压差的转变时间的统计属性; 
图7示出具有逐个周期随机位生成和控制及分级模块的随机数发生器的框图; 
图8示出亚稳态锁存器、停止信号生成和时间数字转变器电路; 
图9示出控制亚稳态锁存器及其输出的信号的时间行为; 
图10示出双稳态电路的平均转变时间的分布; 
图11示出调谐算法;以及 
图12示出互补比较器电路。 
具体实施方式
图1示出根据本发明一个实施例的双稳态电路30以及表示各逆变器10和20的输入电压与输出电压之间的差异的曲线图。从曲线图中可以看出,对于0处的输入电压,对应的输出电压对于各逆变器为1。当输入电压增加时,对应的输出电压保持为大约1,直至电 压达到大约0.5,这时输出电压保持该值片刻,直至输入电压达到更大的值,这时它转变为1。还示出另一个逆变器的输入/输出电压,并且遵循相似的模式。这样,在虚线标记并由12指示的点上存在亚稳定状态,其中,若输入电压设置为该值,则两个逆变器得到平衡,以及电压的小变化使系统翻转到它的稳定状态之一,在其中输出0或1。因此,亚稳定状态只是暂时稳定,而诸如热噪声之类的事件足以使它翻转离开那种状态。因此,若可获得亚稳定状态,则翻转离开该状态可因热噪声而发生,因而应当是随机的。 
图2示出双稳态电路30,它在该实施例中是采取晶体管形式的交叉耦合逆变器。可以看到,存在正电压干线35和地干线36以及电压输出和输出端口32。 
图3示出根据本发明的一个实施例的电路5。电路5包括控制逻辑40、时间测量电路50、数据存储器60、比较器70、双稳态电路30和电压控制电路80。在操作中,控制逻辑40响应输入信号而通过向双稳态电路30发送断开信号来开始测量的序列,双稳态电路30将该电路的电压干线设置为中间电压,在本例中各为0.5伏。然后,它向电压控制电路80发送控制信号,电压控制电路80将端口32上的电压电平设置为第一测量的第一电平。这通过在端口之一上设置恒定电压而在另一个端口上设置预定电压来进行,该预定电压可以与恒定电压相同,或者它可以是对该电压的少许偏移。开始或接通信号然后从控制电路40发送给双稳态电路30,它分别将电压干线设置为1伏和地。该开始信号还被发送给时间测量电路50,该时间测量电路然后测量时间,直到双稳态电路30翻转到稳定状态,在这时,在端口32和该翻转触发器电路37上输出零或一,从而触发停止信号以停止时间测量。 
然后,由比较器70将所测量转变时间与数据存储器60中的存储值进行比较,若它大于该值,则来自双稳态电路30的输出值被认为是随机的,并且作为随机输出值在数据输出端90上输出。若它不 大于该值,则控制逻辑40不输出该值。双稳态电路30然后被断开,并且测量序列重复进行,以及若所测量的转变时间大于数据存储器60中存储的值,则该值作为(另一个)随机输出值被输出。这种操作继续进行,直到已经输出所需数量的随机值,或者直到所测量的转变时间在某些连续次数上小于数据存储器中存储的值。若发生这种情况,则表明电路不再在其平衡点附近运行,而可能需要复位。应当注意,虽然在该实施例中,复位的触发响应超过某些连续次数而发生,但是在另一些实施例中,它可通过超过总次数的预定部分来触发。 
复位操作包括执行上述测量序列预定次数,各针对由电压控制电路80设置的略微调节的控制电压电平来进行。序列的这种重复继续进行,直到发现最小平均测量转变时间。在已经发现时,由电压电平控制电路输出以得到该时间的电压电平,然后在将来的测量序列中用作电压电平。应当注意,必须对于各输入电压电平多次执行所述序列,因为从亚稳定状态的转变由随机过程来确定,因而将在不同时间获得。需要平均测量时间来确定哪一个电压产生平衡状态。 
若在复位之后同样存在没有产生足够长的测量时间的多个连续测量序列,则系统可再次被校准,以在数据存储器60中存储不同的值。为此,对于不同的电压电平来执行设置或测量序列,并发现最大平均转变时间。产生该最大平均转变时间的电压控制电路80中的电压电平然后多次用作对电路的输入,并在统计上分析在90输出的输出值,以查看它们是否为真正随机的。若它们是随机的,则产生该值的转变时间存储在数据存储器60中作为新的预定值,并对实际上是重新校准的系统再次重复执行该序列。 
若它们不是随机的,则输出差错,因为电路没有达到其亚稳定状态,这可能是由于确定性噪声或者因某种原因而不平衡的电路。 
如已经公开的那样,测量序列可重复进行若干次,以产生可用作随机数的多个随机输出值。作为备选的方案,多个这种电路可并 联设置,并且它们相应的输出端90用来产生随机数。 
图4a更详细地示出具有电压控制80的双稳态电路30。双稳态电路30包括交叉耦合逆变器对10、20,其中包括接通或断开它们的开关。这些开关将各个逆变器连接到其电压干线或者连接到中间电压。被发送以操作这些开关的开始信号还被发送给图3和图4c的时间测量电路50,以开始时间测量。 
双稳态电路30具有连接到在中部具有均衡器的其端口32的电压控制电路80。在初始化或复位时,这些端口32设置成对测量序列集合具有略微不同的电压。这些略微不同的电压电平对测量序列的各集合来改变,以及双稳态电路达到稳定状态所需的平均时间对各集合来测量并取决于电压的该差值。接收电压控制信号的端口32还输出电压电平,该信号还用来触发停止信号,因为当它转变到稳定状态时,这用来触发时间测量电路50的停止信号。 
图4b更详细地示出电压控制电路。设置对逆变器的输入电压的电路具有DC参考电压偏置以及电容器阵列,它们通过电容耦合的作用将电荷注入端口。所注入的电荷数量通过将锁存器调谐到亚稳态的控制算法来编程。控制配置被馈入开关电容器阵列的驱动器的启用信号。馈入端口的电荷数量取决于电压电平设置。因此,电路可看作设置端口上的电压电平,或者可看作对它注入电荷。 
图4c示出测量锁存器从亚稳定转变为稳定状态所需的时间的电路。输入到时间测量电路50的开始信号与输入到双稳态锁存器30的开始信号相同。停止信号响应双稳态电路30转变到其稳定状态而产生。时间测量电路50包括通过开始信号的延迟形式来作为时钟脉冲并且还捕捉停止信号的触发器的串联阵列。该串联阵列的输出用指示开始与停止信号之间的差异被量化为多少延迟级的温度计代码来配置。为了增加其范围,可包括确定开始信号经过该阵列的次数的计数器。 
停止信号由电路37(参见图3)产生,它确定锁存器最后转变 其状态的时间。在一些实施例中,该电路是用作针对接近正和负电源的两个电压的比较器的一对差分放大器。比较器的输出馈送到逻辑“异或”门,它仅在比较器之一的输出为真(参见图12)时才评估真实性。 
图5是示出根据本发明的一个实施例产生随机数的方法的流程图。最初,预定电压电平被产生并输入到双稳态电路。然后,接通双稳态电路,并测量它转变到稳定状态所需的时间。然后评估该时间,以查看它是否大于预定值。若它大于该值,则电路最初处于亚稳定状态,并且到稳定状态的转变起因于热噪声,因此,稳定状态通过随机过程产生,并且可用作随机输出值。若它不大于该值,则转变后的状态不用作随机值,而是重复进行该过程,直至在大于预定值的时间段中达到转变后的状态。 
以下提供根据一个具体实施例的真随机数发生器(tRANG)的概述。 
通过对测量转变时间的亚稳态事件的随机性进行分级,下面提出的基于亚稳态的tRNG实现高熵并通过NIST随机性测试,而不管输出位值,它允许确定亚稳态时的原始噪声等级并对最大随机性进行调谐。完全集成的tRNG通过0.13μm技术在0.036mm2中制造和测量。 
真随机数发生器(tRNG)采用随机性的物理源(例如热噪声、电报噪声)来产生随机位流。但是,它们对诸如电源噪声、过程变化或蓄意攻击之类的非预期确定性噪声非常敏感。下面提供的随机数发生器提供基于亚稳态的tRNG,它能够按照系统的实际随机性来中和这类确定性事件并限定输出流。 
tRNG方法控制亚稳态操作而无需观测所产生的输出位。相反,各亚稳态事件的转变时间被记录(而不管0、1结果),它允许系统确定亚稳态时的原始噪声等级和事件的随机性。这允许控制对输出位的质量“分级”并针对最大随机性来调谐系统。此外,所提出的 方法允许用户权衡位流的质量和位产生速率。完全集成的tRNG通过0.13μm技术在0.036mm2中制造。所产生的位流实现高熵并通过NIST随机性测试,而无需借助于校正器。 
tRNG采用在亚稳定状态附近运行的锁存器,其中的最终状态通过装置的热噪声来颠倒,从而产生随机输出值。但是,若初始锁存器电压由于不匹配或外部噪声而未处于亚稳态点,则锁存器将具有确定的输出值。这种方法观测到,亚稳态事件的随机性可通过测量锁存器进行转变所需的时间来确定。转变时间可建模为td=τr·ln(Kf/ΔVi),其中,τr和Kf是装置和电路相关常数,以及ΔVi是来自亚稳态点的初始电压差。ΔVi具有两部分:确定性电压差ΔVd(例如外部噪声、电源噪声等)和热随机噪声Vn,ΔVi=ΔVd+Vn。通过观测td,可计算原始电压差ΔVi。若MOS半导体器件中的热噪声可建模为具有零平均值和方差σ2=4kTγgmΔf的常规随机变量,则可计算最终亚稳态结果由热噪声控制的概率。这种情况如图6所示,其中,对于ΔVd的不同值,执行亚稳态系统的重复仿真。当ΔVd>>Vn 时,随机位翻转的概率很低,因为系统由确定性噪声支配,所以td 的平均值和方差( 
Figure S2007101819710D00121
和σtd)很小。随着ΔVd减小,随机结果的概率以及 
Figure S2007101819710D00122
和σtd增加,因为系统变为由热噪声来支配。因此,通过评估td的统计数据,可将锁存器调谐到亚稳态运行。另外,当ΔVd≈Vn时,各个亚稳态事件的td值可用来进一步过滤输出流。如图6所示,增加td过滤阈值产生随机位翻转的更高概率,但以位产生速率减小为代价。 
tRNG的控制和分级系统如图7所示。对该操作存在两个要素:由锁存器进行的输出位的逐个周期产生,它们被分级并存储在存储器中;以及用于亚稳态控制的转变时间统计的计算。通过将电源减小到Vdd的一半并且通过断言EQ、偏置和开始信号来均衡输出节点,图8所示的亚稳态锁存器被复位。此后,由将锁存器调谐到亚稳态的控制模块在节点q上感生电荷。电荷注入电路采用电容耦合,并 包括范围从0.25到100fF的电容器阵列。通过电荷注入,节点q上的电压可改变16mV,其中的分辨度(resolution)为10uV。但是,在硅中发现,对于120uV控制分辨度,可使锁存器进入充分的亚稳态运行,以在采用基于td的过滤时获得合格的随机输出。在电荷注入之后,通过将电源恢复到全Vdd并断言开始,来激活锁存器。锁存器输出然后转变到其最终状态,以及停止信号采用一对互补比较器(图12)来产生。图9更详细地示出控制亚稳态锁存器及其输出的信号的时间行为。 
时间数字转变器(TDC)用来确定td(图8)。它由两部分组成:具有50ps的分辨度的精细计数器;以及将TDC的范围扩展到20ns的粗略计数器。精细计数器包含通过开始信号的延迟形式来作为时钟脉冲的触发器阵列,它们以离散时间对停止信号抽样,从而产生具有开始与停止之间的时间差的量化值的温度计代码。每当延迟开始信号经过环路时,断言粗略计数器。 
为了将锁存器调谐到亚稳态,控制算法使td、 的平均值为最大。 
图10示出清理了已注入电荷时的128个样本的集合的td的测量分布以及 
Figure S2007101819710D00132
的关联值。正如预计的那样,使系统偏置为低于或高于亚稳态点(~604mV)产生小 
Figure S2007101819710D00133
和σtd以及全0或全1的偏置位流。当系统接近亚稳态时, 
Figure S2007101819710D00134
迅速增加,从而允许优良的控制反馈。另外,td的扩展也会增加,输出流中的0和1的百分比达到50%。td的统计特性和0/1的分布极好地被跟踪,其中测量温度的范围是10至60℃。 
图11示出在响应确定性噪声时的测试芯片的控制算法的操作。当控制模块的配置改变为使平均td的值为最大时,绘制平均td。系统在迭代10次之后固定到亚稳态运行中。在迭代115次时,在电源中产生50mV电源电压下降,如Vdd迹线所示。随着亚稳态点因产生的噪声而漂移,平均td急剧减小5 TDC单位以上。系统在10次迭代中通过调整控制的配置进行响应,并且采用平均td新的最大值进行稳定。新的稳定运行点因产生于电压下降的驱动强度的降级而 具有更高的td。在采用恒定td阈值进行过滤时系统的效率极好地跟踪td的行为,由此表明对于具有较低的td值的事件需要较多过滤。 
虽然本文中参照附图对本发明的解释性实施例进行了详细描述,但是要理解到,本发明不限于那些精确的实施例,本领域的技术人员可在不背离所附权利要求确定的本发明的范围和精神的前提下对其进行各种变更和修改。 

Claims (18)

1.一种用于产生随机输出值的电路,包括:
双稳态电路,具有输出0或1的两种稳定状态并且具有在输出0与1之间的浮点值的平衡亚稳定状态,所述双稳态电路在接通后从所述亚稳定状态转变为所述稳定状态之一,所述状态取决于所述双稳态电路的端口上的电压电平;
电压电平控制电路,用于控制所述双稳态电路的所述端口上的电压电平;
时间测量电路,用于测量所述双稳态电路在接通之后从所述亚稳定状态转变为所述稳定状态之一所需的转变时间;以及
控制逻辑,用于控制所述时间测量电路、所述电压电平控制电路和所述双稳态电路的断开与接通,所述控制逻辑适于执行以下序列:控制所述电压电平控制电路来设置所述双稳态电路的所述端口上的预定电压电平,接通所述双稳态电路,检测所测量的转变时间,并断开所述双稳态电路,以及若所述所测量的转变时间大于预定值,则输出所述双稳态电路的转变后的稳定状态作为所述随机输出值;
其中,所述控制逻辑适于执行复位操作,所述复位操作包括对所述双稳态电路的所述端口上的不同的设置电压电平多次执行所述序列,并且在所述复位操作期间不输出转变后的稳定状态;以及在所述复位操作之后,所述控制逻辑适于将所述双稳态电路的所述端口上的所述预定电压电平复位成在所述复位操作期间产生最长平均转变时间的电压电平值,
其中,所述控制逻辑适于响应如下情形中的至少一种来执行复位操作:所述所测量的转变时间在多个连续序列上不大于所述预定值,或者所述所测量的转变时间在超过序列总数的预定部分的多个序列上不大于所述预定值。
2.如权利要求1所述的电路,其特征在于,所述控制逻辑适于连续执行所述序列以输出多个随机输出值。
3.如权利要求1所述的电路,其特征在于,在所述复位操作期间,所述控制逻辑适于针对序列的初始和后续集合将所述设置电压电平修正一预定量,使得所述平均转变时间增加,然后针对序列的另一个集合将所述设置电压电平修正所述预定量,直到所述平均转变时间减小。
4.如权利要求1所述的电路,其特征在于,在所述复位操作期间,所述控制逻辑适于修正接通时的所述电压电平,以与在所述复位操作期间执行的先前序列相比增加所述平均转变时间,以及响应所述平均转变时间超过所述预定值,将所述电压电平设置为所述预定电压电平。
5.如权利要求4所述的电路,其特征在于,所述预定值存储在所述电路的数据存储器中。
6.如权利要求1所述的电路,其特征在于,所述预定值响应所述控制电路执行校准操作而产生,所述校准操作包括:对不同的设置电压电平多次执行所述序列而不输出转变后的稳定状态并确定最长平均转变时间,所述控制电路适于另外的多次执行所述序列,其中所述电压电平设置为产生所述最长平均转变时间的所述电压电平,所述控制电路适于分析所述另外的多次执行的所述序列所产生的转变后的稳定状态,以确定锁存器是否在接通时处于所述亚稳定状态,以及是否将存储所述序列的所述最长平均转变时间作为所述预定值。
7.如权利要求6所述的电路,其特征在于,若所述分析确定所述锁存器在接通时未处于所述亚稳定状态,则所述电路可用于输出出错指示符。
8.如权利要求1所述的电路,其特征在于,所述电路包括另一个端口,所述端口和所述另一个端口输出所述输出值,所述电压电平控制电路通过在所述另一个端口上提供恒定电压以及在所述端口上提供所述设置电压电平,来控制接通时所述端口与所述另一个端口之间的电压差。
9.如权利要求1所述的电路,其特征在于,所述双稳态电路包括交叉耦合逆变器对。
10.如权利要求1所述的电路,其特征在于,所述双稳态电路由高和低电压干线供电,所述控制电路适于通过提供所述高和低电压干线之间的电压差来接通所述双稳态电路,以及适于通过提供等于所述高和低电压干线间的所述电压差的一半的电压来断开所述双稳态电路。
11.如权利要求1所述的电路,其特征在于,所述时间测量电路包括计数器,所述计数器包括各由所述双稳态电路的逐渐进一步延迟的接通信号作为时钟脉冲的触发器的串联阵列,所述计数器响应指示所述双稳态电路已经转变到稳定状态的信号而停止。
12.如权利要求1所述的电路,其特征在于,多次产生所述随机输出值,所述多个随机输出值作为随机数被输出。
13.一种用于产生随机数的电路,包括多个如权利要求1所述的电路,它们的输出端相互并联设置。
14.一种用于产生随机输出值的方法,包括以下步骤:
(i)产生预定电压电平,并将所述电压电平输出到双稳态电路,所述双稳态电路具有分别产生0或1作为输出值的两种稳定状态并且具有带有0与1之间的浮点输出值的平衡亚稳定状态,所述双稳态电路在接通后从所述亚稳定状态转变为所述稳定状态之一,所述双稳态电路的所述状态取决于所述输入电压电平;
(ii)接通所述双稳态电路;
(iii)测量所述双稳态电路从所述亚稳定状态转变为所述稳定状态之一所需的时间;以及
(iv)若所述时间大于预定值,则输出所述转变后的状态作为所述随机输出值;
所述方法包括执行包含以下步骤的复位操作:
(ia)产生另一个电压电平,并将所述电压电平输入到所述双稳态电路;
(iia)接通所述双稳态电路;
(iiia)测量所述双稳态电路从所述亚稳定状态转变为所述稳定状态之一所需的时间,并断开所述双稳态电路;以及
(iva)多次重复所述步骤(iia)至(iiia),并确定平均转变时间;
(va)对不同的输入电压电平多次重复步骤(ia)至(iva);
(via)确定所产生的提供最长平均转变时间的电压电平,并将所述预定电压电平设置为所述所确定的电压电平,
其中,响应如下情形中的至少一种来执行所述复位操作:在步骤(iv)中测量的所述转变时间在多个连续序列上不大于所述预定值,或者所述所测量的转变时间在超过序列总数的预定部分的多个序列上不大于所述预定值。
15.如权利要求14所述的方法,其特征在于,包括连续执行所述方法的步骤(ii)至(iv),以输出多个随机输出值。
16.如权利要求14所述的方法,其特征在于,在所述复位操作期间,所述所产生的电压电平在步骤(va)中各重复执行时改变一预定的量,所述电压电平使得所述平均转变时间首先增加,所述重复的步骤(va)被再执行一些次,直到所述平均转变时间减小。
17.如权利要求14所述的方法,其特征在于,在所述复位操作期间,所述步骤(va)修正将在步骤(ia)中产生的所述电压电平,以与先前序列集合相比增加所述平均转变时间,以及响应所述平均转变时间超过所述预定值,不再进一步重复执行步骤(va),而是执行步骤(via)。
18.一种用于产生随机输出值的装置,包括:
双稳态部件,具有输出0或1的两种稳定状态并且具有在输出0与1之间的浮点值的平衡亚稳定状态,所述双稳态部件在接通后从所述亚稳定状态转变为所述稳定状态之一,所述状态取决于所述双稳态部件的端口上的电压电平;
电压电平控制部件,用于控制所述双稳态部件的所述端口上的电压电平;
转变时间测量部件,用于测量所述双稳态部件在接通之后从所述亚稳定状态转变为所述稳定状态之一所需的转变时间;以及
控制部件,用于控制电压电平控制部件、所述转变时间测量部件和所述双稳态部件的接通与断开,所述控制部件适于执行以下序列:控制所述电压电平控制部件来设置所述双稳态部件的所述端口上的预定电压电平,接通所述双稳态部件,检测所测量的转变时间,以及若所测量的转变时间大于预定值,则输出所述双稳态部件的转变后的稳定状态作为所述随机输出值;
其中,所述控制部件适于执行复位操作,所述复位操作包括对所述双稳态部件的所述端口上的不同的设置电压电平多次执行所述序列,并且在所述复位操作期间不输出转变后的稳定状态;以及在所述复位操作之后,所述控制部件适于将所述双稳态部件的所述端口上的所述预定电压电平复位成在所述复位操作期间产生最长平均转变时间的电压电平值,
其中,所述控制部件适于响应如下情形中的至少一种来执行复位操作:所述所测量的转变时间在多个连续序列上不大于所述预定值,或者所述所测量的转变时间在超过序列总数的预定部分的多个序列上不大于所述预定值。
CN2007101819710A 2006-10-12 2007-10-12 产生随机数输出值的电路和方法 Expired - Fee Related CN101174201B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US85107306P 2006-10-12 2006-10-12
US60/851073 2006-10-12
US11/826996 2007-07-19
US11/826,996 US8346832B2 (en) 2006-10-12 2007-07-19 Random number generator

Publications (2)

Publication Number Publication Date
CN101174201A CN101174201A (zh) 2008-05-07
CN101174201B true CN101174201B (zh) 2013-03-06

Family

ID=38659081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101819710A Expired - Fee Related CN101174201B (zh) 2006-10-12 2007-10-12 产生随机数输出值的电路和方法

Country Status (4)

Country Link
US (1) US8346832B2 (zh)
JP (1) JP4938612B2 (zh)
CN (1) CN101174201B (zh)
GB (1) GB2442838B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7885990B2 (en) * 2007-05-31 2011-02-08 Intel Corporation Random telegraph signal noise as a source for random numbers
KR101579837B1 (ko) 2009-02-09 2015-12-24 삼성전자주식회사 난수 발생 장치 및 난수 발생 방법
US8886692B2 (en) 2009-02-09 2014-11-11 Samsung Electronics Co., Ltd. Apparatus for generating random number
KR20110060033A (ko) 2009-11-30 2011-06-08 박옥희 해상 구조물용 커플링
US10020931B2 (en) * 2013-03-07 2018-07-10 Intel Corporation Apparatus for dynamically adapting a clock generator with respect to changes in power supply
US9036405B1 (en) * 2013-11-27 2015-05-19 The Regents Of The University Of Michigan Memory sense amplifier with multiple modes of operation
US9335972B2 (en) * 2013-11-29 2016-05-10 The Regents Of The University Of Michigan True random number generator
US9189202B2 (en) * 2013-12-23 2015-11-17 The University Of Massachusetts Generate random numbers using metastability resolution time
CN105322920B (zh) * 2014-08-05 2018-02-23 华邦电子股份有限公司 乱数产生器及其乱数产生方法
US10095476B2 (en) 2015-12-02 2018-10-09 International Business Machines Corporation Random telegraph noise native device for true random number generator and noise injection
US9774317B1 (en) 2016-08-29 2017-09-26 Amazon Technologies, Inc. Bistable-element for random number generation
CN108233343B (zh) * 2016-08-31 2019-06-14 深圳供电局有限公司 一种微电网继电保护方法
KR102652735B1 (ko) * 2016-11-24 2024-04-02 삼성전자주식회사 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법
US10606560B1 (en) 2017-05-10 2020-03-31 Verily Life Sciences Llc Mitigating deterministic asymmetry in a random number generator
CN108681442B (zh) * 2018-05-07 2021-10-19 温州大学 一种具有自适应匹配功能的真随机数发生器
US11023208B2 (en) * 2019-01-23 2021-06-01 International Business Machines Corporation True random number generator
US10824396B2 (en) * 2019-01-28 2020-11-03 Nuvoton Technology Corporation Random number generator based on meta-stability of shorted back-to-back inverters
US10784874B1 (en) * 2020-02-05 2020-09-22 Intel Corporation All-digital voltage monitor (ADVM) with single-cycle latency
US11601120B2 (en) 2021-02-03 2023-03-07 Nuvoton Technology Corporation Attack-resistant ring oscillators and random-number generators
TWI835234B (zh) 2022-08-04 2024-03-11 熵碼科技股份有限公司 熵源電路
CN117149136B (zh) * 2023-10-30 2024-03-29 华中师范大学 一种产生随机电报噪声的方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019617A1 (en) * 2002-07-25 2004-01-29 Koninklijke Philips Electronics N.V. Latching electronic circuit for random number generation

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4752748A (en) * 1987-04-16 1988-06-21 Amdahl Corporation Intelligent phase-locked loop
US5166959A (en) * 1991-12-19 1992-11-24 Hewlett-Packard Company Picosecond event timer
US5826061A (en) * 1996-06-10 1998-10-20 Dsc Communications Corporation System and method for modeling metastable state machine behavior
US6795837B1 (en) * 1999-03-31 2004-09-21 Intel Corporation Programmable random bit source
US6829628B2 (en) * 2001-05-02 2004-12-07 Portalplayer, Inc. Random number generation method and system
JP4467216B2 (ja) 2001-09-07 2010-05-26 Necエレクトロニクス株式会社 乱数発生方法及び装置
US6963888B2 (en) * 2001-11-29 2005-11-08 Koninklijke Philips Electronics N.V. Method and apparatus for preventing noise from influencing a random number generator based on flip-flop meta-stability
JP3600592B2 (ja) 2002-03-29 2004-12-15 株式会社東芝 乱数発生装置
US20030236802A1 (en) * 2002-06-20 2003-12-25 Koninklijke Philips Electronics N.V. Method and apparatus for generating a random number using the meta-stable behavior of latches
US6771104B2 (en) * 2002-07-25 2004-08-03 Koninklijke Philips Electronics N.V. Switching electronic circuit for random number generation
US7315874B2 (en) * 2003-03-14 2008-01-01 Nxp B.V. Electronic circuit for random number generation
US7325021B2 (en) * 2003-03-14 2008-01-29 Nxp B.V. VLSI implementation of metastability-based random number generator using delay ladders
US7124329B2 (en) * 2003-09-26 2006-10-17 International Business Machines Corporation Implementing memory failure analysis in a data processing system
KR20090012528A (ko) * 2007-07-30 2009-02-04 삼성전자주식회사 난수 발생 장치의 자발적인 온라인 테스트 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019617A1 (en) * 2002-07-25 2004-01-29 Koninklijke Philips Electronics N.V. Latching electronic circuit for random number generation
CN1672126A (zh) * 2002-07-25 2005-09-21 皇家飞利浦电子股份有限公司 用于产生随机数的锁存电子电路

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D. J. Kinniment等.Design of an On-Chip Random Number Generator using Metastability.《Proceedings of the 28th European Solid-State Circuit Conference (ESSCIRC) 2002》.2002,1-4. *
JP特开2003-296101A 2003.10.17

Also Published As

Publication number Publication date
GB0718090D0 (en) 2007-10-24
GB2442838B (en) 2011-05-11
US8346832B2 (en) 2013-01-01
JP4938612B2 (ja) 2012-05-23
CN101174201A (zh) 2008-05-07
US20080091755A1 (en) 2008-04-17
GB2442838A (en) 2008-04-16
JP2008097610A (ja) 2008-04-24

Similar Documents

Publication Publication Date Title
CN101174201B (zh) 产生随机数输出值的电路和方法
Tokunaga et al. True random number generator with a metastability-based quality control
US7818638B2 (en) Systems and devices including memory with built-in self test and methods of making and using the same
KR101688839B1 (ko) 성능 특성 감시회로 및 방법
US10103733B1 (en) Integrated circuit physically unclonable function
CN102356549A (zh) 工艺、电压、温度补偿振荡器
CN101375346A (zh) 用于测试数字信号定时的选通技术
CN108694336B (zh) 一种基于电流比较器的低码率低能耗物理不可克隆技术
CN107764431B (zh) 芯片内核温度检测电路
CN110210257B (zh) 一种基于二管结构电压基准源的高可靠性物理不可克隆函数电路
CN105676942A (zh) 一种偏差信号产生电路及多端口可配置puf电路
CN107918535A (zh) 一种在fpga上实现的亚稳态真随机数发生器
CN105336373A (zh) Efuse模块及其熔断电流的校准系统和校准方法
CN112098817A (zh) 温度自检结构与温度自检方法、安全芯片和电子卡
CN113539334A (zh) 用于物理不可克隆函数的测量机制
Poudel et al. Design and evaluation of a PVT variation-resistant TRNG circuit
Vaidya et al. Hardware based identification for intelligent electronic devices
Deyati et al. Challenge engineering and design of analog push pull amplifier based physically unclonable function for hardware security
CN106249034B (zh) 一种用于协同动态电压频率调整系统的片上电压降报警器
Deyati et al. Design of efficient analog physically unclonable functions using alternative test principles
US7501836B2 (en) Apparatus and method for determining capacitance variation in an integrated circuit
CN112953507B (zh) 基于电平转换器的物理不可克隆函数电路及其控制方法
CN219016419U (zh) 一种高精度低功耗抗干扰电压检测电路装置
Camacho-Ruiz et al. High-level design of a novel PUF based on RTN
Song et al. Memcapacitor Crossbar Array with Charge Trapping Layer for Physical Unclonable Function in NAND Flash Architecture

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

Granted publication date: 20130306

Termination date: 20161012

CF01 Termination of patent right due to non-payment of annual fee