一种混沌随机数发生器及发生方法与流程

文档序号:11828758阅读:380来源:国知局
一种混沌随机数发生器及发生方法与流程
本发明涉及集成电路的信息安全
技术领域
,具体地,涉及一种混沌随机数发生器及发生方法。
背景技术
:随机数发生器在信息安全、计算机、雷达、遥测遥控、数字通信以及码分多址系统等重要
技术领域
中具有广泛的应用,是国家科技与信息安全战略的一项极其重要的基础研究。当今主流的随机数发生器主要分为:(1)热噪声随机数发生器;(2)振荡频率采样随机数发生器;(3)离散时间混沌系统随机数发生器。混沌是自然界中非线性确定系统的一种内在随机过程的表现,由于混沌动力系统对初始条件和混沌参数的极端敏感性,而能产生大量的非周期、连续宽带频谱、似噪声且确定可再生的混沌信号,因而特别适用于随机数发生器的研究。加之相空间重构、吸引子关联维计算、Lyapunov指数计算,KoImogorov熵计算等思想方法深入地研究了混沌理论的本质,使混沌理论逐步迈向成熟,而基于混沌的随机数发生器由于电路结构简单、面积小、功耗低等优势,已逐渐受到业界越来越广泛的应用研究。混沌系统与生俱来有非线性、遍历性、初值敏感性、类噪声性、最终不可预测住等特性,它大体有两类:以状态方程描述的离散时间系统和以微分方程描述的连续时间系统。对于离散时间混沌动力系统,满足以下方程:Xn+1=f(Xn)Xn+1,Xn∈S⊆R,]]>f是一个从S→S的混沌映射状态,用Xn表示经过n次代入后的系统状态;Xn和Xn+1都是上述方程中可以取值的点,S是所有满足方程的点构成的集合,R是实数集合。整个混沌系统内部并不生成新的信息,其演化结果完全决定于 系统的初值,即基于X1条件的Xn的信息熵:H(Xn|X1)=0,把S分成m个相互不相交的状态:β={C1,C2,…,Cm},其中,C1,…,Cm的并集形成对S的一个覆盖。Xn序列分别落在β划分的各区域内,形成了由m进制数构成的数字随机数序列Cm,该序列的每一位数字都携带了相对于一个确定的初始状态的附加信息,因此将确定性的混沌系统通过对状态空间的划分,转化成一个信息源与香农的确定性系统不产生信息论断相矛盾。产生函数f的最大变化的区间被称为生成划分,确定初始状态所需的序列长度为无穷大,那么生成序列的随机性周期也无限长。所以,如何在混沌状态中确定一个生成非记忆离散信息源的生成划分,是获得随机数序列的问题所在。综上所述,确定一个非记忆离散信息源必须具备:函数映射f必须是混沌表达式,产生一个混沌系统的状态空间;在该状态空间上需找到一个生成划分。混沌系统保证了哪怕再小的测量偏差,都会使Xn序列轨道产生巨大偏差,即无法通过将X1迭代计算出随机数序列,从理论上保证了序列不可预测性和随机性。结合实际需求,采用分段线性混沌映射函数实现f,现有的混沌随机数多数都是基于两段式分段函数作为混沌映射函数,其状态空间划分为β={[-A,0),[0,A]},是一个生成划分,产生一个二进制的非记忆离散信息源,其混沌映射函数如下:X[n+1]=A×X[n]+B-C≤X[n]<0X[n+1]=A×X[n]-B0≤X[n]≤C]]>X[n]代表第n次迭代值,X[n+1]代表第n+1次迭代值,通过对X[n]符号的判断产生最终的0、1随机数序列;当X[n]取值介于-C和0之间,输出0;反之输出1。参数A决定了所产生的X[n]序列的动态特性,B是一个偏移标量参数。现有基于两段式分段函数的混沌随机数发生器,实现电路的稳定性较差, 实现方程系数A约束较大,容易使混沌系统进入饱和,严重影响输出序列的随机性。技术实现要素:为了解决现有技术中存在的混沌随机数发生器实现电路稳定性差的问题,本发明提出了一种混沌随机数发生器及发生方法。本发明的混沌随机数发生器包括:溢出检测电路、乘法器、加法器、多路选择器、基准源、判决电路以及编码器,所述溢出检测电路用于接收模拟信号N,检测所述模拟信号N是否溢出并根据检测结果输出模拟信号X;所述乘法器用于对所述X进行乘法运算,输出模拟信号M=A*X,其中A为三段式混沌随机数方程的一次项系数;所述加法器用于对所述M与所述多路选择器输出的模拟信号L进行加和得到输出模拟信号N=M+L,将所述N发送到所述溢出检测电路进行迭代操作,并将N发送到所述判决电路;所述判决电路用于对所述N与所述基准源提供的参考电压信号Vref1、Vref2进行比较,并根据比较结果向所述编码器输出判决信号Z;所述多路选择器用于根据所述判决电路的比较结果和所述三段式混沌随机数方程确定所述L的值,并将所述L发送到所述加法器;所述编码器用于根据所述Z进行随机数统计特性优化,生成混沌随机数序列Y。在上述技术方案中,所述三段式混沌随机数方程为:X[n+1]=A×X[n]+B-1<X[n]<-CX[n+1]=A×X[n]-C<X[n]<CX[n+1]=A×X[n]-BC<X[n]<1,]]>其中,X[n]为三段式混沌随机数方程对模拟信号N的第n次迭代幅值,X[n+1]为三段式混沌随机数方程对模拟信号N的第n+1次迭代幅值,A为三段式随机数方程的一次项系数,0<A<2,B为三段式随机数方程的常数,C用于对三段式混沌随机数方程的状态空间进行划分,C<1。在上述技术方案中,所述溢出检测电路具体用于,接收模拟信号N,检测所述N是否溢出,如果溢出则对N进行限幅操作:当模拟信号N的幅值大于等于1时,则输出模拟信号X的幅值为1,当模拟信号N小于等于-1时,则输出模拟信号X的幅值为-1;如果没有溢出则输出模拟信号X的幅值为N。在上述技术方案中,所述判决电路具体用于,将所述加法器输出的模拟 信号N和所述基准源提供的参考电源Vref1和Vref2进行比较判断,其中,Vref1取值为-C,Vref2取值为C:当模拟信号N的幅值介于-1和-C之间时,输出判决信号Z=二进制00;当模拟信号N的幅值介于-C和C之间时,输出判决信号Z=二进制10;当模拟信号N的幅值介于C和1之间时,输出判决信号Z=二进制11。在上述技术方案中,所述多路选择器具体用于,当模拟信号N的幅值介于-1和-C之间时,输出模拟信号L为参考电压信号V3,其中V3的取值为B,并将所述L发送到所述加法器;当模拟信号N的幅值介于-C和C之间时,输出模拟信号L为参考电压信号V2,其中V2的取值为0,并将所述L发送到所述加法器;当模拟信号N的幅值介于C和1之间时,输出模拟信号L为参考电压信号V1,其中V1的取值为-B,并将所述L发送到所述加法器。本发明的混沌随机数发生方法包括:溢出检测电路接收模拟信号N,检测所述模拟信号N是否溢出并根据检测结果输出模拟信号X;乘法器对所述X进行乘法运算,输出模拟信号M=A*X,其中A为三段式混沌随机数方程的一次项系数;加法器对所述M与所述多路选择器输出的模拟信号L进行加和得到输出模拟信号N=M+L,将所述N发送到所述溢出检测电路进行迭代操作,并将N发送到所述判决电路;判决电路对所述N与所述基准源提供的参考电压信号Vref1、Vref2进行比较,并根据比较结果向所述编码器输出判决信号Z;多路选择器根据所述判决电路的比较结果和所述三段式混沌随机数方程确定所述L的值,并将所述L发送到所述加法器;编码器根据所述Z进行随机数统计特性优化,生成混沌随机数序列Y。在上述技术方案中,所述三段式混沌随机数方程为:X[n+1]=A×X[n]+B-1<X[n]<-CX[n+1]=A×X[n]-C<X[n]<CX[n+1]=A×X[n]-BC<X[n]<1,]]>其中,X[n]为三段式混沌随机数方程对模拟信号N的第n次迭代幅值,X[n+1]为三段式混沌随机数方程对模拟信号N的第n+1次迭代幅值,A为三段式随机数方程的一次项系数,0<A<2,B为三段式随机数方程的常数,C用于对三段式混沌随机数方程的状态空间进行划分,C<1。在上述技术方案中,所述溢出检测电路接收模拟信号N,检测所述模拟信号N是否溢出并根据检测结果输出模拟信号X的步骤具体包括:接收模拟信 号N,检测所述N是否溢出,如果溢出则对N进行限幅操作:当模拟信号N的幅值大于等于1时,则输出模拟信号X的幅值为1,当模拟信号N小于等于-1时,则输出模拟信号X的幅值为-1;如果没有溢出则输出模拟信号X的幅值为N。在上述技术方案中,所述判决电路对所述N与所述基准源提供的参考电压信号Vref1、Vref2进行比较,并根据比较结果向所述编码器输出判决信号Z的步骤具体包括:将所述加法器输出的模拟信号N和所述基准源提供的参考电源Vref1和Vref2进行比较判断,其中,Vref1取值为-C,Vref2取值为C:当模拟信号N的幅值介于-1和-C之间时,输出判决信号Z=二进制00;当模拟信号N的幅值介于-C和C之间时,输出判决信号Z=二进制10;当模拟信号N的幅值介于C和1之间时,输出判决信号Z=二进制11。在上述技术方案中,多路选择器根据所述判决电路的比较结果和所述三段式混沌随机数方程确定所述L的值,并将所述L发送到所述加法器的步骤具体包括:当模拟信号N的幅值介于-1和-C之间时,输出模拟信号L为参考电压信号V3,其中V3的取值为B,并将所述L发送到所述加法器;当模拟信号N的幅值介于-C和C之间时,输出模拟信号L为参考电压信号V2,其中V2的取值为0,并将所述L发送到所述加法器;当模拟信号N的幅值介于C和1之间时,输出模拟信号L为参考电压信号V1,其中V1的取值为-B,并将所述L发送到所述加法器。本发明的混沌随机发生器及发生方法,与现有技术中基于两段式分段函数的混沌随机数发生器和发生方法相比,采用了基于三段式分段函数的混沌随机数方程,用模拟电路实现高速真随机数发生器,由溢出检测电路、乘法器、加法器、多路选择器、基准源、判决电路和编码器共同构成,可以获得高速、高质量的真随机数,可广泛应用于数据加密等信息安全领域。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。附图说明附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:图1为本发明的混沌随机数发生器的结构示意图;图2为本发明的混沌随机数发生方法的工作流程图。具体实施方式下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。为了解决现有技术中存在的混沌随机数发生器实现电路稳定性差的问题,本发明提出了一种混沌随机数发生器及发生方法。本发明提出的混沌随机数发生器,主要特点是可靠性高,电路实现简单,稳定性好,一定程度上降低了混沌系统进入饱和的概率,提高了随机数发生器输出随机序列的质量和效率。它的工作原理主要包括两部分:混沌随机数方程的提出和验证、混沌随机数发生器的电路实现。本发明提出的三段式分段函数的混沌随机数方程如下:X[n+1]=A×X[n]+B-1<X[n]<-CX[n+1]=A×X[n]-C<X[n]<CX[n+1]=A×X[n]-BC<X[n]<1---(1)]]>其中,X[n]为三段式混沌随机数方程对模拟信号N的第n次迭代幅值,X[n+1]为三段式混沌随机数方程对模拟信号N的第n+1次迭代幅值,A为三段式随机数方程的一次项系数,0<A<2,B为三段式随机数方程的常数,C用于对三段式混沌随机数方程的状态空间进行划分,C<1。如果需要使上面的表达式的输出满足随机数要求,需要X[n]在边界条件时X[n+1]不超出式(1)的取值范围。带入边界条件:-1<-A+B<1-1<-C×A+B<1-1<-C×A<1-1<C×A<1-1<C×A-B<1-1<A-B<1---(2)]]>合并相同的式子:-1<C×A<1-1<C×A-B<1-1<A-B<1---(3)]]>由于C<1,故:C×A<1C×A-B>-1A-B<1---(4).]]>使用MATLAB程序对上述三段式函数方程建模仿真验证,结合上述混沌函数的参数选择条件及电路实现难度,确定出A,B,C的取值,A的取值必须小于2。MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。实施例一如图1所示,为本发明的混沌随机数发生器的结构示意图,其中各个组成部分的物理/逻辑连接关系及模拟信号流向如图1所示。该混沌随机数发生器包括:检测电路I1、乘法器I2、加法器I3、多路选择器I4、基准源I5、判决电路I6和编码器I7,其中基准源I5可和SOC芯片(SOC,SystemonChip的缩写,芯片级系统,是一个有专用目标的集成电路)等其它模块共用。本发明实施例的混沌随机数发生器整体电路工作在闭环情况下,电路工作流程如下:模拟信号N进入溢出检测电路I1,检测所述模拟信号N是否溢出并根据检测结果输出模拟信号X;具体的,如果溢出则对模拟信号N进行限制:当模拟信号N的幅值大于等于1(即式(1)中X[n]的取值上限),则输出模拟信号X的幅值为1;当模拟信号N的幅值小于等于-1(即式(1)中X[n]的取值下限),则输出模拟信号X的幅值为-1;如果没有溢出则输出模拟信号X的幅值为N。乘法器I2对限幅后的模拟信号X进行乘法运算,输出模拟信号M=A*X, 其中A为三段式混沌随机数方程的一次项系数;加法器I3对乘法器I2输出的模拟信号M和多路选择器I4输出的模拟信号L进行加和,得到输出模拟信号N=M+L,将所述N发送到所述溢出检测电路进行迭代操作,并将N发送到所述判决电路I6;判决电路I6对加法器I3的输出模拟信号N和基准源I5提供的参考电源Vref1和Vref2进行比较判断(本发明实施例中Vref1取值为-C,Vref2取值为C),并根据比较结果向所述编码器输出判决信号Z,具体的:当模拟信号N的幅值介于-1和-C之间,输出判决信号Z=二进制00;当模拟信号N的幅值介于-C和C之间,输出判决信号Z=二进制10;当模拟信号N的幅值介于C和1之间,输出判决信号Z=二进制11;多路选择器I4用于根据所述判决电路I6的比较结果和所述三段式混沌随机数方程确定所述L的值,并将所述L发送到所述加法器I3;具体的,当模拟信号N的幅值介于-1和-C之间时,输出模拟信号L为参考电压信号V3,其中V3的取值为B,并将所述L发送到所述加法器;当模拟信号N的幅值介于-C和C之间时,输出模拟信号L为参考电压信号V2,其中V2的取值为0,并将所述L发送到所述加法器;当模拟信号N的幅值介于C和1之间时,输出模拟信号L为参考电压信号V1,其中V1的取值为-B,并将所述L发送到所述加法器。参考电压信号V1、V2、V3由基准源I5提供。基准源I5用于向多路选择器I4提供参考电压信号V1、V2、V3,以及向判决电路I6提供电源电压Vref1和Vref2。编码器I7基于判决电路I6的比较结果,对输出数字信号Z进行随机数统计特性优化,产生随机序列Y;本发明的混沌随机发生器,与现有技术中基于两段式分段函数的混沌随机数发生器相比,采用了基于三段式分段函数的混沌随机数方程,用模拟电路实现高速真随机数发生器,由溢出检测电路、乘法器、加法器、多路选择器、基准源、判决电路和编码器共同构成,可以获得高速、高质量的真随机数,可广泛应用于数据加密等信息安全领域。实施例二如图2所示,为本发明实施例的混沌随机数发生方法的工作流程图,该方法主要依靠混沌随机数发生器实现,该混沌随机数发生器的结构以及信号流向参见实施例一及附图1。该方法包括:步骤S:201:溢出检测电路接收模拟信号N,检测所述模拟信号N是否溢出并根据检测结果输出模拟信号X;并将输出模拟信号N传送到乘法器。具体的,溢出检测电路接收模拟信号N,检测所述N是否溢出(本实施例中溢出是指在三段式混沌随机数方程中N的幅值大于等于1或小于等于-1),如果溢出则对N进行限幅操作:当模拟信号N的幅值大于等于1时,则输出模拟信号X的幅值为1,当模拟信号N小于等于-1时,则输出模拟信号X的幅值为-1;如果没有溢出则输出模拟信号X的幅值为N。步骤S202:乘法器对所述X进行乘法运算,输出模拟信号M=A*X,其中A为三段式混沌随机数方程的一次项系数;并将输出模拟信号M传送到加法器。步骤S203:加法器对所述M与所述多路选择器输出的模拟信号L进行加和得到输出模拟信号N=M+L,将所述N发送到所述溢出检测电路进行迭代操作,并将N发送到所述判决电路;步骤S204:判决电路对所述N与所述基准源提供的参考电压信号Vref1、Vref2进行比较,并根据比较结果向所述编码器输出判决信号Z;具体的,判决电路将所述加法器输出的模拟信号N和所述基准源提供的参考电源Vref1和Vref2进行比较判断,其中,Vref1取值为-C,Vref2取值为C:当模拟信号N的幅值介于-1和-C之间时,输出判决信号Z=二进制00;当模拟信号N的幅值介于-C和C之间时,输出判决信号Z=二进制10;当模拟信号N的幅值介于C和1之间时,输出判决信号Z=二进制11。步骤S205:多路选择器根据所述判决电路的比较结果和所述三段式混沌随机数方程确定所述L的值,并将所述L发送到所述加法器;具体的,当模拟信号N的幅值介于-1和-C之间时,输出模拟信号L为参考电压信号V3,其中V3的取值为B,并将所述L发送到所述加法器;当模拟信号N的幅值介于-C和C之间时,输出模拟信号L为参考电压信号V2,其中V2的取值为0,并将所述L发送到所述加法器;当模拟信号N的幅值介于C和1之间时,输出模拟信号L为参考电压信号V1,其中V1的取值为-B,并将所述L发送到所述加法器。步骤S206:编码器根据所述Z进行随机数统计特性优化,生成混沌随机数序列Y。本发明的混沌随机发生方法,与现有技术中基于两段式分段函数的混沌随机数发生方法相比,采用了基于三段式分段函数的混沌随机数方程,用模拟电路实现高速真随机数发生器,由溢出检测电路、乘法器、加法器、多路选择器、基准源、判决电路和编码器共同构成,可以获得高速、高质量的真随机数,可广泛应用于数据加密等信息安全领域。本发明能有多种不同形式的具体实施方式,上面以图1-图2为例结合附图对本发明的技术方案作举例说明,这并不意味着本发明所应用的具体实例只能局限在特定的流程或实施例结构中,本领域的普通技术人员应当了解,上文所提供的具体实施方案只是多种优选用法中的一些示例,任何体现本发明权利要求的实施方式均应在本发明技术方案所要求保护的范围之内。最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1