一种混合式随机数发生器及其产生随机数的方法技术

技术编号:12268046 阅读:106 留言:0更新日期:2015-10-31 15:07
本发明专利技术公开了一种混合式随机数发生器及其产生随机数的方法,所述混合式随机数发生器包括:物理随机数源模块(1)、脱相关组合处理模块(2)、计算模块(3)和综合处理模块(4),实现了混合式随机数发生器及其产生随机数的方法生成序列质量较高,及成本较低的技术效果。

【技术实现步骤摘要】
一种混合式随机数发生器及其产生随机数的方法
本专利技术涉及属于密码学中的随机数生成领域,具体地,涉及一种混合式随机数发生器及其产生随机数的方法。
技术介绍
随机数发生器在许多方面有着广泛的应用,如通信安全、模拟和测试、数学、神经网络的计算,随机性能的仿真,数字系统的内建自检测,游戏以及电子政务和电子商务系统等等。目前在密码学领域中随机数发生器的应用更加广泛。随机数在密码技术中是非常重要的,比如密钥管理、众多的密码学协议、数字签名和身份认证等都要用到随机数。比如:在计算机安全方面最权威的著作《应用密码学》中,共有61个密码学协议,用到随机数的协议就有40多个对于密码系统的安全性来说,每个组件都是很重要的。一个组件设计的失败可能使其他所有的组件崩溃。而密码随机数常常被用作密钥,补充信息,辅助信息和初始化向量。对每一个组件来说,使用一个好的随机数发生器是必要的。产生随机数的方法很多,如线性同余法、反馈移位寄存器法、斐波那契法、BBS法等伪随机数生成方法,其中线性同余法和反馈移位寄存器法至今仍广泛应用。2003年我国的李世刚、刘辉等人根据素数的一些特殊性质提出了超素数法用于产生随机数。法国的RADJA等研制的随机数发生器的本质就是一个线性反馈移位寄存器(LFSR)电路。它是利用晶振电路内的延迟元素在反馈回路中生成延迟变量,通过晶振电路形成比特流输入到采样电路,最后将采样电路的输出比特,输入到LFSR中,进而得到所需的序列。这种方法设计和制作的成本高,易受外部磁场影响,从而限制了使用的范围。当前技术的随机数发生技术存在一定的缺点,没有一个统计特性好,安全性高,且成本低廉的随机数发生器。无论是采用算法得到的随机序列,还是通过随机采样诸如采用热噪,声噪等真随机源得到的序列都或多或少的呈现出或是高成本高消耗,或是安全性不达标的特点。综上所述,本申请专利技术人在实现本申请实施例中专利技术技术方案的过程中,发现上述技术至少存在如下技术问题:在现有技术中,现有的随机数发生器及其产生随机数的方法存在生成序列质量较低,及成本较高的技术问题。
技术实现思路
本专利技术提供了一种混合式随机数发生器及其产生随机数的方法,解决了现有的随机数发生器及其产生随机数的方法存在生成序列质量较低,及成本较高的技术问题,实现了混合式随机数发生器及其产生随机数的方法生成序列质量较高,及成本较低的技术效果。为解决上述技术问题,本申请实施例提供了一种混合式随机数发生器,其包括:物理随机数源模块、脱相关组合处理模块、计算模块和综合处理模块;物理随机数源模块输出端与脱相关组合处理模块输入端相连接,脱相关组合处理模块输出端同时与计算模块和综合处理模块输入端相连接,计算模块输出端也与综合处理模块输入端相连接,综合处理模块输出端为随机数发生器输出端;脱相关组合处理模块包括接收寄存器、处理计算模块与发送寄存器,其中接收寄存器输出端连接处理计算模块输入端,发送寄存器输入端与处理计算模块输出端连接,计算模块包括种子寄存器、主计算模块、从计算模块和乱序干扰模块,其中种子寄存器输出端同时与主计算模块输入端和从计算模块输入端相连接,主计算模块输出端和从计算模块输出端同时与乱序干扰模块输入端相连接,所述的物理随机数源模块包括两个独立并行输出的子模块I和子模块II,子模块I包含高频信号发生器I、低频信号发生器I和D触发器I,其中高频信号发生器I输出端连接D触发器I数据输入端口,低频信号发生器I输出端连接D触发器I的时钟端口,D触发器I输出端口为物理随机数源模块的一个输出端口,所述的子模块II包含高频信号发生器II、低频信号发生器II和D触发器II;其中高频信号发生器输出端连接D触发器II数据输入端口,低频信号发生器II输出端连接D触发器II的时钟端口,D触发器II输出端口为物理随机数源模块输出端口的一个输出端口。高频信号发生器I与高频信号发生器II频率不同,低频信号发生器I与低频信号发生器II频率不同。物理随机数源模块中高频信号发生器I和高频信号发生器II通过噪声电阻连接放大器,放大的热噪声通过压控振荡器产生高频信号。物理随机数源模块中低频信号发生器I和低频信号发生器II通过放大器对噪声电阻的噪声进行放大,然后将放大后的噪声送入施密特触发器,最后通过反相器输出低频信号。所述的低频信号发生器I(15)与低频信号发生器II(18)噪声电阻不同。一种混合式随机数发生器产生随机数的方法,其包括以下步骤:S1:物理随机数源模块不间断的随机输出的采样数据a和采样数据b,并不间断的并行输送至脱相关组合处理模块;S2:接收寄存器接受数据,脱相关组合处理模块分别提取1024bit的定长数据A和1024bit的定长数据B,并将数据A前512bit和数据后512bit交换后与数据B做异或运算,得到数据C并依次发送至发送寄存器进行存储;S3:计算模块向脱相关处理模块周期性地请求发送数据,脱相关处理模块接受请求并一次从发送寄存器中提取3组定长数据发送至计算模块,计算模块接收3组定长数据并根据第一组数据的前两位作为数组序号,并提取相应序号的那一组数据存入种子寄存器;S4:种子寄存器将数据的前半段送入主计算模块行超素数计算运算产生随机序列E,同时将数据的后半段送入从计算模块进行满周期线性同余算法运算产生满周期序列F,并发送序列E、序列F到乱序干扰模块,乱序干扰模块根据满周期序列F,对随机序列E进行排列得到随机序列G,并对随机序列G作哈希算法得到随机序列H;S5:综合处理模块对用户预设定状态和时钟进行判定并根据判定输出数据,当状态为C1时,直接输出脱相关处理模块输出的随机数;当状态为C2时,直接输出计算模块输出的随机数;当状态为C3时,判断时钟是否到期,如到期,则提取脱相关组合处理模块中发送寄存器里存储的所有随机数,如未到期,则直接输出计算模块输出的随机数。所述的S2中定长数据A和定长数据B均为1024bit。本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:本申请中的技术方案通过采样两个易于实现且噪声源不同的热噪声产生随机序列,通过脱相关组合处理产生降低序列的自相关性,并输出真随机数,同时以动态的方式从发送寄存器中取种子通过所述一系列计算取得高速输出且随机性强的序列,满足低能耗、高速输出的要求;且该发生器硬件电路简单,实现较为简单,计算便于移植,移植性好,通过了FIPS140-2标准测试,验证了本专利技术具有产生较高安全性随机序列的能力,能够在控制成本的同时提高加密和安全通信等领域的效率。附图说明图1为混合式随机数发生器模块示意图;图2为混合式随机数发生器结构示意图;图3为物理随机数源模块结构示意图;图4为高频信号发生器结构示意图;图5为低频信号发生器结构示意图;图6为混合式随机数发生器产生随机数的方法流程示意图;图7为脱相关组合处理模块数据处理流程示意图;其中:1-物理随机数源模块,2-脱相关组合处理模块,3-计算模块,4-综合处理模块,5-接收寄存器,6-处理计算模块,7-发送寄存器,8-种子寄存器,9-主计算模块,10-从计算模块,11-乱序干扰模块,12-子模块I,13-子模块II,14-高频信号发生器I,15-低频信号发生器I,16-D触发器I,17-高频信号发生器II,18-低频信号发生本文档来自技高网
...

