基于四维离散超混沌系统的高速伪随机数生成器及其生成方法

未命名 09-03 阅读:85 评论:0


1.本发明属于通讯信息安全技术领域,涉及基于四维离散超混沌系统的高速伪随机数生成器。


背景技术:

2.在当今信息化时代的背景下,随机数在科学研究和日常生活中都有着重要应用。例如在天气预报领域常常需要有大量随机数输入用于实时数值模拟计算;游戏、人工智能等领域,需要不断更新随机数来控制实时系统演化。此外,在模拟和仿真领域中,随机数被用于准确预测和分析复杂系统的随机行为。因此,研究出能够高速产生随机数的随机数发生器具有重要应用价值。
3.目前,生成随机数的方法主要涵盖了算法生成伪随机数、利用物理熵源生成真随机数和利用混沌电路生成随机数等几种方法,尽管算法生成伪随机数和物理熵源生成真随机数方法具有可行性,但它们也存在着一些严重的限制,如受到平台局限、容易受到环境干扰以及高昂的成本等致命缺点,因此,本发明采用了混沌电路生成随机数的方法。混沌电路可以产生伪随机数,同时也有能力产生真随机数。然而,由于真随机数的产生速率较低且困难度较大,成本也较高,因此本发明选择了生成性能更高的伪随机数。这种方法生成速度快,同时具备可重复性和可再生性的特点。
4.随机数的生成速率和生成质量一直是对随机数发生器评价的核心指标。目前混沌电路伪随机数产生主要有以下研究方向和成果:首先,采用高维连续混沌模型的随机数发生器,硬件实现困难,资源消耗较大,且需要后处理来提高生成的随机数质量。然而,目前最高速率仅达到6.78gbps;其次,采用低维离散混沌模型的随机数发生器,硬件实现简单,但由于模型算法维数较低,电路输出通道数较少,单次产生的随机数序列较短,目前最高速率达到10.04gbps;最后,市面上成熟的伪随机生成器,例如美国安捷伦公司生产的伪随机数生成器,售价高达几十万,高昂的成本问题,令人望而却步。
5.综上所述,现有的混沌电路伪随机数生成器存在以下缺陷:1.低生成速率,随机数产生速率较低目前最高速率仅达10.04gbps;2. 高成本,目前市面上已成熟的伪随机数生成器价格均高达几十万。


技术实现要素:

6.本发明的目的在于针对现有背景技术现有混沌电路伪随机数生成器生成速率低,成本较高的问题,提供一种生成速率高且成本低廉的基于四维离散超混沌系统的高速伪随机数生成器。
7.为此,本发明采取如下技术方案:基于四维离散超混沌系统的高速伪随机数生成器,包括:输入模块,所述输入模块用于初始值的输入;
第一运算模块,所述第一运算模块与输入模块相连接,第一运算模块用于对部分初始值进行预处理处理和初始值之间进行相乘运算;第二运算模块,所述第二运算模块与输入模块相连接,第二运算模块用于对输入模块内的部分初始值与控制参数进行运算;第三运算模块,所述第三运算模块分别与第一运算模块、第二运算模块和输入模块相连接,所述第三运算模块用于第一运算模块、第二运算模块和输入模块输出的数据进行分割、相加和拼接处理;输出模块,所述输出模块与第三运算模块和输入模块相连接,输出模块用于对第三运算模块的数据进行处理以及数据的输出。
8.进一步地,所述第一运算模块包括用于将数值拆分的第一分割器,所述第一分割器连接有两个初始值相乘单元,所述初始值相乘单元包括第一乘法器、第二乘法器、第三乘法器和第四乘法器,所述第一乘法器连接有第一加法器,所述第一加法器连接有可执行向左移128位的第一移位器,所述第一移位器与第四乘法器相连接,所述第二乘法器连接有第二加法器,所述第二加法器与第三乘法器相连接,第二加法器还连接有可执行向左移64位的第二移位器,所述第二移位器与第一加法器相连接,所述第一加法器还连接有第五乘法器,所述第五乘法器连接有第一截取器,所述第一截取器用于截取运算结果的后256bit。
9.进一步地,第二运算模块包括第六乘法器和第七乘法器,所述第六乘法器可执行乘以α操作,所述第七乘法器可执行乘以μ操作,所述第六乘法器连接有第二截取器,所述第二截取器与第七乘法器相连接,所述第二截取器用于截取运算结果的后128bit。
10.进一步地,所述第三运算模块包括四个输出值运算单元,所述输出值运算单元包括第二分割器,所述第二分割器分别连接有第三加法器和拼接器,所述第三加法器与拼接器相连接,所述第三加法器连接有第四加法器,所述四加法器连接有取反器。
11.进一步地,所述输出模块可对第三运算模块的数据进行截取处理。
12.本发明还提供了基于四维离散超混沌系统的高速伪随机数生成方法,采用上述任意一项所述的基于四维离散超混沌系统的高速伪随机数生成器,包括以下步骤:1)建立四维离散超混沌模型:其中x,y,z,w是状态变量,α,β,γ,μ是系统控制参数,且α,β,γ,μ不能同时为0,所述控制参数的值为8bit,输入xn,yn,zn,wn的初始值,且初始值为128bit;进行xn*wn运算并对运算结果进行移位,取运算结果作为第五计算值,对第五计算值乘以β,然后截取结果的后256bit,作为第一计算值,进行zn*wn运算并对运算结果进行移位,取结果作为第六计算值,对第六计算值乘以γ,然后截取结果的后256bit,作为第二计算值;2)进行α*zn的运算,截取结果的后128bit,作为第三计算值,同时进行μ*yn的运算,截取结果的后128bit,作为第四计算值,3)将第一计算值分割为两部分,前128bit数为k1,后128bit数为k2,将k1+wn得到
k1

