片上系统中生成真随机数的方法及装置制造方法

文档序号:6511994阅读:462来源:国知局
片上系统中生成真随机数的方法及装置制造方法
【专利摘要】本发明公开了一种片上系统中生成真随机数的方法和装置。将片上系统中的单端环形振荡器的输出作为噪声时钟输入;然后将独立参考时钟作为采样时钟,在采样时钟的时钟沿对输入进行采样;接着利用Bit-to-word缓冲器将采样得到的1bit输出进行移位寄存,得到两组128位的数据信号;最后将得到的两组数据信号记为第一组和第二组随机数据,把第一组随机数据作为AES算法的明文,把第二组随机数据作为AES算法的密钥,进行AES算法,获取真随机数。本发明可以应用在信息安全领域的片上系统中,不仅安全性能高,且设计周期短,容易实现。
【专利说明】片上系统中生成真随机数的方法及装置

【技术领域】
[0001]本发明涉及一种数据采样生成方法和装置,特别涉及一种片上系统中真随机数的产生方法和装置,属于信息安全领域。

【背景技术】
[0002]信息时代的今天,各种信息产品已经成为我们生活的不可或缺用品。这些信息产品安全性能的高低成为生产商和消费顾客关注的焦点。为了保证消费者良好的享有这些信息产品的使用成果,故要求在这些产品中必要的植入安全加密体系。随机数是以现代密码学为基础的信息安全系统的基石。在现代信息安全系统中,密码体制和算法本身可以被公开,访问策略可以公布,密码设备可能丢失,而系统的安全性要求不受影响。整个系统的安全性完全依赖于随机数序列的生成效率和质量。因此,高质量的随机数在信息安全系统中的作用举足轻重,如果随机数的随机性不够安全,整个系统极有可能被攻击者攻破。信息安全系统中的随机数序列要求具有足够的长度和周期,以及尽可能高的熵值,即具有高度的随机性和不可预测性。
[0003]具备良好随机特性的随机数是成功实现安全加密的关键。对于许多使用伪随机数的安全系统而言,伪随机数注定成为它们性能提高的瓶颈。即使一个安全系统的其他部件都足够安全,使用伪随机数也会使整个系统变得很脆弱、易受到攻击。真随机数因其随机性强,在数据加密、信息辅助、智能决策和初始化向量方面有着广泛应用;
[0004]因此,在片上系统的设计中,若对随机数发生器性能有较高的要求,则通常采用真随机数发生器。真随机数的产生,则要借助于工程设计良好的数字物理乱源,即利用一些物理过程的随机性质。但并不是物理过程(硬件)产生的随机数就是真随机数,其中一些物理过程是否真正随机也很难说,更有些系统仅仅采用硬件固定逻辑来加速伪随机数的产生。这就存在一个随机数质量检测的问题。在所有随机序列质量检测方法中,以美国国家技术标准局NIST发布的关于密码系统的信息安全标准FIPS140-2和德国联邦资讯安全办公室BSI发布的AIS-31测试标准最为著名。这些标准中指定了多种测试方式对随机数序列的质量指标进行测试,以取代常规的随机性统计检验。与同类标准相比,FIPS140-2和AIS-31的合格标准更加严格。
[0005]但是,现有的真随机数的产生方法过于复杂冗长,其涉及的设备模块也多,无法在片上系统快速安全实现真随机数的产生。


【发明内容】

