基于分数阶混沌和祖冲之算法的伪随机数发生器的FPGA设计制造技术

技术编号:20654913 阅读:23 留言:0更新日期:2019-03-23 06:40
本发明专利技术提出了一种基于分数阶混沌和祖冲之算法的伪随机数发生器的FPGA设计。首先为了使分数阶混沌系统的动力学特性更加复杂,从而产生具有更高的复杂性和随机性的序列,本发明专利技术设计了一个新的四维多翼的分数阶混沌系统。其次由于目前分数阶混沌系统的FPGA实现大多采用Bode图频域近似法,实现的系统很不灵活,为了解决这个问题,本发明专利技术采用时域近似法实现分数阶混沌系统。最后,目前伪随机数发生器用单一算法较多,为了进一步提高伪随机数发生器的性能,使产生的伪随机序列的随机性更好,本发明专利技术提出一种基于分数阶混沌和祖冲之算法的伪随机数发生器,通过设计的伪随机数产生控制算法融合两个算法产生的序列,从而增加伪随机序列的随机特性。

【技术实现步骤摘要】
基于分数阶混沌和祖冲之算法的伪随机数发生器的FPGA设计
本专利技术涉及保密通信、数字集成电路设计
,具体涉及一种基于分数阶混沌和祖冲之算法的伪随机数发生器的FPGA设计。
技术介绍
随机数可以分为三类:真随机数、准随机数和伪随机数。真随机数:产生的数不可预测,也不可能重复产生两个相同的真随机数序列;真随机数只能通过某些随机的物理过程来产生,如放射性衰变、电子设备的热噪声等。准随机数:其随机数序列不具备随机性质,仅仅是用来处理问题能够得到正确的结果。伪随机数:通过某种数学公式或者算法产生的数值序列;虽然在数学意义上伪随机不是随机的,但是如果通过统计检验,可以当成真随机数使用。真随机数因效率低且不可重现等原因而不易于工程实现。为了满足应用需求,人们开始研究利用数学递推公式产生随机序列,即伪随机序列。伪随机数发生器产生的伪随机序列不仅具有良好的随机特性和接近于白噪声的相关函数,而且有预先的可确定性和可重复性,使其在加密、雷达信号设计及通信系统中得到了广泛的应用。随着通信系统向高速和高性能方向发展,对伪随机序列的生成提出了更高的要求:生成速度快、序列长度长、随机特性好。FPGA由于具有并行执行特性、低成本和高性能等特点,所以越来越多的伪随机数发生器利用FPGA实现。混沌系统是一个非线性动力系统,它产生的伪随机序列具有良好的非相关性、随机性和复杂性,且对初始值和参数非常敏感,稍微改变初始值或参数中的一位即可生成完全不同的序列,非常适合作为伪随机数发生器的算法。分数阶微积分在许多应用科学领域能更加准确地描述自然现象,如材料记忆、电力分形网络和机械阻尼特性等,因为分数阶微积分具有记忆特性,会考虑过去的结果对现在的影响,而不只是输入对结果的影响,这更加符合物理现象。分数阶混沌系统是在混沌系统中引入分数阶微积分,从而使原系统具有记忆的特点,使其能更逼真的描述混沌系统所抽象的物理现象,所以分数阶混沌系统比一般混沌系统具有更好的随机性和复杂度。为了满足现在对伪随机数的要求,分数阶混沌系统作为伪随机数发生器的算法比混沌系统更有优势。目前分数阶混沌系统FPGA实现的方法中,Bode图频域近似法用的较多,先将分数阶混沌系统利用拉普拉斯变换到频域,然后将近似为整数阶,再反变换,可以得到更多维的与原分数阶混沌系统近似的整数阶混沌系统,再之后采用整数阶混沌系统实现的方法实现,该方法的优点是可以采用原有的技术实现系统,缺点是误差大,数学变换繁琐,特别是每次分数阶阶数改变时,需要重新求近似系统,非常麻烦。本专利技术采用时域近似法实现,不需要繁琐的变换,改变参数也非常简单,不需要重新设计系统,而且误差小。祖冲之算法是我国自主设计的一个面向字的流密码,是运用于移动通信4G网络中的国际标准密码算法。它采用128位的初始密钥和一个128位的初始向量作为输入,生成32位关于字的密钥流。生成的密钥流具有良好的随机性,并且该算法在设计时就考虑了硬件设计的问题,与AES和DES等传统的加密算法相比,占用的硬件资源更少。目前伪随机数发生器用单一算法较多,为了进一步提高伪随机数发生器的性能,使产生的伪随机序列的随机性更好,本专利技术提出一种基于分数阶混沌和祖冲之算法的伪随机数发生器的FPGA设计。
技术实现思路
本专利技术目的是基于分数阶混沌系统和祖冲之算法,利用FPGA设计生成速度快、序列长度长、随机特性良好和自相关性低的伪随机数发生器。本专利技术主要实现三个算法,分别是分数阶混沌系统、祖冲之算法和伪随机数产生控制算法。下面详细介绍这三个算法。1分数阶混沌系统本专利技术使用的分数阶混沌系统是一个新的系统,该系统是一个具有四翼的四维分数阶混沌系统,如式(1)所示。其中qi(i=1,2,3,4)为分数阶阶数,为分数阶微分算子,a和t为微分上下限。本专利技术与其他的不同是采用数值方法实现分数阶混沌系统,而不是采用频域法实现。这种方法实现分数阶混沌系统不需要繁琐的变换,改变参数也非常简单,不需要重新设计系统,而且误差小。分数阶混沌系统的数值方法有基于Grunwald-Letnikov(GL)定义和adomian分解法,adomian分解法算法复杂,并行度低,用FPGA实现达不到很好的性能,所以本专利技术采用GL定义的方法。GL定义:对于任意的实数α,记α的整数部分为[α](即[α]是小于α的最大整数),假如函数f(t)在区间[a,t]上有m+1阶连续导数;α>0时,m至少取[α];则定义分数阶α阶导数为:其中h为步进(一般为0.001秒),为二项式系数,其迭代公式为:由GL定义式(1)可以离散化为式(4):当t>>a,易得式(4)的计算量将会非常大,用FPGA实现时,不仅需消耗大量的硬件资源,还会加大设计难度,降低系统最大工作频率。但是二项式系数的取值范围为(0,1],并且是递减的,而且递减的速度非常快,所以可以采用短记忆规则,即只考虑与t相近的L个历史值,从而降低计算复杂度。根据MATLAB仿真L取值为60时可以达到误差和性能的最优。采用短记忆规则后式(4)可以改写为式(5):2祖冲之算法分数阶混沌系统的FPGA实现,见具体实施方案。本专利技术使用的祖冲之算法只是对初始密钥的输入进行了改进,就是将分数阶混沌系统产生的第一个变量对应得序列的前面16个数作为祖冲之算法的初始密钥,其他不变,下面介绍祖冲之算法。祖冲之算法主要分为三个部分,线性反馈移位寄存器(LFSR)、比特重组(BR)和非线性函数F,运行时分为初始化模式和工作模式,这两个阶段只有LFSR不同。2.1线性反馈移位寄存器LFSR包括16个31比特寄存器单元变量s0,s1,···,s15。LFSR运行有两个模式:初始化模式和工作模式。在初始化模式下,LFSR接收一个31比特字u。u是由非线性函数F的32比特输出W通过舍弃最低位比特得到,即u=w>>1。在初始化模式下,LFSR计算过程如下:在工作模式下,LFSR不接收任何输入。其计算过程如下:2.2比特重组输入为LFSR寄存器单元变量s0,s2,s5,s7,s9,s11,s14,s15,输出为4个32比特字X0、X1、X2、X3。计算过程如下:其中“H”表示取si高16位,“L”表示取si低16位,“||”表示位拼接,就是将两个16bit的数拼接为一个32bit的数。2.3非线性函数FF包含2个32比特记忆单元变量R1和R2。F的输入为3个32比特字X0、X1、X2,输出为一个32比特字W。计算过程如下:其中为异或,S为32比特的S盒变换,L1和L2为32比特线性变换,定义如下:其中“<<<”为循环左移。2.4密钥装入祖冲之算法是用初始密钥k、初始向量iv和常量d分别扩展为16个31比特字作为LFSR寄存器单元变量s0,s1,···,s15的初始状态。其中d是240比特的常量,可将其分成16个15比特的字串d=d0||d1||···||d15。设k和iv分别为k=k0||k1||···||k15和iv=iv0||iv1||···||iv15。k和iv均为8比特字节。由于d为常量不需要赋值,k和iv为变量可以通过分数阶混沌系统产生的序列初始化。设分数阶混沌系统产生的第一个变量对应的序列为fox,fox每个数的位宽为35比特,去掉最本文档来自技高网
...

