RC5到RC6的演化设计.pdfVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RC5到RC6的演化设计.pdf

维普资讯 第22卷第 12期 荆门职业技术学院学报 2007年 12月 V01.22No.12 JournalofJingmenTechnicalCollege Dec.2o07 RC5到 RC6的演化设计 张娅莉,黄德成 (信阳职业技术学院数学与计算机科学系,河南 信阳 464000) [摘 要] 对RC5和RC6进行详细的比较和分析,讨论从RC5到RC6的演化设计过程,在此基础上,通过算法仿 真实验,给 出各 自在性能上的优缺点。 [关键词] RC5;RC6;演化设计;仿真实验 [中图分类号] 029 [文献标识码] A [文章编号] 1008—4657(2007)12一o027一o4 0 引言 RC5是一个对称密钥密码算法,它是由RSA公司的Rivest教授于 1994年设计的一种迭代分组密 码。RC5自产生以来,一直倍受密码学领域的关注,人们对它进行了大量分析,并在很多信息安全领域 获得了较为广泛的应用。RC6分组密码是美国RSA实验室的著名学者 MatthewRobshaw设计的。它是 RC5的改进算法,它们的不同点在于RC5算法中一个寄存器的循环移位数量仅仅取决于另一个寄存器 的低位比特,而RC6算法则依赖于所有比特。且相对于RC5,RC6是一种保密性更强、设计更为简单紧 凑的分组密码,它具有 良好的性能和相当大的灵活性 。 1 RC5和 RC6的基本描述 RC5(又称RC5一W/r/b)和RC6(又称RC6一W/r/b)均为参数化的加密算法。其中(W,r, b)分别为运算字长、迭代轮数、用户主密钥长度。基本的RC5和RC6由3种算法组成,即密钥扩展算 法、加密算法和解密算法。 RC5和RC6算法是参数变量的分组算法,它实际上是由3个参数确定的一个算法族 。一个特定 的RC5或RC6算法可以表示为 RC5一w/r/b或RC6一w/r/b,其中3个参数W、r、b分别按照表 1定义。 表 1 RC5和RC6参数定义 其中,对于RC6,当b是一个 128位的分组密码时,RC6的推荐值是 1)‘=32和r=20;对于一个64位 的分组密码,设置 1)‘=16。 RC5及 RC6算法均由3部分组成,分别为混合密钥生成过程、加密过程和解密过程 J。2种算法 共使用了6种基本运算: 1)模2 加法运算,表示为 “+”; 2)模2 减法运算,表示为 “一”; [收稿 日期]2007—09—10 [作者简介]张娅莉 (1977一),女,河南信阳人,信阳职业技术学院讲师,硕士。研究方向:应用数学。E—mail: wwzyl6@ 126.tom。 27 维普资讯 3)逐位异或运算,表示为 “o”; 4)循环左移,字a循环左移b比特表示为 “ab”; 5)循环右移,字 a循环右移b比特表示为 “ab”; 6)模2乘法,表示为 “X”。 RC5算法使用了1—5种运算部件,RC6算法使用了所有的运算部件。关于RC5和RC6的基本算 法,由于篇幅有限,本文将不再阐述,而就 RC5到RC6的演变设计过程进行详细分析。 2 RC5到RC6的演化设计过程 2.1 RC5加密算法 RC6由RC5演化而来,它们在加解密算法上有较紧密的联系,为跟踪从RC5到RC6的演化设计过 程,先讨论RC5的加密算法。RC5的加密内循环算法如下: for i=1 to r do { A=((Ao B)B)+s[i] (A,B)=(B,A) } 显然,该密码算法最突出的特点就是简单,只有3种运算,便于对它进行分析。基于该算法的数据 扩展速度较慢,因此对它进行较少轮的差

文档评论(0)

weiwoduzun + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档