1 / 7
文档名称:

国际数据加密算法.doc

格式:doc   大小:432KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

国际数据加密算法.doc

上传人:wcuxirh 2020/4/19 文件大小:432 KB

下载得到文件列表

国际数据加密算法.doc

文档介绍

文档介绍:学院:计算机与信息工程学院专业:信息管理与信息系统姓名:魏趁趁学号:110903058几种分组密码算法的分析与对比分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。下面我就搜集的几种分组密码算法进行分析对比:一、国际数据加密算法(IDEA)IDEA是InternationalDataEncryptionAlgorithm的缩写,即国际数据加密算法,。1992年Lai和Massey对PES进行了改进和强化,产生了IDEA。这是一个非常成功的分组密码,并且广泛的应用在安全电子邮件PGP中。IDEA加密算法是一个分组长度为64位的分组密码算法,密钥长度为128位,同一个算法即可用于加密,也可用于解密。这是基于“相异代数群上的混合运算”设计思想,算法运用硬件与软件实现都很容易,而且比DES算法在实现上快的多。IDEA自问世以来,已经经历了大量的详细审查,对密码分析具有很强的抵抗能力,在多种商业产品中被使用。IDEA算法是对称密码体制中的一种基于数据块的分组加密算法,整个算法包含子密钥产生、数据加密过程、数据解密过程三部分。该算法规定明文与密文块均为64b,密钥长度为128b,加密与解密相同,只是密钥各异,其基本工作原理如图1所示。图1IDEA工作原理IDEA是一种由8个相似圈(Round)和一个输出变换(OutputTransformation)组成的迭代算法。IDEA的每个圈都由三种函数:模(216+1)乘法、模216加法和按位XOR组成。在加密之前,IDEA通过密钥扩展(KeyExpansion)将128bit的密钥扩展为52Byte的加密密钥EK(EncryptionKey),然后由EK计算出解密密钥DK(DecryptionKey)。EK和DK分为8组半密钥,每组长度为6Byte,前8组密钥用于8圈加密,最后半组密钥(4Byte)用于输出变换。IDEA的加密过程和解密过程是一样的,只不过使用不同的密钥(加密时用EK,解密时用DK)。密钥扩展的过程如下:将128bit的密钥作为EK的前8byte将前8byte循环左移25bit,得到下一8byte,将这个过程循环7次在第7次循环时,取前4byte作为EK的最后4byte至此52byte的EK生成完毕。密钥扩展的过程如表1所示,为了能够清楚的看出每个8Byte的关系,在表1中用粗线条将将每个8Byte划分开了。IDEA加密算法用了52个子密钥(8轮中的每一轮需要6个,其他4个用于输出变换)。首先,将128-位密钥分成8个16-位子密钥。这些事算法的第一批8个子密钥(第一轮6个,第二轮头两个)。然后,密钥向左环移动x位后再分成8个子密钥。开始4个用在第二轮,后面四个用在第三轮。密钥再次向左环移动25位,产生另外8个子密钥,如此进行指导算法结束。具体是:IDEA总共进行8轮迭代操作,每轮需要6个子密钥,另外还需要4个额外子密钥,所以总共需要52个子密钥,这52个子密钥都是从128位密钥中扩展出来的。首先把输入的key分成8个16位的子密钥,1-6号子密钥供第一轮加密使用,7-8号子密钥供第二轮使用,然后把这128位密钥