,将k1

和k2进行位拼接操作,得到256bit的第一输出值,所述第一输出值的前128bit作为y
n+1
并作为初始值输回输入模块,第一输出值前的192bit作为y随机数序列输出;将第二计算值分割为两部分,前128bit数为k3,后128bit数为k4,将k3-xn得到k3

,将k3

和k4进行位拼接操作,得到256bit的第二输出值,所述第二输出值的前128bit作为z
n+1
,并作为初始值输回输入模块,第二输出值前的192bit作为z随机数序列输出;将第六运算值分割为两部分,前128bit数为k5,后128bit数为k6,将第三计算值与k5相加得到k5

,将k5

和k6进行位拼接操作,得到256bit的第三输出值,所述第三输出值的前128bit作为x
n+1
并作为初始值输回输入模块,第三输出值前的192bit作为x随机数序列输出;将第五运算值每位取反后加1,然后分割为两部分,前128bit数为k7,后128bit数为k8,将第四计算值与k7相加得到k7

,将k7

和k8进行位拼接操作,得到256bit的第四输出值,所述第四输出值的前128bit作为w
n+1
并作为初始值输回输入模块,第四输出值前的192bit作为w随机数序列输出。
13.进一步地,所述初始值之间相乘,首先对两个初始值进行预处理是将两个128bit初始值分别分割为两个64bit的值a、b、c和d,然后按照以下公式计算:{a,b }*{c,d}=(ac《《128)+((ad+bc)《《64))+(b*d)。
14.进一步地,所述步骤3)中k3-xn运算,首先对xn中每位取反然后加1,然后与k3相加。
15.本发明的有益效果在于:(1)本发明提出了一种基于四维离散超混沌系统的全新伪随机数生成方法,通过引入高效的混沌模型算法,大大减小了计算量,使得fpga资源利用率降低到较低水平,从而提高了资源利用效率。
16.(2)采用本发明产生的伪随机数速率能达到12.8gbps,能够满足日常需求,并适用于企业和军事领域的高要求,这一速率超过现有伪随机数算法的实现能力。
17.(3)本发明在模型算法层面产生的随机数,在不使用线性移位或xor运算等后处理手段,即可呈现出足够高的随机特性。
18.(4)本发明仅依赖于fpga芯片来生成伪随机数,成本低廉。
附图说明
19.图1为本发明的数字电路总体结构示意图;图2为本发明第一运算模块中初始值运算单元的结构示意图;图3为本发明第二运算模块的结构示意图;图4为本发明第三运算模块中输出值运算单元的结构示意图;图5为本发明混沌算法模型的李雅普诺夫指数图。
具体实施方式
20.下面结合附图以及实施例对本发明做详细说明:实施例1如图1-3所示,基于四维离散超混沌系统的高速伪随机数生成器,本生成器基于fpga实现,包括:
输入模块,输入模块用于初始值的输入,本实施例中可通过输入模块输入xn,yn,zn,wn四个初始值,本实施例中初始值为128bit。
21.输入模块连接有第一运算模块,第一运算模块用于对部分初始值进行预处理和初始值之间进行相乘运算,具体地,第一运算模块包括第一分割器1,第一分割器1用于对数值进行预处理,预处理即对初始值进行拆分,将128bit的初始值分割为两个64bit数值(按照前64bit和后64bit进行拆分),以便于提高运算效率,第一分割器1即通过在fpga芯片内通过相应编程实现,第一分割器1分别连接有两组初始值相乘单元,初始值相乘单元包括第一乘法器2、第二乘法器3、第三乘法器4和第四乘法器5,第一乘法器2连接有第一加法器6,第一加法器6连接有可执行向左移128位的第一移位器7,第一移位器7与第四乘法器5相连接,第二乘法器3连接有第二加法器8,第二加法器8与第三乘法器4相连接,第二加法器8还连接有可执行向左移64位的第二移位器9,第二移位器9与第一加法器6相连接,第一加法器6还连接有第五乘法器10,第一运算模块中的两组初始值相乘单元可同时对xn和wn之间进行相乘,以及zn和wn之间进行相乘,相乘后的值可直接输出,或通过第五乘法器9对相乘结果添加系统控制参数,即进行β*xn* wn操作以及γ*zn*wn操作,第五乘法器9还连接有第一截取器18,第一截取器18用于截取γ*zn*wn或β*xn* wn运算结果的后256bit,第一截取器18可通过在fpga芯片内编程实现。
22.输入模块还连接有第二运算模块,第二运算模块用于对输入模块内的部分初始值与控制参数进行相乘运算,第二运算模块包括第六乘法器11和第七乘法器12,第六乘法器11可执行zn乘以α操作,第七乘法器12可执行yn乘以μ操作,第六乘法器11连接有第二截取器19,第二截取器19可截取运算结果的后128 bit,即用于截取α*zn运算结果的后128bit以及μ*yn运算结果的后128bit。
23.第一运算模块连接有第三运算模块,同时第三运算模块同时还与第二运算模块和输入模块相连接,第三运算模块用于对第一运算模、第二运算模块和输入模块内的数据进行分割、相加和拼接处理运算,具体地,第三运算模块包括四个输出值运算单元,分别对应xn,yn,zn,wn,每个输出值运算单元包括第二分割器13,第二分割器13分别连接有第三加法器14和拼接器15,拼接器15用于将两个数值进行拼接,具体地,在本实施例中可将两个128bit的数值拼接成一个256bit的数值,拼接器15同样在fpga芯片内通过相应编程实现,第三加法器14与拼接器15相连接,第三加法器15连接有可执行加1操作的第四加法器16,四加法器16连接有取反器17,若需要进行相减操作时,可通过取反器17和第四加法器16改变数值的符号,以便于和第三加法器14进行相减操作。
24.第三运算模块连接有输出模块,输出模块还与输入模块相连接,输出模块可对数据进行截取,截取的功能与截取器一致,将截取后的数据输出,并将数据输回至输入模块,输回的数据重新作为初始值进行迭代运算。
25.本生成器在fpga平台上对上述设计电路进行实现,选用fpga型号为xilinx artix-7 xc7a100tfgg484-2,将fpga开发板连接电脑,进行fpga板上实际验证,进行时序分析,电路的最高运行频率为50.05mhz,相应的吞吐率约为12.81gbps,这一性能水平足以满足日常需求,并且适用于对企业和军事领域提出更高要求的应用场景,远超过了现有伪随机数算法所能达到的速率,采用本发明所产生的伪随机数序列,具备极高的复杂度。
26.本发明在选用的fpga平台上主要资源占有率也呈现较低的水平,如表1所示:
表1 选用的fpga平台上主要资源占用率表:实施例2本发明还提供了一种基于四维离散超混沌系统的高速伪随机数生成方法,采用上述任意一项基于四维离散超混沌系统的高速伪随机数生成器,包括以下步骤:(1)建立四维离散超混沌模型:其中x,y,z,w是状态变量,α,β,γ,μ是系统控制参数,且α,β,γ,μ不能同时为0,所述控制参数的值为8bit,输入xn,yn,zn,wn的初始值,初始值为128bit。
27.该模型算法在四个维度上不同参数变化下的李雅普诺夫指数如图4所示,与传统的混沌系统相比,该模型有四个李雅普诺夫指数,这显示更复杂的动力学特性,此外,该模型使用简单的乘或加减运算,没有复杂的函数,计算效率较高,这在硬件上实现具有显著的优势。
28.其次,对上述模型算法的fpga电路设计,当混沌系统由硬件实现时,由于有限精度效应,会导致混沌特性的退化,因此本发明在电路设计中采用128bit定点数设计,以保证足够的计算精度,有效抑制混沌退化,同时,该设计还可以提高输出带宽,增加吞吐量,提升密钥空间。
29.从该混沌模型的李雅普诺夫指数分布可知,控制参数越大,李雅普诺夫指数越高,非线性特性越好,本实施例中设置α=24,β=23,γ=22,μ=21,使电路输出随机数具有较好的随机特性,对于mod运算,只需截取掉运算过程中的整数位,保留小数位即可。
30.首先将四个初始值xn,yn,zn,wn全部输入至输入模块内,然后通过第一运算模块进行β*xn*wn和γ* zn*wn,其中一个初始值相乘单元进行β*xn*wn运算,另一个初始值相乘单元进行γ* zn*wn运算,使得β*xn*wn和γ* zn*wn的运算可同时进行,确保运行效率,运算后通过第一截取器18截取结果的后256bit输出至下一运算模块。
31.以β*xn*wn的运算举例,首先在进行xn*wn运算时,通过第一分割器1将两个128bit初始值xn和wn,分别分割为两个64bit的数,a、b、c和d,本实施中将xn分割为a和b(xn的前64bit为a、后64bit为b),wn分割为c和d(分割方式与xn相同),然后按照以下公式计算:{a,b }*{c,d}=(ac《《128)+((ad+bc)《《64))+(bd)具体地,是第四乘法器进行ac的相乘,然后通过第一移位器记性移位,得出(ac《《128),同时通过第一乘法器进行bd的相乘,得到bd,将ad通过第二乘法器相乘,然后将bc通过第三乘法器相乘,将ad和bc通过第二加法器8相加,然后通过第二移位器进行移位,得出(ad+bc)《《64),最后通过第一加法器6将(ac《《128)、(ad+bc)《《64)和bd的结果全部相加,完
成xn和wn的相乘运算。
32.计算完成后将结果乘以β,然后通过第一截取器18截取结果的后256bit,作为第一计算值,同时进行γ* zn*wn运算,其中zn*wn的运算方法与xn*wn相同,然后通过第一截取器18截取运算结果的后256bit,作为第二计算值,将之前进行xn*wn运算的结果作为第五计算值, zn*wn的运算结果作为第六计算值,将第一计算值、第二计算值、第五计算值和第六计算值输入至第三运算模块内。
33.(2)在第二运算模块内通过第六乘法器11进行α*zn的运算,然后通过第二截取器19截取结果的后128bit,作为第三计算值,同时通过第七乘法器12进行μ*yn的运算,然后通过第二截取器19截取结果的后128bit,作为第四计算值,然后将第三计算值和第四计算值输入至第三运算模块内,与此同时将输入模块内的zn和wn直接输送至第三运算模块内。
34.(3)在第三运算模块内,将第一运算模块的第一计算值通过其中一个输出至运算单元的第二分割器13分割为两部分,前128bit为k1,后128bit为k2,将k1与输入模块输入的wn通过第三加法器14相加得到k1