【技术保护点】
一种混合式随机数发生器,其特征在于,所述混合式随机数发生器包括:物理随机数源模块(1)、脱相关组合处理模块(2)、计算模块(3)和综合处理模块(4),其中:物理随机数源模块(1)输出端与脱相关组合处理模块(2)输入端相连接,脱相关组合处理模块(2)输出端同时与计算模块(3)和综合处理模块(4)输入端相连接,计算模块(3)输出端也与综合处理模块(4)输入端相连接,综合处理模块(4)输出端为随机数发生器输出端;脱相关组合处理模块(2)包括:接收寄存器(5)、处理计算模块(6)与发送寄存器(7),其中,接收寄存器(5)输出端连接处理计算模块(6)输入端,发送寄存器(7)输入端与处理计算模块(6)输出端连接,计算模块(3)包括:种子寄存器(8)、主计算模块(9)、从计算模块(10)和乱序干扰模块(11),其中,种子寄存器(8)输出端同时与主计算模块(9)输入端和从计算模块(10)输入端相连接,主计算模块(9)输出端和从计算模块(10)输出端同时与乱序干扰模块(11)输入端相连接。

【技术特征摘要】
1.一种混合式随机数发生器,其特征在于,所述混合式随机数发生器包括:物理随机数源模块(1)、脱相关组合处理模块(2)、计算模块(3)和综合处理模块(4),其中:物理随机数源模块(1)输出端与脱相关组合处理模块(2)输入端相连接,脱相关组合处理模块(2)输出端同时与计算模块(3)和综合处理模块(4)输入端相连接,计算模块(3)输出端也与综合处理模块(4)输入端相连接,综合处理模块(4)输出端为随机数发生器输出端;脱相关组合处理模块(2)包括:接收寄存器(5)、处理计算模块(6)与发送寄存器(7),其中,接收寄存器(5)输出端连接处理计算模块(6)输入端,发送寄存器(7)输入端与处理计算模块(6)输出端连接,计算模块(3)包括:种子寄存器(8)、主计算模块(9)、从计算模块(10)和乱序干扰模块(11),其中,种子寄存器(8)输出端同时与主计算模块(9)输入端和从计算模块(10)输入端相连接,主计算模块(9)输出端和从计算模块(10)输出端同时与乱序干扰模块(11)输入端相连接;所述的物理随机数源模块(1)包括两个独立并行输出的子模块I(12)和子模块II(13);所述的子模块I(12)包括:高频信号发生器I(14)、低频信号发生器I(15)和D触发器I(16);其中,高频信号发生器I(14)输出端连接D触发器I(16)数据输入端口,低频信号发生器I(15)输出端连接D触发器I(16)的时钟端口,D触发器I(16)输出端口为物理随机数源模块(1)的一个输出端口;所述的物理随机数源模块(1)中高频信号发生器I(14)和高频信号发生器II(17)通过噪声电阻(20)连接放大器(21),放大的热噪声通过压控振荡器(22)产生高频信号;所述的物理随机数源模块(1)中低频信号发生器I(15)和低频信号发生器II(18)通过放大器(24)对噪声电阻(23)的噪声进行放大,然后将放大后的噪声送入施密特触发器(25),最后通过反相器(26)输出低频信号。2.如权利要求1所述的一种混合式随机数发生器,其特征在于,所述的子模块II(13)包括:高频信号发生器II(17)、低频信号发生器II(18)和D触发器II(19);其中,高频信号发生器(17)输出端连接D触发器II(18)数据输入端口,低频信号发生器II(18)输出端连接D触发器II(19)的时钟端口,D触发器II(19)输出端口为物理随机数源模块(1)输出端口的一个输出端口。3.如权利要求1或2所述的一种混合式随机数发生器,其特征在于,所述的高频信号发生器I(14)与高频信号发生器I...

【专利技术属性】
技术研发人员:梁媛陈伟建潘晔赵思宇
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1