CN104572014B - 具有重复激活的振荡器的真随机数生成器 - Google Patents

具有重复激活的振荡器的真随机数生成器 Download PDF

Info

Publication number
CN104572014B
CN104572014B CN201310481382.XA CN201310481382A CN104572014B CN 104572014 B CN104572014 B CN 104572014B CN 201310481382 A CN201310481382 A CN 201310481382A CN 104572014 B CN104572014 B CN 104572014B
Authority
CN
China
Prior art keywords
oscillator
phase
output
trng
register
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
CN201310481382.XA
Other languages
English (en)
Other versions
CN104572014A (zh
Inventor
梅汪生
王洋
吴建舟
肖严
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
NXP USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NXP USA Inc filed Critical NXP USA Inc
Priority to CN201310481382.XA priority Critical patent/CN104572014B/zh
Priority to US14/461,445 priority patent/US9606771B2/en
Publication of CN104572014A publication Critical patent/CN104572014A/zh
Application granted granted Critical
Publication of CN104572014B publication Critical patent/CN104572014B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/03Astable circuits
    • H03K3/0315Ring oscillators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators

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)
  • Manipulation Of Pulses (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

一种具有重复激活的振荡器的真随机数生成器,具有一个或多个振荡器以及用于存储随机数输出的输出寄存器。所述振荡器中的每一个接连以自由运行振荡阶段和捕获阶段激活,在所述捕获阶段期间振荡器是静止的。所述输出寄存器在每个振荡器的所述捕获阶段期间锁住在所述振荡器的振荡阶段的末尾处或附近的该振荡器的末尾状态。所述随机数输出是从所锁住的末尾状态得到的。

Description

具有重复激活的振荡器的真随机数生成器
技术领域
本发明涉及数字电路,更特别地,涉及具有一个或多个重复地激活的振荡器的随机数生成器。
背景技术
处理器和其它电子设备(尤其是使用加密或其它安全应用的那些电子设备)中经常需要随机数生成器(RNG),其中随机数例如用作加密密钥。表述“真随机数”指的是非确定性的数或数的序列,其对于它们所用于的用途而言是充分不可预测的。另一方面,伪随机数生成器(PRNG)生成的数序列对于某些用途而言表现出充分的统计随机性,但是其由确定性的过程生成,并且诸如对于测试用途而言甚至可精确地重复。
随机数在许多应用(尤其是加密或其它安全应用)中的使用需要高度的统计随机性且需要保护以免受PRNG对其不足够真实随机的攻击。真随机数生成器(TRNG)是用于至少在理论上不可预测的数字生成的表述。物理现象经常通过模拟模块用于硬件TRNG中,该模拟模块利用诸如热噪声、光电效应或原子量子现象的物理噪声源来生成随机比特流。然而,将用于这种现象的模拟传感器以及相关的模拟放大器和模数转换器(ADC)合并到本质上是数字器件的处理器单元中通常是耗成本且不便的。
常规的纯数字RNG通常是确定性的,因此不是TRNG,从而易于被攻击。本发明提供一种TRNG,其使用简单的逻辑电路元件,具有低功耗且与数字数据处理器兼容。
发明内容
本公开的一个方面提供一种真随机数生成器(TRNG),包括:一个或多个振荡器;以及输出寄存器,其连接到所述一个或多个振荡器以用于存储随机数输出,其中,所述一个或多个振荡器中的每一个接连以自由运行振荡阶段和捕获阶段激活,在所述捕获阶段期间振荡器是静止的,且其中,所述输出寄存器在每个振荡器的所述捕获阶段期间锁住在所述振荡器的振荡阶段的末尾处或附近的所述振荡器的末尾状态,且随机数是从所述锁住的末尾状态得到的。
附图说明
本发明以示例方式示于附图所示的本发明的实施例中且不限于此,附图中相似的附图标记表示相似的元件。图中的元件在简单且清楚的意义上示出,且不一定是按比例绘制的。
图1是根据本发明一个实施例的真随机数生成器(TRNG)的示意性框图;
图2是根据本发明另一实施例的TRNG的示意性框图;
图3是用在根据本发明一实施例的TRNG中的环形振荡器(ring oscillator)的示意性电路图;
图4和图5是在图3的环形振荡器的操作中出现的信号的曲线图;
图6是在根据本发明一实施例的TRNG的操作中出现的信号的波形图;
图7是根据本发明又一实施例的TRNG的示意性框图;
图8是根据本发明又一实施例的TRNG的示意性框图;
图9是在图8的TRNG的操作中出现的信号的波形图;
图10是根据本发明一实施例的生成真随机数的方法的流程图;以及
图11是根据本发明另一实施例的生成真随机数的方法的流程图。
具体实施方式
现在参照图1,示出根据本发明一实施例的真随机数生成器(TRNG)100。TRNG100包括一对振荡器102、104和用于存储随机数输出的输出寄存器106。振荡器102、104每个都包括环形振荡器,环形振荡器具有串联连接在振荡器输入108和振荡器输出110之间的奇数n个反相器I1至In。有从振荡器输出110至振荡器输入108的反馈回路112。
如下面将更详细描述的那样,每个振荡器102、104接连以自由运行振荡阶段和捕获阶段(在此期间振荡器是静止的)激活。输出寄存器106接连在每个振荡器102或104的捕获阶段期间锁住在该振荡器的振荡阶段的末尾处或附近的该振荡器的末尾状态。然后从锁住的末尾状态得到随机数输出。
反相器I1至In可以是三态反相器,其在振荡阶段期间在有效(asserted)和无效(de-asserted)输出状态之间切换,且在捕获阶段期间具有高阻抗输出。这种三态反相器具有低泄漏电流,这减小了TRNG的电流消耗。
控制信号EN用于控制振荡器102、104的振荡阶段和捕获阶段。信号处理器114由控制信号EN控制以用于锁住振荡器102、104的末尾状态且将所选择的末尾状态应用到输出寄存器106。在所示实施例中,输出寄存器106是串行输入寄存器。信号处理器114将振荡器102、104的锁住的末尾状态串行地施加到输出寄存器106。也就是说,信号处理器114将振荡器102、104的锁住的末尾状态交替地应用到输出寄存器106。
控制信号EN由在TRNG100外部的控制器(未示出)生成。控制信号EN由反相器116反相以产生控制信号/EN。
信号处理器114包括复用器或mux120以及一对D触发器122和124。反相控制信号/EN借助于线路118来施加以控制mux120的输入处的信号的选择。振荡器102、104的输出110分别连接到触发器122和124的D输入,D触发器122、124的Q输出连接到mux120的相应输入。控制信号EN被施加到触发器122的触发输入,且控制信号/EN被施加到触发器124的触发输入。
振荡器102的反馈回路112包括与(AND)门126的输入,与门126的另一个输入接收控制信号/EN。在振荡器102的振荡阶段的开始,当在与门126的输入上控制信号/EN和来自振荡器的输出110的反馈信号(包括噪声)二者都被有效时,振荡器102开始振荡。当控制信号/EN被无效时,振荡器102停止振荡,进入其捕获阶段。由于反相器116引入的延迟,恰在振荡器102的振荡阶段的末尾处振荡器102的振荡开始衰减之前,控制信号EN触发触发器122以锁住振荡器102的输出信号。振荡器104的反馈回路112类似地包括与门128,其具有接收振荡器104的反馈信号112的第一输入和接收从控制信号/EN得到的控制信号的另一输入。
为了确保控制信号/EN在振荡器104的振荡阶段末尾处振荡器104的振荡开始衰减之前被施加到触发器124的触发输入,施加到触发器124的触发输入的控制信号是来自另一反相器130的输出信号,其引入相对于原始控制信号EN的进一步延迟。借助于线路118施加到mux120的控制信号/EN确保了mux120选择振荡器102或104处于其捕获阶段的触发器122或124的输出。mux120的输出施加到单输入并行输出(SIPO)输出寄存器106的输入,在该示例中,输出寄存器产生TRN作为并行输出,但是应理解,可以提供输出寄存器的任何其它合适配置。
现在参照图2,示出根据本发明的TRNG200的另一实施例。TRNG200包括一对振荡器202和204、输出寄存器106以及信号处理器114。振荡器202和204的反馈回路112直接连接到在振荡器输入处的第一反相器I1的输入。振荡器202和204的反相器I1至In的控制输入连接到反相器116和130的输出。当控制信号/EN或反相器130的输出被有效时,振荡器202或204的反相器I1至In被激活,振荡器202或204开始其振荡阶段。相反,当控制信号/EN或反相器130的输出被无效时,振荡器202或204的反相器I1至In被去激活(高阻抗),振荡器202或204的振荡终止。
振荡器102、104和202、204的振荡频率是反相器I1至In的数量以及每个反相器引入的各个延迟的函数,该延迟是组件电容(尤其是栅电容)以及工艺、电压和温度(PVT)参数的函数。控制信号EN、/EN的重复率不与振荡器102、104和202、204的振荡频率相关联。将理解,控制信号EN、/EN的重复率应为振荡器102、104和202、204的振荡和捕获阶段留下足够的建立时间。将意识到,虽然每个环形振荡器102、104和202、204的频率由物理参数(诸如其反相器串I1至In引入的延迟)确定,但是其启动时间和阶段及其振荡形状完全由系统的电源引入的噪声决定,这是真随机的。
图3示出了环形振荡器300,其可用在根据本发明一实施例的TRNG中。更特别地,环形振荡器300类似于振荡器202,但使用差分反相器I1至In。将理解,振荡器204可类似于振荡器300,但是控制信号EN、/EN被反相。振荡器300具有接收电压/VDD的电源总线302和接地304。反相器116具有一对金属氧化物半导体场效应晶体管(MOSFET)306和308,分别是p型和n型,其栅极连接以接收控制信号EN。MOSFET306的源极连接到电源总线302,其漏极连接到节点310。MOSFET308的源极连接到接地304,其漏极连接到节点310。振荡器300的反相器116的输出是控制信号EN。
反相器I1至In都是类似的且每个都具有第一对MOSFET312和314,分别为p型和n型,除第一反相器I1之外,其栅极连接以接收来自一连串I1至In中的前一反相器的输出节点316的输出信号作为输入信号,第一反相器I1的MOSFET312和314的栅极连接到振荡器300的输入108以接收来自反馈回路112的反馈信号作为输入。MOSFET312的源极连接到电源总线302,MOSFET314的源极连接到接地304。反相器I1至In每个还具有第二对MOSFET318和320,分别为p型和n型,其栅极连接以分别接收控制信号/EN和EN。MOSFET318和320的源-漏路径分别连接在同一反相器的输出节点316与该反相器的MOSFET312和314的漏极之间。振荡器300的输出110通过具有串联连接的两个反相器322和324的脉冲整形电路传递到触发器122的D输入,反相器322和324具有与MOSFET306和308类似的MOSFET对。
图4至6示出了在振荡器300的振荡阶段的开始和末尾处获得的波形的示例。最初,如图4所示,控制信号EN被无效(接地)。第二对MOSFET318和320截止,振荡器300的反相器I1至In被去激活(高阻抗),振荡器300静止,输出110、反馈回路112和输入108的电压被平衡在VDD与接地之间的稳定中间电压,有低的泄漏电流。当控制信号EN被有效时,第二对MOSFET318和320导通,从电源总线302和接地之一或二者耦合的寄生噪声使得第一对中的每一个的MOSFET312和314之一导通,另一个保持截止。第一反相器I1的状态的改变根据噪声电压沿任一方向随机发生,且在控制信号的有效之后有延迟,该延迟也由噪声电压决定。
如图5所示,接近振荡阶段的末尾,控制信号EN起初被有效(VDD)。第二对MOSFET318和320导通,振荡器300的反相器I1至In被激活,振荡器300在振荡。当控制信号EN被无效(接地)时,第二对MOSFET318和320截止,振荡迅速衰减,并且振荡器300在捕获阶段恢复其静止状态。
图6中示出了针对具有一对环形振荡器A和B的TRNG中的控制信号EN的重复循环的对应的接续阶段。
在图7所示的配置中,TRNG700具有多对振荡器702和704、输出寄存器706、以及信号处理器114。输出寄存器706是具有多个输入的并行输入寄存器,其输出并行连接到并行输入寄存器706的输入。并行输入寄存器706的输入可构成多位二进制随机数输出的最低有效位(LSB)至最高有效位(MSB)。信号处理器114将所锁住的振荡器702、704的末尾状态并行施加到寄存器706的输入。TRNG700可具有多对振荡器702和704,信号处理器114将所锁住的每个对的振荡器的末尾状态交替地应用到寄存器706的相应并行输入。
TRNG100、200和700具有振荡器对102、104,202、204和702、704。一对振荡器的交替操作(其中一个处于振荡阶段,而另一个处于捕获阶段)被称为乒乓(ping-pong)操作。利用一对振荡器,一个振荡器可以总是处于振荡状态,而另一个处于捕获状态。
然而,将理解,振荡器102、104、202、204、300以及702、704不必成对地相关联。图8示出了仅具有单个环形振荡器802的TRNG800,图9示出了TRNG800的操作中呈现的波形。由于仅有单个振荡器,所以随机数输出的生成较慢,但是电路更简单。
在本发明的其他实施例中,TRNG可具有三个或更多振荡器。这样的配置能提供更快速率的随机数生成。例如,可以利用由100MHz的控制信号控制的十六对环形振荡器以200MHz的速率生成16位随机数。如果有奇数个振荡器,则同时处于捕获阶段或处于振荡阶段的振荡器可以比处于相反阶段的振荡器更多,这可以适于其中振荡开始的建立时间不同于振荡停止的配置。
TRNG100、200、700和800可仅利用数字电路元件形成,方便它们在数字系统中的合并,且避免了增加模拟传感器以及相关联的模拟放大器和模数转换器ADC的成本和不便性。
图10和11是示出了根据本发明实施例的生成TRN的方法1000和1100的流程图。方法1000、1100包括接连以自由运行振荡阶段和捕获阶段(在此期间振荡器静止)激活一个或多个振荡器(诸如振荡器102、104、202、204、300、702、704和802),以及在所述或每个振荡器102或104、202或204、300、702或704以及802的捕获阶段期间在输出寄存器106、706中锁住在该振荡器的振荡阶段的末尾处或附近的该振荡器的末尾状态,并且然后从锁住的末尾状态得到TRN输出。
现在参照图10,方法1000包括在1002处施加控制信号EN到一个或多个环形振荡器以及到连接到输出寄存器(诸如106、706)的信号处理器(诸如114)。在1004,所述或每个振荡器被激活以在自由运行振荡阶段和振荡器静止的捕获阶段之间交替。在1006,在所述或每个振荡器的捕获阶段期间,输出寄存器锁住该振荡器在其振荡阶段的末尾处或附近的末尾状态。在1008,从寄存在输出寄存器中的锁住的末尾状态得到TRN输出。
方法1100包括在1102处施加控制信号EN到至少一对环形振荡器(诸如102、104、202、204、300以及702、704),以及到连接至输出寄存器(诸如106、706)的信号处理器(诸如114)。在1104,振荡器被接连激活以在自由运行振荡阶段和捕获阶段(在此期间振荡器静止)之间交替。在1106,在接连的每个振荡器的捕获阶段期间,输出寄存器锁住该振荡器在其振荡阶段的末尾处或附近的末尾状态。在1108,从存储在输出寄存器中的锁住的末尾状态得到TRN输出。
在前面的说明中,已经参照本发明的实施例的具体示例描述了本发明。然而,将显而易见的是,在不偏离所附权利要求阐述的本发明的较宽精神和范围的情况下,可以进行各种修改和变更。
这里论述的连接可以是适于来往于各个节点、单元或器件(例如经由中间器件)传输信号的任何类型的连接。因此,除非隐含或另有说明,否则连接可以是直接连接或间接连接。连接可以供参考地示出或描述为单个连接、多个连接、单向连接或双向连接。然而,不同实施例可以改变连接的实施方式。例如,可以代替双向连接使用独立的单向连接,反之亦然。此外,可以用单个连接代替多个连接,该单个连接串行地或以时分复用方式传输多个信号。类似地,承载多个信号的单个连接可以分成承载这些信号的子集的各种不同连接。因此,对于传输信号而言,存在许多选项。
尽管已经在示例中描述了电势的具体传导类型或极性,但是将理解,电势的传导类型和极性可以反转。这里描述的每个信号可以设计为正或负逻辑。在负逻辑信号的情况下,信号是低有效,其中逻辑真状态对应于逻辑电平零。在正逻辑信号的情况下,信号是高有效,其中逻辑真状态对应于逻辑电平一。注意,任何这里描述的信号可以设计为负或正逻辑信号。因此,在替选实施例中,描述为正逻辑信号的那些信号可以实施为负逻辑信号,描述为负逻辑信号的那些信号可以实施为正逻辑信号。
当指代使信号、状态位或类似装置呈现其逻辑真或逻辑假状态时,这里分别使用术语“有效”或“设置”和“取消(negate)”(或者“无效”或“清除”)。如果逻辑真状态是逻辑电平一,则逻辑假状态是逻辑电平零。如果逻辑真状态是逻辑电平零,则逻辑假状态是逻辑电平一。
本领域技术人员将意识到,逻辑块之间的边界仅是示范性的,替选实施例可以合并逻辑块或电路元件,或者赋予各种逻辑块或电路元件替代的功能分解。因此将理解,这里描绘的架构仅是示例性的,实际上可以实施实现相同功能的许多其它架构。类似地,任何实现相同功能的组件布置是有效“关联”的,从而获得所期望的功能。因此,组合来实现特定功能的任何两个组件可以看作彼此“关联”以获得期望功能,而与架构或中间组件无关。类似地,如此关联的任何两个组件也可以看作彼此“操作上连接”或“操作上耦合”以实现期望功能。
此外,本领域技术人员将意识到,上述操作之间的边界仅是示范性的。多个操作可以合并成单个操作,单个操作可以分布在附加操作中,操作可以时间上至少部分交迭地执行。此外,替选实施例可包括特定操作的多个实例,操作的顺序可以在各种其它实施例中发生改变。
还例如,在一个实施例中,所示示例可以实施为位于单个集成电路上或同一器件内的电路系统。替选地,示例可以实施为以适当方式彼此互连的任意数量的独立集成电路或独立器件。
在权利要求中,措辞“包括”或“具有”不排除除了权利要求中列出的元件或步骤之外其它元件或步骤的存在。此外,在这里使用时,术语“一”或“一个”定义为一个或多于一个。此外,诸如“至少一个”和“一个或多个”的引导性短语在权利要求中的使用不应解释为暗示通过不定冠词“一”或“一个”引入的另一权利要求元素将包含这种引入的权利要求元素的任何特定权利要求限制到仅含有一个这种元素的发明,即使同一权利要求包括引导性短语“一个或多个”、“至少一个”以及诸如“一”、“一个”的不定冠词。这同样适用于定冠词的使用。除非另外说明,否则诸如“第一”和“第二”的术语用于这种术语描述的元素之间的任意区分。因此,这些术语不一定旨在表明这种元素的时间或其它优先级。某些度量描述于相互不同权利要求中的事实不表明这些度量的组合不能被有利地使用。

Claims (20)

1.一种真随机数生成器TRNG,包括:
两个或多于两个振荡器;以及
输出寄存器,其连接到所述两个或多于两个振荡器以用于存储两个或多于两个振荡器输出的随机数,
其中,所述两个或多于两个振荡器中的每一个接连以自由运行振荡阶段和捕获阶段激活,在所述捕获阶段期间振荡器是静止的,且
其中,所述输出寄存器在每个振荡器的所述捕获阶段期间锁住在所述振荡器的振荡阶段的末尾处或附近的所述振荡器的末尾状态,且随机数是从所述锁住的末尾状态得到的。
2.如权利要求1所述的TRNG,其中,所述两个或多于两个振荡器中的每个振荡器是环形振荡器,所述环形振荡器具有串联连接在振荡器输入和振荡器输出之间的奇数个反相器、以及从所述振荡器输出到所述振荡器输入的反馈回路。
3.如权利要求2所述的TRNG,其中,所述反相器是在所述捕获阶段期间具有高阻抗的三态反相器。
4.如权利要求1所述的TRNG,还包括:
信号处理器,其由控制信号控制以用于锁住所述两个或多于两个振荡器的所述末尾状态并将所选择的末尾状态应用到所述输出寄存器,且
其中,控制信号控制所述两个或多于两个振荡器的振荡阶段和捕获阶段。
5.如权利要求4所述的TRNG,其中,所述输出寄存器是串行输入寄存器,所述信号处理器将所述两个或多于两个振荡器的所述锁住的末尾状态施加到所述输出寄存器。
6.如权利要求5所述的TRNG,其中,所述两个或多于两个振荡器包括一对振荡器,所述信号处理器将所述一对振荡器中的振荡器的所述锁住的末尾状态交替地施加到所述串行输入寄存器。
7.如权利要求4所述的TRNG,其中,所述两个或多于两个振荡器包括多个振荡器,所述输出寄存器包括并行输入寄存器,所述信号处理器将所述振荡器的所述锁住的末尾状态并行施加到所述并行输入寄存器的输入。
8.如权利要求7所述的TRNG,其中,所述多个振荡器包括多对振荡器,其中所述信号处理器将每对振荡器中的振荡器的所述锁住的末尾状态交替地施加到所述输出寄存器的相应并行输入。
9.一种真随机数生成器TRNG,包括:
至少一对振荡器;以及
输出寄存器,用于存储随机数输出,
其中,所述一对振荡器中的每个振荡器接连以自由运行振荡阶段和捕获阶段激活,在所述捕获阶段期间振荡器是静止的,且
其中,所述输出寄存器接连在所述一对振荡器中的每个振荡器的捕获阶段期间锁住在所述振荡器的振荡阶段的末尾处或附近的所述振荡器的末尾状态,并且从所述锁住的末尾状态得到所述随机数输出。
10.如权利要求9所述的TRNG,其中,所述振荡器是环形振荡器,所述环形振荡器具有串联连接在振荡器输入与振荡器输出之间的奇数个反相器、以及从所述振荡器输出到所述振荡器输入的反馈回路。
11.如权利要求10所述的TRNG,其中,所述反相器是在所述捕获阶段期间呈现高阻抗的三态反相器。
12.如权利要求9所述的TRNG,还包括:
信号处理器,其连接在所述振荡器和所述输出寄存器之间,其中控制信号控制所述振荡器的振荡阶段和捕获阶段,并且其中所述信号处理器由所述控制信号控制以用于锁住所述振荡器的末尾状态并将所选择的末尾状态施加到所述输出寄存器。
13.如权利要求12所述的TRNG,其中,所述输出寄存器是串行输入寄存器,所述信号处理器将所述一对振荡器中的振荡器的所述锁住的末尾状态交替地施加到所述串行输入寄存器。
14.如权利要求12所述的TRNG,其中,所述至少一对振荡器包括多对振荡器,其中所述输出寄存器是具有多个输入的并行输入寄存器,所述信号处理器将所述振荡器的所述锁住的末尾状态并行施加到所述并行输入寄存器的输入。
15.一种生成真随机数TRN的方法,包括:
接连以自由运行振荡阶段和捕获阶段激活两个或多于两个振荡器,在所述捕获阶段期间振荡器是静止的;以及
在每个振荡器的捕获阶段期间在输出寄存器中锁住在所述振荡器的振荡阶段的末尾处或附近的所述振荡器的末尾状态,并且从所述锁住的末尾状态得到TRN。
16.如权利要求15所述的方法,其中,每个振荡器是环形振荡器,所述环形振荡器具有串联连接在振荡器输入和振荡器输出之间的奇数个反相器、以及从所述振荡器输出到所述振荡器输入的反馈回路。
17.如权利要求16所述的方法,其中,所述反相器是在所述捕获阶段期间呈现高阻抗的三态反相器。
18.如权利要求15所述的方法,其中,控制信号控制每个振荡器的振荡阶段和捕获阶段,并且其中由所述控制信号控制的信号处理器锁住所述振荡器的末尾状态并将所选择的末尾状态施加到所述输出寄存器。
19.如权利要求18所述的方法,其中所述两个或多于两个振荡器包括至少一对所述振荡器,其中所述输出寄存器是串行输入寄存器,并且其中所述信号处理器将所述一对振荡器中的振荡器的所述锁住的末尾状态交替地施加到所述串行输入寄存器。
20.如权利要求18所述的方法,其中所述输出寄存器是具有多个输入的并行输入寄存器,并且其中所述信号处理器将所述两个或多于两个振荡器的所述锁住的末尾状态并行施加到所述并行输入寄存器的输入。
CN201310481382.XA 2013-10-15 2013-10-15 具有重复激活的振荡器的真随机数生成器 Expired - Fee Related CN104572014B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310481382.XA CN104572014B (zh) 2013-10-15 2013-10-15 具有重复激活的振荡器的真随机数生成器
US14/461,445 US9606771B2 (en) 2013-10-15 2014-08-18 True random number generator with repeatedly activated oscillator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310481382.XA CN104572014B (zh) 2013-10-15 2013-10-15 具有重复激活的振荡器的真随机数生成器

Publications (2)

Publication Number Publication Date
CN104572014A CN104572014A (zh) 2015-04-29
CN104572014B true CN104572014B (zh) 2019-02-22

Family

ID=52810583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310481382.XA Expired - Fee Related CN104572014B (zh) 2013-10-15 2013-10-15 具有重复激活的振荡器的真随机数生成器

Country Status (2)

Country Link
US (1) US9606771B2 (zh)
CN (1) CN104572014B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9361066B2 (en) * 2013-04-30 2016-06-07 The United States Of America As Represented By The Secretary Of The Air Force. Random number generator using ring oscillators with initial delay
FR3051086B1 (fr) * 2016-05-04 2019-07-26 Stmicroelectronics (Rousset) Sas Circuit de comptage d'impulsions
FR3051085B1 (fr) 2016-05-04 2020-02-14 Stmicroelectronics (Rousset) Sas Structure de multiplexeur
FR3051084B1 (fr) 2016-05-04 2019-08-02 Stmicroelectronics (Rousset) Sas Generateur de nombres d'oscillations
CN106168896B (zh) * 2016-07-05 2018-10-09 北京大学深圳研究生院 一种真随机数发生器
US10235138B2 (en) 2016-09-30 2019-03-19 International Business Machines Corporation Instruction to provide true random numbers
CN106484364B (zh) * 2016-10-12 2018-10-26 上海华虹集成电路有限责任公司 基于过渡效应环形振荡器的随机数发生器
CN107038015B (zh) * 2016-11-18 2020-04-07 杭州电子科技大学 一种高速真随机数发生器
KR102652735B1 (ko) 2016-11-24 2024-04-02 삼성전자주식회사 조절 가능한 메타-스테이블 전압을 이용하는 난수 생성기 및 난수 생성 방법
JP2018112861A (ja) * 2017-01-11 2018-07-19 キヤノン株式会社 乱数生成装置、集積回路
CN109670343B (zh) 2017-10-17 2023-01-03 华邦电子股份有限公司 随机数产生系统及其随机数产生方法
CN109460212A (zh) * 2018-11-05 2019-03-12 杭州电子科技大学 一种单级真随机数的产生方法
CN109508174A (zh) * 2018-11-05 2019-03-22 杭州电子科技大学 一种单级真随机数发生器
US11237800B2 (en) 2019-11-12 2022-02-01 International Business Machines Corporation Time-shifted seed for random number generator
CN111969981B (zh) * 2020-10-21 2021-01-12 鹏城实验室 一种时钟产生电路和随机数产生电路
KR20230011092A (ko) 2021-07-13 2023-01-20 삼성전자주식회사 링 오실레이터, 이를 포함하는 난수 생성 장치 및 난수 생성 장치의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963104A (en) * 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
CN100530077C (zh) * 2004-09-28 2009-08-19 迈克纳斯公司 随机数发生器及生成随机数的方法
CN101515228A (zh) * 2009-02-13 2009-08-26 华中科技大学 一种真随机数发生器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807553B2 (en) * 2001-04-23 2004-10-19 Safenet B.V. Digital true random number generator circuit
US7502815B1 (en) 2004-02-20 2009-03-10 Xilinx, Inc. True random number generator and method of generating true random numbers
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
EP1686458B1 (en) * 2005-01-28 2008-07-23 Infineon Technologies AG Oscillator-based random number generator
US8583712B2 (en) * 2007-09-18 2013-11-12 Seagate Technology Llc Multi-bit sampling of oscillator jitter for random number generation
KR20100127789A (ko) 2008-03-04 2010-12-06 샌디스크 아이엘 엘티디 디지털 제어 오실레이터를 기반으로한 디지털 난수 생성기
US8131789B2 (en) 2008-03-28 2012-03-06 Atmel Corporation True random number generator
US8321773B1 (en) 2008-10-31 2012-11-27 Altera Corporation Hardware true random number generator in integrated circuit with tamper detection
US8583711B2 (en) 2009-12-02 2013-11-12 Seagate Technology Llc Random number generation system with ring oscillators

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963104A (en) * 1996-04-15 1999-10-05 Vlsi Technology, Inc. Standard cell ring oscillator of a non-deterministic randomizer circuit
CN100530077C (zh) * 2004-09-28 2009-08-19 迈克纳斯公司 随机数发生器及生成随机数的方法
CN101515228A (zh) * 2009-02-13 2009-08-26 华中科技大学 一种真随机数发生器

Also Published As

Publication number Publication date
US20150106415A1 (en) 2015-04-16
CN104572014A (zh) 2015-04-29
US9606771B2 (en) 2017-03-28

Similar Documents

Publication Publication Date Title
CN104572014B (zh) 具有重复激活的振荡器的真随机数生成器
US11301216B2 (en) Self-timed random number generator
KR101848042B1 (ko) 클록 게이티드 회로 및 그것을 포함하는 디지털 시스템
JP3604674B2 (ja) 乱数生成回路
CN106293616B (zh) 基于时延反馈振荡器的真随机数生成器
KR101987141B1 (ko) 난수 발생기
US7315874B2 (en) Electronic circuit for random number generation
WO2019195953A1 (zh) 一种基于二输入异或门低功耗随机数产生装置
US9612801B2 (en) Power supply for ring-oscillator based true random number generator and method of generating true random numbers
US9531354B1 (en) True random number generator
Wu et al. A new digital true random number generator based on delay chain feedback loop
US10963222B2 (en) True random number generator with stable node voltage
Mei et al. A highly flexible lightweight and high speed true random number generator on FPGA
ITVA20010033A1 (it) Circuito di generazione di una sequenza casuale di bit.
Danger et al. Fast true random generator in FPGAs
TWI579763B (zh) 具有亂數產生模式的儲存電路
WO2017146650A1 (en) True random number generator and system comprising the same
Li et al. A novel transition effect ring oscillator based true random number generator for a security SoC
Gupta et al. Efficient design of chaos based 4 bit true random number generator on FPGA
TWI497409B (zh) 亂數產生器及其亂數產生方法
JP5356362B2 (ja) 乱数生成回路
CN110795063B (zh) 一种功耗和速率可调的物理随机数发生方法
CN108781080A (zh) 分频电路、分路器电路、以及半导体集成电路
CN106293615A (zh) 基于全连网络的真随机数生成器
JP2004118651A (ja) 乱数発生方法及び乱数発生装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Texas in the United States

Applicant after: NXP America Co Ltd

Address before: Texas in the United States

Applicant before: Fisical Semiconductor Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190222

Termination date: 20201015

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