具有重复激活的振荡器的真随机数生成器的制造方法

文档序号:8257894阅读:518来源:国知局
具有重复激活的振荡器的真随机数生成器的制造方法
【技术领域】
[0001]本发明涉及数字电路,更特别地,涉及具有一个或多个重复地激活的振荡器的随机数生成器。
【背景技术】
[0002]处理器和其它电子设备(尤其是使用加密或其它安全应用的那些电子设备)中经常需要随机数生成器(RNG),其中随机数例如用作加密密钥。表述“真随机数”指的是非确定性的数或数的序列,其对于它们所用于的用途而言是充分不可预测的。另一方面,伪随机数生成器(PRNG)生成的数序列对于某些用途而言表现出充分的统计随机性,但是其由确定性的过程生成,并且诸如对于测试用途而言甚至可精确地重复。
[0003]随机数在许多应用(尤其是加密或其它安全应用)中的使用需要高度的统计随机性且需要保护以免受PRNG对其不足够真实随机的攻击。真随机数生成器(TRNG)是用于至少在理论上不可预测的数字生成的表述。物理现象经常通过模拟模块用于硬件TRNG中,该模拟模块利用诸如热噪声、光电效应或原子量子现象的物理噪声源来生成随机比特流。然而,将用于这种现象的模拟传感器以及相关的模拟放大器和模数转换器(ADC)合并到本质上是数字器件的处理器单元中通常是耗成本且不便的。
[0004]常规的纯数字RNG通常是确定性的,因此不是TRNG,从而易于被攻击。本发明提供一种TRNG,其使用简单的逻辑电路元件,具有低功耗且与数字数据处理器兼容。

【发明内容】

[0005]本公开的一个方面提供一种真随机数生成器(TRNG),包括:一个或多个振荡器;以及输出寄存器,其连接到所述一个或多个振荡器以用于存储随机数输出,其中,所述一个或多个振荡器中的每一个接连以自由运行振荡阶段和捕获阶段激活,在所述捕获阶段期间振荡器是静止的,且其中,所述输出寄存器在每个振荡器的所述捕获阶段期间锁住在所述振荡器的振荡阶段的末尾处或附近的所述振荡器的末尾状态,且随机数是从所述锁住的末尾状态得到的。
【附图说明】
[0006]本发明以示例方式示于附图所示的本发明的实施例中且不限于此,附图中相似的附图标记表示相似的元件。图中的元件在简单且清楚的意义上示出,且不一定是按比例绘制的。
[0007]图1是根据本发明一个实施例的真随机数生成器(TRNG)的示意性框图;
[0008]图2是根据本发明另一实施例的TRNG的示意性框图;
[0009]图3是用在根据本发明一实施例的TRNG中的环形振荡器(ring oscillator)的示意性电路图;
[0010]图4和图5是在图3的环形振荡器的操作中出现的信号的曲线图;
[0011]图6是在根据本发明一实施例的TRNG的操作中出现的信号的波形图;
[0012]图7是根据本发明又一实施例的TRNG的示意性框图;
[0013]图8是根据本发明又一实施例的TRNG的示意性框图;
[0014]图9是在图8的TRNG的操作中出现的信号的波形图;
[0015]图10是根据本发明一实施例的生成真随机数的方法的流程图;以及
[0016]图11是根据本发明另一实施例的生成真随机数的方法的流程图。
【具体实施方式】
[0017]现在参照图1,示出根据本发明一实施例的真随机数生成器(TRNG) 100。TRNG100包括一对振荡器102、104和用于存储随机数输出的输出寄存器106。振荡器102、104每个都包括环形振荡器,环形振荡器具有串联连接在振荡器输入108和振荡器输出110之间的奇数η个反相器I1至Ιη。有从振荡器输出110至振荡器输入108的反馈回路112。
[0018]如下面将更详细描述的那样,每个振荡器102、104接连以自由运行振荡阶段和捕获阶段(在此期间振荡器是静止的)激活。输出寄存器106接连在每个振荡器102或104的捕获阶段期间锁住在该振荡器的振荡阶段的末尾处或附近的该振荡器的末尾状态。然后从锁住的末尾状态得到随机数输出。
[0019]反相器I1至In可以是三态反相器,其在振荡阶段期间在有效(asserted)和无效(de-asserted)输出状态之间切换,且在捕获阶段期间具有高阻抗输出。这种三态反相器具有低泄漏电流,这减小了 TRNG的电流消耗。
[0020]控制信号EN用于控制振荡器102、104的振荡阶段和捕获阶段。信号处理器114由控制信号EN控制以用于锁住振荡器102、104的末尾状态且将所选择的末尾状态应用到输出寄存器106。在所不实施例中,输出寄存器106是串行输入寄存器。信号处理器114将振荡器102、104的锁住的末尾状态串行地施加到输出寄存器106。也就是说,信号处理器114将振荡器102、104的锁住的末尾状态交替地应用到输出寄存器106。
[0021]控制信号EN由在TRNG100外部的控制器(未示出)生成。控制信号EN由反相器116反相以产生控制信号/EN。
[0022]信号处理器114包括复用器或皿《120以及一对D触发器122和124。反相控制信号/EN借助于线路118来施加以控制muxl20的输入处的信号的选择。振荡器102、104的输出110分别连接到触发器122和124的D输入,D触发器122、124的Q输出连接到muxl20的相应输入。控制信号EN被施加到触发器122的触发输入,且控制信号/EN被施加到触发器124的触发输入。
[0023]振荡器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得到的控制信号的另一输入。
[0024]为了确保控制信号/EN在振荡器104的振荡阶段末尾处振荡器104的振荡开始衰减之前被施加到触发器124的触发输入,施加到触发器124的触发输入的控制信号是来自另一反相器130的输出信号,其引入相对于原始控制信号EN的进一步延迟。借助于线路118施加到muxl20的控制信号/EN确保了 muxl20选择振荡器102或104处于其捕获阶段的触发器122或124的输出。muxl20的输出施加到单输入并行输出(SIPO)输出寄存器106的输入,在该示例中,输出寄存器产生TRN作为并行输出,但是应理解,可以提供输出寄存器的任何其它合适配置。
[0025]现在参照图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的振荡终止。
[0026]振荡器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引入的延迟)确
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1