- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IDEA对称密码算法剖析
一,翅
实用第 ?‘日慧密集
IDEA对称密码算法剖析
敬茂华陶文金
摘 要:学习算法的一种非常有效的方法就是分析经典算法的代码实现。IDEA算法是一种
典型的对称密钥密码算法。是一种密钥长度为128位的分组密码算法,这种算法既可以用于
加密,也可以用于解密,具有代码量少、运行速度快、安全性高等特点。本文首先剖析了
IDEA算法原理,然后对基于Vc++的IDEA算法的c++实例进行了解析。
关键词:IDEA;对称密码;分组密码;C语言
1 引言 在图1中。每轮运算分为两部分。
第一部分是变换运算.其方法是采用加法及乘法运算将4
Data
IDEA(International
EncryptionAlgorithm:国际数据
个16位的子明文分组与4个子密钥混合,产生4个16位的输
加密算法)是1990年由瑞士联邦技术学院的XJ.IJai和Massey
出。具体的变换方法是:
Standard:建议标准算法)的
提出的PES(ProposedEncryption
(1)Xl和第一个子密钥进行乘法运算。
改进版本。于1992年命名为IDEA。IDEA对PES的抗差分分
(2)X2和第二个子密钥加法运算。
析的能力进行了强化处理,其安全性非常高,同一种算法既可
(3)X3和第三个子密钥加法运算。
以用于加密.又可以用于解密.其唯一的区别仅仅在于子密钥
(4)X4和第四个子密钥乘法运算。
的生成方法不同。IDEA算法在诸如邮件加密系统PGP等多种
然后将这4个16位输出进行两两配对,采用逻辑异或
商业产品中被广泛使用。
IDEA是一种分组长度为64位的分组密码算法.密钥长度
为128位。128位的密钥用于产生52个子密钥。在整个加密
过程中.总共需要进行8轮迭代运算,整个迭代过程需要48
X·X2
个子密钥。另外4个子密钥用于最终的64位密文的输出变换。 Z
IEDA算法基于。相异代数群上的混合运算”的设计思想,
其迭代运算中采用了三种数学运算:16位整数的模2K加法运
算、16位分组的按位异或运算和16位整数的模2~l乘法运
算。为了叙述简洁。在后文中将直接称这三种运算为加法、乘
法和异或运算。这j种运算中的任何一对运算都不满足分配
律,也不满足结合律,这让它们的组合能对输入作出复杂的变
换.从而使得攻击者无法使用化简的方式来分析明文及密钥之
间的关系,因此。对IDEA算法的密码分析要比对只使用异或
运算的DES算法的分析要困难得多。
2算法原理及框架
Z
IDEA的加密过程包括两个部分:明文到密文加密的8轮
迭代运算和子密钥的产生。
2.1 IDEA加密迭代运算 Y- 巧 巧
IDEA加密迭代运算过程如图1所示。输入的64位明文数
Xt16位明文子分组 Yi:16位密文
文档评论(0)