CN101196807A - 随机数发生器和随机数发生方法 - Google Patents
随机数发生器和随机数发生方法 Download PDFInfo
- Publication number
- CN101196807A CN101196807A CNA200710186629XA CN200710186629A CN101196807A CN 101196807 A CN101196807 A CN 101196807A CN A200710186629X A CNA200710186629X A CN A200710186629XA CN 200710186629 A CN200710186629 A CN 200710186629A CN 101196807 A CN101196807 A CN 101196807A
- Authority
- CN
- China
- Prior art keywords
- random
- analogue noise
- converter
- seed
- signal
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000005070 sampling Methods 0.000 title claims description 23
- 230000008569 process Effects 0.000 claims abstract description 34
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 230000003321 amplification Effects 0.000 claims description 13
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 13
- 230000003679 aging effect Effects 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 5
- 238000009434 installation Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 5
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000000712 assembly Effects 0.000 description 4
- 238000000429 assembly Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004224 protection Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random 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)
- Analogue/Digital Conversion (AREA)
Abstract
在随机数发生器中,第一转换器将第一模拟噪声信号转换为随机数字时钟信号,并且第二转换器对与所述第一模拟噪声信号异步的第二模拟噪声信号进行采样,以响应所述随机数字时钟信号并产生随机数位流。在一个方面中,随机数发生器输出块对第二转换器随机数位流进行采样以响应所述随机数字时钟信号并产生随机数发生器块输出。在另一个方面中,伪噪声源状态机产生所述随机数字时钟信号以响应从所述第一模拟噪声信号产生的第一种子、从过程变差数字放大器产生的第二种子,以及过去机器状态。
Description
技术领域
本发明涉及用于随机数发生的设备、方法和系统,具体地说,涉及通过随机采样的随机数发生。
背景技术
随机数发生器(RNG)是一种用于产生一系列随机数的系统或方法。在RNG的设计、应用或操作中存在一定困难,其可能损害所产生的一系列数字的实际随机性。例如,一种方法是基于算法的RNG,通常在物理系统的计算机模拟和密码系统中使用。但是,基于算法的RNG更准确地应称为伪随机数发生器(PRNG),因为它们的输出不是真正随机的,这归因于它们源自至少一个基本算法:它们的输出只是逼近随机数的某些特性。此外,可以通过反向工程或计算代码破解或攻击来确定基础算法,由此使密码安全性无效。
通常优选使用基于模拟噪声的RNG结构或硬件RNG结构而不是PRNG来生成源自基本噪声机制的不可预测的和无偏的数字信号。图1(a)和1(b)示出了现有技术的硬件RNG 100,它使用微观的物理过程现象(热噪声、光电效应或其他量子现象)作为模拟噪声源102,使用放大器104将量子级噪声输出103放大为宏观噪声信号105。转换器108对放大的噪声信号105进行采样以响应通过门或开关106定时的周期性数字时钟信号109。在一个实例中,如在上升时钟信号110处采样的,放大的噪声信号105的值112低于信号波形中点M,并且值112因此由转换器108转换为数位(digital number)流130(输出0)。在下一个上升时钟信号120,放大的噪声信号105的值122高于信号波形中点M,因此该值122由转换器108转换为数位流130(输出1)。
如果上升和下降的放大的噪声信号105的波形轮廓126相对于恒定周期性时钟信号109的轮廓128是随机的,则由转换器108产生的1和0数位流将也是随机的。但是,硬件RNG 100可能受到确定性力量的影响,所述力量可能损害数位流130的随机性甚至编程数位流130的随机性。
更具体地说,由携带快速变化信号作为其正常运行副产品的其他电路发射的电磁辐射干扰(EMI)可能导致出现诸如串音和电源噪声之类的有害信号来影响RNG 100。在一个实例中,通过时钟信号与另一时钟信号的耦合(通过结构基底),较强的EMI力也可能重新编程随机放大的噪声信号105。图1(b)示出了较强的射频干扰(RFI)信号170对硬件RNG 100的影响。RFI是由高于音频波长(约20kHz)但低于红外线波长(约30THz)的电磁频谱部分造成的干扰,并且包括放大调制(AM)、短波、频率调制(FM)、电视(TV)、业余无线电和民用波段(CB)广播信号。RFI可以由商业、政府和民间广播公司,以及诸如远程控制、无线电话、蜂窝电话、微波炉、移动传感器、雷达系统以及医疗和工业设备之类的本地设备产生。
较强的RFI信号170作用于放大的噪声信号105并有效地淹没了放大的噪声信号105,由此生成结果干扰噪声信号172,后者的波形轮廓192与RFI信号170的波形轮廓190基本相似。如果RFI信号170具有周期性并且轮廓190与采样时钟信号109的振动数字值轮廓128基本相同,则在每个时钟信号采样点(时钟信号109的上升边沿110、120),干扰后的放大噪声信号172的值182、184高于信号波形中点M并被ADC 108转换为数位流130(输出1)。这样,否则是随机的数据流186现在被编程为全部是1的信号。这种情况可能是无意出现的,也可能是通过基于同步的攻击技术有意造成的,上述任一情况都会破坏密码系统安全性。
因此,尽管基于算法的伪随机数发生器可以提供简单经济的随机数发生,但是基础算法方法致使PRNG从本质上而言对密码应用是不安全的。并且虽然硬件随机数发生器在理论上可以生成不易遭受解密的真正随机数位流,但是硬件噪声源信号的EMI调制可能损害随机性,并且在某些情况下甚至允许对所产生的数位流进行编程。有鉴于此,需要一种解决方案来解决相关领域的至少一个缺陷。
发明内容
本发明的各方面解决了上述以及其他问题。更具体地说,提供了一种随机数发生器,所述随机数发生器包括配置为产生第一模拟噪声信号的第一模拟噪声源和配置为产生与所述第一模拟噪声信号异步的第二模拟噪声信号的第二模拟噪声源。第一转换器连接到所述第一模拟噪声源并配置为将所述第一模拟噪声信号转换为随机数字时钟信号,所述随机数字时钟信号定义了多个采样周期的随机序列。连接到所述第二模拟噪声源和所述第一转换器的第二转换器对所述第二模拟噪声信号进行采样以响应所述随机数字时钟信号并产生随机数位流。
在一个方面中,所述第一和第二模拟噪声源为物理过程现象。在另一个方面中,连接到所述第一转换器和所述第二转换器的随机数发生器输出块对第二转换器随机数位流进行采样以响应所述随机数字时钟信号并产生随机数发生器块输出。
在一个方面中,放大器连接在所述第二模拟噪声源与所述第二转换器之间,其中所述第一转换器为电压时间转换器并且所述第二转换器为模拟数字转换器。在另一个中方面,所述第一转换器为伪噪声源状态机,并且连接在所述第一模拟噪声源与所述伪噪声源状态机之间的电压数字转换器产生随机第一种子以响应所述第一模拟噪声信号;连接到所述伪噪声源状态机的过程变差数字放大器产生随机第二种子;所述伪噪声源状态机配置为产生所述随机数字时钟信号以响应所述第一种子、所述第二种子以及过去伪噪声机器状态。在一个方面中,所述过程变差数字放大器包括多个具有唯一随机种子的微处理器芯片。在另一个方面中,所述过程变差数字放大器根据多个所述唯一随机种子中的每个随机种子的老化效应来确定所述第二种子。
仍进一步地,提供了一种随机数发生方法,所述方法包括以下步骤:产生第一模拟噪声信号,将所述第一模拟噪声信号转换为包括多个采样周期的随机序列的随机数字时钟信号,产生与所述第一模拟噪声信号异步的第二模拟噪声信号,以及对所述第二模拟噪声信号进行采样以响应所述随机数字时钟信号以便产生随机数位流。在一个方面中,第一和第二模拟噪声源分别从第一和第二物理过程现象来产生所述第一和第二模拟噪声信号。在另一个方面中,所述方法包括对所述随机数位流进行采样以响应所述随机数字时钟信号以便产生随机数发生器块输出。
在一个方面中,所述方法还包括放大所述第二模拟噪声信号,使用模拟数字转换器装置转换放大后的第二模拟噪声信号以产生所述随机数位流,以及使用电压时间转换器装置将所述第一模拟噪声信号转换为所述随机数字时钟信号。在另一个方面中,所述方法还包括产生随机第一种子以响应所述第一模拟噪声信号,过程变差数字放大器装置产生随机第二种子,以及伪噪声源状态机装置产生所述随机数字时钟信号以响应所述第一种子、所述第二种子以及过去伪噪声机器装置状态。
在另一方法中,所述过程变差数字放大器装置包括多个微处理器芯片,所述方法还包括以下步骤:为所述多个芯片中的每个芯片分配唯一随机种子;以及从多个所述唯一随机种子来确定所述第二种子。在另一个方面中,还根据所述多个唯一随机种子中的每个随机种子的老化效应来确定所述第二种子。
仍进一步地,服务提供商可以部署、管理和维护本发明的任何组件,所述服务提供商例如通过计算机系统或其他设备提供随机数发生。因此,在一个方面中,提供了一种部署用于随机数发生的应用的方法,所述方法包括提供可用于产生第一模拟噪声信号的计算基础设施,将所述第一模拟噪声信号转换为包括多个采样周期的随机序列的随机数字时钟信号,产生与所述第一模拟噪声信号异步的第二模拟噪声信号,以及对所述第二模拟噪声信号进行采样以响应所述随机数字时钟信号以便产生随机数位流。
在另一应用中,第一和第二模拟噪声源分别从第一和第二物理过程现象来产生所述第一和第二模拟噪声信号。在另一应用中,对所述随机数位流进行采样以响应所述随机数字时钟信号以便产生随机数发生器块输出。
在另一应用中,所述过程还包括放大所述第二模拟噪声信号,使用模拟数字转换器装置转换放大后的第二模拟噪声信号以产生所述随机数位流,以及使用电压时间转换器装置将所述第一模拟噪声信号转换为所述随机数字时钟信号。在另一个方面中,所述过程还包括产生随机第一种子以响应所述第一模拟噪声信号,过程变差数字放大器装置产生随机第二种子,以及伪噪声源状态机装置产生所述随机数字时钟信号以响应所述第一种子、所述第二种子以及过去伪噪声机器装置状态。在另一个方面中,所述过程变差数字放大器装置包括多个微处理器芯片,还包括以下步骤:为所述多个芯片中的每个芯片分配唯一随机种子;以及从所述多个唯一随机种子来确定所述第二种子。在应用的另一个方面中,还根据所述多个唯一随机种子中的每个随机种子的老化效应来确定所示第二种子。
仍进一步地,可以提供一件包括计算机可用介质的制品,所述计算机可用介质具有包含在其中的计算机可读程序,其中当在计算机上执行时,所述计算机可读程序将导致计算机执行根据本发明的随机数发生,例如通过:产生第一模拟噪声信号,将所述第一模拟噪声信号转换为包括多个采样周期的随机序列的随机数字时钟信号,产生与所述第一模拟噪声信号异步的第二模拟噪声信号,以及对所述第二模拟噪声信号进行采样以响应所述随机数字时钟信号以便产生随机数位流。
在另一个方面中,所述制品的计算机可读程序在计算机上执行时,还导致计算机分别从第一和第二物理过程现象来产生所述第一和第二模拟噪声信号。在另一个方面中,对所述随机数位流进行采样以响应所述随机数字时钟信号以便产生随机数发生器块输出。在另一个方面中,所述计算机过程还包括放大所述第二模拟噪声信号,使用模拟数字转换器装置转换放大后的第二模拟噪声信号以产生所述随机数位流,以及使用电压时间转换器装置将所述第一模拟噪声信号转换为所述随机数字时钟信号。
另一制品的计算机可读程序在计算机上执行时,将调用以下过程步骤:产生随机第一种子以响应所述第一模拟噪声信号,过程变差数字放大器装置产生随机第二种子,以及伪噪声源状态机装置产生所述随机数字时钟信号以响应所述第一种子、所述第二种子以及过去伪噪声机器装置状态。在另一个方面中,过程变差数字放大器装置包括多个微处理器芯片,还包括以下步骤:为所述多个芯片中的每个芯片分配唯一随机种子以及从所述多个唯一随机种子来确定所述第二种子。在应用的另一个方面中,还根据所述多个唯一随机种子中的每个随机种子的老化效应来确定所述第二种子。
附图说明
从以下结合附图的对本发明各方面的详细说明,可以更容易地理解本发明的上述和其他特征,这些附图是:
图1(a)和1(b)是现有技术硬件随机数发生器的示意图;
图2(a)和2(b)是根据本发明的随机数发生器的示意图;
图3是根据本发明的其他随机数发生器的示意图;以及
图4是配置为实现本发明的各方面的计算机系统的示意图。
本发明可以采取各种组件和组件排列,以及各种步骤和步骤排列的形式。附图仅旨在示出本发明的典型实施例并且不应被视为限制本发明的范围。此外,附图无需成比例并且只是示意性的表示,并非旨在描述本发明的特定参数。在附图中,相同的标号表示相同的元素。
具体实施方式
仍进一步地,本领域的普通技术人员在阅读并理解以下详细描述之后,将理解本发明。为方便起见,具体实施方式部分具有以下小节:
I.一般说明
II.计算机化的实施方式
I.一般说明
图2(a)和2(b)是根据本发明的RNG结构200的示意图。第一模拟噪声源202生成第一随机噪声信号203。在一个实例中,第一模拟噪声源202是从物理过程现象(例如热噪声、光电效应或其他量子现象)产生第一噪声信号203的硬件噪声源202。放大器204将第一噪声信号203放大成放大后的第一噪声信号205以便通过开关206进行采样以及由模数转换器(ADC)208转换成离散的数位。但是可以理解,可针对本发明实现其他类型的模拟噪声源202,并且如果其噪声信号足够大,则无须进行放大并可以省略放大器204。
通过使用电压时间转换器(V2T)254处理第二模拟噪声源250的噪声信号252来产生随机采样时钟信号209。第二模拟噪声源250可以是从物理过程现象(热噪声等)产生第二噪声信号252的另一硬件噪声源250,或者是备选的噪声信号发生器(未示出)。随机采样时钟信号209因此提供采样时刻的随机序列轮廓220,例如上升数字脉冲222、224、226之间显示的发散定时所示,以便分别在点242、244、246处对放大后的噪声波形240进行采样并响应性地产生随机数位流210。此外,还可选地对随机流210采样以响应随机采样时钟信号209,从而随机地在RNG块输出212处产生RNG块输出流260:以这种方式,可以引入其他随机因素以进一步随机化数位流输出260。
此外,还可以理解的是,ADC 208可以是1位或多位ADC,其中多位ADC 208可以为流260产生的数字提供额外的随机性。因此,在一个8级或3位ADC 208实例中,输出流260“111111”可以表示“7”(来自二进制代码中的3位项111)和“111”中的任意一个。在另一个64级或6位ADC 208实例中,输出数位流260的6位序列可以表示一个字母数字随机数的输出。
因此,至此描述的RNG 200是分别针对模拟信号205和随机采样时钟信号209结合两个独立硬件噪声源202、250的基于硬件的随机数发生器。提供单独的独立硬件噪声源202、250的一个优点是噪声信号203、252由于其独立随机产生,因此在本质上是异步的,这使得RNG 200能够抵御通过强RFI影响损害的随机化并保持真正随机的数字输出260。
更具体地说,图2(b)示出了RNG 200在强RFI信号270的影响下的行为。RFI信号270作用于放大后的模拟噪声信号205并产生合成的干扰模拟噪声信号272,噪声信号272的干扰波形轮廓274与RFI信号270的轮廓271基本相似,由此损害了干扰后的模拟噪声信号272的随机性。但是与图1中示出的现有技术硬件RNG 100(具有可以与RFI轮廓192相关的恒定周期性采样时钟轮廓128)相比,尽管RFI信号270作用于随机时钟信号209以产生合成的更改干扰时钟信号286,从而将原始采样时钟轮廓220更改为RFI干扰轮廓282,但是干扰后的时间轮廓282相对于RFI轮廓271而言仍然是随机的和不规则的。
在一个方面中,可以针对有意的EMI确定性影响来保持双硬件噪声源RNG 200中的随机性,因为基本不可能确定随机采样时钟信号209的最初采样时刻。但是,本发明的备选实施例可以结合额外的结构和方法,它们进一步使确定最初采样时刻更加困难并因此提高RNG对RFI随机性重新编程的抵御能力。
更具体地说,图3示出了根据本发明的另一个RNG 300。模拟噪声源302生成随机噪声信号303,例如物理过程热噪声信号303,尽管也可以实现其他模拟噪声源302。由于物理过程噪声信号303相对于RNG系统300电子信号电平来说较低,因此放大器304将噪声源信号303放大成放大后的噪声信号305以便通过开关306进行采样以及由模数转换器(ADC)308转换成离散数字。可选地,如果噪声信号303足够大,则无需进行放大,因此根据本发明的RNG 300的某些实施例可以省略放大器304。
数字伪噪声(PN)源状态机340用于根据第一种子342、第二种子344以及过去机器状态输入来产生具有时间轮廓382(其还可选地用作RNG块386的时钟)的随机数字采样时钟信号386。使用PN源状态机产生数字随机数是公知的,但是新颖之处在于,通过使第一种子输入342是电压数字转换器(V2D)346的输出,其中第二模拟噪声发生器350噪声向V2D 346提供真正随机的模拟噪声信号输入352,将真正的随机性结合到了否则是伪随机的数字时钟信号产生结构中。
此外,通过结合过程变差数字放大器(PVDA)348以产生到PN源状态机340的随机第二种子输入344,RNG 300提供了更多保护以防止RFI损害随机化。PVDA 348包括多个芯片(未示出),每个芯片基于其固有的结构用作其自己的随机种子,这在PVDA的设计中是公知的。在一个方面中,可以确定随机第二种子344以响应每个芯片唯一的老化效应。一个优点是这些特性对未授权方是不可知或不可发现的,也不能通过EMI来确定。因此,PVDA 348通过不受FRI编程影响的数字放大结构和技术提供了随机第二种子输入344,随机第二种子输入344连同模拟随机源第一种子342一起,有效地扰乱了每个采样周期更改的首次采样时刻,并且其中第二种子2随机输入344也会因芯片老化而随时间发生改变。
在本实施例中,同时通过采样种子1、种子2以及PN机器当前状态来实施PN源输出382的随机性。因此,虽然PN状态机通常被认为是伪随机噪声源,但是PN状态机340随机性的算法基础不能通过其输出来确定,因为随机第一和第二种子会在每个随机周期内定期更新:因此PN状态机340的采样时钟输出386不是伪随机的,而是真正随机的。
II.计算化的实施方式
现在参考图4,计算机可读代码可以被集成到计算系统400中,其中计算系统400能够用作根据本发明的随机数发生器。因此,根据本发明的程序可以存储在计算系统400的计算机可读存储介质401中,或可由计算系统400通过一种或多种传输介质402来访问。
因此,在一个实例中,计算系统400包括图3中示出的RNG 300组件。一个优点是在将所述组件提供给第三方以进行RNG 300应用之前,可以在伪噪声状态机340内植入或更改硬编码逻辑,从而保持相关逻辑算法的安全。另一个优点是,伪噪声状态机340可以由第三方制造或组装到根据本发明的RNG应用中,随后在以后编入软件随机性算法,以使所述算法始终保持安全,无法为第三方所知。
在此方面,计算机可读/可用介质401包括实现本发明各个过程步骤中的每个步骤的程序代码,例如包括伪噪声状态机340的随机性算法。可以理解,术语计算机可读介质或计算机可用介质包括程序代码的一个或多个任意类型的物理实施例。具体地说,术语计算机可读/可用介质可以包括包含在一个或多个便携存储制品(例如光盘、磁盘、磁带等)、诸如存储器和/或存储系统401(例如,固定盘、只读存储器、随机存取存储器、高速缓冲存储器等)之类的计算设备的一个或多个数据存储部分上的程序代码,以及/或者通过传输介质402在网络(例如,在程序代码的有线/无线电子分发期间)上作为数据信号(例如传播信号)传输的程序代码。
示例性而非穷举性的存储介质401实例包括易失性存储器结构以及RAM和ROM结构,但是本发明不限于此。在一个操作方面,程序代码可以由盘驱动器或CD-ROM读取装置403、413读取并存储在计算系统400的ROM设备401或类似设备中以被执行。在某些实例中,程序可以驻留在远程计算机410的存储器资源412上,或驻留在程序传输装置444上,程序传输装置444具有用于存储程序的计算机存储器446和用于通过网络402将程序提供给计算系统400或存储器401的程序传输装置448。
可以理解,计算系统400、410的实施例包括独立和联网的计算机以及多部分计算机系统。更具体地说,提供图4以表明本发明可以在网络环境(例如因特网、广域网(WAN)、局域网(LAN)、虚拟专用网(VPN)等)中实现,也可以在独立计算机系统中实现。在前者的情况下,整个网络的通信可以通过各种类型的通信链路的任意组合来实现。例如,通信链路可包括利用有线和/或无线传输方法的任意组合的可寻址连接。在通信通过因特网进行的情况下,连接可以通过传统的基于TCP/IP套接字的协议提供,并且因特网服务提供商可用于建立与因特网的连接性。此外,计算系统400、410旨在说明,图4中示出的实施方式的某些或所有组件可以由为他人提供实施、部署和/或执行本发明的功能的服务提供商来部署、管理和维护等。
计算系统400、410只是用于实现本发明的各种类型的计算机基础设施的示例。例如,在一个实施例中,计算系统400、410中的任何一个都包括两个或更多通过网络通信以执行本发明的各个过程步骤的计算设备(例如服务器群集)。此外,计算系统400、410只是可以包括大量硬件组合的各种可能计算机系统的代表。在此方面,在其他实施例中,计算系统400、410可以包括任何包含用于执行特定功能的硬件和/或计算机程序代码的专用计算制品、任何包含专用和通用硬件/软件的组合的计算制品,或者可以包括任何与一个或多个外部设备444等交换信息的系统。在每种情况下,可以分别使用标准编程和工程技术来创建程序代码和硬件。
仍进一步地,可以理解,图4中未示出的一个或多个其他组件(例如系统软件、数学协处理单元等)可以包括在计算系统400、410内。尽管没有示出,但是诸如高速缓冲存储器、通信系统、系统软件之类的其他组件可以被结合到计算系统400、410内。在一个实施例中,存储设备401包括跨例如局域网(LAN)、广域网(WAN)或存储区域网络(SAN)(未示出)分发的数据。
在另一个实施例中,本发明提供了一种在订阅、广告和/或收费的基础上执行本发明的过程步骤的商业方法。也就是说,诸如解决方案集成商之类的服务提供商可以提供上述随机数发生器设备的设计和/或制造。在此情况下,服务提供商可以为一个或多个客户创建、维护和支持执行本发明的过程步骤的诸如计算系统400、410之类的计算机基础设施。在一个实例中,服务提供商可以在配置为实现本发明的RNG过程的伪噪声状态机340内植入或更改硬编码逻辑。在另一个实例中,服务提供商可以制造伪噪声状态机340并将其组装或部署到根据本发明的RNG过程中,然后将一个或多个随机性算法编入伪噪声状态机340。依次地,服务提供商可根据订阅和/或收费协议从客户(多个)收取费用,以及/或者服务提供商可以通过向一个或多个第三方出售广告内容来收取费用。
如此处所使用的,可以理解,术语“程序代码”和“计算机程序代码”是同义词并且表示一组指令的以任何语言、代码或符号表示的任何表达,旨在使具有信息处理能力的计算设备直接执行特定的功能,或者执行以下两者之一或全部后执行特定的功能:a)转换为另一种语言、代码或符号;和/或b)以不同的材料形式再现。在此方面,程序代码可以体现为以下项中的一个或多个:应用/软件程序、组件软件/函数库、操作系统、用于特定计算和/或I/O设备的基本I/O系统/驱动器等。
出于示例和描述目的提供了对本发明的各方面的上述描述。其并非旨在是穷举的或将本发明限于所公开的精确形式,并且很显然,许多修改和变化都是可能的。这些对本领域的技术人员来说显而易见的修改和变化旨在被包括在如所附权利要求限定的本发明的范围之内。
Claims (14)
1.一种随机数发生器,所述发生器包括:
第一模拟噪声源,其配置为产生第一模拟噪声信号;
第一转换器,其连接到所述第一模拟噪声源并配置为将所述第一模拟噪声信号转换为随机数字时钟信号,其中所述随机数字时钟信号定义了多个采样周期的随机序列;
第二模拟噪声源,其配置为产生与所述第一模拟噪声信号异步的第二模拟噪声信号;以及
第二转换器,其连接到所述第二模拟噪声源和所述第一转换器,并配置为对所述第二模拟噪声信号进行采样以响应所述随机数字时钟信号并产生随机数位流。
2.根据权利要求1的随机数发生器,其中所述第一和所述第二模拟噪声源是物理过程现象。
3.根据权利要求2的随机数发生器,还包括随机数发生器输出块,其连接到所述第一转换器和所述第二转换器,并配置为对第二转换器随机数位流进行采样以响应所述随机数字时钟信号并产生随机数发生器块输出。
4.根据权利要求3的随机数发生器,还包括连接在所述第二模拟噪声源与所述第二转换器之间的放大器;
其中所述第一转换器是电压时间转换器;以及
其中所述第二转换器是模拟数字转换器。
5.根据权利要求3的随机数发生器,其中所述第二转换器是模拟数字转换器并且所述第一转换器是伪噪声源状态机,还包括:
放大器,其连接在所述第二模拟噪声源与所述第二转换器之间;
电压数字转换器,其连接在所述第一模拟噪声源与所述伪噪声源状态机之间,所述电压数字转换器配置为产生到所述伪噪声源状态机的随机第一种子以响应所述第一模拟噪声信号;以及
过程变差数字放大器,其连接到所述伪噪声源状态机并配置为产生到所述伪噪声源状态机的随机第二种子;
其中所述伪噪声源状态机配置为产生所述随机数字时钟信号以响应所述第一种子、所述第二种子以及过去伪噪声机器状态。
6.根据权利要求5的随机数发生器,其中所述过程变差数字放大器包括多个微处理器芯片;
其中所述过程变差数字放大器配置为将唯一随机种子分配给所述多个芯片中的每个芯片;以及
其中所述过程变差数字放大器配置为根据多个所述唯一随机种子来确定所述第二种子。
7.根据权利要求6的随机数发生器,其中所述过程变差数字放大器还配置为根据所述多个唯一随机种子中的每个随机种子的老化效应来确定所述第二种子。
8.一种随机数发生方法,所述方法包括以下步骤:
产生第一模拟噪声信号;
将所述第一模拟噪声信号转换为随机数字时钟信号,所述随机数字时钟信号包括多个采样周期的随机序列;
产生与所述第一模拟噪声信号异步的第二模拟噪声信号;以及
对所述第二模拟噪声信号进行采样以响应所述随机数字时钟信号以便产生随机数位流。
9.根据权利要求8的方法,还包括以下步骤:
第一模拟噪声源从第一物理过程现象来产生所述第一模拟噪声信号;
以及
第二模拟噪声源从第二物理过程现象来产生所述第二模拟噪声信号。
10.根据权利要求9的方法,还包括对所述随机数位流进行采样以响应所述随机数字时钟信号以便产生随机数发生器块输出的步骤。
11.根据权利要求10的方法,还包括以下步骤:
放大所述第二模拟噪声信号;
其中对所述第二模拟噪声信号进行采样以产生所述随机数位流的步骤包括使用模拟数字转换器装置转换所述放大的第二模拟噪声信号的步骤;以及
其中将所述第一模拟噪声信号转换为所述随机数字时钟信号的步骤包括使用电压时间转换器装置转换所述第一模拟噪声信号的步骤。
12.根据权利要求10的方法,还包括以下步骤:
放大所述第二模拟噪声信号;
其中对所述第二模拟噪声信号进行采样以产生所述随机数位流的步骤包括使用模拟数字转换器装置转换所述放大的第二模拟噪声信号的步骤;以及
其中将所述第一模拟噪声信号转换为所述随机数字时钟信号的步骤包括以下步骤:
产生随机第一种子以响应所述第一模拟噪声信号;
过程变差数字放大器装置产生随机第二种子;以及
伪噪声源状态机装置产生所述随机数字时钟信号以响应所述第一种子、所述第二种子以及过去伪噪声机器装置状态。
13.根据权利要求12的方法,其中所述过程变差数字放大器装置包括多个微处理器芯片,所述方法还包括以下步骤:
将唯一随机种子分配给所述多个芯片中的每个芯片;以及
根据多个所述唯一随机种子来确定所述第二种子。
14.根据权利要求13的方法,还包括根据所述多个唯一随机种子中的每个随机种子的老化效应来确定所述第二种子的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/608,264 | 2006-12-08 | ||
US11/608,264 US7904494B2 (en) | 2006-12-08 | 2006-12-08 | Random number generator with random sampling |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101196807A true CN101196807A (zh) | 2008-06-11 |
CN101196807B CN101196807B (zh) | 2010-09-15 |
Family
ID=39497362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710186629XA Expired - Fee Related CN101196807B (zh) | 2006-12-08 | 2007-11-14 | 随机数发生器和随机数发生方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7904494B2 (zh) |
CN (1) | CN101196807B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662625A (zh) * | 2012-04-06 | 2012-09-12 | 国网电力科学研究院 | 一种真随机数发生器及其实现方法 |
CN104737122A (zh) * | 2012-10-24 | 2015-06-24 | Sk电信有限公司 | 用于去除随机数生成期间因信号源而造成的偏置的方法和装置 |
CN105190535A (zh) * | 2013-03-14 | 2015-12-23 | 国际商业机器公司 | 执行伪随机数产生操作的指令 |
WO2016197681A1 (zh) * | 2015-06-12 | 2016-12-15 | 中兴通讯股份有限公司 | 光配线网络中智能标签的生成方法和装置及智能标签 |
CN103955352B (zh) * | 2014-05-13 | 2017-03-15 | 中国电子科技集团公司第五十八研究所 | 多源输入真随机数发生器电路架构 |
CN107615237A (zh) * | 2015-12-31 | 2018-01-19 | Sk电信有限公司 | 用于管理基于量子噪声的随机数生成器的性能的装置和方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1949708B (zh) * | 2006-11-10 | 2011-02-02 | 华为技术有限公司 | 随机数发生装置、方法及对应的数据交互系统 |
US8375066B2 (en) * | 2010-04-26 | 2013-02-12 | International Business Machines Corporation | Generating unique identifiers |
US8560698B2 (en) | 2010-06-27 | 2013-10-15 | International Business Machines Corporation | Allocating unique identifiers using metadata |
CN102223150B (zh) * | 2011-03-29 | 2013-05-22 | 清华大学 | 一种采用有限长随机序列混频的随机采样器 |
US9158501B2 (en) | 2012-12-17 | 2015-10-13 | Vonage Network Llc | Method and apparatus for generating random numbers based on packetized media data |
US9201629B2 (en) | 2013-03-14 | 2015-12-01 | International Business Machines Corporation | Instruction for performing a pseudorandom number seed operation |
BR112016025808B1 (pt) * | 2014-05-09 | 2022-09-27 | Quantum Numbers Corp | Método para gerar números aleatórios e gerador de números aleatórios |
US9846569B1 (en) * | 2014-11-17 | 2017-12-19 | Seagate Technology Llc | Random values based on a random components of noise |
DE102016119750B4 (de) * | 2015-10-26 | 2022-01-13 | Infineon Technologies Ag | Vorrichtungen und Verfahren zur Mehrkanalabtastung |
JP7013447B2 (ja) | 2016-08-19 | 2022-01-31 | オラクル・インターナショナル・コーポレイション | 多様なソースからのエントロピの収集 |
US10355891B2 (en) * | 2017-09-29 | 2019-07-16 | Intel Corporation | Authentication through voltage variations over communication channels |
CN110554855B (zh) * | 2019-09-11 | 2021-10-12 | 北京智芯微电子科技有限公司 | 真随机数发生器 |
US11500616B1 (en) * | 2020-07-29 | 2022-11-15 | Ambarella International Lp | True random number generator circuit |
KR20220135750A (ko) | 2021-03-31 | 2022-10-07 | 에스케이하이닉스 주식회사 | 메모리 및 메모리의 동작 방법 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5426392A (en) | 1993-08-27 | 1995-06-20 | Qualcomm Incorporated | Spread clock source for reducing electromagnetic interference generated by digital circuits |
US5757923A (en) * | 1995-09-22 | 1998-05-26 | Ut Automotive Dearborn, Inc. | Method of generating secret identification numbers |
US7051203B1 (en) | 1999-11-08 | 2006-05-23 | International Business Machines Corporation | Data watermarks created by using an uneven sampling period |
DE10003472C1 (de) * | 2000-01-27 | 2001-04-26 | Infineon Technologies Ag | Zufallszahlengenerator |
FR2806555A1 (fr) * | 2000-03-17 | 2001-09-21 | St Microelectronics Sa | Generateur de nombres pseudo-aleatoires |
DE10103071A1 (de) | 2001-01-24 | 2002-08-08 | Infineon Technologies Ag | Zufallszahlengenerator und Verfahren zum Erzeugen einer Zufallszahl |
JP3502065B2 (ja) * | 2001-04-24 | 2004-03-02 | 株式会社三技協 | 乱数発生装置 |
JP4467216B2 (ja) * | 2001-09-07 | 2010-05-26 | Necエレクトロニクス株式会社 | 乱数発生方法及び装置 |
JP2004127217A (ja) * | 2002-07-30 | 2004-04-22 | Univ Niigata | 乱数発生方法及び乱数発生装置 |
US7583155B2 (en) * | 2003-03-26 | 2009-09-01 | Telefonaktiebolaget L M Ericsson (Publ) | Random sequence generator |
US7177888B2 (en) * | 2003-08-01 | 2007-02-13 | Intel Corporation | Programmable random bit source |
DE102004047425B4 (de) | 2004-09-28 | 2007-06-21 | Micronas Gmbh | Zufallszahlengenerator sowie Verfahren zur Erzeugung von Zufallszahlen |
KR20060095942A (ko) * | 2004-11-18 | 2006-09-05 | 가부시키가이샤 니이가타 티엘오 | 난수 생성 방법 및 난수 생성 장치 |
EP1686458B1 (en) | 2005-01-28 | 2008-07-23 | Infineon Technologies AG | Oscillator-based random number generator |
CN1710617A (zh) | 2005-06-16 | 2005-12-21 | 武汉理工大学 | 高效真随机数产生方法及装置 |
ES2590280T3 (es) * | 2006-08-03 | 2016-11-21 | Tubitak | Generación de números aleatorios usando caos de tiempo continuo |
-
2006
- 2006-12-08 US US11/608,264 patent/US7904494B2/en not_active Expired - Fee Related
-
2007
- 2007-11-14 CN CN200710186629XA patent/CN101196807B/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662625A (zh) * | 2012-04-06 | 2012-09-12 | 国网电力科学研究院 | 一种真随机数发生器及其实现方法 |
CN104737122A (zh) * | 2012-10-24 | 2015-06-24 | Sk电信有限公司 | 用于去除随机数生成期间因信号源而造成的偏置的方法和装置 |
CN104737122B (zh) * | 2012-10-24 | 2017-12-05 | Sk电信有限公司 | 用于去除随机数生成期间因信号源而造成的偏置的方法和装置 |
CN105190535A (zh) * | 2013-03-14 | 2015-12-23 | 国际商业机器公司 | 执行伪随机数产生操作的指令 |
CN105190535B (zh) * | 2013-03-14 | 2018-04-06 | 国际商业机器公司 | 执行伪随机数产生操作的指令 |
CN103955352B (zh) * | 2014-05-13 | 2017-03-15 | 中国电子科技集团公司第五十八研究所 | 多源输入真随机数发生器电路架构 |
WO2016197681A1 (zh) * | 2015-06-12 | 2016-12-15 | 中兴通讯股份有限公司 | 光配线网络中智能标签的生成方法和装置及智能标签 |
CN106254967A (zh) * | 2015-06-12 | 2016-12-21 | 中兴通讯股份有限公司 | 光配线网络中智能标签的生成方法和装置及智能标签 |
CN107615237A (zh) * | 2015-12-31 | 2018-01-19 | Sk电信有限公司 | 用于管理基于量子噪声的随机数生成器的性能的装置和方法 |
CN107615237B (zh) * | 2015-12-31 | 2021-12-21 | Id量子技术公司 | 用于管理基于量子噪声的随机数生成器的性能的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
US7904494B2 (en) | 2011-03-08 |
US20080136697A1 (en) | 2008-06-12 |
CN101196807B (zh) | 2010-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101196807B (zh) | 随机数发生器和随机数发生方法 | |
Nelson et al. | Correlations of continuous random data with major world events | |
Liu et al. | Delay-introducing method to improve the dynamical degradation of a digital chaotic map | |
US7206797B2 (en) | Random number slip and swap generators | |
JP2009545769A5 (zh) | ||
CN1752924A (zh) | 基于振荡器的真随机数发生器 | |
CN106027238A (zh) | 一种适用于无线通信系统的真随机数发生器 | |
CN101882062A (zh) | 真随机比特流发生器 | |
Jovic | Chaos‐based BPSK communication system | |
Varan et al. | Synchronizations and secure communication applications of a third degree Malasoma system with chaotic flow | |
Antonelli et al. | Measuring the jitter of ring oscillators by means of information theory quantifiers | |
Musayev et al. | Quantised inverter amplifier | |
CN102567340A (zh) | 一种过滤微博信息的方法及装置 | |
Tamura et al. | Simulation of code spectrum and code flow of cultured neuronal networks | |
US7139397B2 (en) | Hybrid architecture for realizing a random numbers generator | |
Luo et al. | Balanced quaternary sequences of even period with optimal autocorrelation | |
Sedaghat et al. | Performance analysis of asynchronous optical code division multiple access with spectral‐amplitude‐coding | |
WO2018215148A1 (de) | Verfahren und vorrichtung zum rechnergestützten verarbeiten eines zufälligen bitmusters | |
Peinado et al. | Optimal modes of operation of pseudorandom sequence generators based on DLFSRs | |
Wang | Results on a Novel Piecewise‐Linear Memristor‐Based Chaotic System | |
JP2008146526A (ja) | 物理乱数生成装置及び物理乱数生成回路 | |
CN108229993A (zh) | 一种数据处理的方法及装置 | |
KR102027686B1 (ko) | 안전한 통신을 위한 가시광선을 이용한 순수난수 생성 장치 및 생성 방법 | |
Stanco et al. | Certification of the efficient random number generation technique based on single‐photon detector arrays and time‐to‐digital converters | |
Parikibandla et al. | Low area field‐programmable gate array implementation of PRESENT image encryption with key rotation and substitution |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100915 Termination date: 20181114 |