真随机数产生电路的制作方法

文档序号:8361174阅读:651来源:国知局
真随机数产生电路的制作方法
【技术领域】
[0001]本发明涉及密码系统硬件实现领域,特别是涉及一种真随机数产生电路。
【背景技术】
[0002]随机数在智能卡,特别是密码学领域有着广泛应用,是密码系统硬件实现的重要组成部分。无论是在非对称算法中的公钥和私钥,还是在对称算法中的密钥,都需要用到随机数。随机数的性能直接影响到安全芯片的安全性和可靠性。理想的随机数通常是指一串随机的“ I ”,“ O ”序列,序列中每一位与其他位为无相关性。
[0003]随机数分为伪随机数(PRNG)和真随机数(TRNG)。
[0004]伪随机数一般可以由数字逻辑电路产生,在短时间内随机,但在足够长时间依然会周期重复,只是这个重复的周期特别长,适用于对随机性能要求不高的地方。
[0005]真随机数是完全不可预测的,每位产生数据是“I”和“O”的几率都是50%。只能通过物理过程产生,如可以基于电路噪声,环境噪声,放射性衰变等。
[0006]常用的真随机数产生方法有:电阻热噪声直接放大法,离散时间的混沌系统映射法,带有抖动噪声的振荡器采样法。
[0007]图1是一种电阻热噪声直接放大法随机数产生电路,电阻Rnoisp的热噪声为噪声源,噪声的幅度与电阻的大小和温度成正比。一般为了得到大的噪声可以使用大电阻同时加入放大器AMP,然后放大幅度的噪声与一个固定参考电压Vref通过比较器Comp比较,得到随机数序列。但这种电路容易受到非理想因素影响,如放大器的带宽,放大器等效输入噪声,参考电压变化等。
[0008]离散时间的混沌系统映射法的随机源是基于确定系统中的某种非稳态变化,一般是通过内部或外部的轻微扰动来改变系统特性。这种方式一般都比较复杂,实现起来也比较困难。
[0009]图2是一种带有抖动噪声的振荡器采样方法产生随机数原理图,通过大抖动噪声的低频振荡器采样高频振荡器来实现。高频振荡器可以用简单的多级反相器组成的环形振荡器构成,一般认为高频振荡器的时钟抖动很小。低频振荡器用电阻热噪声作为噪声产生源头,电阻热噪声可以看成白噪声,符合高斯正态分布。电阻的输出噪声电压与电阻的大小和温度有关,电阻越大、温度越高得到的电阻热噪声电压越大。为了得到更大的噪声,也可以在后级加入放大器。抖动很大的低频振荡器的输出加到T触发器的时钟CLK端,高频振荡器的输出加入T触发器的数据输入端(T端)。低频振荡器的时钟抖动很大,时钟上升沿出现的位置随机,所以采样到的高频振荡器“I”或“O”的几率也是随机的,进而得到随机输出序列。采用T触发器而不是一般的D触发器可以消除高频振荡器占空比不是理想50%的影响,保证在很长一段时间内“I”或“O”的个数相等。
[0010]图2所示的电路中,低频振荡器的抖动的源头是电阻热噪声,增加噪声可以选择的方式有增加电阻阻值和/或增加放大器的增益。高阻值的电阻通常意味大的芯片面积,而且输出噪声电压与阻值的平方根成正比,这就需要更大的电阻。增加放大器的增益同时就不得不减小放大器的带宽,这会使等效积分噪声增加很少。另外,放大器的带宽减小会使随机数的随机性下降。

【发明内容】