,将k1

和k2通过拼接器15进行位拼接操作,得到256bit的第一输出值,然后将第一输出值输入至输出模块,将第一输出值的前128bit作为y
n+1
,将y
n+1
作为初始值输回输入模块进行迭达运算,第一输出值前的192bit作为y随机数序列输出。
35.将第二计算值分割为两部分,前128bit数为k3,后128bit数为k4,将k3-xn得到k3

,具体地k3-xn运算中,首先对xn中每位取反然后加1(即得到-xn),进而实现k3-xn操作,然后与k3相加,然后将k3

和k4进行位拼接操作,得到256bit的第二输出值,将第二输出值输入至输出模块,在输出模块中,截取第二输出值的前128bit作为z
n+1
,将z
n+1
作为初始值输回输入模块进行迭达运算,截取第二输出值前的192bit作为z随机数序列输出。
36.将第六运算值分割为两部分,前128bit数为k5,后128bit数为k6,将第三计算值与k5相加得到k5

,将k5

和k6进行位拼接操作,得到256bit的第三输出值,将第三输出值输入至输出模块中,截取第三输出值的前128bit作为x
n+1
,将x
n+1
作为初始值输回输入模块作为初始值进行迭代运算,第三输出值前的192bit作为x随机数序列输出;将第五运算值每位通过取反器17取反,然后通过第四加法器16加1,即将第五运算值的符号变为负号,然后分割为两部分,前128bit数为k7,后128bit数为k8,将第四计算值与k7相加得到k7

