网站大量收购独家精品文档,联系QQ:2885784924

基于密码研究遗传算法应用研究.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于密码研究遗传算法应用研究.docx

基于密码研究遗传算法应用研究 摘 要本文结合遗传算法的特点,对基于密码分析 的遗传算法应用问题进行了分析和研究。 关键词密码分析遗传算法运用 关键词 密码分析 遗传算法 运用 中图分类号:P208文献标识码:A 1遗传算法概述 1概念 遗传算法是一种具有全局搜索功能的优化算法,其思想 起源于生物学中达尔文的“适者生存”自然选择理论,是一 种通过对自然进化过程的模拟,搜索最优解的方法,最初是 由美国Michigan大学J . Holland教授于1975年提出的。 1.2特点 (1)遗传算法是从问题解的串集开始搜索的,而不是 从单个解开始,其覆盖面大,利于在全局范围内寻求最优解, 这也是遗传算法与传统优化算法最大的不同之处;(2)遗传 算法可以同时针对群体中的多个个体进行处理,从而减少了 陷入局部最优解的风险,算法本身以易于实现并行化;(3) 遗传算法不需要对空间的知识或其它辅助信息进行搜索,只 需要使用适应度函数值来评估个体,并在此基础上,进行遗 传操作即可。适应度函数不仅不受连续可微的约束,而且其 定义域可以任意设定,使得遗传算法的应用范围大大扩展; (4)遗传算法并不会采用确定性规则,而是使用概率的变 迁规则,指导搜索的方向;(5)遗传算法具有自组织性、自 学习性和自适应性,利用进化过程获得的信息自行组织搜索 时,适应度大的个体可以及时适应环境变化,改变自身的基 因结构,从而具备较高的生存概率。 1.3流程 遗传算法属于典型的迭代过程,其基本操作流程如下: 将需要解决的问题转化为位串形式编码; 对种群进行随机初始化P (0) = (Pl, P2,…,Pn); 对种群中所有个体的适应度数值进行计算; 结合计算结果,对个体适应度进行评估; 结合个体适应度值所决定的某个规则应用,选择 相应的算子,产生中间代; 依照Pc选择相应的个体,进行交叉操作; 依照Pm对繁殖个体进行变异操作; 如果没有满足相应的停止条件,则转向(3),如 果满足,则进入(9); 输出种群中适应度值最优的个体。 2遗传算法在密码分析中的应用 结合替换密码的实例,对遗传算法在密码分析中的应用 进行逐步阐述。 1替换密码 替换密码,属于古典密码的一种,虽然在当前的密码分 析中已经很少使用,但是其具备较强的理论研究价值,具有 一定的代表性。算法的基本思想为: 假定K是Z26中元素的所有排列集合,K={ (kl, k2, k3,…,k26): kieZ26}o 选择任意密钥kGKo 设明文 M=(ml,m2,m3,…,mi)且 mj WZ26( 1WjWi)。 对明文进行加密,得到相应的密文C= (cl, c2, c3,…,ci)且 cjGZ26 (lWjWi)。 这样,就可以对相应的加密操作Ek (m)以及解密 操作Dk (c)进行定义,分别为 cj= Ek (mj) =kLmj] (lWjWi) mj= Dk (cj) = Ek-1 [cj] (lWjWi) 2. 2产生初始种群,进行染色体编码 在遗传算法中,常用的编码方式包括二进制编码和实数 编码等,在替换密码中,基本上都是将明文信息转化为字符 或符号,为了尽可能减少加密和解密过程中的解码开销,可 以直接使用英文字符作为参数编码,使得系统在初始化阶 段,可以随机生成有26个不同字符组成的英文字符串,这 个字符串就是一条染色体,也就是初始个体Pi,将其分为n 组后,就可以作为初始种群。 2. 3对适应度函数的计算 结合遗传算法自身的特点,适应度函数通常是由待求问 题的目标函数转化而来的,对于不同的编码算法,其适应度 函数也存在着一定的差异。通过对英文资料的统计数据,可 以看出,相对来说,字母E出现的频率极高,V、K、J、X、 Q、Z等字母的出现频率较低。这些统计数据看似杂乱,但是 对于密码的分析工作是十分重要的。这里结合相应的英文字 符统计特性,对适应度函数进行确定: 其中,代表第i个字符在英文中出现的频率,则表示经 过密文C解密运算后得到的明文=(m0‘,ml‘,m2,,…, mn-P ),对mi 出现的频率进行统计计算的结果。 明文中字符应该能够体现出常用英语中英文字符 的统计特性,如果选取的个体无限接近真实密钥表,则也无 限接近于,最终得到的个体的适应度也越大,表明个体参与 下一代遗传操作的概率越高。 2. 4遗传操作 遗传操作包括了选择、交叉和变异,具有多种实现方法, 需要结合实际问题进行选择。这里我们采用轮盘赌算法,对 算子进行选择。在选定两个父代个体后,可以根据相应的交 叉概率Pc选择父代个体的字符,进行多点交叉操作。结合 替换密码密钥表的特点,要确保交叉操作得出的子代个体参 数中,字符的非重复性,因此,在父代个体选择后,需要进 行重复性检查。在得出子代个体后,对其进行变异操作。根 据既定的变异概

您可能关注的文档

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档