CN101965552A - 基于数控振荡器的数字随机数生成器 - Google Patents

基于数控振荡器的数字随机数生成器 Download PDF

Info

Publication number
CN101965552A
CN101965552A CN2009801073473A CN200980107347A CN101965552A CN 101965552 A CN101965552 A CN 101965552A CN 2009801073473 A CN2009801073473 A CN 2009801073473A CN 200980107347 A CN200980107347 A CN 200980107347A CN 101965552 A CN101965552 A CN 101965552A
Authority
CN
China
Prior art keywords
circuit
random number
digital oscillator
oscillator circuit
available configuration
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
CN2009801073473A
Other languages
English (en)
Other versions
CN101965552B (zh
Inventor
I·德诺尔
L·明兹
B·多尔冈诺夫
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.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of CN101965552A publication Critical patent/CN101965552A/zh
Application granted granted Critical
Publication of CN101965552B publication Critical patent/CN101965552B/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

Landscapes

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

Abstract

一种用于随机数生成的系统,其包括数字振荡器电路,该数字振荡器电路具有一组可用配置,并且可操作来根据从该组中选择的当前配置生成随机数序列。该系统还包括随机化电路,该随机化电路可操作来产生对应于数字振荡器电路的可用配置的值的伪随机流,并且根据值的伪随机流控制数字振荡器电路在可用配置之间交替。

Description

基于数控振荡器的数字随机数生成器
技术领域
本公开通常涉及随机数生成,并特别涉及数字随机数生成器(DRNG)电路。
背景技术
随机数生成(RNG)过程在多种应用中广泛使用,例如密码系统和计算机仿真。一些RNG电路是模拟的,在其中,随机性典型地由模拟电子部件的随机变化的物理特性引入。其他RNG电路是全数字的。
发明内容
在此描述的实施例提供用于随机数生成的系统,所述系统包括:
数字振荡器电路,该电路具有一组可用配置,并且可操作来根据从该组中选择的当前配置生成随机数序列;以及
随机化电路,该电路可操作来产生对应于数字振荡器电路的可用配置的值的伪随机流,并且根据值的伪随机流控制数字振荡器电路在可用配置之间交替。
在一些实施例中,数字振荡器电路包括具有可配置反馈抽头(feedback taps)的环形振荡器,并且可用配置中的每一个定义反馈抽头的各自设置。该组可用配置可以包括至少第一和第二可用配置,所述第一和第二可用配置将环形振荡器配置成分别具有不同的第一和第二长度。在公开实施例中,随机化电路包括线性反馈移位寄存器(LFSR)。在另一实施例中,随机化电路可操作来根据非线性函数产生值的伪随机流。
在又一实施例中,随机化电路可操作来产生与时钟信号同步的值的流,并且数字振荡器电路可操作来基于随机数序列产生具有随机抖动的时钟信号,并且用该时钟信号驱动随机化电路。
在再一实施例中,数字振荡器电路包括多个数字振荡器电路,该多个数字振荡器电路可操作来根据从它们各自的可用配置的组中选择的多个当前配置产生各自的多个随机数序列,随机化电路包括多个随机化电路,该多个随机化电路可操作来产生多个各自的伪随机值流,并且控制各数字振荡器电路根据各自的流在各组中的可用配置之间交替,并且系统包括输出电路,该输出电路被耦合来处理多个随机数序列,以产生复合随机数序列。
在一些实施例中,系统包括交叉随机化电路,该电路被耦合来处理由多个随机化电路产生的多个值流中的至少一个,并且响应于已处理的流控制随机化电路中的一个或多个,使得在多个流之间引入相关性。在实施例中,输出电路还被耦合来接受由随机化电路产生的伪随机值流,并且响应于伪随机值流产生复合随机数序列。
额外提供了用于随机数生成的方法,包括:
操作具有一组可用配置的数字振荡器电路,来根据从该组中选择的当前配置生成随机数序列;
产生对应于数字振荡器电路的可用配置的值的伪随机流;以及
根据值的伪随机流控制数字振荡器电路在可用配置之间交替。
还提供了密码装置,包括:
密码模块,该模块被耦合来使用随机数序列对数据执行密码操作;
随机数生成模块,包括:
数字振荡器电路,该电路具有一组可用配置,并可操作来根据从该组中选择的当前配置生成随机数序列;以及
随机化电路,该电路可操作来产生对应于数字振荡器电路的可用配置的值的伪随机流,并且根据值的伪随机流控制数字振荡器电路在可用配置之间交替。
还提供了存储器存储装置,包括:
存储器;
密码模块,该密码模块被耦合来使用随机数序列对与存储器交换的数据执行密码操作;以及
随机数生成模块,包括:
数字振荡器电路,该电路具有一组可用配置,并可操作来根据从该组中选择的当前配置生成随机数序列;
随机化电路,该电路可操作来产生对应于数字振荡器电路的可用配置的值的伪随机流,并且根据值的伪随机流控制数字振荡器电路在可用配置之间交替。
附图说明
结合附图,从其实施例的以下详细描述中将更完全地理解本公开,在附图中:
图1是示意性图示说明数据存储设备的框图;
图2是示意性图示说明数字随机数生成器(DRNG)的框图;
图3A-3C是示意性图示说明数控振荡器(DCO)的框图;以及
图4是示意性图示说明用于随机数生成方法的流程图。
具体实施方式
概述
下面描述的实施例提供用于生成随机数序列的改进的方法和系统。在一些实施例中,数字随机数生成器(DRNG)包括一个或多个数控振荡器(DCO)。每个DCO产生具有随机相位或频率抖动的输出波形。DCO的输出由输出模块组合,该输出模块对输出采样并产生复合随机数序列。
每个DCO具有多种可能的(可用)配置,并且在任何给定的时间可以选择工作在可用配置中的任何一种。DCO由各随机化模块控制。每个随机化模块生成伪随机值的流,所述伪随机值作为输入被提供到各DCO。DCO根据流中的当前伪随机值来设置它的当前配置。从而,DCO以伪随机方式在可用配置中交替。伪随机配置切换提高由DCO产生的随机数序列的随机性水平。
在一些实施例中,随机化模块生成与DCO产生的时钟信号同步的伪随机值流。从而,DCO输出的随机频率/相位抖动被引入到随机化电路的时钟信号,并且接着通过伪随机值流放大并且重引入到DCO。因此,随机化模块可以被视为放大功能,其放大DCO的随机抖动。
在一些实施例中,DRNG包括交叉随机化模块,该交叉随机化模块在随机化模块生成的不同伪随机值流之间引入相关性。继而,该相关性引起不同DCO输出之间的相关性。
在此描述的方法和系统提供与已知电路相比实现更高随机性水平的DRNG电路。与使用常规RNG电路的加密设备相比,使用所公开的RNG电路的加密设备典型地更好地适合目前的加密标准,并且不易受到旁路攻击和其他未授权解码的尝试。由于在此描述的DRNG电路是全数字的,所以它们对于单元到单元的变化和不同制造工艺之间的变化相对不敏感。从而,在此描述的DRNG电路可以被实施为与工艺无关的核,可以用简单的方式将该核从一种器件制造工艺迁移到另一种。
虽然在此描述的实施例主要解决密码和数据存储应用,但是本公开的原理可以被用在包含随机数生成的其他应用中,例如在安全通信、计算机仿真、计算机游戏和许多其他应用中。
系统描述
图1是根据示例性实施例示意性图示说明数据存储设备20的框图。设备20可以包括例如可移除存储设备(例如钥匙盘(Disk-on-Key)、存储卡或智能卡,或任何其他合适的设备类型)。设备20与主机24通信,该主机24可以包括例如计算设备、数字照相机、移动电话或存储数据的任何其他合适的主机系统。主机24将用于存储的数据发送到设备20,并且检索存储在存储设备中的数据。存储设备20包括存储器28(在本示例中其包括闪存)。在替换实施例中,存储器28可以包括任何其他合适类型的易失性或非易失性存储器。
密码模块32对写入存储器28和从存储器28读出的数据以及与主机24交换的数据执行密码操作。例如,模块32可以应用操作,例如本领域已知的数据加密、解密、电子签名和/或签名验证。模块32可以应用任何合适的密码算法,例如数据加密标准(DES)、三重DES(3-DES)、Rivest、Shamir和Adleman(RSA)、高级加密标准(AES)和/或任何其他合适的密码处理,用于执行密码操作。
模块32执行的密码处理使用数字随机数生成器(DRNG)电路36产生的随机数序列。DRNG 36由控制器40控制,该控制器还控制和管理存储设备20的其他部件的工作。密码模块32、RNG电路36和控制器40典型地以硬件方式实现,例如以一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)实现。控制器40可以以硬件或固件方式实现,和/或使用在合适的处理器上运行的软件实现。
DRNG配置
模块32执行的密码操作的质量和强度典型地取决于DRNG 36产生的数序列的随机性水平。可以使用指示随机数序列的值的不可预测性的任何合适的度量来量化随机性水平,例如序列的每输出比特的熵。
为了增加DRNG 36产生的随机数序列的随机性水平,DRNG包括数控振荡器(DCO),该DCO被控制来以伪随机方式在多种可能的配置之间交替。伪随机配置切换去除可能出现在DCO的任何单个配置中的可预测数据模式。
图2是根据示例性实施例示意性图示说明DRNG 36的框图。DRNG 36包括一个或多个DCO 48。每个DCO产生具有随机相位和/或频率抖动的输出波形。每个DCO具有多种可能的配置,并且可以被控制来在任何给定的时间工作在配置中的任何一种。当工作在不同的配置时,RNG典型地产生具有不同随机性特性的输出信号。
在一些实施例中,DCO 48包括具有多个反馈抽头的环形振荡器,该反馈抽头可以被接通和断开,以产生不同配置。在下面的图3A-3C中更详细描述了示例性可配置环形振荡器。替换地,DCO 48可以包括输出具有随机特性的任何其他适合的类型的外部可配置振荡器。例如,在2007年10月30日提交的、题为“Configurable Random Number Generator”的以色列专利申请187035中描述了可以用于该目的的若干类型的外部可配置振荡器,通过引用将该专利申请合并到此。
每个DCO 48由各随机化模块52控制,该模块52设置在任何给定的时间DCO工作的当前配置。随机化模块52产生伪随机值的流并且将该流提供到DCO 48,并且DCO根据随机化模块提供的当前伪随机值流设置其当前配置。
随机化模块在流中产生的可能的伪随机值的集合对应于DCO的可能的配置的集合,使得每个值选择某个配置。例如,随机化模块产生的伪随机值流可以包括8位字,即256个不同的伪随机值。在该示例中,DCO可以包括256种可能的配置,使得该流中的每个伪随机值选择对应的DCO配置。
在一些实施例中,随机化模块48包括线性反馈移位寄存器(LFSR),正如本领域中已知的,LFSR在每个时钟周期产生伪随机值。替换地,随机化电路可以评估非线性函数,例如T函数,并且根据该函数生成伪随机值流。例如,在Klimov和Shamir的文章“Cryptographic Applications of T-Functions”(10th Annual International Workshop on Selected Areas in Cryptography(SAC),渥太华,加拿大,2003年8月14-15日,248-261页)中描述了T函数,通过引用将该文章合并到此。进一步替换地,随机化模块可以使用生成值的伪随机流的任何其他合适的装置。
随机化模块典型地生成与时钟信号同步的伪随机值流。在一些实施例中,时钟信号由DCO产生。由于DCO输出包含随机频率/相位抖动,因此该抖动被引入到随机化电路用来生成伪随机值流的时钟信号。随机化模块对DCO的相对小的变化(抖动)产生杠杆作用(leverages),通过伪随机值流放大该抖动并且将它重引入到DCO,使得DCO输出抖动将更大并且更随机。从而,随机化模块可以被视为放大DCO的随机抖动的放大功能。
在图2中所示的示例性实施例中,DRNG 36包括两个DCO 48和两个对应的随机化模块52。DRNG包括输出模块56,该输出模块56对DCO的输出采样,以产生各自的随机数序列。模块56组合两个DCO产生的随机数序列,以产生复合伪随机序列。该复合序列作为RNG输出提供。
输出模块56也可以将白化(whitening)函数(例如安全散列(hashing)函数)应用到复合数序列。白化操作典型地修改复合序列的统计分布并且增加它的随机性水平。白化函数典型地是不可逆的,即输出序列的分析提供少许或不提供关于输入序列的信息。白化函数也可以是平衡的,即例如通过稀释序列,从输出序列中去除偏差。在DRNG包括单个DCO的实施例中,输出模块可以对DCO输出采样,并且将白化函数应用到得到的随机数序列而不组合。
在一些实施例中,输出模块56还接受随机化模块52产生的伪随机值流,并且响应于DCO的输出和随机化模块而产生复合输出伪随机序列。由于该配置向输出模块提供额外的伪随机源,因此对于产生高输出带宽特别有用。
在一些实施例中,DRNG包括交叉随机化模块60,该模块60在随机化模块52生成的不同伪随机值流之间引入相关性。继而,该相关性导致DCO 48产生的不同随机数序列之间的相关性。(虽然随机数序列实际上由输出模块通过对DCO的模拟输出采样产生,但是为了清晰,随后的描述有时将序列称为DCO产生的序列。因此,DCO和输出模块可以被共同视为产生随机数序列的数字振荡器电路)。
交叉随机化模块60从模块52接受不同的伪随机值流作为输入。模块60将特定的混合函数(例如XOR函数)应用到输入,以产生一个或多个触发输出。该输出作为输入被反馈到随机化模块。典型地但非必需地,被提供到不同随机化模块的触发是互不相同的。
例如,当随机化模块包含LFSR时,触发输出被提供到LFSR的输入。替换地,交叉随机化模块可以应用任何其他装置用于处理伪随机值流,并且基于已处理的流控制随机化模块,使得在不同流之间引入相关性。当DRNG包括多个随机化模块时,模块60可以处理流的任何期望的子集和/或控制随机化模块的任何期望的子集。
图2中所示的示例性DRNG配置是纯粹出于概念清晰而选择的示例性配置。在替换实施例中,DRNG可以包括任何合适类型的、任何期望数量的DCO和随机化模块。DRNG可以执行额外的功能,例如各种控制功能、接口功能和/或错误检测功能。
外部可配置环形振荡器
图3A-3C是根据示例性实施例图示说明数控振荡器(DCO)62的框图。DCO 62可以被用来例如实现上面的图2的DRNG配置中的DCO48。DCO 62包括环形振荡器,即许多逻辑反相器64,其以环状级联方式连接以形成环形。DCO的输出在两个逻辑电平(表示为“1”和“0”)之间振荡,从而产生二进制数序列。振荡频率通常由反相器64的数量和每个反相器的延迟确定。如在本领域中已知的,反相器64的相位抖动导致DCO输出具有随机特性。
环形振荡器包括称为抽头的一个或多个反馈连接。每个反馈抽头将某个反相器64的输出连接到环中某个反相器的输入。可以使用外部装置接通和断开反馈抽头中的一个或多个。在本示例中,电路62包括可以被接通和断开的四个开关68A...68D。开关68A...68D的每个特定的设置称为DCO的配置。可以理解,修改DCO配置典型地修改DCO产生的随机数序列的随机性水平。
当DCO 62由随机模块(例如图2的模块52)控制时,随机化模块产生的每个可能的伪随机值对应于开关68A...68D的特定设置。对于被提供到DCO的任何给定的伪随机值,DCO将开关设为合适设置。从而,当随机化模块用伪随机值的流驱动DCO时,DCO以伪随机方式在不同配置(开关68A...68D的不同设置)之间交替。
在一些实施例中,可以通过修改环形振荡器的长度(即参与环的反相器数量)来修改环形振荡器配置。例如,开关可以旁路或无效反相器中的一个或更多。
图3A-3C示出了DCO 62的三种不同配置,即开关68A...68D的三种不同设置,该三种不同设置产生具有不同随机性特性的随机数序列。
图3A-3C的环形振荡器被示出为纯粹出于概念清晰而选择的示例。在替换实施例中,可以使用具有任何数量的反相器和反馈抽头的任何其他类型的环形振荡器。在一些实施例中,仅反馈抽头的子集可切换。替换地,也可以使用修改环形振荡器配置的任何其他机制。
环形振荡器可以包括逻辑反相器或任何其他适合类型的延迟元件。在一些实施例中,环形振荡器包含2n个延迟元件,并且包括n位输入,用于接受n位伪随机值流。该n位伪随机值确定2n个不同的延迟传播路径,即输出具有不同时间周期的波形。
随机数生成方法描述
图4是根据示例性实施例图示说明随机数生成方法的流程图。该方法始于随机化模块52在流生成步骤70生成伪随机值流。该流作为输入被提供到DCO 48。在交替步骤74,DCO根据伪随机值流在它的不同可用配置之间交替。在序列生成步骤78,DCO生成输出波形,该输出波形由输出模块56采样,以产生随机数序列。由于DCO以伪随机方式在不同配置之间交替,因此增加了随机数序列的随机性水平。
如上面解释的,可以由DCO的抖动输出产生用于生成伪随机值流的时钟信号。额外地或替换地,可以操作两个或更多个DCO和随机化模块,并且组合它们的输出。可以通过交叉随机化模块在不同序列之间引入相关性。
虽然在此描述的实施例主要解决密码应用,但是本公开的原理可以被用在包含随机数生成的其他应用中,例如计算机仿真、通信系统、计算机游戏和许多其他应用。
因此应理解,上面描述的实施例是作为示例被引用,本公开不限于上面特别示出和描述的内容。而是,本公开的范围包括上面描述的各种特征的组合与子组合及其变化和修改,所述组合、子组合、变化和修改是本领域技术人员在阅读前述描述之后将想到的,并且未在现有技术中公开。

