基于混沌函数组合选择的伪随机数生成方法技术

技术编号:20796632 阅读:34 留言:0更新日期:2019-04-06 10:16
本发明专利技术涉及基于混沌函数组合选择的伪随机数生成方法,包括以下步骤:S1:将n个混沌函数f1,f2,f3,...fi...fn初始化,生成n个初始函数值序列r1,r2,r3,...ri...rn,其中n≥3;S2:通过计算将n个初始函数值序列r1,r2,r3,...ri...rn中的每一个序列均简化为只包含0或者1的初始伪随机数序列b1,b2,b3,...bi...bn;S3:将n个初始伪随机数序列b1,b2,b3,...bi...bn分为M个级别cj;S4:通过高级别的伪随机数序列对同级别或者低级别的伪随机数序列进行按项选择,以生成一终极伪随机数序列bf。本发明专利技术的伪随机数生成方法通过混沌函数之间相互按项选择生成新的伪随机数序列,相较于现有技术中通过按列选择生成的伪随机序列,本发明专利技术的组合选择方法的精度更高。

Pseudo-Random Number Generation Method Based on Combination Selection of Chaotic Functions

The present invention relates to a pseudo-random number generation method based on combination selection of chaotic functions, which includes the following steps: S1: initializing n chaotic functions f1, f2, f3,... Fi... Fn, generating n initial function value sequences r1, r2, r3,... Ri... Rn, where n is more than 3; S2: simplifying each sequence of N initial function value sequences r1, r2, r3,... Ri... RN into an initial pseudo-random sequence containing only 0 or 1 by calculating. Machine number sequence b1, b2, b3,... Bi... bn; S3: divide n initial pseudo-random number sequences b1, b2, b3,... Bi... BN into M levels cj; S4: Select the same level or low level pseudo-random number sequence by item through high level pseudo-random number sequence to generate the final pseudo-random number sequence bf. The pseudo-random number generation method of the present invention generates a new pseudo-random number sequence by item selection among chaotic functions. Compared with the pseudo-random sequence generated by column selection in the prior art, the combination selection method of the present invention has higher precision.