,将k7

和k8进行位拼接操作,得到256bit的第四输出值,所述第四输出值的前128bit作为w
n+1
,将w
n+1
作为初始值输回输入模块,第四输出值前的192bit作为w随机数序列输出。
37.上述第一计算值、第二计算值、第六运算值和第五运算值的运算是在同时进行,x、y、z和w的随机数序列也同时输出。

技术特征:
1.基于四维离散超混沌系统的高速伪随机数生成器,其特征在于,包括:输入模块,所述输入模块用于初始值的输入;第一运算模块,所述第一运算模块与输入模块相连接,第一运算模块用于对部分初始值进行预处理处理和初始值之间进行相乘运算;第二运算模块,所述第二运算模块与输入模块相连接,第二运算模块用于对输入模块内的部分初始值与控制参数进行运算;第三运算模块,所述第三运算模块分别与第一运算模块、第二运算模块和输入模块相连接,所述第三运算模块用于第一运算模块、第二运算模块和输入模块输出的数据进行分割、相加和拼接处理;输出模块,所述输出模块与第三运算模块和输入模块相连接,输出模块用于对第三运算模块的数据进行处理以及数据的输出。2.根据权利要求1所述的基于四维离散超混沌系统的高速伪随机数生成器,其特征在于,所述第一运算模块包括用于将数值拆分的第一分割器,所述第一分割器连接有两个初始值相乘单元,所述初始值相乘单元包括第一乘法器、第二乘法器、第三乘法器和第四乘法器,所述第一乘法器连接有第一加法器,所述第一加法器连接有可执行向左移128位的第一移位器,所述第一移位器与第四乘法器相连接,所述第二乘法器连接有第二加法器,所述第二加法器与第三乘法器相连接,第二加法器还连接有可执行向左移64位的第二移位器,所述第二移位器与第一加法器相连接,所述第一加法器还连接有第五乘法器,所述第五乘法器连接有第一截取器,所述第一截取器用于截取运算结果的后256bit。3.根据权利要求1所述的基于四维离散超混沌系统的高速伪随机数生成器,其特征在于,第二运算模块包括第六乘法器和第七乘法器,所述第六乘法器可执行乘以α操作,所述第七乘法器可执行乘以μ操作,所述第六乘法器连接有第二截取器,所述第二截取器与第七乘法器相连接,所述第二截取器用于截取运算结果的后128bit。4.根据权利要求1所述的基于四维离散超混沌系统的高速伪随机数生成器,其特征在于,所述第三运算模块包括四个输出值运算单元,所述输出值运算单元包括第二分割器,所述第二分割器分别连接有第三加法器和拼接器,所述第三加法器与拼接器相连接,所述第三加法器连接有第四加法器,所述四加法器连接有取反器。5.根据权利要求1所述的基于四维离散超混沌系统的高速伪随机数生成器,其特征在于,所述输出模块可对第三运算模块输出的数据进行截取处理。6.基于四维离散超混沌系统的高速伪随机数生成方法,采用上述权利要求1-5任意一项所述的基于四维离散超混沌系统的高速伪随机数生成器,其特征在于,包括以下步骤:建立四维离散超混沌模型:其中x,y,z,w是状态变量,α,β,γ,μ是系统控制参数,且α,β,γ,μ不能同时为0,所述控制参数的值为8bit,输入x
n
,y
n
,z
n
,w
n
的初始值,且初始值为128bit;进行x
n
*w
n
运算并取运算结果作为第五计算值,对第五计算值乘以β,然后截取结果的后
256bit,作为第一计算值,进行z
n *w
n
运算并取运算结果作为第六计算值,对第六计算值乘以γ,然后截取结果的后256bit,作为第二计算值;2)进行α*z
n
的运算,截取结果的后128bit,作为第三计算值,同时进行μ*y
n
的运算,截取结果的后128bit,作为第四计算值,3)将第一计算值分割为两部分,前128bit数为k1,后128bit数为k2,将k1+w
n
得到k1