[0006]本发明所要解决的技术问题是提供一种在片上系统中生成真随机数的方法和装置。
[0007]为解决上述技术问题,本发明通过以下技术方案来实现:
[0008]一种片上系统中生成真随机数的方法,其包括以下步骤:
[0009]将片上系统中的单端环形振荡器的输出作为噪声时钟输入;
[0010]将独立参考时钟作为采样时钟,在采样时钟的时钟沿对输入进行采样;
[0011]利用Bit-to-word缓冲器将采样得到的Ibit输出进行移位寄存,得到两组128位的数据信号;
[0012]将得到的两组数据信号记为第一组和第二组,把第一组中的数据作为AES算法(Advanced Encrypt1n Standard,即高级加密标准)的明文,把第二组中的数据作为AES算法的密钥,进行AES算法运算,获取真随机数。
[0013]上述的片上系统中生成真随机数的方法,其中:所述片上系统中的单端环形振荡器由17级反向器环路组成。
[0014]进一步地,上述的片上系统中生成真随机数的方法,其中:所述采样是采用低速波采样高速波的方式来实现真随机数的产生。
[0015]更进一步地,上述的片上系统中生成真随机数的方法,其中:所述采样得到的Ibit数据与AES算法之间采用Bit-to-word缓冲器来进行数据缓冲。
[0016]本发明还提出了一种片上系统中生成真随机数的装置,所述装置包括:
[0017]振荡器,产生随机数序列,作为噪声时钟的输入;
[0018]采样器,对上述输入进行采样;
[0019]数据缓冲器,将采样得到的Ibit输出进行移位寄存,得到两组128位的数据信号;
[0020]AES算法运算器,将上述得到的两组数据信号记为第一组和第二组随机数据,进行AES算法运算,获取真随机数。
[0021]上述片上系统中生成真随机数的装置,其中所述振荡器为差分振荡器、单端振荡器或混合振荡器。
[0022]更进一步的,上述片上系统中生成真随机数的装置,其中所述振荡器为单端环形振荡器。
[0023]更进一步的,上述片上系统中生成真随机数的装置,其中所述采样器为采样时钟,在采样时钟的时钟沿对输入进行采样。
[0024]更进一步的,上述片上系统中生成真随机数的装置,其中采样时钟每一次采样都能产生一个随机位。
[0025]更进一步的,上述片上系统中生成真随机数的装置,其中所述缓冲器为Bit-to-word 缓冲器。
[0026]更进一步的,上述片上系统中生成真随机数的装置,其中AES算法运算器是把第一组随机数据作为AES算法的明文,把第二组随机数据作为AES算法的密钥,进行AES算法运算。
[0027]本发明技术方案的显著进步主要体现在:利用片上系统中的单端环形振荡器所产生的噪声,经过采样和数据处理,得到一个随机数序列,在保证随机序列不可重复和均匀分布的基础上,再次用加密算法对随机序列进行算法运算,得到真正意义上的真随机数。本发明随机源建立在自然界的统计概论现象的基础之上,不取决于任何人为种子值,实现了真随机的产生,运用在信息安全领域的片上系统中,不仅条件限制小、安全性能高而且设计周期短,是一种高性价比的设计方案。由此可见,本发明具有显著的技术进步,具有广阔的应用前景。

【专利附图】

【附图说明】
[0028]图1为本发明实施例片上系统中生成真随机数的方法实施过程示意图;
[0029]图2为本发明实施例片上系统中生成真随机数的装置结构图。

