CN1380998A - 利用触发器亚稳性产生随机数的方法和设备 - Google Patents

利用触发器亚稳性产生随机数的方法和设备 Download PDF

Info

Publication number
CN1380998A
CN1380998A CN01801177A CN01801177A CN1380998A CN 1380998 A CN1380998 A CN 1380998A CN 01801177 A CN01801177 A CN 01801177A CN 01801177 A CN01801177 A CN 01801177A CN 1380998 A CN1380998 A CN 1380998A
Authority
CN
China
Prior art keywords
trigger
metastable state
randomizer
described trigger
input
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.)
Granted
Application number
CN01801177A
Other languages
English (en)
Other versions
CN1214319C (zh
Inventor
M·埃普斯坦
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1380998A publication Critical patent/CN1380998A/zh
Application granted granted Critical
Publication of CN1214319C publication Critical patent/CN1214319C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Manipulation Of Pulses (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

公开了一种利用触发器的亚稳行为产生随机数的方法和设备。触发器用故意破坏该触发器的建立时间或/和保持时间的输入作为时钟输入,以保证亚稳行为。触发器的亚稳行为提供了产生随机数的机制。触发器的延迟输入使触发器的亚稳输出与时钟源不同步。这样,公开了一种同步电路,用以使触发器的亚稳输出与该时钟源同步。把同步后的触发器输出与输入波形比较,以便确定输出信号是否不与输入信号同步而显示一种亚稳态。检测到亚稳事件时,提供输出位作为随机位。第二实施例利用错误之间的时间产生随机数。第三实施例假定在给定的触发器类型下亚稳性主要出现在0(或1)的状态,并通过把一半的0“标记”为“0”,而把另一半的0“标记”为“1”,获得随机数的均匀分布。另外,把一半的1标记为“1”,而把另一半的1标记为“0”。第四实施例通过调整时钟和输入之间的延迟,使亚稳行为更频繁地出现,以便计及过程变化。第五实施例利用带有n个不同的触发器的多个电路,以便在给定时刻n个电路中至少有一个处于亚稳态。

Description

利用触发器亚稳性产生随机数的方法和设备
发明领域
本发明涉及随机数的产生,更具体地说,涉及利用触发器的亚稳性产生随机数的方法和设备。
背景技术
触发器和锁存器广泛应用于计算机和其他电子器件,例如,采样、计数和存储元件。已经研制出若干类型触发器,诸如D触发器(“数据”)、R-S锁存器(“复位和设置”)、J-K触发器(有J和K输入端)和T触发器(只有一个输入端)。例如,D触发器是时钟控制的触发器,其输出延迟一个时钟脉冲。
传统的R-S锁存器100示于图1A。如图1A所示,R-S锁存器100包括两个NOR(“或非”)门110和120。这两个NOR门110,120的输出端交叉连接到相对的NOR门的相应的输入端。这样,NOR门110接受NOR门120的输出和复位信号R作为输入。NOR门120接受NOR门110的输出和设置信号S作为输入。
最近,图1A所示的简单锁存器为边沿触发的触发器、诸如图1B所示的D触发器150所代替。边沿触发的触发器根据时钟的上升沿和下降沿和数据输入改变状态。传统的D触发器150示于图1B。D触发器往往用以检测相对于时钟信号具有不可预测定时的异步数字信号的逻辑状态。同步信号加到触发器150的时钟输入端CLK,而准备检测的异步信号的数字逻辑电平输入到D输入端。然后检测到的信号在Q输出线上产生。此后,(只要复位信号永久接地)无论何时只要D输入上的输入信号改变,触发器150就改变状态。
如所周知,图1A所示的锁存器100容易受到亚稳性影响。为了详细讨论亚稳性,例如,见Application Note(应用说明),A Meta-Stability Primer(亚稳性引发器),AN219,Phillips Semiconductors(Nov,15,1989),附此作参考。一般地说,当锁存器两个输入都设置为高逻辑值(“11”),然后又复位为低电平逻辑(“00”)时,亚稳性即可出现。在这种状态下,锁存器的输出可能以统计学上已知的方式不可预测地振荡。在理论上,锁存器100不确定地振荡。但在实际上,锁存器100随机地移位并达到或者逻辑低或者逻辑高电平的随机输出值。一般地说,随后在给定的应用中用其他电路检测这些亚稳性值,并可以解释为不同的逻辑电平姿态。
另外,当触发器的建立时间或保持时间被破坏时,图1B所示的边沿触发的触发器150可以变为亚稳性。边沿触发的触发器150容易受亚稳性影响,因为在每一个边沿触发的触发器150内有一个锁存器100接受边沿检测电路的输入。若建立或保持时间被破坏,则内部锁存器100将会观察到可能触发亚稳态的输入。
对于大部分应用,尤其是那些要求可靠地检测异步信号逻辑电平状态的应用,这样的亚稳性行为是不希望有的。于是,已经有人提出和建议若干种技术,以提供不容易受亚稳性影响的触发器。例如,  美国Sunnyval CA,Phillips Semiconductors(公司)提供一系列表现出亚稳性免疫特性的集成电路。例如,见Application Note,Syncronizing and Driving Solusion-Using 74F50XXX Family,AN220(利用74F50XXX系列,AN220的同步和驱动方案),PhillipsSemiconductors(Sept.,1989),包括于此作参考。另外,颁发给Rackley的美国专利No.5,365,122公开了抗亚稳性的R-S锁存器。
许多应用和电子器件要用随机数,包括赌博、诸如扑克、轮盘机和吃角子老虎。尤其是许多加密算法和协议取决于不可预测的随机数源,以便实现保密电子通信等。市面上有许多装置可以产生随机数。许多因素对评价随机数发生器是重要的。例如,随机数发生器最好能够在指定的数字范围内产生每一种可能的序列。另外,随机数发生器不得被偏置,并应以与任何其他数一样的机率产生任何一个给定的数。此外,随机数发生器应产生不可预测的随机数,而不论以前的结果的集合有多大。于是随机数应该是完全不可预测的而且不受外界影响。因此,理想的随机数发生器采用自然力,诸如放射性的衰减或齐纳二极管中的模拟噪音作为随机源。这些装置都基本上是完美的,因为自然力既不可预测又不受影响。
许多计算机产生的随机数容易预测,因而导致加密系统或赌博的失败。基于硬件的随机数发生器一直采用模拟器件构成,使之难以集成在数字集成电路上。另外,它们对于计算机系统内的电源噪音和局部电子噪音的反应往往是变化无常的。因此,这样的随机数发生器对于在许多系统上,诸如在智能卡或一般的个人计算机上实现一直是成本效益不高。
因此,需要一种产生随机数的方法和装置,它可以只利用数字技术来产生随机数,而且只需要由几个门组成,这将使随机数发生器易于集成在任何一种要用它的产品中。
发明内容
一般说来,公开了一种用于利用触发器的亚稳性行为产生随机数的方法和装置。按照本发明的第一个实施例,触发器用故意破坏触发器的建立或/和保持时间的输入作为时钟信号,以保证产生亚稳性行为。触发器的亚稳性操作提供产生随机数的机制。
触发器的输入使触发器的亚稳性输出对时钟源异步。于是,按照本发明是另一个方面,公开了一种众所周知的同步电路,使触发器的亚稳性输出与时钟源同步。
把同步后的触发器输出与输入波形比较,以确定输出信号是否不与输入信号匹配而显示一种亚稳态。当检测到亚稳性事件时,提供输出位作为随机位。
按照本发明的第二实施例,可以利用亚稳性事件之间的时间延迟来产生随机数。虽然第一实施例假定亚稳态产生均匀分布的1或0的错误,但第三实施例假定,对于给定类别的触发器,亚稳性更经常地以二进数值产生(不是0就是1)。第三实施例通过把一半的0标记为“1”,并将另一半的0标记为“0”,获得随机数的均匀分布。另外,把一半的1标记为“1”,并将另一半的1标记为“0”。于是,不论在0的状态或在1的状态出现错误的比率如何,随机输出位的分布都仍旧是均匀的。
本发明的第四和第五实施例计及会影响触发器规则地和可靠地变成亚稳性的能力的过程变化,诸如电压和温度。本发明的第四实施例调整时钟和输入之间的延迟,以便更经常地引起亚稳性。本发明的第五实施例利用具有n个不同触发器的多个电路来计及过程变化,使得在给定时刻n个电路中至少有一个电路是亚稳性的。
参照以下详细的说明和附图,对本发明以及其他特征和优点将有更完全的理解。
附图说明
图1A举例说明传统的R-S锁存器;
图1B举例说明传统的D触发器;
图2A举例说明按照本发明的随机数发生器的第一实施例;
图2B举例说明用来使图2A的随机数发生器的输出与时钟源同步的同步电路;
图2C举例说明图2A和2B的电路产生的一组波形;
图3举例说明本发明利用错误之间的时间延迟产生随机数的第二实施例;
图4A举例说明按照本发明第三实施例的随机数发生器;
图4B举例说明用以使图4A的随机数发生器的输出与时钟源同步的同步电路;
图4C举例说明图4A和4B的电路产生的一组波形;
图5举例说明按照本发明第四实施例的随机数发生器,它调整调整时钟和输入之间的延迟以便使亚稳性行为更频繁地出现;以及
图6举例说明按照本发明第五实施例的随机数发生器。
具体实施方式
图2A举例说明按照本发明的随机数发生器200的第一实施例。本发明认识到,触发器的亚稳操作乃是产生随机数的一种物理装置。应该指出,触发器或锁存器可以制造成,例如,可以通过改变触发器本身的参数并结合破坏边沿触发的触发器的建立或保持时间使之规则地和可靠地变为亚稳的。
按照本发明的第一实施例,触发器210用故意破坏该触发器210的建立或/和保持时间的输入作为时钟输入,以保证出现亚稳行为。例如,可以利用延迟215,220来破坏建立或保持时间。可以例如以D,T或JK型触发器来实现触发器210。另外,正如对本专业的技术人员而言是显而易见的,可以以简单的锁存器100和略微不同的电路来实现触发器210。
时钟源由时钟振荡器230和其Qbar输出反馈到其D输入端的D触发器225产生。这样,该D触发器225便像T触发器(来回翻转的输出)一样地工作,以便提供除2机制。这样,触发器210的D输入端便由交替的1和0驱动。
正如在图2A和2C中看得最清楚的,时钟振荡器230产生的波形Clock(时钟)是在图2A中标记为“Clock”的采样点获得的。由除2触发器225产生的波形Input(输入)是在图2A中标记为“Input”的采样点上获得的。类似地,由延迟215产生的波形Input_D(输入-_D)是由延迟215产生的,而由延迟220产生的波形Input_Clock(输入_时钟)是在图2A中相应的采样点上获得的。
如图2C所示,用延迟215,220来破坏建立或(和)保持时间保证了触发器210表现出亚稳行为,正如波形Meta_stable_out(亚稳_输出)所表示的。正如后面将进一步讨论的,触发器210的亚稳操作提供了产生随机数的机制。
作为延迟215和220延迟、触发器本身固有的延迟和最重要的来自亚稳行为的不均匀延迟的结果,波形Meta_stable_out(亚稳_输出)与波形Clock(时钟)不同步。于是,为了图2A的随机数发生器200适用于同步应用,图2A提供一种机制,用以使波形Meta_stable_out(亚稳_输出)与波形Clock(时钟)同步。应该指出,图2A和2B的电路是通过把相同字母的圆圈连结在一起而连接的。
图2B所示的同步电路235包括若干个串联的触发器240-242,它们是这样选择的、使之不易进入亚稳态。另外,若这些触发器240-242中确实有一个变为亚稳,则时钟信号在速率上足够缓慢、以使亚稳触发器的输出稳定下来,使得下一个触发器240-242对信号进行采样时,该触发器是稳定的。这样,每一个触发器240-242改善使波形Meta_stable_out(亚稳_输出)与波形Clock(时钟)同步的机会,而同时去除任何亚稳性,确实,这样一种电路不正确的行为要几十年才测出一次。
“异或”门(“XOR”)250把波形Meta_stable_out(亚稳_输出)与波形Input(输入)比较(在除2触发器225输出时采样)。因为若而且仅若一个输出为高时XOR门250的输出才高,故若波形Meta_stable_out(亚稳_输出)与Input(输入)信号不匹配,则XOR门250的输出(“Mistake(错误)”)为高。XOR门250的输出(“Mistake(错误)”)施加在移位寄存器260的移位输入上,每当有Mistake时移位寄存器260从stable_out(稳定输出)信号移出一位。这样,本发明的第一实施例每当出错(Mistake)时收集一位。
应该指出,第一实施例假定亚稳态将以均匀的分布产生1错或0错。应该再次指出,若随机数发生器不以均匀的分布产生1和0,则随机数发生器便被偏置。
按照本发明的第二实施例,可以用两次错误之间的时间延迟来产生随机数。图3举例说明同步电路300,它包括与图2B相同的串联触发器240-242和XOR门250。图3的同步电路300与图2A的随机数发生器配合工作。串联触发器240-242以与结合图2B所描述的上述方式工作,以便使波形Meta_Stable_out与波形Clock同步。XOR门250以与结合图2B描述的同一方式工作,以产生Mistake信号。
如图3所示,同步电路300包括除2触发器310和计数器320,以便测量两次错误之间的时间。计数器320可以以例如4位计数器来实现。该计数器的最低位(LSB)可以用来产生随机数。每次错误时计数器320依次接通和断开。例如,对于图2C所示的波形,在错误的1和0之间出现6个时钟周期(二进制=110)。于是,二进制计数器320将产生一个随机位0(LSB)。只要偏置不出现,每个时间间隔即可提取更多的随机位。因此,我们必须不包括时间上平均出现几率大于50%的位。这应该包括任何一个一半时间以上保持为0的最高位(MSB)。
如前所述,第一实施例假定,亚稳态将以均匀的分布产生0和1的错误。但若试验结果表明,在给定的触发器类别中亚稳性大部分出现在0(或1)(亦即错误大部分是在触发器的输入不是二进制0就是二进制1时出现),则可以通过把一半的0“标记”为“1”,而把另一半的0“标记”为“0”,并把一半的1“标记”为“1”,而把另一半的1“标记”为“0”,即可获得均匀的分布。这样,按照本发明的第三实施例,在波形Input中把一半的0标记为“1”,而把另一半的0标记为“0”。类似地,把波形Input中的一半的1标记为“1”,而把另一半的1标记为“0”。举例说明的实施例假定,错误大部分是在触发器的输入具有二进制0值时获得的。
如图4A所示,随机数发生器400包括触发器210、延迟215,220、D触发器225和时钟振荡器230,它们以与上面结合图2A所描述的同一方式工作。另外,随机数发生器400包括除2触发器410,它产生图4C所示的Mark(标记)信号,它把波形Input中一半的0标记“1”,而把另一半0标记为“0”。
图4B举例说明的同步电路450,像图2B一样包括同一串联触发器240-242、XOR门250和移位寄存器260。图4B的同步电路450结合图4A的随机数发生器工作。串联触发器240-242以上面结合图2B所描述的同一方式工作,以便使波形Meta_stable_out与波形Clock同步。XOR门250以与上面结合图2B描述的同一方式工作,以产生Mistake信号。
XOR门250的输出(“Mistake”)以与图2B相同的方式施加在移位寄存器260的移位输入端。输入线连接到图2B同步电路中的stable_out信号,而同时同步电路450的输入线连接到Mark信号。这样,每次出现Mistake时,移位寄存器260便从Mark信号移出一位。于是,如图4C所示,对于0错(根据Mark信号)将取得一位等于0的位。类似地,对于1错(根据Mark信号)将取得一位等于1的位。
应该再次指出,随机数发生器400还或者用“1”或者用“0”来标记输入到触发器210的1。于是,若在1状态出现错误,那么,也会由于在1状态下出现错误的缘故而采集到随机位的均匀分布。所以,这个电路对在1或0状态中出现的错误之间的偏置不敏感。
已经发现,过程变化、诸如电压或温度,可能影响触发器规则地或可靠地变成亚稳的能力。于是,图5所示的本发明的第四实施例利用随机数发生器500,后者调整时钟和输入之间的延迟,以便更频繁地引起亚稳行为。如图5所示,随机数发生器500包括触发器210、D触发器225和时钟振荡器230,后者以与上面结合图2A所描述同一方式工作。另外,随机数发生器500包括可变延迟215-VAR,220-VAR。这些延迟可以实时地调整,以增加错误次数,因而增大电路的生产率。
类似地,图6所示的本发明第五实施例利用带有不同触发器的多个电路610-1至610-n来计及过程变化,使得在给定时刻n个电路中至少有一个为亚稳。选择器620用硬件或用软件实现。选择器620,例如,可以选择产生最多位的触发器电路610(若这些位正在产生,则电路610处于亚稳态)。
应该指出,本发明第三实施例,其中一半0标记为“1”,而另一半标记为“0”,在产生随机位过程中用来防止偏置。还应该指出,如先有技术众所周知的,通过对调整位施加“异或”操作可以去除偏置。例如,若对每两位设置一个“异或”门,则其结果将是一位。于是,输出位数较少(产率较低)、但比较均一的随机数分布(较少偏置)。
在使用之前,这里所公开的随机数发生器应该复位到已知状态(而且不是亚稳态)。另外,可以在本发明的随机数发生器中实现一个计数器,以便检测何时移位寄存器满。这样,计数器应该每移一次加一。该计数器可以产生处理器中断来接收所产生的位。
应该明白,这里表示和描述的实施例和变化只是用来举例说明本发明,在不脱离本发明的范围和精神的情况下,本专业的技术人员可以实现各种各样的变化。

Claims (53)

1.一种产生随机数的方法,它包括以下步骤:
在亚稳态下操作触发器(210);以及
根据所述亚稳态产生随机位。
2.权利要求1的方法,其特征在于:通过破坏所述触发器(210)的建立时间来使所述触发器(210)处于所述亚稳态。
3.权利要求1的方法,其特征在于:通过破坏所述触发器(210)的保持时间来使所述触发器(210)处于所述亚稳态。
4.权利要求1的方法,其特征在于:所述触发器(210)构造得易受影响而变为亚稳态。
5.权利要求1的方法,其特征在于:所述产生步骤包括若所述触发器(210)的输出与所施加的输入不匹配,则设置错误信号中一位的步骤。
6.权利要求5的方法,其特征在于:所述错误信号引起一个随机位被采集。
7.权利要求1的方法,其特征在于还包括使所述触发器(210)的输出与本地时钟源(230)同步的步骤。
8.权利要求6的方法,其特征在于:与所述触发器相比,完成所述同步步骤的同步电路(235)不易受影响而变为亚稳态。
9.权利要求1的方法,其特征在于还包括收集多个所述随机位以产生随机数的步骤。
10.一种产生随机数的方法,它包括以下步骤:
在亚稳态下操作触发器(210);以及
根据两个或两个以上亚稳态之间的时间来产生至少一个随机位。
11.权利要求10的方法,其特征在于:通过破坏所述触发器(210)的建立时间来使所述触发器(210)处于所述亚稳态。
12.权利要求10的方法,其特征在于:通过破坏所述触发器(210)的保持时间来使所述触发器(210)处于所述亚稳态。
13.权利要求10的方法,其特征在于:所述产生步骤还包括若所述触发器(210)的输出与所施加的输入不匹配,则设置错误信号中的一位,并确定所述位的所述设置之间的定时的步骤。
14.权利要求10的方法,其特征在于还包括使所述触发器(210)的输出与本地时钟源(230)同步的步骤。
15.权利要求10的方法,其特征在于还包括收集多个所述随机位以产生随机数的步骤。
16.一种产生随机数的方法,它包括以下步骤:
对触发器(210)的输入信号进行标记,以便把一半的0标记为0,而把另一半的0标记为1;
在亚稳态下操作所述触发器(210);以及
根据所述亚稳态来产生随机位。
17.权利要求16的方法,其特征在于:通过破坏所述触发器(210)的建立时间来使所述触发器(210)处于所述亚稳态。
18.权利要求16的方法,其特征在于:通过破坏所述触发器(210)的保持时间来使所述触发器(210)处于所述亚稳态。
19.权利要求16的方法,其特征在于:所述产生步骤还包括若所述触发器(210)的输出与所施加的输入不匹配,则设置错误信号中一位的步骤。
20.权利要求19的方法,其特征在于:所述错误信号引起根据标记输入而采集随机位。
21.权利要求19的方法,其特征在于还包括使所述触发器(210)的输出与本地时钟源(230)同步的步骤。
22.权利要求19的方法,其特征在于还包括收集多个所述随机位以产生随机数的步骤。
23.一种产生随机数的方法,它包括以下步骤:
对触发器(210)的输入信号进行标记,以便把一半的1标记为0,而把另一半的1标记为1;
在亚稳态下操作所述触发器(210);以及
根据所述亚稳态来产生随机位。
24.一种产生随机数的方法,它包括以下步骤:
对触发器(210)的输入信号进行标记,以便把一半的0标记为0,而把另一半的0标记为1,并把一半的1标记为0,而把另一半的1标记为1;
在亚稳态下操作所述触发器(210);以及
根据所述亚稳态来产生随机位。
25.一种产生随机数的方法,它包括以下步骤:
给触发器(210)的输入施加可变延迟,所述可变延迟破坏所述触发器(210)的建立时间,以此使所述触发器(210)处于亚稳态;以及
根据所述亚稳态来产生随机位。
26.权利要求25的方法,其特征在于:所述产生步骤还包括若所述触发器(210)的输出与所施加的输入不匹配,则设置错误信号中一位的步骤。
27.权利要求25的方法,其特征在于还包括使所述触发器(210)的输出与本地时钟源(230)同步的步骤。
28.一种产生随机数的方法,它包括以下步骤:
给触发器(210)的输入施加可变延迟,所述可变延迟破坏所述触发器(210)的保持时间,以此使所述触发器(210)处于亚稳态;以及
根据所述亚稳态来产生随机位。
29.权利要求28的方法,其特征在于:所述产生步骤还包括若所述触发器(210)的输出与所施加的输入不匹配,则设置错误信号中一位的步骤。
30.权利要求28的方法,其特征在于还包括使所述触发器(210)的输出与本地时钟源(230)同步的步骤。
31.一种产生随机数的方法,它包括以下步骤:
平行地操作多个触发器(210),使得所述触发器(210)中至少有一个处于亚稳态;以及
根据所述亚稳态来产生随机位。
32.一种随机数发生器,它包括:
在亚稳态下工作的触发器(210),以便根据所述亚稳态产生随机位。
33.权利要求32的随机数发生器,其特征在于:通过破坏所述触发器(210)的建立时间来使所述触发器(210)处于亚稳态。
34.权利要求32的随机数发生器,其特征在于:通过破坏所述触发器(210)的保持时间来使所述触发器(210)处于亚稳态。
35.权利要求32的随机数发生器,其特征在于:若所述触发器(210)的输出与所施加的输入不匹配,则设置错误信号中的一位。
36.权利要求32的随机数发生器,其特征在于还包括本地时钟源(230)和用以使所述触发器(210)的输出与所述本地时钟源(230)同步的同步电路(235)。
37.权利要求32的随机数发生器,其特征在于:收集多个所述随机位以便产生随机数。
38.一种随机数发生器,它包括:
在亚稳态下工作的触发器(210);和
计数器,用以根据两个或两个以上亚稳态之间的时间来产生至少一个随机位。
39.权利要求38的随机数发生器,其特征在于:通过破坏所述触发器(210)的建立时间使所述触发器(210)处于所述亚稳态。
40.权利要求38的随机数发生器,其特征在于:通过破坏所述触发器(210)的保持时间使所述触发器(210)处于所述亚稳态。
41.权利要求38的随机数发生器,其特征在于:若所述触发器(210)的输出与所施加的输入不匹配,则设置错误信号中的一位。
42.权利要求38的随机数发生器,其特征在于还包括本地时钟源(230)和用以使所述触发器(210)的输出与本地时钟源(230)同步的同步电路(235)。
43.一种随机数发生器,它包括:
在亚稳态下工作的触发器(210);
标记电路,用以对所述触发器(210)的输入信号进行标记,以便把一半的0标记为0,而把另一半的0标记为1;和
根据所述亚稳态产生随机位的装置。
44.一种随机数发生器,它包括:
在亚稳态下工作的触发器(210);
标记电路,用以对所述触发器(210)的输入信号进行标记,以便把一半的1标记为0,而把另一半的1标记为1;和
根据所述亚稳态产生随机位的装置。
45.一种随机数发生器,它包括:
在亚稳态下工作的触发器(210);
标记电路,用来对所述触发器(210)的输入信号进行标记,以便把一半的0标记为0,而把一半的0标记为1,并把一半的1标记为0,而把一半的1标记为1;和
根据所述亚稳态产生随机位的装置。
46.一种随机数发生器,它包括:
触发器(210);和
可变延迟,它连接到所述触发器(210)的至少一个输入端,所述可变延迟破坏所述触发器(210)的建立时间,以此使所述触发器(210)处于亚稳态,以便根据所述亚稳态产生随机位。
47.一种随机数发生器,它包括:
触发器(210);和
可变延迟,它连接到所述触发器(210)的至少一个输入端,所述可变延迟破坏所述触发器(210)的保持时间,以此使所述触发器(210)处于亚稳态,以便根据所述亚稳态产生随机位。
48.一种随机数发生器,它包括:
平行地工作的多个触发器(210),使得所述触发器(210)中至少有一个处于亚稳态,以便根据所述亚稳态产生随机位。
49.一种随机数发生器,它包括:
接收一半时间具有0值、一半时间具有1值的输入信号的输入端;和
随机化元件,它产生与所述输入信号有关的错误,其中无论何时,只要所述错误出现,就把所述输入信号选为随机位。
50.权利要求49的随机数发生器,其特征在于:通过把初始输入信号中一半的0标记为0,而把一半的0标记为1,并把所述初始输入信号中一半的1标记为0,而把一半的1标记为1来产生所述输入信号。
51.权利要求50的随机数发生器,其特征在于:无论何时,只要所述错误出现,便从所述标记的信号中采集所述随机位。
52.权利要求49的随机数发生器,其特征在于:所述随机化元件是在亚稳态下工作的触发器(210)。
53.权利要求49的随机数发生器,其特征在于:所述随机化元件的输出与输入信号不匹配时,出现所述错误。
CNB018011772A 2000-03-06 2001-03-05 利用触发器亚稳性产生随机数的方法和设备 Expired - Fee Related CN1214319C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/519,549 US6631390B1 (en) 2000-03-06 2000-03-06 Method and apparatus for generating random numbers using flip-flop meta-stability
US09/519,549 2000-03-06

Publications (2)

Publication Number Publication Date
CN1380998A true CN1380998A (zh) 2002-11-20
CN1214319C CN1214319C (zh) 2005-08-10

Family

ID=24068785

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018011772A Expired - Fee Related CN1214319C (zh) 2000-03-06 2001-03-05 利用触发器亚稳性产生随机数的方法和设备

Country Status (7)

Country Link
US (1) US6631390B1 (zh)
EP (1) EP1188109A2 (zh)
JP (1) JP2003526151A (zh)
KR (1) KR100847213B1 (zh)
CN (1) CN1214319C (zh)
MY (1) MY127230A (zh)
WO (1) WO2001067231A2 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100504802C (zh) * 2005-06-10 2009-06-24 国际商业机器公司 微型计算机及其测试方法
CN101539847A (zh) * 2009-04-16 2009-09-23 北京中星微电子有限公司 随机数产生装置及其方法
CN103548040A (zh) * 2011-03-31 2014-01-29 Ictk有限公司 数字值生成装置及方法
CN104376870A (zh) * 2013-08-13 2015-02-25 阿尔特拉公司 存储器仲裁电路系统中的亚稳态预测及避免
CN105242903A (zh) * 2015-10-21 2016-01-13 昆腾微电子股份有限公司 随机数生成装置和方法
CN109660243A (zh) * 2017-10-12 2019-04-19 意法半导体有限公司 用于生成随机信号的设备
CN109995359A (zh) * 2019-04-10 2019-07-09 侯凤妹 边沿触发器亚稳态观测系统及其观测方法
CN111555754A (zh) * 2020-05-26 2020-08-18 成都铭科思微电子技术有限责任公司 一种应用于高速模数转换器同步时钟采样的亚稳态检测电路

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243117B2 (en) * 2001-02-07 2007-07-10 Fdk Corporation Random number generator and probability generator
JP2002268874A (ja) * 2001-03-07 2002-09-20 Toshiba Corp 乱数シード生成回路及びこれを備えたドライバ、並びに、sdメモリカードシステム
US7113966B2 (en) * 2001-07-25 2006-09-26 Koninklijke Philips Electronics N.V. Method and apparatus for decorrelating a random number generator using a pseudo-random sequence
JP3604674B2 (ja) * 2001-09-26 2004-12-22 株式会社東芝 乱数生成回路
US7054348B2 (en) * 2001-11-15 2006-05-30 Koninklijke Philips Electronic N.V. Using real random number generator as proof of time
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
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
JP3696209B2 (ja) * 2003-01-29 2005-09-14 株式会社東芝 シード生成回路、乱数生成回路、半導体集積回路、icカード及び情報端末機器
US7356551B2 (en) * 2003-03-14 2008-04-08 Nxp B.V. Method and apparatus of retaining maximum speed of flip-flop metastability based random number generators
US7325021B2 (en) * 2003-03-14 2008-01-29 Nxp B.V. VLSI implementation of metastability-based random number generator using delay ladders
JP4248950B2 (ja) * 2003-06-24 2009-04-02 株式会社ルネサステクノロジ 乱数発生装置
JP3803664B2 (ja) * 2003-09-30 2006-08-02 株式会社東芝 乱数生成回路、半導体集積回路、icカード及び情報端末機器
EP1562291B1 (en) * 2004-02-04 2007-04-18 Infineon Technologies AG Apparatus for providing a random bit stream
CN100585552C (zh) * 2004-02-12 2010-01-27 日立超大规模集成电路系统株式会社 随机数发生方法和半导体集成电路器件
ES2295829T3 (es) 2004-02-26 2008-04-16 Telecom Italia S.P.A. Procedimiento y circuito para generar numeros aleatorios y producto informatico para ordenar del mismo.
DE602004029619D1 (de) * 2004-08-09 2010-11-25 Telecom Italia Spa Verfahren und vorrichtung zum erzeugen von zufallsdaten
EP1776757B1 (en) * 2004-08-09 2019-04-10 Telecom Italia S.p.A. Random number generation based on logic circuits with feedback
JP4549263B2 (ja) * 2005-09-01 2010-09-22 富士通セミコンダクター株式会社 乱数発生装置および乱数発生方法
EP1763136A1 (fr) * 2005-09-07 2007-03-14 Stmicroelectronics Sa Procédé de génération de nombres variables
CN1949708B (zh) * 2006-11-10 2011-02-02 华为技术有限公司 随机数发生装置、方法及对应的数据交互系统
ES2326718B1 (es) * 2007-08-17 2010-07-14 Universidad Del Pais Vasco-Euskal Herriko Unibertsitatea Generador de numeros realmente aleatorios.
JP4427581B2 (ja) * 2008-01-08 2010-03-10 株式会社東芝 乱数生成回路
WO2011117929A1 (ja) 2010-03-26 2011-09-29 富士通株式会社 乱数生成器、暗号化装置、及び認証装置
US20140197865A1 (en) 2013-01-11 2014-07-17 International Business Machines Corporation On-chip randomness generation
HK1176805A2 (en) * 2013-01-15 2013-08-02 X On Comm Ltd A method and system for wireless communication
KR20140108362A (ko) 2013-02-25 2014-09-11 삼성전자주식회사 난수 발생기
JP6167876B2 (ja) 2013-11-28 2017-07-26 富士通株式会社 電子回路、電子機器及び認証システム
US9524619B2 (en) 2014-02-05 2016-12-20 Z4 Poker, LLC Systems and methods for playing a wagering game
FR3023396B1 (fr) * 2014-07-02 2016-07-29 Stmicroelectronics Rousset Generateur de nombres aleatoires
WO2022055004A1 (ko) * 2020-09-14 2022-03-17 엘지전자 주식회사 전송 인터페이스 장치 및 이를 구비하는 신호처리장치
WO2023211466A1 (en) * 2022-04-29 2023-11-02 Qrypt, Inc. Generation of quantum random numbers from single-photon avalanche diodes

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3855555A (en) * 1970-09-04 1974-12-17 Industrial Research Prod Inc Delta modulator having low-level random noise characteristic
GB1299020A (en) 1970-09-19 1972-12-06 Marconi Instruments Ltd Improvements in or relating to pulse wave train generators
US3790768A (en) 1972-09-28 1974-02-05 Prayfel Inc Random number generator
FR2211169A5 (zh) 1972-12-15 1974-07-12 Sle Citerel Lannion Elec
GB1398020A (en) 1973-08-16 1975-06-18 Hewlett Packard Ltd Toggle flip-flop equivalent component
US4395703A (en) * 1981-06-29 1983-07-26 Motorola Inc. Precision digital random data generator
DE3580679D1 (de) 1984-02-06 1991-01-03 British Broadcasting Corp Binaere pseudo-zufalls-reihengeneratoren.
US4611183A (en) * 1984-04-30 1986-09-09 Motorola, Inc. Digital decorrelating random data generator
US4771426A (en) * 1984-07-20 1988-09-13 Unisys Corporation Isochronous clock reconstruction
US4771429A (en) 1986-09-18 1988-09-13 Abbott Laboratories Circuit combining functions of cyclic redundancy check code and pseudo-random number generators
JP2577894B2 (ja) 1986-09-25 1997-02-05 クラリオン株式会社 擬似ランダム雑音符号発生回路
JP2577923B2 (ja) 1987-07-31 1997-02-05 クラリオン株式会社 擬似ランダム雑音符号発生器
US4929850A (en) * 1987-09-17 1990-05-29 Texas Instruments Incorporated Metastable resistant flip-flop
US4905176A (en) * 1988-10-28 1990-02-27 International Business Machines Corporation Random number generator circuit
US5105376A (en) 1990-08-08 1992-04-14 Vlsi Technology, Inc. Linear feedback shift registers
US5365122A (en) 1990-11-09 1994-11-15 Vlsi Technology, Inc. Meta stable resistant signal detector
JP2795545B2 (ja) 1991-02-01 1998-09-10 シャープ株式会社 雑音発生装置
JP2841882B2 (ja) 1991-02-04 1998-12-24 日本電気株式会社 疑似乱数パタン発生器
JPH05291891A (ja) 1992-02-14 1993-11-05 Ricoh Co Ltd 一次乱数パルス列発生回路装置
US5317202A (en) * 1992-05-28 1994-05-31 Intel Corporation Delay line loop for 1X on-chip clock generation with zero skew and 50% duty cycle
US5471159A (en) * 1992-09-18 1995-11-28 Tektronix, Inc. Setup or hold violation triggering
US5467464A (en) * 1993-03-09 1995-11-14 Apple Computer, Inc. Adaptive clock skew and duty cycle compensation for a serial data bus
JPH0832416A (ja) 1994-07-15 1996-02-02 Ando Electric Co Ltd 疑似ランダムパターン発生回路
US5570307A (en) * 1995-01-06 1996-10-29 Vlsi Technology, Inc. Digital randomizer for on-chip generation and storage of random self-programming data block
US5850422A (en) * 1995-07-21 1998-12-15 Symbios, Inc. Apparatus and method for recovering a clock signal which is embedded in an incoming data stream
US5963104A (en) * 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
US5826061A (en) * 1996-06-10 1998-10-20 Dsc Communications Corporation System and method for modeling metastable state machine behavior
US6369727B1 (en) * 1999-12-17 2002-04-09 Rng Research Analog-to-digital conversion method of random number generation
US6480072B1 (en) * 2000-04-18 2002-11-12 Advanced Micro Devices, Inc. Method and apparatus for generating random numbers

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100504802C (zh) * 2005-06-10 2009-06-24 国际商业机器公司 微型计算机及其测试方法
CN101539847A (zh) * 2009-04-16 2009-09-23 北京中星微电子有限公司 随机数产生装置及其方法
CN101539847B (zh) * 2009-04-16 2015-01-21 北京中星微电子有限公司 随机数产生装置及其方法
US9729334B2 (en) 2011-03-31 2017-08-08 Ictk Co., Ltd Apparatus and method for generating digital value
CN103548040A (zh) * 2011-03-31 2014-01-29 Ictk有限公司 数字值生成装置及方法
CN103548040B (zh) * 2011-03-31 2017-12-26 Ictk有限公司 数字值生成装置及方法
CN104376870A (zh) * 2013-08-13 2015-02-25 阿尔特拉公司 存储器仲裁电路系统中的亚稳态预测及避免
CN104376870B (zh) * 2013-08-13 2017-08-15 阿尔特拉公司 预测及避免亚稳态的存储器仲裁电路系统及其方法
CN105242903A (zh) * 2015-10-21 2016-01-13 昆腾微电子股份有限公司 随机数生成装置和方法
CN105242903B (zh) * 2015-10-21 2018-01-16 昆腾微电子股份有限公司 随机数生成装置和方法
CN109660243A (zh) * 2017-10-12 2019-04-19 意法半导体有限公司 用于生成随机信号的设备
CN109660243B (zh) * 2017-10-12 2023-07-14 意法半导体有限公司 用于生成随机信号的设备
CN109995359A (zh) * 2019-04-10 2019-07-09 侯凤妹 边沿触发器亚稳态观测系统及其观测方法
CN109995359B (zh) * 2019-04-10 2023-03-28 侯凤妹 边沿触发器亚稳态观测系统及其观测方法
CN111555754A (zh) * 2020-05-26 2020-08-18 成都铭科思微电子技术有限责任公司 一种应用于高速模数转换器同步时钟采样的亚稳态检测电路
CN111555754B (zh) * 2020-05-26 2023-03-10 成都铭科思微电子技术有限责任公司 一种应用于高速模数转换器同步时钟采样的亚稳态检测电路

Also Published As

Publication number Publication date
KR100847213B1 (ko) 2008-07-17
WO2001067231A3 (en) 2002-01-03
US6631390B1 (en) 2003-10-07
MY127230A (en) 2006-11-30
WO2001067231A2 (en) 2001-09-13
EP1188109A2 (en) 2002-03-20
JP2003526151A (ja) 2003-09-02
CN1214319C (zh) 2005-08-10
KR20020021094A (ko) 2002-03-18

Similar Documents

Publication Publication Date Title
CN1214319C (zh) 利用触发器亚稳性产生随机数的方法和设备
Drutarovsky et al. A robust chaos-based true random number generator embedded in reconfigurable switched-capacitor hardware
RU2619895C1 (ru) Система и способы для шифрования данных
Addabbo et al. A feedback strategy to improve the entropy of a chaos-based random bit generator
Yin et al. Improving PUF security with regression-based distiller
Bright et al. Quasi-random number sequences from a long-period TLP generator with remarks on application to cryptography
EP1451676B1 (en) Method and apparatus for preventing noise influencing a random number generator based on flip-flop meta-stability
CN100541418C (zh) 利用亚稳态锁存器生成随机数的方法和装置
CN1575450A (zh) 将使用伪随机序列的随机数产生器解相关的方法和仪器
CN102736890A (zh) 基于开环结构的高速随机数发生器
CN105159653A (zh) 随机数后处理电路及方法
Stipčević Fast nondeterministic random bit generator based on weakly correlated physical events
CN204926062U (zh) 随机数后处理电路
CN105322920B (zh) 乱数产生器及其乱数产生方法
Ahmad et al. A less complex algorithmic procedure for computing Gray codes
Ichikawa Pseudo-Random Number Generation by Staggered Sampling of LFSR
CN115145540A (zh) 基于雪崩效应的量子随机数生成器
WO2010005281A2 (en) Method for generating pseudo-random data
WO2006079436A1 (en) Pseudo-random number generator and method of operating thereof
SAVAŞ Implementation of a Post-Quantum Cryptographic Algorithm
PARESCHI et al. Received (Day Month Year)

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
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: ROYAL PHILIPS ELECTRONICS CO., LTD.

Effective date: 20070907

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20070907

Address after: Holland Ian Deho Finn

Patentee after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Patentee before: Koninklike Philips Electronics N. V.

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

Granted publication date: 20050810

Termination date: 20130305