,将k1

和k2进行位拼接操作,得到256bit的第一输出值,所述第一输出值的前128bit作为y
n+1
并作为初始值输回输入模块,第一输出值前的192bit作为y随机数序列输出;将第二计算值分割为两部分,前128bit数为k3,后128bit数为k4,将k3-x
n
得到k3

,将k3

和k4进行位拼接操作,得到256bit的第二输出值,所述第二输出值的前128bit作为z
n+1
,并作为初始值输回输入模块,第二输出值前的192bit作为z随机数序列输出;将第六运算值分割为两部分,前128bit数为k5,后128bit数为k6,将第三计算值与k5相加得到k5

,将k5

和k6进行位拼接操作,得到256bit的第三输出值,所述第三输出值的前128bit作为x
n+1
并作为初始值输回输入模块,第三输出值前的192bit作为x随机数序列输出;将第五运算值每位取反后加1,然后分割为两部分,前128bit数为k7,后128bit数为k8,将第四计算值与k7相加得到k7

,将k7

和k8进行位拼接操作,得到256bit的第四输出值,所述第四输出值的前128bit作为w
n+1
并作为初始值输回输入模块,第四输出值前的192bit作为w随机数序列输出。7.根据权利要求6所述的基于四维离散超混沌系统的高速伪随机数生成方法,其特征在于,所述初始值之间相乘,首先对两个初始值进行预处理是将两个128bit初始值分别分割为两个64bit的值a、b、c和d,然后按照以下公式计算:{a,b }*{c,d}=(ac<<128)+((ad+bc)<<64))+(b*d)。8.根据权利要求6所述的基于四维离散超混沌系统的高速伪随机数生成方法,其特征在于,所述步骤3)中k3-x
n
运算,首先对x
n
中每位取反然后加1,然后与k3相加。

技术总结
本发明提供了基于四维离散超混沌系统的高速伪随机数生成器及其生成方法,伪随机数生成器包括输入模块、输出模块以及多个运算和多个寄存单元,通过引入高效的混沌模型算法,大大减小了计算量,使得FPGA资源利用率降低到较低水平,从而提高了资源利用效率;采用本发明产生的伪随机数速率能达到12.8Gbps,能够满足日常需求,并适用于企业和军事领域的高要求,这一速率超过现有伪随机数算法的实现能力。这一速率超过现有伪随机数算法的实现能力。这一速率超过现有伪随机数算法的实现能力。


技术研发人员:李守亮 吴烨 刘胤哲 杨臻 沈玉琳 张其斌
受保护的技术使用者:兰州大学
技术研发日:2023.06.20
技术公布日:2023/8/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