一种基于分段CUBIC混沌映射的伪随机序列产生方法与流程

文档序号:18039784发布日期:2019-06-28 23:51阅读:2068来源:国知局
一种基于分段CUBIC混沌映射的伪随机序列产生方法与流程

本发明属于混沌密码学领域,涉及一种基于分段cubic混沌映射的伪随机序列产生方法。



背景技术:

用于数据安全的混沌系统大致可分为一维混沌系统和高维混沌系统两大类:一维混沌系统结构简单,计算效率高,但序列不够复杂,无法抵抗混沌轨迹的预测;高维混沌系统在离散环境中具有轨迹复杂、周期长等显著优点,但迭代高维混沌系统需要更多的计算,它通常给基于高维混沌系统的算法带来效率问题。因此,如何构造一个在复杂度和效率之间取得良好平衡的混沌映射成为设计基于混沌密码的另一个关键。

cubic映射是may提出的一种混沌映射,用于描述包含一个位点和两个等位基因的遗传学中的基因频率。cubic映射是一维离散时间动态系统,具有结构简单、动态行为复杂的特点。其数学表达式如下:

xn+1=f(xn)=axn3+(1-a)xn

其中xn∈(-1,+1)是状态值,a是控制参数。当a∈(3.3,4],cubic映射处于混沌状态。

根据上面的分析可知,cubic映射的遍历性是一般的,李雅普诺夫指数不够大,控制参数a取值范围较小。因此,直接使用cubic映射设计加密算法可能存在安全隐患。为了进一步提高密码特性,本发明提出了一种增强的cubic映射即pcm。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于分段cubic混沌映射的伪随机序列产生方法,实现效率和安全性之间的良好平衡。

为达到上述目的,本发明提供如下技术方案:

一种基于分段cubic混沌映射的伪随机序列产生方法,具体包括以下步骤:

s1:随机设置初始值x0和初始控制参数α0,将pcm中的分段数n设置为128,以获得良好的混沌特性;

s2:采用pcmfo生成伪随机数;迭代pcmfo1000次,以避免初值影响;

s3:迭代一次pcmfo,如果当前状态值x0小于0,则加1;然后,得到区间为(0,1)的临时浮点数t1;

s4:根据下式在区间(0,1)中生成另一个临时浮点数t2:

t2=(t1×l)mod1

其中,l∈[5000,10000]是精度为10-5的浮点数,mod是取模运算;

s5:从t2中提取其小数点后32位,32位分为a1、a2、a3和a4四个部分,分别是第1-8位、9-16位、17-24位和第24-32位;

s6:将4个临时值a1、a2、a3和a4作为自变量生成4个8位长度的输出数,分别为k1、k2、k3和k4;生成这4个数字的规则是:

k1=f(a1,a3,a2),k2=h(a2,a4,a3)

k3=f(a3,a1,a4),k4=h(a4,a2,a1)

其中是异或运算符;

s7:将4个输出数字从k1并列到k4作为32位输出序列,如果需要更多的伪随机序列,转到步骤s3生成下一个32位输出序列;否则,停止上述过程。

进一步,所述步骤s2中,根据pcmfo生成伪随机数的公式为:

xn+1=pcm(xn,an)

其中,pcm(xn,an)表示分段cubic混沌映射;logistic(xn+1)=4xn(1-xn),是logistic混沌映射。

进一步,所述分段cubic混沌映射的计算公式为:

其中,xn∈(-1,1)是状态值,a∈(0,4)是控制参数,n为分段数。

本发明的有益效果在于:本发明所述方法在提高密码复杂度的同时,实现了效率和安全性之间的良好平衡。

本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:

图1为本发明所述伪随机序列产生方法的流程图;

图2为本发明所述的pcmfo的结构示意图;

图3为pcm与cubic映射的对比效果图;

图4为不同a、n值时对应的pcm遍历性效果图;

图5为当a=4时不同n值时pcm的倍周期分岔图;

图6为分别固定a,n值时pcm的李雅普诺夫指数仿真图;

图7为不同a,n值时pcm的概率密度分布仿真图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

