RFC2144.docVIP

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

RFC2144 组织:中国互动出版网(/) RFC文档中文翻译计划(/compters/emook/aboutemook.htm) E-mail:ouyang@ 译者:王安鹏(anpengwang anpengwang@263.net) 译文发布时间:2001-8-22 版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须 保留本文档的翻译及版权信息。 Network Working Group C. Adams Request for Comments: 2144 Entrust Technologies Category: Informational May 1997 CAST-128加密算法 (RFC2144——The CAST-128 Encryption Algorithm ) 本备忘录的状态 本备忘录为Internet社区提供信息,但没有定义任何类型的Internet标准。本备忘录的 发布没有限制。 摘要 Internet社区需要一种不受限制的加密算法,这种算法的密码长度应该允许在较大范围 内变动,以便用于各种不同的加密应用程序和协议中提供安全性。 本文档描述了一种已经存在的算法,可以满足这些要求。内容包括:密码和密钥安排算 法(第二节)的描述,置换箱(附录A)以及一组测试向量(附录B)。 目录 1 简介 1 2 算法的描述 2 2.1 循环密钥对 2 2.2 不同的循环 2 2.3 置换箱(Substitution Boxes) 3 2.4 密钥表 3 2.4.1. 掩码子钥与旋转子钥 4 2.5 可变的密钥长度 5 2.6 CAST5对象标识符 5 2.7 讨论 6 3 知识产权的问题 6 4 安全性的问题 6 5 参考 6 6 作者地址 7 7 附录A 置换箱(S-Boxes) 7 8 附录B. 测试向量 13 1 简介 本文档描述了CAST-128加密算法,这是一种类似于DES的置换组合网路 (Substitution-Permutation Network,SPN)加密系统,对于微分密码分析、线性密码分析、 密码相关分析具有较好的抵抗力。这种加密还有其他的几个理想的特点,包括雪崩、严格的 雪崩标准(SAC)、位独立标准(BIC)、没有互补属性也不存在软弱或者半软弱的密钥。因 此对于整个Internet社区——要求密码强壮、容易获取的加密算法——而言,这是一种能够 满足一般应用的很好的选择。 Adams[Adams]详细地讨论了CAST设计过程,对于这种算法的分析也可以在网上找到 (比如,[Web1]或[Web2])。 2 算法的描述 CAST-128属于称为Feistel加密的一类加密算法,因此所有的操作都类似于数据加密标 准(DES)。完整的加密算法分下面四步给出。 输入:明文m1...m64; 密钥 K = k1...k128 输出:密文c1...c64 1)(密钥表)从K计算出16对子钥(Kmi, Kri)(参见2.1到2.4节); 2)(L0,R0) -- (m1...m64)(把明文分为左右两半,L0=m1…m32,R0=m33…m64); 3)(循环16次)对于i从1到16,按下述方法计算Li和Ri: Li = Ri-1; Ri = Li-1 ^ f(Ri-1,Kmi,Kri), 其中f在第2.2节中定义。(f根据i的不同,可以是 Type 1、Type 2或者Type 3) 4)c1...c64 -- (R16,L16) (交换最终得到的L16和R16并连接在一起构成密文。) 解密算法与上述加密算法一致,只不过循环(因此还有子钥对)是按照相反的顺序从 (R16,L16)计算出(L0,R0)。 可以使用附录B中的测试向量验证该算法的正确性。 2.1 循环密钥对 CAST-128在每次循环中使用以对子钥:32位量Km作为“掩码”,5位量Kr用作“旋 转码”。 2.2 不同的循环 CAST-128使用三种不同的循环函数,如下所示(其中“D”是输入函数f的数据,“Ia” 到“Id”分别表示I中从高到低的4个字节)。注意“+”和“-”是以2**32为模的加减法, “^”是位异或,“”表示循环左移操作。 Type 1: I = ((Kmi + D) Kri) f = ((S1[Ia] ^ S2[Ib]) - S3[Ic]) + S4[Id] Type

文档评论(0)

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

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

1亿VIP精品文档

相关文档