
一种改进的伪随机数算法的研究.docx
6页一种改进的伪随机数算法的研究 摘要:传统的二维Logjstic映射因算法自身的缺陷,其生成的伪随机数的均匀性不高,从而影响由此所产生的伪随机数的安全性文章在对一维和二维Logjstic映射分析的基础上,利用迭代参数优化技术,提出一种改进的伪随机数生成算法,并通过引入取模运算来解决序列超界的问题实验表明,改进算法所产生的伪随机数的随机性较好关键词:混沌;二维Logistic;伪随机数TP393.08 :A :1671-1122( 2011) 05-0044-030引言自英国数学家Matthews提出一种基于变形Logistic映射作为序列密码方案以来,混沌伪随机数受到了来自不同领域研究者的关注Logistic映射在生成伪随机数方面具有简单、快速、易于实现等优点,是一种应用广泛的伪随机数发生器系统,但是一维和二维的Logistic映射受初始参数选取范围的限制较大,且产生的伪随机数的均匀性不高,这在—定程度上限制了Logistic映射在实际中的应用中通过对一维Logistic映射进行改进,解决了边界点溢出等问题,这对改进二维Logistic映射是一个很好的参考。
中将多个一维Logistic映射组合起来构成复杂混沌系统,但是在增强安全性的同时降低了系统的实现效率如何对二维的Logistic映射进行优化改进,使改进后的二维Logistic映射产生的伪随机数受参数选取范围的限制较小,且产生的伪随机数的质量较好将是本文的研究内容改进Logistic映射使其产生高质量的伪随机数是近几年对混沌映射研究的重点方向之一,高质量的伪随机数将在信息安全等方面具有很大的实用价值1Logistic映射简介及问题分析1.1 Logistic映射的简介Logistic,映射是一种实现简单,应用广泛的经典混沌映射,该模型看起来似乎很简单,但具有极为复杂的动力学行为Logistic映射对初值和系统参数极端敏感,相同的混沌系统在具有微小差别的初始条件下,将会发生完全不同的长期行为,具有长期行为的不可预测性,利用Logistic映射可以产生数量众多、非相关、类似噪声、又可再生的混沌序列所以产生的伪随机数的质量较好,非常适合信息安全等方面需求二维的Logistic映射是基于一维的Logistic映射构造出来的,在继承了一维Logistic映射优点外,其生成的伪随机数序列比比较两个公式,公式(2)比公式(1)多了一个取模运算,而取模运算的计算时间远低于乘法运算,并且在公式(1)中是参数,而在公式(2)中将它常数化为4,因此,两个公式的运算时间基本一致;公式(2)在参数的选取的复杂性方面比公式(1)明显要低。
公式(2)所产生的伪随机数在Y轴方向的分布更加均匀,并且影响分布的参数个数要低于公式(I);公式(2)中通过取模运算使得X,Y序列超过l的数取其小数部分,从而满足了X,Y序列在(0,1)区间的要求,在一定程度上增加了所产生伪随机数的随机性通过以上分析可以看出,改进后的算法在参数的选取方面和产生伪随机数的均匀性方面都比原算法都有较大改进,2实验仿真及结果讨论2.1伪随机数的均匀性测试用Matlabr具对原算法和改进后的算法进行实验仿真首先通过对两种算法产生的伪随机数的均匀性进行测试由于公式(2)中的>1,并且越大,公式(2)产生的伪随机数在Y轴方向越均匀,因此在进行仿真实验时取=1图2是当1 =1,y =0.1,xo= 0.0003,Yo= 0.0001时公式(2)所产生的伪随机数的分布情况通过图2可以看出,改进后的算法所产生的1000个伪随机数在y轴方向E的均匀性较好,不存在很大的空白区域,且没有出现图l中的中间均匀、边界个数少的情况可以通过实验仿真证明公式(2)产生伪随机数的均匀性比公式(1)产生的伪随机数的均匀性要好通过原有算法和改进后的算法进行对比,可以得出:1)的值决定了所得序列在Y轴方向上的伸展情况,改进算法取消了A选取范围的限制,的取值越大,算法所得到的序列在Y轴方向上的均匀性越好;2)y值的大小决定了算法产生的序列向Y轴正方向上的移动值的大小,由于改进算法通过取模运算,使得超界的序列仍能限制在(0,1)范围之内,在一定程度上增加了序列的随机性;改进的二维Logistw,映射算法在基于以上两点的改进,使得改进算法所产生的伪随机数比原二维Logistic映射产生的伪随机数的均匀性较好,序列的分布更均匀。
2.2伪随机数质量的测试基于2.1的测试,对公式(1)和公式(2)产生的伪随机数的质量进行测试,测试的标准是FIPS140联邦信息处理标准,它是一个在信息安全领域广为接受的标准,在本质上与其他统计检验方法是一样的,只是各自的角度不一样,因而各自的计算方法也不一样FIPS140的测试标准主要包括频数测试,长游程测试,扑克测试等,如果随机数通过了FIPS140,则随机数算法可以应用于密码学范畴的安全领域其中频数测试是在一个20000位的连续比特流中,0序列的个数在( 9654,10346)之间,那么随机数序列通过频数测试;长游程测试是在20000个连续的比特流中,假如连续0序列和连续l序列的游程长度郜小于34,那么通过长游程检验;扑克测试是将20000位伪随机数按4位一组分成5000组,每组共有16种可能,计算5000组中每种可能性的数量,如果其计算值在( 1.03,57.4)之间则通过扑克测试其对比结果如表l所示通过表1可以清楚的看出,原二维Logistic映射由于0,I序列的个数差距较大而没有通过频数测试,虽然它通过了长游程测试,可是由于频数测试是伪随机数的基本测试,如果没有通过频数测试,则后面的测试即使通过了也不能被应用在信息安全等方面。
而改进后的二维Logistic映射全都通过了测试实验说明改进后的二维Logistic映射比原二维Logistic映射所产生的伪随机数的质量要好通过上述对两种算法的均匀性和伪随机数质量的测试实验可知,改进后的算法通过优化参数简化了二维Logistic映射的迭代公式,并引入取模运算解决了序列超界的问题,通过实验仿真证明了改进后的算法不但在参数选取方面更简洁,而且改进后的算法所产生的伪随机数的均匀性和质量都比原算法较好3结论本文通过对二维Logistic映射的缺陷进行分析和改良通过优化二维Logistic映射的迭代公式,并且引入取模运算,使得改进后的二维Logistic映射的参数选取范围更大并通过实验仿真证明改进后的二维Logistic,映射在产生的伪随机数的均匀性要比原二维Logistic映射产生的伪随机数的均匀性要好;并且改进后的二维Logistic映射产生的伪随机数的质量也较高虽然改进后的二维Logistic映射产生的伪随机数比原二维Logistic映射产生的伪随机数好,能很好的满足信息安全等方面对伪随机数的需求但改进的算法[来自www.lW5u.CoM]在实现时还是较复杂,比一维Logistic映射的效率要低,如何保证在生成高质量的伪随机数的前提下,提高二维Logistic,映射的效率问题将是以后的研究重点。
责编程斌) -全文完-。
