安全加密算法之AES分析

上传人:灯火****19 文档编号:144142115 上传时间:2020-09-06 格式:PPT 页数:38 大小:694.50KB
返回 下载 相关 举报
安全加密算法之AES分析_第1页
第1页 / 共38页
安全加密算法之AES分析_第2页
第2页 / 共38页
安全加密算法之AES分析_第3页
第3页 / 共38页
安全加密算法之AES分析_第4页
第4页 / 共38页
安全加密算法之AES分析_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《安全加密算法之AES分析》由会员分享,可在线阅读,更多相关《安全加密算法之AES分析(38页珍藏版)》请在金锄头文库上搜索。

1、安全加密算法之AES分析,AES(Rijndael)算法汇聚了安全性、效率高、易实现性和灵活性等优点,是一种较DES更好的算法,通常被认为是DES算法的取代者。,组员分工:,张威 20103272 李鑫 20103277 李正熹 20103273 苏龙杰 20103281,目录结构,1、对称加密算法,对称加密算法1是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用

2、的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。,对称加密算的原理及应用,对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n(n-1) 个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用

3、一个加密密钥,那整个企业文档的保密性便无从谈起。,对称加密算的特点,对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。而与公开密钥加密算法比起来,对称加密算法能够提供加密和认证却缺乏了签名功能,使得使用范围有所缩小。在计算机专网系统中广泛使用的对称加密算法有DES和IDEA等。美国国家标准局倡导的AES

