- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 驼乳粉的技术要求.pdf VIP
- 哈工大_理论力学_I(第6版)习题详解.pdf
- 2025年新高考数学一轮复习:函数的图象(九大题型)(讲义)(学生版+解析).pdf VIP
- 陶喆出轨道歉会PPT(源文件锐普独家首发)0708.pptx VIP
- 2025年新高考数学一轮复习:圆的方程(八大题型)(讲义)(学生版+解析).pdf VIP
- 2025年新高考数学一轮复习:数列求和(九大题型)(练习)(学生版+解析).pdf VIP
- 发酵驼乳粉的技术要求.pdf VIP
- 罗斯蒙特3051C压力变送器校准调试方法.doc VIP
- 视频监控系统工程质量管理体系和保证措施.docx VIP
- 660MW超超临界火电机组深度调峰经济性评估与对策.docx VIP
文档评论(0)