国际数据加密算法

上传人:博****1 文档编号:497047879 上传时间:2022-10-01 格式:DOC 页数:7 大小:438.02KB
返回 下载 相关 举报
国际数据加密算法_第1页
第1页 / 共7页
国际数据加密算法_第2页
第2页 / 共7页
国际数据加密算法_第3页
第3页 / 共7页
国际数据加密算法_第4页
第4页 / 共7页
国际数据加密算法_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《国际数据加密算法》由会员分享,可在线阅读,更多相关《国际数据加密算法(7页珍藏版)》请在金锄头文库上搜索。

1、学院:计算机与信息工程学院 专业:信息管理与信息系统姓名: 魏趁趁 学号: 110903058 几种分组密码算法的分析与对比 分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。下面我就搜集的几种分组密码算法进行分析对比:一、国际数据加密算法(IDEA)IDEA是International Data Encryption Algorithm的缩写,即国际数据加密算法,它的原型是1990年由瑞士联邦技术学院X.J.Lai和Massey提出的PES。1992年 Lai和Massey对P

2、ES进行了改进和强化,产生了IDEA。这是一个非常成功的分组密码,并且广泛的应用在安全电子邮件PGP中。IDEA加密算法是一个分组长度为64位的分组密码算法,密钥长度为128位,同一个算法即可用于加密,也可用于解密。这是基于“相异代数群上的混合运算”设计思想,算法运用硬件与软件实现都很容易,而且比DES算法在实现上快的多。IDEA自问世以来,已经经历了大量的详细审查,对密码分析具有很强的抵抗能力,在多种商业产品中被使用。IDEA算法是对称密码体制中的一种基于数据块的分组加密算法,整个算法包含子密钥产生、数据加密过程、数据解密过程三部分。该算法规定明文与密文块均为64b,密钥长度为128b,加密

3、与解密相同,只是密钥各异,其基本工作原理如图1所示。图1 IDEA工作原理IDEA是一种由8个相似圈(Round)和一个输出变换(Output Transformation)组成的迭代算法。IDEA的每个圈都由三种函数:模(216+1)乘法、模216加法和按位XOR组成。在加密之前,IDEA通过密钥扩展(Key Expansion)将128bit的密钥扩展为52Byte的加密密钥EK(Encryption Key),然后由EK计算出解密密钥DK(Decryption Key)。EK和DK分为8组半密钥,每组长度为6Byte,前8组密钥用于8圈加密,最后半组密钥(4Byte)用于输出变换。IDE

4、A的加密过程和解密过程是一样的,只不过使用不同的密钥(加密时用EK,解密时用DK)。 密钥扩展的过程如下:(1) 将128bit的密钥作为EK的前8byte (2) 将前8byte循环左移25bit,得到下一8byte,将这个过程循环7次 (3) 在第7次循环时,取前4byte作为EK的最后4byte(4) 至此52byte的EK生成完毕。密钥扩展的过程如表1所示,为了能够清楚的看出每个8Byte的关系,在表1中用粗线条将将每个8Byte划分开了。IDEA加密算法用了52个子密钥(8轮中的每一轮需要6个,其他4个用于输出变换)。首先,将128-位密钥分成8个16-位子密钥。这些事算法的第一批8

5、个子密钥(第一轮6个,第二轮头两个)。然后,密钥向左环移动x位后再分成8个子密钥。开始4个用在第二轮,后面四个用在第三轮。密钥再次向左环移动25位,产生另外8个子密钥,如此进行指导算法结束。具体是:IDEA总共进行8轮迭代操作,每轮需要6个子密钥,另外还需要4个额外子密钥,所以总共需要52个子密钥,这52个子密钥都是从128位密钥中扩展出来的。首先把输入的key分成8个16位的子密钥,1-6号子密钥供第一轮加密使用,7-8号子密钥供第二轮使用,然后把这128位密钥循环左移25位,这样key=k26k27k28k29k24k25。把新生成的key在分成8个16位的子密钥,1-4号子密钥供第二轮使

6、用,5-8号子密钥供第三轮加密使用。到此,已经得到了16个子密钥,如此继续,当循环左移了5次之后,已经生成了48个子密钥,还有四个额外的子密钥需要生成,再次把key循环左移25位,选取划分出来的8个16位子密钥的前四个作为那四个的额外加密密钥。至此,供加密使用的52个子密钥生成完毕。输入的64-位数据分组被分成4个16-位子分组:x1,x2,x3和x4。这4个子分组成为算法的第一轮的输入,总共有8轮。在每一轮中,这4个子分组相互相异或,相乘,相加,且与6个16-位子密钥相异或,相乘,相加。在轮与轮间,第二个和第三个子分组交换。最后输出变换中4个子分组与4个子密钥进行运算。目前IDEA在工程中已