Claims (20)

1.一种用于随机数生成的系统,包括:
数字振荡器电路,所述数字振荡器电路具有一组可用配置,并且可操作来根据从所述组中选择的当前配置生成随机数序列;以及
随机化电路,所述随机化电路可操作来产生对应于所述数字振荡器电路的所述可用配置的值的伪随机流,并且根据所述值的伪随机流控制所述数字振荡器电路在所述可用配置之间交替。
2.根据权利要求1所述的系统,其中所述数字振荡器电路包括具有可配置反馈抽头的环形振荡器,以及其中所述可用配置中的每一个定义所述反馈抽头的各自设置。
3.根据权利要求2所述的系统,其中该组可用配置包括至少第一和第二可用配置,所述第一和第二可用配置将所述环形振荡器配置成分别具有不同的第一和第二长度。
4.根据权利要求1所述的系统,其中所述随机化电路包括线性反馈移位寄存器(LFSR)。
5.根据权利要求1所述的系统,其中所述随机化电路可操作来根据非线性函数产生所述值的伪随机流。
6.根据权利要求1所述的系统,其中所述随机化电路可操作来产生与时钟信号同步的所述值的流,以及其中所述数字振荡器电路可操作来基于所述随机数序列产生具有随机抖动的所述时钟信号,并且用所述时钟信号驱动所述随机化电路。
7.根据权利要求1所述的系统,其中所述数字振荡器电路包括多个数字振荡器电路,所述多个数字振荡器电路可操作来根据从它们各自的可用配置的组中选择的多个当前配置来产生各自的多个随机数序列,其中所述随机化电路包括多个随机化电路,所述多个随机化电路可操作来产生多个各自的伪随机值流,并且根据所述各自的流控制所述各数字振荡器电路在所述各组中的可用配置之间交替,并且所述系统包括输出电路,所述输出电路被耦合来处理所述多个随机数序列,以产生复合随机数序列。
8.根据权利要求7所述的系统,并且包括交叉随机化电路,所述交叉随机化电路被耦合来处理由所述多个随机化电路产生的所述多个值流中的至少一个,并且响应于所述已处理的流控制所述随机化电路中的一个或多个,使得在所述多个流中引入相关性。
9.根据权利要求7所述的系统,其中所述输出电路还被耦合来接受由所述随机化电路产生的所述伪随机值流,并且响应于所述伪随机值流产生所述复合随机数序列。
10.一种用于随机数生成的方法,包括:
操作具有一组可用配置的数字振荡器电路来根据从所述组中选择的当前配置生成随机数序列;
产生对应于所述数字振荡器电路的可用配置的值的伪随机流;以及
根据所述值的伪随机流控制所述数字振荡器电路在所述可用配置之间交替。
11.根据权利要求10所述的方法,其中所述数字振荡器电路包括具有可配置反馈抽头的环形振荡器,以及其中所述可用配置中的每一个定义所述反馈抽头的各自设置。
12.根据权利要求11所述的方法,其中该组可用配置包括至少第一和第二可用配置,所述第一和第二可用配置将所述环形振荡器配置成分别具有不同的第一和第二长度。
13.根据权利要求10所述的方法,其中产生所述值的伪随机流包括通过线性反馈移位寄存器(LFSR)生成所述流。
14.根据权利要求10所述的方法,其中产生所述值的伪随机流包括根据非线性函数生成所述流。
15.根据权利要求10所述的方法,其中操作所述数字振荡器电路包括产生具有基于所述随机数序列的随机抖动的时钟信号,以及其中产生所述值的伪随机流包括生成与所述时钟信号同步的所述流。
16.根据权利要求10所述的方法,其中操作所述数字振荡器电路包括操作多个数字振荡器电路,所述多个数字振荡器电路可操作来根据从它们各自的可用配置的组中选择的多个当前配置产生各自的多个随机数序列,其中产生所述值的伪随机流包括产生多个各自的伪随机值流,使得根据所述各自的流控制所述各数字振荡器电路在所述各组中的可用配置之间交替,并且所述方法包括处理所述多个随机数序列,以产生复合随机数序列。
17.根据权利要求15所述的方法,并且包括通过处理所述流中的至少一个并且响应于所述已处理的流控制所述流中的一个或多个的生成,来在所述多个值流中引入相关性。
18.根据权利要求16所述的方法,其中处理所述多个随机数序列还包括处理所述伪随机值流,以产生所述复合随机数序列。
19.一种密码装置,包括:
密码模块,所述密码模块被耦合来使用随机数序列对数据执行密码操作;以及
随机数生成模块,包括:
数字振荡器电路,所述数字振荡器电路具有一组可用配置,并可操作来根据从所述组中选择的当前配置生成所述随机数序列;以及
随机化电路,所述随机化电路可操作来产生对应于所述数字振荡器电路的可用配置的值的伪随机流,并且根据所述值的伪随机流控制所述数字振荡器电路在所述可用配置之间交替。
20.一种存储器存储装置,包括:
存储器;
密码模块,所述密码模块被耦合来使用随机数序列对与所述存储器交换的数据执行密码操作;以及
随机数生成模块,包括:
数字振荡器电路,所述数字振荡器电路具有一组可用配置,并可操作来根据从所述组中选择的当前配置生成所述随机数序列;以及
随机化电路,所述随机化电路可操作来产生对应于所述数字振荡器电路的可用配置的值的伪随机流,并且根据所述值的伪随机流控制所述数字振荡器电路在所述可用配置之间交替。
CN2009801073473A 2008-03-04 2009-02-25 基于数控振荡器的数字随机数生成器 Expired - Fee Related CN101965552B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IL18992108 2008-03-04
IL189921 2008-03-04
PCT/IL2009/000216 WO2009109959A1 (en) 2008-03-04 2009-02-25 Digital random number generator based on digitally-controlled oscillators

