混沌伪随机数发生器、采用其的电路及片上系统的制作方法

文档序号:13218869阅读:153来源:国知局
技术领域本发明涉及计算机安全领域的随机数发生器,尤其涉及一种混沌伪随机数发生器的电路结构,以及包含所述混沌伪随机数发生器的片上系统或嵌入式系统。

背景技术:
近年来,一系列信息泄露事件造成的恶劣后果使人们越发意识到网络信息安全的重要性,这种迫切的需求吸引了越来越多的研究人员和机构致力于加密算法的研究和改进。现代密码学常用的分组加密算法和流加密算法其原理和结构通常是公开的,因此,加密算法的强度直接取决于密钥的强度,一个脆弱的密钥将使攻击者能够很容易破解加密算法。使用随机数发生器生成密钥,可以提高密钥的抗攻击能力。因此,研究如何生成高质量的随机数对密码学领域意义重大,在信息时代极具需求性。随机数分为真随机数和伪随机数。真随机数通常由真实的自然现象产生,如电子电路噪声、核衰变周期、量子现象等。但是由于产生设备复杂、操作困难、生成速度慢等原因,真随机数的采集异常困难,无法适应现代社会对大量、可复现、高质量的随机数的需求。伪随机数通常由特定的算法生成,理论上可被预测,但是一个设计良好的伪随机数发生器产生的序列具有足够大的周期,且能够通过各种随机数测试标准,破译需要消耗较大的时间和计算量,因此完全能够用于保密通信,数据加密等信息安全领域。混沌系统产生的序列天然的具有遍历性、伪随机性、初值极端敏感性等密码学特性,各种使用混沌系统的伪随机数发生器相继被提出,但是却普遍存在:数字化后混沌性能退化、设计复杂度高、生成速度慢、可移植性差、安全性能低等很多缺点。一维混沌系统Logistic(罗切斯特)系统构造简单,设计复杂度低,但是却具有非常复杂的动力学特性,受到了很多研究人员的关注,并且在伪随机数生成、图像加密、混沌保密通信等领域得到了广泛的研究,但是现有基于Logistic系统的伪随机数生成器大多是基于计算机仿真,无法运用到嵌入式、SoC(片上系统)设计等领域,同时其密钥空间小、有限精度退周期等缺点也无法保证其生成的伪随机序列的质量。因此,使用Logistic系统设计一种能够用于SoC、嵌入式等领域的高质量的混沌伪随机数发生器具有很强的现实意义与实际需求。

