真随机数发生器的制作方法

文档序号:7967475阅读:392来源:国知局
专利名称:真随机数发生器的制作方法
技术领域
本发明涉及一种半导体集成电路,特别是涉及一种真随机数发生器。
技术背景在网络认证的信息安全芯片中,为了保证信息的安全性,芯片应能够 在片内产生密钥。而一个能够产生高性能真随机数的功能模块是系统安全 的关键所在。随机数是许多加密应用的基础,其作用是生成Diff ie-Hellman密钥 交换算法、Rivest-Shamir-Adelman公钥密码算法和数字签名算法等所需 的公共/专用密钥对,并为大批量加密算法和IPsec (网络协议安全)分 别生成初始向量和即时随机数。此外,大量其它类型的安全协议也靠随机 数发生器的不可预测性来防止系统被破解。常用一些复杂数学函数生成高 质量伪随机数发生器(PRNG)位流,但事实证明有很多途径可以攻击用 PRNG加密的系统,因此加密安全系统需要使用更高质量的随机数发生器。随机数发生器方案通常可以归为三大类,即直接放大、离散时间混沌 和振荡器采样。前两种方法更适用于客户定制的单元设计,因为在这些场 合设计人员可以控制实际电路的布局;而振荡器采样技术可以作为标准单 元设计流程的一部分,因此在Soc片上系统设计中很流行。常用的基于振荡器采样技术的随机数发生器如图1所示。利用两个独 立工作的高、低频振荡器之间的相对关系来得到非确定噪声源,用高抖动
低频振荡器采样高频振荡器,从而产生随机数序列,采样后经过异或链进 入伪随机数,但这样所得到的随机数过于依赖低频振荡器的抖动,往往分 布不够均匀。发明内容本发明所要解决的技术问题是提供一种真随机数发生器,它可以得到 高性能、低功耗的,均匀的随机数序列。为解决上述技术问题,本发明的真随机数发生器,采用两个独立高频自由振荡器FR0在频域上的演算作为采样器SAMPLER的数据输入,经过 32比特最大长度线性反馈移位寄存器LFSR的偏移纠正,对位流进行均衡 分配,得到真随机数,再经过伪随机数PRNG后输出。通过采用振荡器采样技术,本发明的真随机数发生器具有高性能、低 功耗,结构简单,容易实现,随机性分布性能好的特点,并通过了 FIPS140—1的测试标准。


下面结合附图与具体实施方式
对本发明作进一步详细的说明图1是现有的基于振荡器采样技术的随机数发生器原理图;图2是本发明的基于振荡器采样技术的真随机数发生器原理图;图3是单端环形震荡器电路图。
具体实施方式
在基于振荡器采样技术的随机数发生器设计中最重要的是高频振荡 器的抖动,这个抖动就是随机源。如果两个振荡器在工作过程中都不发生 漂移,那么采样得到的位流便具有周期性而且可以预测;正是由于两个高
频振荡器频率差的不确定性及相对于系统采样时钟的相位变化保证了可 以获得随机位流。此外,两个振荡器的频率与系统时钟的频率的比对所产 生的位流有着非常重要的影口向。通常,振荡器可分为差分振荡器和单端振荡器,不同类型振荡器对不 同噪声源的敏感度都不一样。差分振荡器对电源及基底噪声的敏感度不如单端振荡器,呈现出较高的共模抑制比(CMRR)。而单端振荡器极易受电 压摆动或输入信号中直流分量的影响,任何噪声波动,都会影响振荡器的 抖动。因此,在需要非确定噪声源的设计中,最简单直接的解决方案通常 是采用单端环形振荡器来产生不确定性的频率源,如图3所示。为了解决现有的随机数发生器产生的随机数序列不够均匀的问题,本 发明的基于振荡器采样技术的真随机数发生器如图2所示。采用两个独立高频自由振荡器FR0在频域上的演算经异或后作为采 样器SAMPLER的数据输入(采样器SAMPLER的SYS一CLK为系统时钟端), 采样器SAMPLER输出二进制数据,经过32比特最大长度线性反馈移位寄 存器LFSR的偏移纠正,对位流进行均衡分配,得到真随机数,再经过伪 随机数PRNG后输出。两个高频振荡器FRO频域相乘。在频域的XOR函数可看做乘法运算, XOR函数的输出信号包含原来两个高频振荡器FRO频率之和及差的频率分 量。研究显示,在F(SYS—CLK) < F(CLKH1)/16 F(SYS一(:LK) < F(CLKH2)/16 F (SYS—CLK) 〈 F(CLKH1) xor F(CLKH2)/16
时,采样数据可以得到真随机数。即便如此,由于种种原因,所获得的位码仍会出现偏差,既可能是"r,也可能是"o",称为偏移。囡此需要采取有效的后处理方法来纠正 偏差,对位流进行均衡分配。简单的级联XOR链便可有效用作一个奇偶生 成器完成适当的偏差纠正。在本发明中采用功能更为强大的混合函数来确 保随机源的随机性,函数将多个采样位进行组合,然后产生一个输出位, 该输出位是先前各输入位的复杂非线性函数。当然,这样获得的输出随机 位数不可能多于输入位数。对这个函数期望的功能是任何输入位的改变都 会引起大约一半输出位的改变。在本发明的一个具体实施例中,在进入伪 随机数PRNG之前插入了线性反馈移位寄存器LFSR。对第31, 6, 4, 2, 1, 0位进行异或(多项式x32 + x7 + x5 + x3 + x2 + x +1),并和两个高频振荡器FRO 异或并采样后得到的值再进行异或。线性反馈移位寄存器LFSR输出比特 的随机性依赖于两个高频振荡器FRO的异或值;当两个高频振荡器FRO 失效时,线性反馈移位寄存器LFSR将产生伪随机数。此外,在系统设计时,希望两个高频振荡器FRO不要和系统频率逻辑 共享同一电源,以避免其相关性。
权利要求
1、一种真随机数发生器,其特征在于采用两个独立高频自由振荡器FRO在频域上的演算作为采样器SAMPLER的数据输入,经过32比特最大长度线性反馈移位寄存器LFSR的偏移纠正,对位流进行均衡分配,得到真随机数,再经过伪随机数PRNG后输出。
2、 根据权利要求1所述的真随机数发生器,其特征在于所述线性 反馈移位寄存器LFSR,对第31、 6、 4、 2、 1、 0位进行异或,并和两个 高频振荡器FRO异或后并经采样后得到的值再进行异或。
全文摘要
本发明公开了一种真随机数发生器,使用两个独立高频自由振荡器在频域上的演算作为采样的数据输入,经过32比特最大长度线性反馈移位寄存器的偏移纠正,再进入伪随机数。本发明可以得到高性能、低功耗的随机序列,而且结构简单,容易实现,随机性分布性能好。
文档编号H04L9/18GK101162998SQ200610117119
公开日2008年4月16日 申请日期2006年10月13日 优先权日2006年10月13日
发明者唐成伟, 朱红卫, 温建新, 宇 雷 申请人:上海华虹Nec电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1