Publications (2)

Publication Number Publication Date
CN101965552A true CN101965552A (zh) 2011-02-02
CN101965552B CN101965552B (zh) 2013-03-13

Family

ID=40677839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801073473A Expired - Fee Related CN101965552B (zh) 2008-03-04 2009-02-25 基于数控振荡器的数字随机数生成器

Country Status (7)

Country Link
US (1) US8744073B2 (zh)
EP (1) EP2260376B1 (zh)
KR (1) KR20100127789A (zh)
CN (1) CN101965552B (zh)
AT (1) ATE534072T1 (zh)
TW (1) TWI374649B (zh)
WO (1) WO2009109959A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622205A (zh) * 2012-03-09 2012-08-01 无锡华大国奇科技有限公司 随机数发生器
CN102662627A (zh) * 2012-05-03 2012-09-12 无锡华大国奇科技有限公司 一种基于混沌双螺旋的混合随机序列发生器
CN103019648A (zh) * 2012-11-27 2013-04-03 天津大学 一种带有数字后处理电路的真随机数发生器
CN104049936A (zh) * 2013-03-12 2014-09-17 罗伯特·博世有限公司 用于识别相关的方法
TWI579763B (zh) * 2012-11-16 2017-04-21 Arm股份有限公司 具有亂數產生模式的儲存電路

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101965552B (zh) * 2008-03-04 2013-03-13 桑迪士克以色列公司 基于数控振荡器的数字随机数生成器
DE102008018678B4 (de) 2008-04-14 2011-02-03 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
US9213835B2 (en) * 2010-04-07 2015-12-15 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
CN102479067B (zh) * 2010-11-25 2016-03-16 上海宇芯科技有限公司 一种真随机数生成方法及装置
US8805906B2 (en) * 2011-03-09 2014-08-12 Atmel Corporation Variable architecture for random number generators
US8971536B2 (en) * 2011-07-21 2015-03-03 Vixs Systems, Inc. Balanced entropy random number generator
TWI514790B (zh) * 2011-12-27 2015-12-21 Hon Hai Prec Ind Co Ltd 發光二極體驅動裝置
EP2798771A4 (en) * 2011-12-29 2015-10-07 Intel Corp METHOD AND APPARATUS FOR NON-DETERMINISTIC RAND BIT GENERATOR (NRBG)
CN102662626B (zh) * 2012-05-03 2016-01-20 无锡华大国奇科技有限公司 一种带扰动的混沌双螺旋随机数发生器
EP2796987A1 (en) 2013-04-26 2014-10-29 EM Microelectronic-Marin SA Random number generator
CN104572014B (zh) 2013-10-15 2019-02-22 恩智浦美国有限公司 具有重复激活的振荡器的真随机数生成器
US20150379302A1 (en) * 2014-06-25 2015-12-31 Ned Smith Privacy enhanced email service
US9557964B2 (en) 2014-11-21 2017-01-31 Winbond Electronics Corp. Random number generator and method for generating random number thereof
US9891888B2 (en) 2015-06-17 2018-02-13 Nxp B.V. Digital true random number generator based on S-boxes
WO2017084080A1 (zh) * 2015-11-20 2017-05-26 华为技术有限公司 一种生成中奖数字的方法及装置
KR102293922B1 (ko) 2017-06-02 2021-08-26 에스케이하이닉스 주식회사 오실레이터
US10819515B1 (en) * 2018-03-09 2020-10-27 Wells Fargo Bank, N.A. Derived unique recovery keys per session
US10776480B2 (en) 2018-04-02 2020-09-15 International Business Machines Corporation Producing volatile password hashing algorithm salts from hardware random number generators
US11791988B2 (en) * 2021-11-22 2023-10-17 Theon Technology Llc Use of random entropy in cryptography

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4253114A (en) * 1976-04-08 1981-02-24 Twin County Trans-Video Inc. High security subscription television system employing real time control of subscriber's program reception
US5963104A (en) * 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
US5706218A (en) * 1996-05-15 1998-01-06 Intel Corporation Random number generator
US6009135A (en) * 1997-10-10 1999-12-28 Interdigtal Technology Corporation Method and apparatus for generating a stream cipher
US7362946B1 (en) * 1999-04-12 2008-04-22 Canon Kabushiki Kaisha Automated visual image editing system
US6253223B1 (en) * 1999-06-08 2001-06-26 General Instrument Corporation Robust random number generator
DE10003472C1 (de) * 2000-01-27 2001-04-26 Infineon Technologies Ag Zufallszahlengenerator
US6715105B1 (en) * 2000-11-14 2004-03-30 Agilent Technologies, Inc. Method for reducing stored patterns for IC test by embedding built-in-self-test circuitry for chip logic into a scan test access port
US6807553B2 (en) * 2001-04-23 2004-10-19 Safenet B.V. Digital true random number generator circuit
JP3604674B2 (ja) * 2001-09-26 2004-12-22 株式会社東芝 乱数生成回路
US6856791B2 (en) * 2002-03-14 2005-02-15 Ericsson Inc. Direct automatic frequency control method and apparatus
US7047262B2 (en) * 2002-08-21 2006-05-16 Koninklijke Philips Electronics N.V. Entropy estimation and decimation for improving the randomness of true random number generation
US7206797B2 (en) * 2003-04-14 2007-04-17 M-Systems Flash Disk Pioneers Ltd. Random number slip and swap generators
US7656931B2 (en) * 2003-12-31 2010-02-02 Ut-Battelle, Llc Hybrid spread spectrum radio system
US7827223B2 (en) * 2004-04-22 2010-11-02 Fortress Gb Ltd. Accelerated throughput synchronized word stream cipher, message authenticator and zero-knowledge output random number generator
US7233212B2 (en) * 2005-03-31 2007-06-19 International Business Machines Corporation Oscillator array with row and column control
US7285964B1 (en) * 2005-06-03 2007-10-23 Sensor Platforms, Inc. Method for signal extraction in a universal sensor IC
GB2447364B (en) * 2005-10-27 2011-02-09 Fortress Gb Ltd A digital component deterministic pseudo-random clock and noise source device based on a random frequency modulated oscillator
US8095584B2 (en) * 2005-11-02 2012-01-10 Texas Instruments Incorporated Random number generator using jitter sampled RF carrier
DE102006032419B3 (de) * 2006-07-13 2007-03-08 Infineon Technologies Ag Verfahren Anordnung, Chip und Vorrichtung zum Erzeugen eines Startwertes für einen Pseudo-Zufallszahlengenerator und Computerprogramm
US8250129B2 (en) * 2007-06-22 2012-08-21 Lsi Corporation Cryptographic random number generator using finite field operations
IL187035A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Configurable random number generator
CN101965552B (zh) * 2008-03-04 2013-03-13 桑迪士克以色列公司 基于数控振荡器的数字随机数生成器
DE102008018678B4 (de) * 2008-04-14 2011-02-03 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
US20110169580A1 (en) * 2010-01-08 2011-07-14 James Dodrill Inverting gate with maximized thermal noise in random number genertion
US20110169579A1 (en) * 2010-01-08 2011-07-14 James Dodrill Method and apparatus for increasing distribution of jitter within a random number generator

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622205A (zh) * 2012-03-09 2012-08-01 无锡华大国奇科技有限公司 随机数发生器
CN102622205B (zh) * 2012-03-09 2015-02-11 无锡华大国奇科技有限公司 随机数发生器
CN102662627A (zh) * 2012-05-03 2012-09-12 无锡华大国奇科技有限公司 一种基于混沌双螺旋的混合随机序列发生器
CN102662627B (zh) * 2012-05-03 2016-01-20 无锡华大国奇科技有限公司 一种基于混沌双螺旋的混合随机序列发生器
TWI579763B (zh) * 2012-11-16 2017-04-21 Arm股份有限公司 具有亂數產生模式的儲存電路
CN103019648A (zh) * 2012-11-27 2013-04-03 天津大学 一种带有数字后处理电路的真随机数发生器
CN104049936A (zh) * 2013-03-12 2014-09-17 罗伯特·博世有限公司 用于识别相关的方法