7、有大量应用实例,PGP(Pretty Good Privacy)就使用IDEA作为其分组加密算法;安全套接字层SSL(Secure Socket Layer)也将IDEA包含在其加密算法库SSLRef中;IDEA算法专利的所有者Ascom公司也推出了一系列基于IDEA算法的安全产品,包括:基于IDEA的Exchange安全插件、IDEA加密芯片、IDEA加密软件包等。IDEA算法的应用和研究正在不断走向成熟。二、 RC5算法RC5分组密码算法是1994由麻萨诸塞技术研究所的Ronald L. Rivest教授发明的,并由RSA实验室分析。它是参数可变的分组密码算法,三个可变的参数是:分组大小、

8、密钥大小和加密轮数。在此算法中使用了三种运算:异或、加和循环。RC5是种比较新的算法,Rivest设计了RC5的一种特殊的实现方式,因此RC5算法有一个面向字的结构:RC5-w/r/b,这里w是字长其值可以是16、32或64对于不同的字长明文和密文块的分组长度为2w位,r是加密轮数,b是密钥字节长度。由于RC5一个分组长度可变的密码算法,为了便于说明在本文中主要是针对64位的分组w=32进行处理的,下面详细说明了RC5加密解密的处理过程: 1、RC5的密钥扩展 对给定的密钥K来说,经过一些复合运算可产生总数为t的字密钥,使得每一轮都分配一对密钥。除此之外的非轮运算部分也要分配一对密钥。总计产生

9、 t=2r+2 个子密钥,每个密钥的长度为一个字长(w bits)。子密钥可标记在t-字阵列中:s0,s1, ,st-1,它为wt矩阵,这种阵列的产生图示为:将参数r,w输入,左面标出的t-字阵列是一些伪随机bit,按r,w的规格选入的。然后把b-bits长的密钥K0, ,b-1转换成c-字阵列L0, ,c-1(字的bit数为w,这里c=b8/w;注意:密钥长度为b个字节)。如果b不是w的整数倍,那么L右端的空位用0填入。 2、RC5的加密整个加密使用了下述3个基本运算和它们的逆运算:(1)模2w加法运算,表示为“+”;(2)逐比特异或运算,表示为“”;(3)字的循环左移运算:字x循环左移y比

10、特,表示为xy如(a0,a1,a2, ,an-1)是循环右移,减运算也是模 (本应模 ,本文中令w=32)的。解密图如下:4、 加密算法的特点:是分组长度W,密钥长度b和圈数r都是可变的。简记为RC5-W/r/b。该密码既适合于硬件实现又适合于软件实现,实现速度非常快。它主要通过数据循环来实现数据的扩散和混淆。每次循环的次数都依赖于输入数据,事先不可预测。三、高级数据加密标准(AES)1997年4月15日,美国ANSI发起征集AES(advanced encryption standard)的活动,并为此成立了AES工作小组。此次活动的目的是确定一个非保密的、可以公开技术细节的、全球免费使用的

11、分组密码算法,以作为新的数据加密标准。1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。1、 AES加密/解密算法原理AES是一个迭代的、对称密钥分组的密码,可使用128、192和256位密钥,并用128位(16字节)分组加密和解密数据。与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据。通过分组密码返回的加密数据的位数与输入数据相同。AES加密解密框图如图1所示。2 、算法实现举例描述AES算法是基于置换和代替。置换是数据的重新排列,而代替是用一个单元数据替换另一个。AES使用了几种不同的技术来实现置换和替换。例如以下是要加密的128位值,以及它们对

12、应的索引数组:00 ll 22 33 44 55 66 77 88 99 aa bb cc dd ee ffO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15192位密钥的值是:00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 ll 12 13 14 15 16 170 1 2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 2l 22 23AES的构造函数被调用时,用于加密方法的两个表被初始化。第一个表的代替盒称为S一盒。是一个16x16的矩阵。S一盒的前5行和前5列如表1

13、所示。加密例程获取该密钥数组并生成一个名为w的密钥调度表,如表2所示。相对DES算法,AES算法的实现更简单同时由于AES算法具备很强的扩散性能,最终形成的密码有很高的随机性,抗分析攻击能力强。在软件工程中,更便于制作成通用的加密对象类型或加密标准组件,在不降低安全性能的条件下,极大的简化数据加密程序的开发难度。AES算法的实现程序,对处理器性能、内存的需求量等方面的要求低,可以广泛的应用到智能卡、卫星通信、数字电视、流式媒体、加密键盘、ATM、CDM等智能设备中,可提供很高的安全性能,因此,AES将在今后很长时间内具备广阔的应用前景。 几种分组密码算法的简单对比:1、 IDEA:明文与密文块均为64b,密钥长度为128b,加密与解密相同,只是密钥各异。2、 RC5:分组和密钥都较长,密钥和轮数均可变且对称。3、 AES:一个迭代的、对称密钥分组的密码,可使用128、192和256位密钥,并用128位(16字节)分组加密和解密数据。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号