[0011]本发明要解决的技术问题是提供一种真随机数产生电路,具有很好的随机特性,实现简单,而且节省芯片面积。
[0012]为解决上述技术问题,本发明的真随机数产生电路,包括:
[0013]一高频振荡器,用于产生高频时钟信号;
[0014]一低频振荡器,基于电阻热噪声产生噪声源;
[0015]一 T触发器,其时钟输入端CLK与所述低频振荡器的输出端相连接,将该低频振荡器产生的噪声源作为时钟信号;其中,还包括:
[0016]一多级二分频器,其输入端与所述高频振荡器的输出端相连接,其输出端与所述T触发器的数据输入端T端相连接;
[0017]所述低频振荡器对经过多级二分频器分频的高频时钟信号进行采样,所述T触发器输出端Q端输出真随机数。
[0018]本发明是基于“带有抖动噪声的振荡器采样方法”的改进。在随机数产生电路的设计中,输出序列的随机性是关键。传统增加随机性能的方法是增大低频振荡器抖动,而本发明是通过调节高频振荡器频率,进而改变高频振荡器的长时间积累抖动来得到更好的随机数性能。
[0019]本发明具有很好的随机特性,能提高真随机数的随机特性,产生的随机数序列不需要后处理就可以通过各种随机数测试标准,同时可以节省芯片面积。
[0020]本发明特别适合在低功耗要求的系统中应用。
【附图说明】
[0021]下面结合附图与【具体实施方式】对本发明作进一步详细的说明:
[0022]图1是电阻热噪声直接放大法随机数产生电路原理图;
[0023]图2是带有抖动噪声的振荡器采样方法产生随机数原理图;
[0024]图3是所述真随机数产生电路原理图。
【具体实施方式】
[0025]参见图3所示,在该图所示的实施例中,所述真随机数产生电路,包括:一高频振荡器,一低频振荡器,一 T触发器,一多级二分频器。
[0026]所述高频振荡器可以用简单的多级反相器组成的环形振荡器构成,其输出连接多级二分频器,该多级二分频器的输出作为T触发器的数据输入。基于电阻噪声放大得到的低频振荡器时钟具有很大的周期间抖动,这个低频振荡器作为T触发的时钟输入对高频振荡器进行采样,最后在T触发器的输出端Q端得到的输出序列就是真随机数。
[0027]本实施例没有使用数字后处理模块,得到的随机性能比图2所示的电路得到的随机性能好。
[0028]本发明是对传统的基于带有抖动噪声的振荡器采样方法产生随机数的电路进行的改进。
[0029]加入多级分频器后,T触发器输入端的高频振荡器相邻周期间抖动增加,但长时间抖动减小。在这种随机数产生原理中,人们更关心的是高频振荡器的相邻周期间抖动和低频振荡器的长时间抖动。高频振荡器的相邻长时间抖动越小越好,低频振荡器周期间抖动越大越好。这里所谓的“长时间”是指一个低频振荡器周期。
[0030]加入多级二分频器的个数并不是越多越好,加入多级二分频器后会使高频振荡器频率降低。当高频振荡器的输出频率低到与低频振荡器相仿的时候,会使随机数性能大大降低。一般情况下,高频振荡器频率比低频振荡器高100倍左右比较好。
[0031]本发明避免使用高阻值电阻和高增益放大器,为芯片节省了面积。传统结构中使用T触发器可以得到接近相等的“I”或“O”的个数,基本解决高频振荡器频率较差占空比的问题;但是个数不等的问题可能会依然存在。加入多级二分频器后,各级分频器都会对输入占空比进行自动调节,这样到达T触发器时钟输入端的时钟和前面几级输出的时钟占空比基本都可以保证为50%,随机数的随机性能得到很大改善。
[0032]对图2所示的电路和图3所示的电路产生的随机数进行仿真验证和实际测试。在都没有加数字后处理的情况下,图2所示的电路结构产生的随机数不能通过随机数测试标准AIS31,熵值只有4?5。而图3所示的电路结构产生的随机数能通过AIS31测试标准的各项测试,熵值达到8。
[0033]虽然本发明利用具体的实施例进行说明,但是对实施例的说明并不限制本发明的范围。本领域内的熟练技术人员通过参考本发明的说明,在不背离本发明的精神和范围的情况下,容易进行各种修改或者可以对实施例进行组合。
【主权项】
1.一种真随机数产生电路,其特征在于,包括: 一高频振荡器,用于产生高频时钟信号; 一低频振荡器,基于电阻热噪声产生噪声源; 一 T触发器,其时钟输入端CLK与所述低频振荡器的输出端相连接,将该低频振荡器产生的噪声源作为时钟信号;其中,还包括: 一多级二分频器,其输入端与所述高频振荡器的输出端相连接,其输出端与所述T触发器的数据输入端T端相连接; 所述低频振荡器对经过多级二分频器分频的高频时钟信号进行采样,所述T触发器输出端Q端输出真随机数。
【专利摘要】本发明公开了一种真随机数产生电路,包括:一高频振荡器,用于产生高频时钟信号;一低频振荡器,基于电阻热噪声产生噪声源;一T触发器,其时钟输入端CLK与所述低频振荡器的输出端相连接,将该低频振荡器产生的噪声源作为时钟信号;其中,还包括:一多级二分频器,其输入端与所述高频振荡器的输出端相连接,其输出端与所述T触发器的数据输入端T端相连接;所述低频振荡器对经过多级二分频器分频的高频时钟信号进行采样,所述T触发器输出端Q端输出真随机数。本发明具有很好的随机特性,实现简单,而且节省芯片面积。
【IPC分类】G06F7-58
【公开号】CN104679475
【申请号】CN201310627765
【发明人】苏威
【申请人】上海华虹集成电路有限责任公司
【公开日】2015年6月3日
【申请日】2013年11月29日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1