Also Published As

Publication number Publication date
WO2009109959A1 (en) 2009-09-11
KR20100127789A (ko) 2010-12-06
CN101965552B (zh) 2013-03-13
TWI374649B (en) 2012-10-11
TW200950456A (en) 2009-12-01
US20120213358A1 (en) 2012-08-23
EP2260376B1 (en) 2011-11-16
US8744073B2 (en) 2014-06-03
EP2260376A1 (en) 2010-12-15
ATE534072T1 (de) 2011-12-15

Similar Documents

Publication Publication Date Title
CN101965552B (zh) 基于数控振荡器的数字随机数生成器
US8130950B2 (en) Configurable random number generator
US7659837B2 (en) Operation processing apparatus, operation processing control method, and computer program
US8583711B2 (en) Random number generation system with ring oscillators
US20070244951A1 (en) Accelerated Throughtput Synchronized Word Stream Cipher, Message Authenticator and Zero-Knowledge Output Random Number Generator
KR101987141B1 (ko) 난수 발생기
KR20080108230A (ko) 암호화 난수 생성기를 시딩하기 위한 방법 및 장치
TWI749654B (zh) 亂數產生器及產生亂數輸出的方法
EP1100198B1 (en) System for bitstream generation
US20140244702A1 (en) Random number generator
US20080258825A1 (en) Digital Component Deterministic Pseudo Random Clock and Noise Source Device Based on a Random Frequency Modulated Oscillator
US20120093308A1 (en) Apparatus and method for generating random data
JP5863994B2 (ja) 統合セキュリティ装置および統合セキュリティ装置に用いられる信号処理方法
US20130022197A1 (en) Random number generator, encryption device, and authentication device
EP1719052B1 (en) Method and circuit for generating random numbers, and computerprogram product therefor
FR2868628A1 (fr) Generateur de nombres aleatoires et procede de production de nombres aleatoires
US20120278372A1 (en) Cryptographic Random Number Generator Using Finite Field Operations
US7480687B2 (en) Pseudorandom number generator for a stream cipher
Baby et al. High Efficient Complex Parallelism for Cryptography
EP1662375B1 (en) Random number generator and method for testing the generator
Eljadi et al. Dynamic linear feedback shift registers: A review
JP5356362B2 (ja) 乱数生成回路
US7502814B2 (en) Device and method for generating a pseudorandom sequence of numbers
Hamburg Understanding intel’s ivy bridge random number generator
Klimushyn et al. Crypto-resistant methods and random number generators in internet of things (iot) devices

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130313

Termination date: 20140225