【技术实现步骤摘要】
基于混沌函数组合选择的伪随机数生成方法
本专利技术属于密码学
,具体涉及一种基于混沌函数组合选择的伪随机数生成方法。
技术介绍
伪随机数是用某种算法计算出的一串来自[0,1]均匀分布的随机数序列,在密码学、通信工程、信息安全等领域中发挥着巨大的作用。目前常用的伪随机数生成算法有线性同余法和位移寄存器法,它们被广泛的运用在各种方面。但是,从数学分析的角度而言,这两种伪随机数的生成算法都存在着不可忽视的缺陷。Matteis-Pagnutti已从理论上证明了所有线性和非线性同余序列都存在长周期相关现象。此外,线性同余序列众所周知的缺陷是其高维稀疏网格结构:当把相继的t个随机数(ri+1,ri+2,...,ri+t)看作是t维空中上的一个点时,这些点只散布在t维空间的的少数几个超平面上,并形成稀疏的网格结构。对于移位寄存器而言,序列内的微妙相关的严重性也大大的影响了生成随机数的质量。混沌系统由于其不可预测性、初值敏感性、遍历性等优秀的函数特性,很快成为了伪随机数研究的新方向与新方法。但是混沌系统作为伪随机数的算法也依然存在着很多问题,诸如计算过程过于复杂或是软件上的混沌退化快等问题。
技术实现思路
为了解决现有技术中存在的上述问题,本专利技术提供了一种基于混沌函数组合选择的伪随机数生成方法。本专利技术要解决的技术问题通过以下技术方案实现:基于混沌函数组合选择的伪随机数生成方法,包括以下步骤:步骤1:将n个混沌函数f1,f2,f3,...fi...fn初始化,生成n个初始函数值序列r1,r2,r3,...ri...rn,其中n≥3;步骤2:通过计算将n个初始函数值序列r1,r2,r3,...ri...rn中的每一项简化为0或者1,生成n个初始伪随机数序列b1,b2,b3,...bi...bn;步骤3:将n个初始伪随机数序列b1,b2,b3,...bi...bn分为M个级别cj,其中,cj表示第j级,M≥2,j≤M,j=1,2,...,且c1级至少包含2个初始伪随机数序列;步骤4:通过高级别的伪随机数序列对同级别或者低级别的伪随机数序列进行按项选择,以生成一终极伪随机数序列bf;步骤4.1:定义每次参与选择运算的伪随机数序列的个数为p,p=2m+1,m=1,2,3,...其中包含2m个被选择序列;当j=2时,以cj中的任意伪随机数序列对cj-1中的任意2m个初始伪随机数序列进行按位选择,以生成属于cj级的中间伪随机数序列,所述中间伪随机数序列作为第cj级的初始伪随机数序列参与下一级选择计算;当2<j<M时,以第cj级的伪随机数序列对级别小于第cj级或等于第cj级的任意2m个同级别的伪随机数序列按项选择,以生成属于cj级的中间伪随机数序列;当j=M时:若第cj级中的中间伪随机数序列为1个,则将该中间伪随机数序列作为终极伪随机数序列bf输出;若第cj级中的中间伪随机数序列个数大于1个,则以该级中任意伪随机数序列对同级中其他2m个伪随机数序列进行至少一次选择,以生成一个终极伪随机数序列bf并输出。所述的基于混沌函数组合选择的伪随机数生成方法,所述步骤4中每一次按项选择的具体步骤为:定义第cj级的伪随机数序列为选择序列,级别小于或者等于第cj级且属于相同级别的初始伪随机数序列和中间伪随机数序列为被选择序列;设选择序列中的每一项具有q位,令q=m,m=1,2,3,...;将选择序列与被选择序列按项对齐,从前至后依次遍历选择序列中的所有项,并输出被选序列中的对应项,得到一个与选择序列同级别的中间伪随机数序列。所述的基于混沌函数组合选择的伪随机数生成方法,当1<j<M时,采用第cj级的伪随机序列作为选择序列,以第cj-1级的伪随机数序列及中间伪随机数序列中的每任意2m个序列作为被选择序列。所述的基于混沌函数组合选择的伪随机数生成方法,经过选择后,第cj级的初始伪随机序列个数和中间伪随机序列个数之和为偶数。与现有技术相比,本专利技术的有益效果:1、本专利技术的伪随机数生成方法通过混沌函数之间相互按项选择生成新的伪随机数序列,相较于现有技术中通过按列选择生成的伪随机序列,本专利技术的方法选择精度更高,对初始伪随机序列的扰乱程度更高,从而使输出的最终伪随机序列的混淆程度更高;采用本专利技术的算法生成的伪随机数序列经过NIST检测后体现出了良好的统计性质,且运行速度较之于其他众多混沌系统伪随机数生成器略快,具有一定的商业运用价值。2、本专利技术每次以两个级别的2m+1个伪随机数序列(包括初始伪随机数序列和中间伪随机数序列)进行选择,且m值越大,混淆程度越高,因此经过多次,多级选择后,最终输出的最终伪随机数序列的混淆程度高。附图说明图1为本专利技术中m=1时的选择运算示意图。图2为本专利技术中m=2时的选择运算示意图。图3为本专利技术中m=n时的选择运算示意图。图4是本专利技术中M=3,m=2时的选择运算示意图。具体实施方式下面结合具体实施例对本专利技术做进一步详细的描述,但本专利技术的实施方式不限于此。实施例1:参照图1-图4,为了解决现有的以混沌系统作为伪随机数的算法时,存在的计算过程复杂,混沌退化快的技术问题,本专利技术提供一种基于混沌函数组合选择的伪随机数生成方法,包括以下步骤:基于混沌函数组合选择的伪随机数生成方法,包括以下步骤:步骤1:将n个混沌函数f1,f2,f3,...fi...fn初始化,生成n个初始函数值序列r1,r2,r3,...ri...rn,其中n≥3;具体的,将n个初值a1,a2,a3,...ai...an对应输入至n个混沌函数f1,f2,f3,...fi...fn中,由于混沌系统的特性,使得混沌函数f1,f2,f3,fi...fn输出n个对应的初始函数值序列r1,r2,r3,...ri...rn。以logistic函数xn+1=μxn(1-xn)为例,当参数设定μ>=3.8时,初值取(0,1)范围内的任意数值,得到一串具有混沌特性的初始函数值序列ri。步骤2:通过计算将n个初始函数值序列r1,r2,r3...ri,...rn中的每一个序列均简化为只包含0或者1的初始伪随机数序列b1,b2,b3,...bi...bn;本步骤中可以采用多种计算方式将n个初始函数值序列简化为n个初始伪随机数序列b1,b2,b3,...bi...bn;比如,取一个任意值A,并通过该任意值A遍历每一个初始函数值序列ri中的每一项若则令若则令经过该计算后,即可生成一个长度为t初始伪随机数序列bi;举例来说:将n个初始函数值序列r1,r2,r3,...ri...rn中函数值大于或等于0.5的项赋值为1,小于0.5的项赋值为0;当用此方法遍历每一个初始函数值序列ri后,即计算得到只包含1或者0的n个初始伪随机数序列b1,b2,b3,...bi...bn。当然还可以选用其他函数将初始函数值序列r1,r2,r3,...ri...rn简化为初始伪随机数序列b1,b2,b3,...bi...bn,在此不做限制,上述简化方式只是提供一种指引和向导。步骤3:将n个初始伪随机数序列b1,b2,b3,...bi...bn分为M个级别cj,其中,cj表示第j级,M≥2,j≤M,j=1,2,...,且c1级至少包含2个初始伪随机数序列;将n个初始伪随机数序列b1,b2,b3,...bi...bn分为M本文档来自技高网...