【技术保护点】
1.基于分数阶混沌和祖冲之算法的伪随机数发生器的FPGA设计,其特征在于,与采用单一的算法实现的伪随机数发生器相比,该设计的特点是产生的序列伪随机性更好;首先由于分数阶微积分相较于整数阶微积分能更客观地揭示和描述实际系统的物理特性,所以分数阶混沌系统相比于整数阶混沌系统更加复杂,在产生随机序列时更有优势;其次祖冲之算法非常易于硬件实现,占用的逻辑资源少,并且产生的流密码序列也具有较好的随机性;最后通过异步FIFO同步两个算法产生的序列,利用伪随机数产生控制算法,对两个算法产生的序列进行处理,得到新的序列,再将得到的序列缓存到异步FIFO中,以便于FPGA输出伪随机数。

【技术特征摘要】
1.基于分数阶混沌和祖冲之算法的伪随机数发生器的FPGA设计,其特征在于,与采用单一的算法实现的伪随机数发生器相比,该设计的特点是产生的序列伪随机性更好;首先由于分数阶微积分相较于整数阶微积分能更客观地揭示和描述实际系统的物理特性,所以分数阶混沌系统相比于整数阶混沌系统更加复杂,在产生随机序列时更有优势;其次祖冲之算法非常易于硬件实现,占用的逻辑资源少,并且产生的流密码序列也具有较好的随机性;最后通过异步FIFO同步两个算法产生的序列,利用伪随机数产生控制算法,对两个算法产生的序列进行处理,得到新的序列,再将得到的序列缓存到异步FIFO中,以便于FPGA输出伪随机数。2.基于分数阶混沌和祖冲之算法的伪随机数发生器的FPGA设计,其特征在于,首先该方案使用的分数阶混沌系统是一个新的具有多翼的四维系统,动力学特性更加复杂,产生的序列伪随机性比一般的分数阶系统更好,该系统如式(1)所示,其中qi(i=1,2,3,4)为分数阶阶数;其次本发明采用数值分析的方法实现分数阶混沌系统,先将系统利用分数阶微积分Grunwald-Letnikov(GL)定义和短记忆规则离散化,记忆长度为L=60,离散化后的系统如式(2)所示,再使用有限状态机用verilog硬件编程语言实现;最后本发明采用定点数的格式实现该系统,对于式(2)混沌部分用的定点数的宽度为35bit(高15位为整数部分,低20位为小数部分),乘累加部分(GL部分)由于参数化为定点数时前面有很多零,为了提高精度将参数前面的多余的零去掉,只保留符号位,从而减少硬件消耗,提高系...

【专利技术属性】
技术研发人员:周围吴周青
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆,50

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

1