一种基于自反馈演化序列的密钥序列生成方法

文档序号:7799736阅读:131来源:国知局
一种基于自反馈演化序列的密钥序列生成方法
【专利摘要】本发明公开了一种基于自反馈演化序列的密钥序列生成方法,本发明根据种群的频数适应值和序列适应值大小对种群中的个体进行排序,并在基于排名抽样的基础上建立繁殖池,通过繁殖池中的演化操作得到占优于其中最好个体的新个体,并采用新个体代替繁殖池以及种群中的最好个体,并将种群中的最好个体进行自反馈搜索和自反馈迁移,待种群达到最大迭代次数时,将种群中的最好个体作为最终的密钥序列,通过演化算法和自反馈选择出种群中最好的个体作为最终的密钥序列,具有安全性高和执行效率高以及随机向强的优点。
【专利说明】一种基于自反馈演化序列的密钥序列生成方法
【技术领域】
[0001]本发明涉及一种密钥序列的生成方法,特别涉及一种基于自反馈演化序列的密钥序列生成方法。
【背景技术】
[0002]在商品的交易和流通领域,利用条形码等表示的商品信息是物流防伪系统的重要数据,因此其数据必须具备一定的安全性。通常为保证数据的安全,可以从数据编码的角度进行加强,采用密钥序列对相应的商品信息进行加密。密钥序列又称流密码,在信息安全领域中,在数据编码中运用加密算法可以实现数据编码安全。信息加密领域的一些主要的密钥序列生成方法,如数据加密标准DES算法、高级数据加密标准AES算法、大数分解和素性检测RSA算法等,都可以生成为条形码等表示的商品信息进行加密的密钥。
[0003](I)DES算法:DES算法通过循环和迭代,将简单的运算和变换构成数据流的非线性变换,其算法设计的核心就是让所有的秘密寓于密钥之中。主要缺点是DES使用的56位密钥过短,安全性不高。
[0004](2)AES算法:AES算法基于排列和置换运算,对数据重新进行安排,并将一个数据单元替换为另一个,经过若干轮迭代加密,最终得到密文。就安全性方面而言,AES算法优于DES算法,但仍然易受到攻击的影响。另一方面,AES具有井然有序的代数结构,虽然相关的代数攻击尚未出现,但有许多学者认为,把安全性创建于未经透彻研究过的结构上是有风险的。
[0005](3) RSA算法:RSA算法的安全性基于数论中大整数分解的困难性,是目前在各个领域应用非常广泛的加密算法。其缺点主要体现在算法的执行效率上。由于RSA进行的都是大整数计算,因此无论是软件还是硬件实现,速度都不太理想,一般只适用于少量数据加密。随着大数分解技术的发展,RSA要求的大整数规模越来越大,所以运算时间还会增加,不利于数据格式的标准化。
[0006]演化算法(EvolutionaryAlgorithm, EA)是一类以 Darwin 自然演化论和 Mendel遗传变异理论为基础的求解复杂全局优化问题的仿生型算法,由美国Holland J.H.教授于20世纪60年代中期首次提出。演化算法是基于适者生存、优胜劣汰的演化原则,通过对包含可能解的群体反复使用遗传学基本操作,使之不断地生成新的群体,最终促使种群不断演化。同时,演化算法以全局并行搜索技术来搜索优化群体中的最优个体,以求得满足要求的最优解或准最优解。演化算法的基本实现技术包括编码、个体适应度评价和演化操作三部分。编码是指在演化算法中描述问题的可行解,即把一个问题的可行解从其空间转化到演化算法所能处理的搜索空间。适应度用来度量群体中各个个体在优化计算中可能达到的最优解的优良程度。一般而言,适应度较高的个体遗传到下一代的概率较大,而适应度较低的个体遗传到下一代的概率较小。演化算法的一个特点是它仅使用所求问题的目标函数就可得到下一步的有关搜索信息,而对目标函数值的使用是通过评价个体的适应度来体现的。演化操作的任务是对群体的个体依据它们对环境的适应程度施加一定的操作,从而实现优胜劣汰的进化过程。从优化搜索角度来看,演化操作可使问题的解逐代优化,最终逼近最优解。演化操作包括三个演化算子:选择、交叉与变异。选择操作用于选择最优个体直接复制到下一代或者进行交叉和变异;交叉操作将选择的个体进行交配重组,形成新的个体;变异操作模拟生物界基因变异,从而产生新的个体。
[0007]演化算法的特点使得其成为一种适合加密商品信息的技术。使用演化算法生成的演化序列加密商品信息,能够更好地保护商品信息上数据信息的安全性,并能够提高加解密算法的运行效率,从而提高生产厂家的生产效率,使之获得更大的利润。