技术实现要素:
有鉴于此,本发明的目的在于提供一种混沌伪随机数发生器的电路结构,以克服上述现有技术存在的不足。为实现上述目的,本发明提供一种混沌伪随机数发生器电路结构,一种混沌伪随机数发生器电路,包括第一混沌源生成器、第二混沌源生成器、选择模块和序列生成模块;其中,所述的第一混沌源生成器,使用混沌系统产生第一路原始混沌序列;所述的第二混沌源生成器,使用混沌系统产生第二路原始混沌序列;所述的选择模块分别连接所述第一混沌源生成器和第二混沌源生成器对第一路原始混沌序列和第二路原始混沌序列进行选择,输出其中一路原始混沌序列;所述的序列生成模块与所述选择模块的输出连接,将所述的其中一路原始混沌序列量化为二进制伪随机序列。根据本发明的一种具体实施方案,所述的第一混沌源生成器和第二混沌源生成器采用IEEE754单精度浮点数算术标准。根据本发明的一种具体实施方案,所述的第一混沌源生成器和所述第二混沌源生成器混沌系统相同,混沌系统如下:其中,μ1为所述混沌系统的控制控制参数,当3.5699456<μ1≤4时所述混沌系统进入混沌状态,为所述混沌系统的输入值,为所述混沌系统的输出值。根据本发明的一种具体实施方案,所述的第一混沌源生成器和所述第二混沌源生成器混沌系统相同,混沌系统如下:xn+1=μ1×xn×(1-xn)其中,μ1为所述混沌系统的控制控制参数,当3.5699456<μ1≤4时所述混沌系统进入混沌状态,xn为所述混沌系统的输入值,xn+1为所述混沌系统的输出值。根据本发明的一种具体实施方案,所述第一混沌源生成器或者第二混沌源生成器电路系统相同,电路系统包括控制模块、第一乘法器模块、减法模块、第二乘法模块和第一赋值寄存器、第二赋值寄存器,所述控制模块用于读入混沌系统初始值,并设置xn等于该初始值;所述第一乘法模块与所述控制模块和所述赋值第一寄存器连接,所述第一乘法模块通过所述第一赋值寄存器赋值μ1,根据控制模块输入的初始值xn和第一赋值寄存器赋值μ1进行乘法计算,计算中间值μ1×xn;所述减法模块与所述控制模块和所述赋值第二赋值寄存器连接,进行减法计算,根据所述控制模块输入的初始值和第二赋值计算器赋值1,计算中间值1-xn;所述第二乘法模块分别与所述第一乘法模块和所述减法模块连接,将所述第一乘法模块和所述减法模块计算的中间值进行乘法计算,获得最终结果。根据本发明的一种具体实施方案,所述的选择模块包括选择信号发生器以及多路信号选择模块:所述多路信号选择模块的输入端分别连接所述第一混沌源生成器和第二混沌源生成器;所述的选择信号发生器连接至所述多路信号选择模块,为所述多路信号选择模块提供选择信号;所述多路信号选择模块的输出端连接所述序列生成模块。根据本发明的一种具体实施方案,所述的选择信号发生器为线性移位寄存器。根据本发明的一种具体实施方案,所述的序列生成模块采用比特抽取方法对原始混沌序列进行量化。本发明还提供一种混沌伪随机数发生器,包括权利要求以上一种所述的电路。本发明还提供一种片上系统或嵌入式系统,包含以上所述的混沌伪随机数发生器。通过上述技术方案,本发明的混沌伪随机数发生器及其电路结构的有益效果是:1、提出的一种新型混沌伪随机数发生器由五个基本模块构成,结构简单,同时第一混沌源发生器和第二混沌源发生器采用可复用设计,进一步减少了设计的复杂度;2、提出的一种新型混沌伪随机数发生器采用数字电路设计实现,遵循标准IP设计流程,可移植性强,可以很方便的复用到其它设计中;3、第一混沌源发生器和第二混沌源发生器采用IEEE754单精度浮点数算术标准进行设计,提高了运算的精度,扩大了单Logistic系统数字化后的周期长度,同时扩大了初始密钥;4、采用选择模块对两路混沌序列进行随机的选择,进一步改善了单Logistic混沌伪随机数发生器数字化后周期过短的现象,同时扩大了初始密钥;5、采用比特抽取量化方法对原始混沌序列进行量化,相比阈值量化方法,提高了伪随机序列的生成效率,同时提高了序列的随机性;6、本发明具有结构简单,密钥空间大,序列生成速度快等优点,能够用于SoC(片上系统)、嵌入式等领域的高质量的混沌伪随机数发生器。附图说明以下结合附图列举较佳实施例,用以对本发明的结构及功效进行详细说明,其中:图1为本发明的实施例1系统结构图;图2为图1所述系统结构图中的第一混沌源发生器2内部结构图;图3为图1所述系统结构图中的第二混沌源发生器3内部结构图;图4为图1所述系统结构图中的选择模块4内部结构图;图5为本发明实施例1选取一组初始密钥后部分信号的波形图,信号从上至下依次为:时钟信号、密钥1、密钥2、密钥3、输出伪随机序列;图6为本发明实施例1选取的两组不同密钥后的结果的自相关、互相关比较图;图7为本发明实施例1采用图5所示伪随机序列进行NIST随机数标准测试的结果示意图。具体实施方式本发明提供一种混沌伪随机数发生器电路,其中包括第一混沌源生成器2、第二混沌源生成器3、选择模块4和序列生成模块5;所述的第一混沌源生成器2,使用混沌系统产生第一路原始混沌序列;所述的第二混沌源生成器3,使用混沌系统产生第二路原始混沌序列;所述的选择模块4分别连接所述第一混沌源生成器2和第二混沌源生成器3对第一路原始混沌序列和第二路原始混沌序列进行选择,输出其中一路原始混沌序列;所述的序列生成模块5与所述选择模块4的输出相连,将所述的其中一路原始混沌序列量化为二进制伪随机序列。对于混沌源生成器的选择,优选的第一混沌源生成器和第二混沌源生成器采用IEEE754单精度浮点数算术标准。优选的所述的第一混沌源生成器和所述第二混沌源生成器混沌系统可以复用,所述混沌系统如下:xn+1=μ1×xn×(1-xn)其中,μ1为所述混沌系统的控制控制参数,当3.5699456<μ1≤4时所述混沌系统进入混沌状态,xn为所述混沌系统的输入值,xn+1为所述混沌系统的输出值。所述第一混沌源生成器或者第二混沌源生成器电路系统相同,电路系统包括控制模块、第一乘法器模块、减法模块、第二乘法模块和第一赋值寄存器、第二赋值寄存器,所述控制模块用于读入混沌系统初始值,并设置xn等于该初始值;所述第一乘法模块与所述控制模块和所述赋值第一寄存器连接,所述第一乘法模块通过所述第一赋值寄存器赋值μ1,根据控制模块输入的初始值xn和第一赋值寄存器赋值μ1进行乘法计算,计算中间值μ1×xn;所述减法模块与所述控制模块和所述赋值第二赋值寄存器连接,进行减法计算,根据所述控制模块输入的初始值和第二赋值计算器赋值1,计算中间值1-xn;所述第二乘法模块分别与所述第一乘法模块和所述减法模块连接,将所述第一乘法模块和所述减法模块计算的中间值进行乘法计算,获得最终结果。对于选择模块,优选的,所述选择模块包括选择信号发生器以及多路信号选择模块:所述多路信号选择模块的输入端分别连接所述第一混沌源生成器和第二混沌源生成器;所述的选择信号发生器连接至所述多路信号选择模块,为所述多路信号选择模块提供选择信号;所述多路信号选择模块的输出端连接所述序列生成模块。优选的,所述的选择信号发生器为线性移位寄存器。对于所述的序列生成模块,所述的序列生成模块采用比特抽取方法对原始混沌序列进行量化。为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号。且在附图中,以简化或是方便标示。再者,附图中未绘示或描述的实现方式,为所属技术领域中普通技术人员所知的形式。另外,虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是在可接受的误差容限或设计约束内近似于相应的值。实施例1请参阅图1所示,本发明提供一种新型混沌伪随机数发生器的电路结构,其系统结构包括:1、第一混沌源生成器2,与选择模块4相连,用于产生一路原始混沌序列。第二混沌源生成器3,与选择模块4相连,用于产生另一路原始混沌序列。选择模块4,与序列生成模块5相连,对输入的两路混沌序列进行选择,输出待量化的原始混沌序列。序列生成模块5,量化输入的原始混沌序列,输出伪随机序列。2、第一混沌源发生器2的使用的混沌系统如下所示:xn+1=μ1×xn×(1-xn)其中μ1为混沌系统的控制参数,当3.5699456<μ1≤4时系统进入混沌。混沌源发生器2的结构如图2所示,包括控制模块21、乘法模块22、减法模块23、乘法模块24、和两个赋值寄存器,其运算过程如下:(a)初始化,第一控制模块21读入系统初始值seed1,设置xn=seed1,设置第一乘法模块22的赋值寄存器μ1=4(单精度浮点数形式为40800000),设置第一减法模块23的赋值寄存器c1=1(单精度浮点数形式为3F800000)。(b)拉高使能信号,开始计算,第一控制模块21将xn分别输入第一乘法模块22和第一减法模块23。(c)第一乘法模块22计算中间值μ1×xn,第一减法模块23计算中间值1-xn,中间值的结果输入第二乘法模块24。(d)第二乘法模块24计算最终的结果,将计算结果xn+1分别输入第一控制模块21和选择模块4。(e)第一控制模块21读入xn+1的值,重新设置xn=xn+1。(f)如果使能信号一直拉高,则返回步骤(b),否则结束计算。3、第二混沌源发生器3的使用的混沌系统如下所示:xn+1=μ2×xn×(1-xn)其中μ2为混沌系统的控制参数,当3.5699456<μ2≤4时系统进入混沌。第二混沌源发生器3的结构如图3所示,包括第二控制模块31、第三乘法模块32、第二减法模块33、第四乘法模块34、和两个赋值寄存器,其运算过程如下:(a)初始化,第二控制模块31读入系统初始值seed2,设置xn=seed2,设置第三乘法模块32的赋值寄存器μ2=3.99(单精度浮点数形式为407F5C29),设置第二减法模块33的赋值寄存器c1=1(单精度浮点数形式为3F800000)。(b)拉高使能信号,开始计算,第二控制模块31将xn分别输入第三乘法模块32和第二减法模块33。(c)第三乘法模块32计算中间值μ2×xn,第二减法模块33计算中间值1-xn,中间值的结果输入第四乘法模块34。(d)第四乘法模块34计算最终的结果,将计算结果xn+1分别输入第二控制模块31和选择模块4。(e)第二控制模块31读入xn+1的值,重新设置xn=xn+1。(f)如果使能信号一直拉高,则返回步骤(b),否则结束计算。4、选择模块4的结构如图4所示,包括选择信号发生器41,以及多路信号选择模块42。选择信号发生器41采用32位线性移位寄存器,能够快速、持续的生成高质量的二进制序列。选择模块4的工作流程如下:(a)初始化,选择信号发生器41读入初始值seed3。(b)拉高使能信号,选择信号发生器41开始持续的生成二进制序列。(c)多路信号选择模块42读入混沌源发生器2和混沌源发生器3输入的混沌值,同时读入选择信号发生器41输入的选择信号。(d)如果选择信号为0,则设置输出混沌值Chaos=Chaos1;如果选择信号为1,则设置输出混沌值Chaos=Chaos2,并将结果输入序列生成模块5。(e)清空多路信号选择模块42内部寄存器,返回步骤(c)。5、序列生成模块5,与选择模块4相连,将原始混沌序列量化成二进制序列。序列生成模块5采用比特抽取量化的方法对原始混沌序列进行量化,故而一个混沌值可以产生多个比特的二进制序列,同时比特抽取量化的方法也能够极大的改善输出二进制序列的随机特性。检测实验检测实验1,为了验证本发明一种新型混沌伪随机数发生器的电路结构的功能,进行了如下的实验:随机选取一组初始密钥作为发生器的输入:密钥1(seed1)=0.1369,密钥2(seed2)=0.2957,密钥3(seed3)=8FEA74D1利用本发明进行运算,结果如图5所示,由图5结果可以看出,电路结构功能完全正确。检测实验2,为了验证本发明一种新型混沌伪随机数发生器的电路结构的性能,进行了如下的实验:令密钥1(seed1)=0.13691,密钥2(seed2)=0.2957,密钥3(seed3)=8FEA74D1,产生的结果与检测实验1的结果进行自相关和互相关计算,结果如图6所示,从图6的结果可以看出,序列的自相关系数除了在零点都趋近于0,因此无法通过之前的输出序列预测下一个序列的值;序列的互相关系数趋近于0,表明初始密钥即使发生微小的改变也会导致生成的序列完全不同,实验的结果表明本发明生成序列具有很强随机特性和很强的密钥敏感性。检测实验3,为了进一步验证本发明一种新型混沌伪随机数发生器的电路结构的性能,进行了如下的实验:对检测实验1中产生的伪随机序列进行NIST随机数标准测试,结果如图7所示,从图7的结果可以看出,各项测试的P值远大于NIST随机数测试标准中规定的最低可信值0.01,因此本发明产生的伪随机序列具有很好的随机特性。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1