【技术保护点】
1.基于混沌函数组合选择的伪随机数生成方法,其特征在于,包括以下步骤:步骤1:将n个混沌函数f1,f2,f3,...fi...fn初始化,生成n个初始函数值序列r1,r2,r3,...ri...rn,其中n≥3;步骤2:通过计算将n个初始函数值序列r1,r2,r3,...ri...rn中的每一个序列均简化为只包含0或者1的初始伪随机数序列b1,b2,b3,...bi...bn;步骤3:将n个初始伪随机数序列b1,b2,b3,...bi...bn分为M个级别cj,其中,cj表示第j级,M≥2,j≤M,j=1,2,...;步骤4:通过高级别的伪随机数序列对同级别或者低级别的伪随机数序列进行按项选择,以生成一终极伪随机数序列bf;定义每次参与选择运算的伪随机数序列的个数为p,p=2m+1,m=1,2,3,...其中包含2m个被选择序列;当j=2时,以cj中的任意伪随机数序列对cj‑1中的任意2m个初始伪随机数序列进行按位选择,以生成属于cj级的中间伪随机数序列,所述中间伪随机数序列作为第cj级的初始伪随机数序列参与下一级选择计算;当2<j<M时,以第cj级的伪随机数序列对级别小于第cj级或等于第cj级的任意2m个同级别的伪随机数序列按项选择,以生成属于cj级的中间伪随机数序列;当j=M时:若第cj级中的中间伪随机数序列为1个,则将该中间伪随机数序列作为终极伪随机数序列bf输出;若第cj级中的中间伪随机数序列个数大于1个,则以该级中任意伪随机数序列对同级中其他2m个伪随机数序列进行至少一次选择,以生成一个终极伪随机数序列bf并输出。...

【技术特征摘要】
1.基于混沌函数组合选择的伪随机数生成方法,其特征在于,包括以下步骤:步骤1:将n个混沌函数f1,f2,f3,...fi...fn初始化,生成n个初始函数值序列r1,r2,r3,...ri...rn,其中n≥3;步骤2:通过计算将n个初始函数值序列r1,r2,r3,...ri...rn中的每一个序列均简化为只包含0或者1的初始伪随机数序列b1,b2,b3,...bi...bn;步骤3:将n个初始伪随机数序列b1,b2,b3,...bi...bn分为M个级别cj,其中,cj表示第j级,M≥2,j≤M,j=1,2,...;步骤4:通过高级别的伪随机数序列对同级别或者低级别的伪随机数序列进行按项选择,以生成一终极伪随机数序列bf;定义每次参与选择运算的伪随机数序列的个数为p,p=2m+1,m=1,2,3,...其中包含2m个被选择序列;当j=2时,以cj中的任意伪随机数序列对cj-1中的任意2m个初始伪随机数序列进行按位选择,以生成属于cj级的中间伪随机数序列,所述中间伪随机数序列作为第cj级的初始伪随机数序列参与下一级选择计算;当2<j<M时,以第cj级的伪随机数序列对级别小于第cj级或等于第cj级的任意2m个同级别的伪随机数序列按项选择,以生成属于cj级的中间伪随机数序列;当j=M时:若第cj级中的中间伪随机数序列为1个,则将该中间伪随机数序列...

【专利技术属性】
技术研发人员:尤伟何策成王健凯文浩斌
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1