4、即将作为新标准取代DES。,2、高级加密标准,高级加密标准(Advanced Encryption Standard,AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密中最流行的算法之一。,AES算法优点,AES的基本要求是,比三重DES快,至少与三重DES一样安全,采用对称分组密码体制,

5、密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。 2000年10月2日美国政府正式宣布选中比利时密码学家Joan Daemen 和 Vincent Rijmen 提出的一种密码算法RIJNDAEL 作为 AES. AES是一种分组密码,用以取代DES的商业应用。其明文长度为128位,密钥长度为128位、192位、或256位。,算法特点:,明文分组的长度为128位即16字节,密钥长度可以为16,24,或32字节(128,192或256位)。根据密钥的长度,算法被称为AES-128、AES-192、AES-256。 密码由N轮组成,其中轮数依赖于密钥长度

6、:16字节密钥是10轮,24字节密钥对应12轮,32字节密钥对应14轮。 最后一轮仅包含三个变换,而在第一轮的前面有一个起始的单变换(轮密钥加),可以视为0轮。,AES的参数,注:1字=4字节、1字节=8位,AES结构:,(1)它不是Feistel结构。 Feistel结构就是一种分组密码,一般分为64位一组,一组分左右部分,进行一般为16轮的迭代运算,每次迭代完后交换左右位置,可以自己进行设计的有: 分组大小 密钥长度 轮次数 子密钥生成 轮函数 (2)输入的密钥被扩展成由44个32位字所组成的数组wi。 (3)由4个不同的阶段组成,包括一个置换和三个代替: 字节代替(SubBytes):用

7、一个S盒完成分组的字节到字节的代替。 行移位(ShiftRows):一个简单的置换。 列混淆(MixColumns):利用域GF(28)上的算术特性的一个代替。 轮密钥加(AddRoundKey):当前分组和扩展密钥的一部分进行按位XOR。,(4)算法结构非常简单。对加密和解密操作,算法由轮密钥加开始,接着执行9轮迭代运算,每轮都包含所有4个阶段的代替,接着是第10轮的三个阶段。 (5)仅仅在轮密钥加阶段中使用密钥。 (6)轮密钥加是XOR,其他三个阶段提供了混淆、扩散以及非线性功能,这种方法非常有效且非常安全。 (7)每个阶段均可逆。 (8)解密算法按逆序方式利用了扩展密钥。但是AES的解密

8、和加密算法并不一样。 (9)一旦将所有的四个阶段求逆,很容易证明解密函数的确可以恢复原来的明文。 (10)加密和解密过程的最后一轮均只包含三个阶段。,1、字节代替变换,简单的查表操作。 AES定义了一个S盒,它是一个16X16个字节的矩阵,包含了8位所能表示的256个数的一个置换。 字节与S盒的映射:把该字节的高4位作为行值,低4位作为列值,以这些行列值作为索引从S盒的对应位置取出元素作为输出。 例如,十六进制数95对应S盒的9行5列,在S盒中的值为2A,所以95就被代替为2A。 逆S盒与其类似,逆推。,字节代替,S盒,2、行移位变换,4X4的state矩阵第一行保持不变,第二行循环左移一个字

9、节,第三行循环左移两个字节,第四行循环左移三个字节。,3、列混淆变换,每列的每个字节被映射为一个新值,此值由该列中的4个字节通过函数变换得到。 变换如下:,02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02,S0,0 S0,1 S0,2 S0,3 S1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3,=,S0,0 S0,1 S0,2 S0,3 S1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3,固定,0E 0B 0D

10、09 09 0E 0B 0D 0D 09 0E 0B 0B 0D 09 0E,S0,0 S0,1 S0,2 S0,3 S1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3,S0,0 S0,1 S0,2 S0,3 S1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3,=,逆向列混淆如下:,固定,列混淆,4、轮密钥加变换,在轮密钥加变换中,128位的state矩阵按位与128位的轮密钥XOR。,5、密钥扩展,输入密钥直接被复制到扩展密钥数组的前四个字。然后每次用四个字

11、填充扩展密钥数组余下的部分。在扩展密钥数组中,每个新增的字wi依赖于wi-1和wi-4。在四种情形下,三个使用了异或。对w数组中下标为4的倍数的元素采用了更复杂的函数来计算。,g函数:,1、字循环的功能是使一个字中的4个字节循环左移一个字节,即将输入字B0,B1,B2,B3变换成B1,B2,B3,B0。 2、字代替利用S盒对输入字中的每个字节进行字节代替。 3、将结果与轮常量Rconj相异或。,w,S,S,S,S,B0 B1 B2 B3,w,g,B1 B2 B3 B0,B1 B2 B3 B0,RCj 0 0 0,字节,轮常量,字循环,字代替,轮常量:,轮常量是一个字,这个字的最右边三个字节总为

12、0。因此字与Rcon相异或,其结果只是与该字最左边那个字节相异或。 每轮的轮常量均不同,其定义为Rconj=(RCj,0,0,0),其中RC1=1,RCj=2RCj-1。 RCj的值按十六进制表示为:,j 1 2 3 4 5 6 7 8 9 10,RCj 01 02 04 08 10 20 40 80 1B 36,没人知道AES或其他的加密算法会持续多久,NIST的数据加密标准(DES)是一个美国政府标准,直到被庞大的并行网络电脑攻击和特定的DES- Cracking硬件攻克时,它已连续使用了20年。AES比DES支持更长的密钥。除非一些对AES的攻击速度比密钥耗尽(key exhaustio

13、n)还要快, 否则AES可保持超过20年之久的安全。当AES作为FIPS被发布出来后,该算法将正式被作为一个合适的加密法,可被美国政府组织用以保护敏感信息。,AES算法安全性,商业的和其他非美国政府组织被推荐(而非要求)使用AES和NIST的其它加密标准。Rijndael的商业产品本应在宣布之后不久推出,然而AES本身在2001年某一时间才会成为正式标准,之后NIST还会推出相应的测试规范,NIST和加拿大政府通讯安全机构(CSE)共同运行加密模块确认程序(CMVP)来测试此算法,为NIST的标准和规范制定商业的、官方认可的实验室测试加密执行标准,如果可行,NIST和CSE将共同为该算法授权。

14、,截至2006年,针对AES唯一的成功攻击是旁道攻击。美国国家安全局审核了所有的参与竞选AES的最终入围者(包括Rijndael),认为他们均能够满足美国政府传递非机密文件的安全需要。2003年6月,美国政府宣布AES可以用于加密机密文件。,AES应用,Rijndael 被选为AES是经过多个国家的密码专家广泛讨论的结果。Rijndael 算法具有灵活、简便、抗击多种密码分析的优点,它的目标是发展成能够安全用于商业、政治和军事的加密算法。 AES(Rijndael)算法汇聚了安全性、效率高、易实现性和灵活性等优点,是一种较DES 更好的算法,通常被认为是DES算法的取代者。目前AES 算法主要

15、用于基于私钥数据加密算法(对称密钥加密算法)的各种信息安全技术和安全产品,为原有的数据加密应用提供更强的数据安全保障。此外,AES 算法硬件实现的速度大约是软件实现的3 倍, 这就给用硬件实现加密提供了很好的机会。 随着网络技术发展迅猛,网络数据加密要求日益提高,AES的应用首先体现在网络信息安全领域中。,无线网络的应用,由于无线网络的通信信道较有线网络更为开放,安全性的要求更高。为了保障数据传输安全性,一些无线网络技术使用了AES。例如ZigBee 技术,为确保MAC 帧的完整性、机密性、真实性和一致性,其MAC 层使用AES 算法进行加密,并且生成一系列的安全机制。,电子商务应用,在电子商

16、务方面,主要是AES 在电子商务基础平台中的密码协议和交易安全协议中的应用。例如,将AES 应用在SSL(Secure Sockets Layer 安全套接层)协议中。通过AES加密数据并传输给对方。这样接收方可以用AES 密钥得到具体的实时数据。目前比较典型的研究包括:AES 与RSA 相结合的混合加密体系;利用NTRU 公钥密码体系分配AES 密钥;AES 与ECC(椭圆曲线加密算法)相结合的加密体系等等。,AES硬件应用,在AES 硬件实现方面,主要方向有射频IC卡中的数据安全、智能安全卡和对硬盘数据的加密等方面。目前射频IC卡的应用范围很广,如公交IC 卡、校园一卡通、门禁卡和新一代的居民身份证中都嵌入了IC 芯片。其中含有持卡人的私人信息,如果不经过加密处理,很可能泄露出去。因此,如何在射频IC 卡中加入数据加密功能是AES 硬件应用的一个研究方向。,AES软件应用,在AES 软件实现方面,其应用领域包含语音、视频信息的加密,数据库中的数

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 经营企划

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