一种采用哈希表分析有限精度下混沌系统的周期的方法与流程

文档序号:13914561阅读:380来源:国知局

本发明涉及快速定位混沌系统在计算机有限精度下的周期定位技术,具体是一种采用哈希表分析有限精度下混沌系统的周期的方法。



背景技术:

混沌指的是确定性动力学系统因对初值敏感而表现出的不可预测的、类似随机性的运动。理论上,混沌系统具有遍历性、对初始条件的敏感性、长期的不可预测性等特点,并且混沌系统或混沌映射具有理想的复杂动力学。数字混沌系统通常是基于计算机或数字电路系统来实现的,但是,由于计算机或数字电路的计算精度是有限的,因此数字混沌系统会出现长周期、非遍历性、线性复杂度低和相关性强等缺陷,由于有限的计算精度,这种短周期现象被称为有限精度效应。

在安全通信和图像加密等实际应用中,混沌系统的性能受到有限精度的影响,通过研究基于混沌序列的图像加密方案的安全性,可以仅仅通过三个明文图像的差分选择明文分析来攻击混沌系统,因此,数字混沌系统动力学退化问题引起了学者们的关注。为了研究混沌系统的动力学退化,其短周期现象是研究的重点。短周期现象是混沌序列出现周期性循环或固定点,因此快速定位混沌系统的周期并研究其短周期现象是至关重要的,然而,传统定位混沌系统的周期方法的基本思想是按顺序比较混沌系统每个元素,直到找到重复的混沌值,这种方法的缺点是当混沌系统的元素较多时,平均搜索长度较大,效率较低。因此,在有限精度下快速查找混沌系统的重复值,需要一种定位混沌系统周期的新方法。

哈希又称“散列”,是通过计算哈希地址,打破元素之间原有的关系,使集合中的元素按照哈希函数的分类进行排列。根据哈希存储方法的存储结构称为哈希表,哈希表是将集合中的元素映射到该记录在表中的存储位置,只要输入查找该元素即可找到其相应的存储位置。



技术实现要素:

本发明的目的是针对现有技术的不足,而提供一种采用哈希表分析有限精度下混沌系统的周期的方法。这种方法通过把混沌序列中的元素映射到哈希表中的某一个位置,当进行混沌序列的查找的时候直接进行访问的哈希表即可获得混沌序列的周期,以加快查找的速度,并且能够缩小查找范围、能够快速查找混沌系统在有限精度下的周期,把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间。

实现本发明目的的技术方案是:

一种采用哈希表分析有限精度下混沌系统的周期的方法,包括如下步骤:

1)混沌序列的生成:在这个阶段,需要确定计算机的计算精度、混沌系统的初始值和系统参数,以及混沌系统的迭代次数,将初始化的条件代入混沌系统,获得一组混沌序列;

2)哈希函数的构造:哈希查找首先需要构造一个哈希函数,将原始直观的混沌系统的输出映射为随机值;

3)获取哈希表存储地址:将混沌系统输出代入步骤1)构造的哈希函数获取混沌系统的哈希地址,通过哈希地址可以找到该混沌系统输出对应的哈希表存储位置;

4)混沌系统的周期查找:结合步骤2),若混沌系统在哈希表中出现两个或两个以上相同的存储位置时,说明混沌系统的输出出现了重复,即得到混沌系统在哈希表中第二次相同的存储位置的时刻,即为混沌系统在有限精度下的周期。

步骤1)所述的哈希函数的构造,包括如下步骤:

(1)首先用混沌系统值key乘上常数a(0<a<1),抽取其小数部分,得到[key·a];

(2)进行以下操作:

h(key)=floor(m·(key·a-[key·a])),(1)

其中,floor(·)表示大于(·)的最大整数,m为任意常数。

步骤(1)中所述的常数a为:

这种哈希函数的优点是m可以选择任意常数,并且,常数a∈(0,1),由于有限精度下的混沌系统的元素主要是小数,可以通过该哈希函数将混沌系统的元素从小数转化为整数,因此,该哈希函数适合于快速查找在有限精度下的混沌系统周期。

本技术方案首先设计构造哈希函数,将混沌系统输出代入哈希函数,获得混沌系统输出与哈希函数计算出来的存储位置,即哈希地址,通过哈希地址可以找到混沌系统输出对应的存储位置,由于混沌系统在计算机的有限精度下产生混沌动力学性能退化,并出现短周期现象,所以混沌系统经过多次迭代后,可能会输出多个相同的迭代值,利用哈希表找到相同的存储位置,即两次混沌系统的输出相同,从而可以获得混沌系统的周期。

本技术方案采用函数映射的思想将记录的存储位置与混沌系统输出相关联,无需循环遍历查找,直接根据混沌系统输出和映射关系计算出该输出在哈希表中的存储位置从而查找出混沌系统的周期,可以大幅度缩小查找范围,能够快速查找混沌系统在有限精度下的周期。

这种方法能够缩小查找范围、能够快速查找混沌系统在有限精度下的周期,把数据的存储和查找消耗的时间大大降低。

附图说明

图1为实施例的方法流程示意图。

具体实施方式

下面结合附图和实施例对本发明内容作进一步的阐述,但不是对本发明的限定。

实施例:

参照图1,一种采用哈希表分析有限精度下混沌系统的周期的方法,包括如下步骤:

1)混沌序列的生成:在这个阶段,需要确定计算机的计算精度、混沌系统的初始值和系统参数,以及混沌系统的迭代次数,将初始化的条件代入混沌系统,获得一组混沌序列;

2)哈希函数的构造:哈希查找首先需要构造一个哈希函数,将原始直观的混沌系统的输出映射为随机值;

3)获取哈希表存储地址:将混沌系统输出代入步骤1)构造的哈希函数获取混沌系统的哈希地址,通过哈希地址可以找到该混沌系统输出对应的哈希表存储位置;

4)混沌系统的周期查找:结合步骤2),若混沌系统在哈希表中出现两个或两个以上相同的存储位置时,说明混沌系统的输出出现了重复,即得到混沌系统在哈希表中第二次相同的存储位置的时刻,即为混沌系统在有限精度下的周期。

步骤1)所述的哈希函数的构造,包括如下步骤:

(1)首先用混沌系统值key乘上常数a(0<a<1),抽取其小数部分,得到[key·a];

(2)进行以下操作:

h(key)=floor(m·(key·a-[key·a])),(1)

其中,floor(·)表示大于(·)的最大整数,m为任意常数。

步骤(1)中所述的常数a为:

这种哈希函数的优点是m可以选择任意常数,本例中,m是2的整数次幂,并且,常数a∈(0,1),由于有限精度下的混沌系统的元素主要是小数,可以通过该哈希函数将混沌系统的元素从小数转化为整数,因此,该哈希函数适合于快速查找在有限精度下的混沌系统周期。

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