【具体实施方式】
[0030]真随机数产生方法是指利用物理方法实现的随机数的产生。各种随机物理过程如宇宙噪声、电路的热噪声和放射性衰变均可用来产生随机物理信号。大多数随机数产生方案通常可以归为三类:放大电路噪声、混沌电路、振荡采样。在片上系统中,缺乏有效的方法屏蔽来自电压源和衬底的噪声信号,因此无法采用放大电路噪声法;在有确定性噪声存在的情况下,由于在采样过程中伴随着非线性的混沌现象,所以本发明采用了更具优越性的振荡器采样法,与其他两种方法相比,其更简单、更易实现。
[0031]本发明是一种片上系统中生成真随机数的方法及装置,利用低频振荡器采样高频振荡器,从而产生随机数列,再通过Bit-to-word缓冲器来进行数据缓冲,将得到的数据进行AES加密算法运算,得到真正的随机数。
[0032]振荡器包括差分振荡器、单端振荡器和混合振荡器,通常差分振荡器对电源及基底噪声的敏感度不如单端振荡器,此外,差分振荡器设计需要客户定制的电路布局,所以无法集成到标准单元的片上系统中。因此,在片上系统中最简单直接的解决方案通常是单端环形振荡器,如图2所示,单端环形振荡器的输出作为噪声时钟输入,即图1的步骤SI。所述单端环形振荡器由17级反向器环路组成。
[0033]具体来说如下:振荡器采样的方法是利用自由振荡器的相位噪声产生随机序列(理想情况下噪声是MOSFET热噪声的附产物);自由振荡器的输出作为噪声时钟输入,独立参考时钟作为采样时钟(图2),在采样时钟的时钟沿对输入进行采样;自由振荡器的相位抖动使得采样具有值具有不确定性,理想的情况每一次采样都能产生一个随机位;该随机性可以通过人为地选择噪声时钟和采样时钟频率比例来调整,即步骤S2。所述采样是采用低速波采样高速波的方式来实现真随机数的产生。
[0034]再进一步来看,在实际设计产生真随机数方法中,还要对随机源产生的随机数进行处理,使输出的随机序列能够更好的满足随机性检验。因此本发明还包含数据缓冲器Bit-to-word Buffer,该缓冲器的功能是将采样得到的Ibit输出进行移位移存,得到两组128位的随机序列,即步骤S3。
[0035]随即,在两组128位总共256位的随机序列存入后,把这两组随机信号分别记为第一组随机数据和第二组随机数据。将第一组随机数据作为AES算法中的明文,将第二组随机数据作为AES算法的密钥,在AES算法运算器中进行一次完整的AES运算,即为步骤S4。经过此算法后,得到最终的真随机数。
[0036]从上述文字表述并结合附图可以看到,本发明利用片上系统单端环形振荡器所产生的噪声,经过采样和数据缓存,产生真正的随机序列,在保证随机序列不可重复和均匀分布的基础上,再次用加密算法对随机序列进行算法运算,得到真正意义上的真随机数。本发明随机源建立在自然界的统计概论现象的基础之上,不取决于任何人为种子值,实现了真随机数发生器,运用在信息安全领域的片上系统中,不仅条件限制小、适用面广,而且安全性能高、设计周期短,属于一种高性价比的设计方案。
[0037]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关【技术领域】的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【权利要求】
1.一种片上系统中生成真随机数的方法,其特征在于,包括以下步骤: 将片上系统中的单端环形振荡器的输出作为噪声时钟输入; 将独立参考时钟作为采样时钟,在采样时钟的时钟沿对输入进行采样; 利用81卜〖010%缓冲器将采样得到的化1丨输出进行移位寄存,得到两组128位的数据信号; 将得到的两组数据信号记为第一组和第二组随机数据,把第一组随机数据作为仙3算法的明文,把第二组随机数据作为仙3算法的密钥,进行仙3算法运算,获取真随机数。
2.一种如权利要求1所述的片上系统中生成真随机数的方法,其特征在于:所述片上系统中的单端环形振荡器由17级反向器环路组成。
3.—种如权利要求1所述的片上系统中生成真随机数的方法,其特征在于:所述将独立参考时钟作为采样时钟,在采样时钟的时钟沿对输入进行采样的步骤是采用低速波采样高速波的方式来实现真随机数的产生。
4.一种如权利要求1所述的片上系统中生成真随机数的方法,其特征在于:所述采样得到的化“数据与仙3算法之间采用81卜〖010%缓冲器来进行数据缓冲。
5.一种片上系统中生成真随机数的装置,所述装置包括: 振荡器,产生随机数序列,作为噪声时钟的输入; 采样器,对上述输入进行采样; 数据缓冲器,将采样得到的1化〖输出进行移位寄存,得到两组128位的数据信号; 八£3算法运算器,将上述得到的两组数据信号记为第一组和第二组随机数据,进行仙3算法运算,获取真随机数。
6.一种如权利要求5所述的片上系统中生成真随机数的装置,其特征在于:所述振荡器为差分振荡器、单端振荡器或混合振荡器。
7.—种如权利要求5所述的片上系统中生成真随机数的装置,其特征在于:所述振荡器为单端环形振荡器。
8.—种如权利要求5所述的片上系统中生成真随机数的装置,其特征在于:所述采样器为采样时钟,在采样时钟的时钟沿对输入进行采样。
9.一种如权利要求8所述的片上系统中生成真随机数的装置,其特征在于:采样时钟每一次采样都能产生一个随机位。
10.一种如权利要求5所述的片上系统中生成真随机数的装置,其特征在于:所述缓冲器为缓冲器,用于将采样得到的1化丨数据与仙3算法之间采用
缓冲器来进行数据缓冲。
11.一种如权利要求5所述的片上系统中生成真随机数的装置,其特征在于:仙3算法运算器是把第一组随机数据作为仙3算法的明文,把第二组随机数据作为仙3算法的密钥,进行仙3算法运算。
【文档编号】G06F7/58GK104461452SQ201310424544
【公开日】2015年3月25日 申请日期:2013年9月17日 优先权日:2013年9月17日
【发明者】田心, 徐树民, 刘振, 王卓 申请人:航天信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1