【发明内容】

[0008]本发明的目的在于克服现有技术的缺点与不足,提供一种安全性和执行效率高的基于自反馈演化序列的密钥序列生成方法。
[0009]本发明的目的通过下述技术方案实现:一种基于自反馈演化序列的密钥序列生成方法,包括以下步骤:
[0010](I)初始化演化中运行的参数;
[0011](2)利用自反馈映射函数对演化中种群进行初始化,随机生成含有一定数目个体的初始种群;
[0012](3)计算当前种群中用于检验各个个体频数的频数适应值η和用于检验各个个体序列的序列适应值P ;
[0013](4)对比每个个体与其所在种群其他个体的适应值,计算出当前种群中每个个体的秩;
[0014](5)计算每个个体与当前种群中其他各个体染色体长度相对应的汉明距离,根据汉明距离获取每个个体的拥挤距离;
[0015](6)先按照秩值对种群中的个体进行降序排列,然后在上述排序的基础上,再按照拥挤距离值对种群中的个体进行升序排列;
[0016](7)对排序后的当前种群进行抽样,根据当前种群中个体的排序计算出个体的被选中概率范围,然后随机依次产生M个O到I之间的随机数R,并且依次将M个随机数R与个体的被选中概率范围进行比较,将M个随机数R所落入的概率范围对应排名的M个个体放入到繁殖池中;
[0017]根据个体的排序计算出繁殖池中个体被裁剪的概率范围,然后依次产生多个O到I之间的随机数S,并且将依次产生的随机数S分别与个体被裁剪的概率范围进行比较,得到各随机数S所落入概率范围对应的个体,在繁殖池中选出这些个体,直到繁殖池中剩下M个个体,然后裁剪被选中的个体;
[0018]依照交叉概率和变异概率对繁殖池中的最好个体进行交叉和变异操作,若产生的新个体占优当前繁殖池中的最好个体,则采用新个体替换当前繁殖池中的最好个体;如果产生的新个体占优当前种群的第一个个体,则采用新个体替换当前种群的第一个个体;其中繁殖池中最好个体是指频数适应值Π和序列适应值P最小的个体;
[0019](8)将经过步骤(7)处理后的当前种群中的第一个个体采用自反馈映射函数进行自反馈搜索,并且计算该自反馈搜索后个体的频数适应值H和序列适应值P;若计算得到的频数适应值n和序列适应值P均比原适应值小,则采用自反馈搜索后的个体替换当前种群中的第一个个体,否则采用自反馈搜索后的个体替换当前种群中频数适应值n和序列适应值P最大的个体;然后计算自反馈搜索后当前种群的多样性度量值;判断自反馈搜索后当前种群的多样性度量值是否小于阈值w ;
[0020]若是,则根据自反馈搜索的结果采用自反馈函数对当前种群中除第一个个体以外的个体进行自反馈迁移,得到新的种群,然后进入步骤(9);
[0021]若否,则将自反馈搜索后的当前种群作为新种群,然后进入步骤(9);
[0022](9)计算新种群中各个个体的适应值η和P,并且按照步骤(4)至(5)分别计算新种群中个体的秩和拥挤距离,然后按照步骤(6)进行排序;判断种群的更新迭代次数是否到达最大迭代数;
[0023]若是,则进入步骤(10);
[0024]若否,则迭代次数加I,然后进入步骤(7 )。
[0025](10)将最后得到的种群中排序在第一的个体序列作为密钥序列。
[0026]优选的,所述步骤(3)中用于检验个体频数的频数适应值η为:
[0027]
【权利要求】
1.一种基于自反馈演化序列的密钥序列生成方法,其特征在于,包括以下步骤: (1)初始化演化中运行的参数; (2)利用自反馈映射函数对演化中种群进行初始化,随机生成含有一定数目个体的初始种群; (3)计算当前种群中用于检验各个个体频数的频数适应值η和用于检验各个个体序列的序列适应值P ; (4)对比每个个体与其所在种群其他个体的适应值,计算出当前种群中每个个体的秩; (5)计算每个个体与当前种群中其他各个体染色体长度相对应的汉明距离,根据汉明距离获取每个个体的拥挤距离; (6)先按照秩值对种群中的个体进行降序排列,然后在上述排序的基础上,再按照拥挤距离值对种群中的个体进行升序排列; (7)对排序后的当前种群进行抽样,根据当前种群中个体的排序计算出个体的被选中概率范围,然后随机依次产生M个O到I之间的随机数R,并且依次将M个随机数R与个体的被选中概率范围进行比较,将M个随机数R所落入的概率范围对应排名的M个个体放入到繁殖池中; 根据个体的排序计算出繁殖池中个体被裁剪的概率范围,然后依次产生多个O到I之间的随机数S,并且将依次产生的随机数S分别与个体被裁剪的概率范围进行比较,得到各随机数S所落入概率范围对应的个体,在繁殖池中选出这些个体,直到繁殖池中剩下M个个体,然后裁剪被选中的个体; 依照交叉概率和变异概率对繁殖池中的最好个体进行交叉和变异操作,若产生的新个体占优当前繁殖池中的最好个体,则采用新个体替换当前繁殖池中的最好个体;如果产生的新个体占优当前种群的第一个个体,则采用新个体替换当前种群的第一个个体;其中繁殖池中最好个体是指频数适应值Π和序列适应值P最小的个体; (8)将经过步骤(7)处理后的当前种群中的第一个个体采用自反馈映射函数进行自反馈搜索,并且计算该自反馈搜索后个体的频数适应值Π和序列适应值P;若计算得到的频数适应值Π和序列适应值P均比原适应值小,则采用自反馈搜索后的个体替换当前种群中的第一个个体,否则采用自反馈搜索后的个体替换当前种群中频数适应值H和序列适应值P最大的个体;然后计算自反馈搜索后当前种群的多样性度量值;判断自反馈搜索后当前种群的多样性度量值是否小于阈值W ; 若是,则根据自反馈搜索的结果采用自反馈函数对当前种群中除第一个个体以外的个体进行自反馈迁移,得到新的种群,然后进入步骤(9); 若否,则将自反馈搜索后的当前种群作为新种群,然后进入步骤(9); (9)计算新种群中各个个体的适应值η和P,并且按照步骤(4)至(5)分别计算新种群中个体的秩和拥挤距离,然后按照步骤(6)进行排序;判断种群的更新迭代次数是否到达最大迭代数; 若是,则进入步骤(10); 若否,则迭代次数加I,然后进入步骤(7); (10)将最后得到的种群中排序在第一的个体序列作为密钥序列。
2.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(3)中用于检验个体频数的频数适应值η为:
3.根据权利要求1或2所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,当所述频数适应值η≤ 3.841时,则个体频数检验通过;当所述序列适应值P ≤ 5.991时,则个体的序列检验通过。
4.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(4)中每个个体秩的计算过程如下:对比每个个体与其所在种群中其他个体的适应值;若该个体两个适应值Η和P都小于与其对比的某个个体,则表示该个体占优于其对比的个体,那么该个体的秩加I;若该个体两个适应值n和P都大于与其对比的某个个体,则表示与该个体进行对比的某个个体占优,那么将与该个体进行对比的某个个体的秩加I;对于当前种群中的每个个体,遍历一次当前种群,通过上述步骤得到当前种群中每个个体的秩。
5.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(5)中当前种群每个个体的拥挤距离获取过程如下:计算每个个体与当前种群中其他个体染色体长度相对应的汉明距离,对于当前种群中的每个个体,遍历一次当前种群,将计算得到的该个体与当前种群中其他个体之间汉明距离按照升序的顺序进行排序,将排名在第K的汉明距离作为该个体的拥挤距离;所述步骤(5)中[=^=IO ;其中NP为种群规模。
6.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(1)中初始化的参数包括,种群规模NP、最大迭代数、个体序列长度D、繁殖池大小Μ、交叉概率pc以及变异概率pm参数:其中种群规模为NP=IOO,最大迭代数MAX_GEN=1000,个体序列长度D=432,繁殖池大小M=50,交叉概率pc=0.8,变异概率pm=0.2 ;所述步骤(2)中随机生成一个含有100个个体的种群。
7.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(7)种群中个体的被选中概率范围为:
8.根据权利要求1所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(2)和(8)中所采用的自反馈映射函数为:
9.根据权利要求8所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(8)中的具体过程如下: (8-1)采用自反馈映射函数产生范围在(0,1)的随机数序列λ k,根据随机数序列Ak得到//
10.根据权利要求9所述的基于自反馈演化序列的密钥序列生成方法,其特征在于,所述步骤(8-6)中阈值W为0.01,所述F为0.1*NP。
【文档编号】H04L9/08GK103888250SQ201410111331
【公开日】2014年6月25日 申请日期:2014年3月24日 优先权日:2014年3月24日
【发明者】李康顺, 张丽霞, 左磊, 杨磊, 张楚湖 申请人:华南农业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1