请参阅图1~图2,图1为本发明所述伪随机序列发生器(pseudo-randomnumbergenerator,prng)产生伪随机序列的方法,具体步骤为:

s1:随机设置初始值x0和初始控制参数α0,将pcm中的分段数n设置为128,以获得良好的混沌特性;

s2:采用pcmfo生成伪随机数;迭代pcmfo1000次,以避免瞬态效应;

s3:迭代一次pcmfo,如果当前状态值x0小于0,则加1;然后,得到区间为(0,1)的临时浮点数t1;

s4:根据下式在区间(0,1)中生成另一个临时浮点数t2:

t2=(t1*l)%1

其中,l∈[5000,10000]是精度为10-5的浮点数,mod是取模运算;

s5:从t2中提取其小数点后32位,32位分为a1、a2、a3和a4四个部分,分别是第1-8位、9-16位、17-24位和第24-32位;

s6:将4个临时值a1、a2、a3和a4作为自变量生成4个8位长度的输出数,分别为k1、k2、k3和k4;生成这4个数字的规则是:

k1=f(a1,a3,a2),k2=h(a2,a4,a3)

k3=f(a3,a1,a4),k4=h(a4,a2,a1)

其中是异或运算符;

s7:将4个输出数字从k1并列到k4作为32位输出序列,如果需要更多的伪随机序列,转到步骤s3生成下一个32位输出序列;否则,停止上述过程。

步骤s2中,如图2所示,根据pcmfo生成伪随机数的公式为:

xn+1=pcm(xn,an)

其中,logistic(xn)表示logistic映射分析,logistic(xn+1)=4xn(1-xn),是logistic混沌映射,计算公式为:

实施例:

本发明所述的基于分段cubic混沌映射的伪随机序列产生方法,具体包括以下步骤:

步骤1:对根据分段cubic混沌映射公式进行分段;

步骤2:将pcm与cubic映射进行比较:pcm独立于cubic映射,是新的映射,如图3所示。

(1)分析不同a,n值时pcm的遍历性:如图4所示,对于不同的a和n,pcm的状态值可以填满整个[-1,1]区间,遍历性良好。其中,图4(a)中,a=0.5,n=8;图4(b)中,a=2,n=8;图4(c)中,a=3,n=8;图4(d)中,a=4,n=8;图4(e)中,a=0.5,n=32;图4(f)中,a=2,n=32;图4(g)中,a=3,n=32;图4(h)中,a=4,n=32。从上图可看出,仅当a=4时,cubic映射才为混沌全映射。

(2)分析当a=4时不同n值时pcm的倍周期分岔图(采用数值方法绘制),如图5所示:较大的混沌映射控制参数范围提供了较大的密钥空间,提高了破译难度,提高了安全性。

其中,图5(a)中,n=2;图5(b)中,n=3;图5(c)中,n=12;图5(d)中,n=13;图5(e)中,n=64;图5(f)中,n=65;从上图可看出,混沌全映射的控制参数范围随着n的增大而增大。与非全映射相比,全映射对应较强的混沌强度,迭代值的区间较大。后续的迭代值不容易逼近之前的迭代值,因此可以扩展混沌数字序列的周期,改善混沌序列的动态退化。

随着n的增大,pcm在整个参数范围内逐渐呈现混沌行为。值得注意的是,当n是奇数时,有一个明显的周期窗口,这个周期窗口会随着n的增加而不断缩小,这意味着最好将n设置为偶数。

(3)分析不同a,n值时pcm的李雅普诺夫指数:正le值越大,表示该系统具有更好的灵敏度、发散性和不可预测性,正le值的范围越大,表示密钥空间越大。

a.当a固定时,如图6(a)~(d)所示,pcm的李雅普诺夫指数随着n的增大而增大。

b.当n固定时,如图6(e)~(h)所示,随着n的增大,正李雅普诺夫指数对应的控制参数a的区间增大,控制参数a的值越大,pcm的le越大。

(4)分析不同a,n值时pcm的概率密度分布,如图7(a)~(h)所示,pcm的密度概率不均匀,控制参数a的取值对pcm的密度概率分布有显著影响。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1