安全加密算法之AES分析.ppt

上传人:wuy****n92 文档编号:75109975 上传时间:2023-03-02 格式:PPT 页数:38 大小:688.50KB
返回 下载 相关 举报
安全加密算法之AES分析.ppt_第1页
第1页 / 共38页
安全加密算法之AES分析.ppt_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《安全加密算法之AES分析.ppt》由会员分享,可在线阅读,更多相关《安全加密算法之AES分析.ppt(38页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、安全加密算法之安全加密算法之AES分析分析AES(Rijndael)算法汇聚了安)算法汇聚了安全性、效率高、易实现性和灵活全性、效率高、易实现性和灵活性等优点,是一种较性等优点,是一种较DES更好的更好的算法,通常被认为是算法,通常被认为是DES算法的算法的取代者。取代者。组员分工:张威 20103272李鑫 20103277李正熹 20103273苏龙杰 201032811、对称加密算法2、高级加密算法AES3、AES安全性分析目录结构1、对称加密算法对称加密算法1是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂

2、的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称加密算的原理及应用对称加密算法的优点在于加解密的高速度和使用长密钥时的难破解性。假设两个用户需要使用对称加密方法加密然后交换数据,则用户最少需要2个密钥并交换使用,如果企业内用户有n个,则整个企业共需要n(n-1)个密钥,密钥的生成和分发将成为企业信息部门的恶梦。对称加密算法的安全性取决于加密密钥的保存情况,但要求企业中每一个持有密钥的人都

3、保守秘密是不可能的,他们通常会有意无意的把密钥泄漏出去如果一个用户使用的密钥被入侵者所获得,入侵者便可以读取该用户密钥加密的所有文档,如果整个企业共用一个加密密钥,那整个企业文档的保密性便无从谈起。对称加密算的特点对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,密钥管理成为用户的负担。对称加密算法在分布式网络系统上使用较为困难,主要是因为密钥管理困难,使用成本较高。而与公开密钥加密算法比起来,对称加密算法

4、能够提供加密和认证却缺乏了签名功能,使得使用范围有所缩小。在计算机专网系统中广泛使用的对称加密算法有DES和IDEA等。美国国家标准局倡导的AES即将作为新标准取代DES。2 2、高级加密标准高级加密标准高级加密标准高级加密标准(Advanced Encryption Standard,AES),在密码学中又称RijndaelRijndael加密法加密法,是美国联邦政府采用的一种区块加密区块加密标准。这个标准用来替代原先的DESDES,已经被多方分析且广为全世界所使用。经过五年的甄选流程,高级加密标准由美国国家标准与技术研美国国家标准与技术研究院究院(NIST)于2001年11月26日发布于F

5、IPS PUB 197,并在2002年5月26日成为有效的标准。2006年,高级加密标准已然成为对称密钥加密对称密钥加密中最流行的算法之一。AES算法优点AES的基本要求是,比三重DES快,至少与三重DES一样安全,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位,算法应易于各种硬件和软件实现。2000年10月2日美国政府正式宣布选中比利时密码学家Joan Daemen 和 Vincent Rijmen 提出的一种密码算法RIJNDAEL 作为 AES.AES是一种分组密码,用以取代DES的商业应用。其明文长度为128位,密钥长度为128位、192位、或256

6、位。算法特点:明文分组的长度为128位即16字节,密钥长度可以为16,24,或32字节(128,192或256位)。根据密钥的长度,算法被称为AES-128、AES-192、AES-256。密码由N轮组成,其中轮数依赖于密钥长度:16字节密钥是10轮,24字节密钥对应12轮,32字节密钥对应14轮。最后一轮仅包含三个变换,而在第一轮的前面有一个起始的单变换(轮密钥加),可以视为0轮。密钥长度(字/字节/位)4/16/1286/24/1928/32/256明文分组长度(字/字节/位)4/16/1284/16/1284/16/128轮数101214每轮的密钥长度(字/字节/位)4/16/1284/

7、16/1284/16/128扩展密钥长度(字/字节/位)44/17652/20860/240AES的参数的参数注:1字=4字节、1字节=8位AES结构:(1)它不是Feistel结构。Feistel结构就是一种分组密码,一般分为64位一组,一组分左右部分,进行一般为16轮的迭代运算,每次迭代完后交换左右位置,可以自己进行设计的有:分组大小 密钥长度 轮次数 子密钥生成 轮函数(2)输入的密钥被扩展成由44个32位字所组成的数组wi。(3)由4个不同的阶段组成,包括一个置换和三个代替:字节代替字节代替(SubBytes)(SubBytes):用一个S盒完成分组的字节到字节的代替。行移位行移位(S

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

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

10、S盒与其类似,逆推。字节代替 S盒2、行移位变换4X4的state矩阵第一行保持不变,第二行循环左移一个字节,第三行循环左移两个字节,第四行循环左移三个字节。S0,0S0,1S0,2S0,3S1,0S1,1S1,2S1,3S2,0S2,1S2,2S2,3S3,0S3,1S3,2S3,3S0,0S0,1S0,2S0,3S1,1S1,2S1,3S1,0S2,2S2,3S2,0S2,1S3,3S3,0S3,1S3,23、列混淆变换每列的每个字节被映射为一个新值,此值由该列中的4个字节通过函数变换得到。变换如下:02 03 01 0101 02 03 0101 01 02 0303 01 01 02S

11、0,0 S0,1 S0,2 S0,3S1,0 S1,1 S1,2 S1,3S2,0 S2,1 S2,2 S2,3S3,0 S3,1 S3,2 S3,3=S0,0 S0,1 S0,2 S0,3S1,0 S1,1 S1,2 S1,3S2,0 S2,1 S2,2 S2,3S3,0 S3,1 S3,2 S3,3固定固定0E 0B 0D 0909 0E 0B 0D0D 09 0E 0B0B 0D 09 0ES0,0 S0,1 S0,2 S0,3S1,0 S1,1 S1,2 S1,3S2,0 S2,1 S2,2 S2,3S3,0 S3,1 S3,2 S3,3S0,0 S0,1 S0,2 S0,3S1,0

12、S1,1 S1,2 S1,3S2,0 S2,1 S2,2 S2,3S3,0 S3,1 S3,2 S3,3=逆向列混淆如下:固定固定列混淆4、轮密钥加变换在轮密钥加变换中,128位的state矩阵按位与128位的轮密钥XOR。5、密钥扩展输入密钥直接被复制到扩展密钥数组的前四个字。然后每次用四个字填充扩展密钥数组余下的部分。在扩展密钥数组中,每个新增的字wi依赖于wi-1和wi-4。在四种情形下,三个使用了异或。对w数组中下标为4的倍数的元素采用了更复杂的函数来计算。g函数:1、字循环的功能是使一个字中的4个字节循环左移一个字节,即将输入字B0,B1,B2,B3变换成B1,B2,B3,B0。2、

13、字代替利用S盒对输入字中的每个字节进行字节代替。3、将结果与轮常量Rconj相异或。wSSSSB0 B1 B2 B3wg B1 B2 B3 B0 B1 B2 B3 B0 RCj 0 0 0 字节轮常量字循环字代替轮常量:轮常量是一个字,这个字的最右边三个字节总为0。因此字与Rcon相异或,其结果只是与该字最左边那个字节相异或。每轮的轮常量均不同,其定义为Rconj=(RCj,0,0,0),其中RC1=1,RCj=2RCj-1。RCj的值按十六进制表示为:j 1 2 3 4 5 6 7 8 9 10RCj 01 02 04 08 10 20 40 80 1B 36没人知道AES或其他的加密算法会

14、持续多久,NIST的数据加密标准(DES)是一个美国政府标准,直到被庞大的并行网络电脑攻击和特定的DES-Cracking硬件攻克时,它已连续使用了20年。AES比DES支持更长的密钥。除非一些对AES的攻击速度比密钥耗尽(key exhaustion)还要快,否则AES可保持超过20年之久的安全。当AES作为FIPS被发布出来后,该算法将正式被作为一个合适的加密法,可被美国政府组织用以保护敏感信息。AES算法安全性商业的和其他非美国政府组织被推荐(而非要求)使用AES和NIST的其它加密标准。Rijndael的商业产品本应在宣布之后不久推出,然而AES本身在2001年某一时间才会成为正式标准

15、,之后NIST还会推出相应的测试规范,NIST和加拿大政府通讯安全机构(CSE)共同运行加密模块确认程序(CMVP)来测试此算法,为NIST的标准和规范制定商业的、官方认可的实验室测试加密执行标准,如果可行,NIST和CSE将共同为该算法授权。截至2006年,针对AES唯一的成功攻击是旁道攻击旁道攻击。美国国家安全局审核了所有的参与竞选AES的最终入围者(包括Rijndael),认为他们均能够满足美国政府传递非机密文件的安全需要。2003年6月,美国政府宣布AES可以用于加密机密文件。AES应用Rijndael 被选为AES是经过多个国家的密码专家广泛讨论的结果。Rijndael 算法具有灵活

16、、简便、抗击多种密码分析的优点,它的目标是发展成能够安全用于商业、政治和军事的加密算法。AES(Rijndael)算法汇聚了安全性、效率高、易实现性和灵活性等优点,是一种较DES 更好的算法,通常被认为是DES算法的取代者。目前AES 算法主要用于基于私钥数据加密算法(对称密钥加密算法)的各种信息安全技术和安全产品,为原有的数据加密应用提供更强的数据安全保障。此外,AES 算法硬件实现的速度大约是软件实现的3 倍,这就给用硬件实现加密提供了很好的机会。随着网络技术发展迅猛,网络数据加密要求日益提高,AES的应用首先体现在网络信息安全领域中。无线网络的应用由于无线网络的通信信道较有线网络更为开放

17、,安全性的要求更高。为了保障数据传输安全性,一些无线网络技术使用了AES。例如ZigBee 技术,为确保MAC 帧的完整性、机密性、真实性和一致性,其MAC 层使用AES 算法进行加密,并且生成一系列的安全机制。电子商务应用 在电子商务方面,主要是AES 在电子商务基础平台中的密码协议和交易安全协议中的应用。例如,将AES 应用在SSL(Secure Sockets Layer 安全套接层)协议中。通过AES加密数据并传输给对方。这样接收方可以用AES 密钥得到具体的实时数据。目前比较典型的研究包括:AES 与RSA 相结合的混合加密体系;利用NTRU 公钥密码体系分配AES 密钥;AES 与

18、ECC(椭圆曲线加密算法)相结合的加密体系等等。AES硬件应用 在AES 硬件实现方面,主要方向有射频IC卡中的数据安全、智能安全卡和对硬盘数据的加密等方面。目前射频IC卡的应用范围很广,如公交IC 卡、校园一卡通、门禁卡和新一代的居民身份证中都嵌入了IC 芯片。其中含有持卡人的私人信息,如果不经过加密处理,很可能泄露出去。因此,如何在射频IC 卡中加入数据加密功能是AES 硬件应用的一个研究方向。AES软件应用在AES 软件实现方面,其应用领域包含语音、视频信息的加密,数据库中的数据加密等。如今多媒体信息加密的问题日渐凸显。由于多媒体信息的数据量很大,直接对其加密效率较低。所以,不仅要考虑数

19、据加密算法AES 的使用方法,还要设计相应的对多媒体信息进行加密的过程。关于AES 在数据库方面的应用,主要在于如何在数据输入、输出中生成、分配和管理所用的密钥以及安全的数据加密策略。3、AES安全性分析强力攻击是一种可以作用在任何一种密码算法的攻击手段,攻击的复杂度只和分组长度与密钥长度有关,而复杂的程度是随着密钥长度增加成指数增长的。如果分组密码算法的分组长度和密钥长度不够大,那么该算法可能会遭受强力攻击如生日攻击,但如果分组密码算法的分组长度和密钥长度足够大,那么强力攻击的效率就很低下,所以强力攻击一般都只做为攻击一个分组密码算法的最后手段。对AES的强力攻击对AES的功耗分析功耗分析这

20、一方法的主要特点是采用适当仪器对加密设备在加密算法运行时所泄露出来的能量信息进行测量,得到功率曲线,然后再对所得的大量功率曲线进行统计分析,推测出密钥,来实现密码算法的破译,这种方法需要一定的实验条件。对AES的差分分析差分分析已经成为分组密码算法分析的最为重要的分析方法之一。该方法是由Biham和Shamir于80年代末提出的,首次被用于对FEAL算法的攻击。差分分析方法于1990年首次公开,其中对DES减少轮数的算法进行了攻击。对AES的差分分析Biham和Shamir使用13轮的差分特征恢复了DES的14至15轮的子密钥,实现了15轮DES的攻击。后来,16轮DES的攻击概率可以达到2-

21、47。该攻击比穷举密码搜索攻击更为有效,对于现代高性能计算机,该攻击成为实际攻击。对AES的线性分析在线性分析中,首先必须找到分组密码算法多轮线性特征,多轮的线性特征是无法直接推导得到的。然而,我们可以找到密码算法中每个组件的线性关系式。对于密钥加组件和线性扩散组件,容易得到它们的线性关系式,而且它们的线性关系式是以概率1成立的。但是对于非线性S-box,推出它的线性关系式是困难的。对AES的线性分析同差分分析类似,如果可以得到高概率的线性特征,那么线性分析就很有效,但是现在流行的分组密码算法大都具有足够的抗线性分析能力,线性分析就需要寻找新的攻击思路。结束语 AES 的研究从理论到应用,己经深入到了信息安全技术的各个领域,深入研究与开发新的AES 实现和应用具有重要的理论和实践意义。随着密码技术的高速发展,高级加密标准AES(Rijndael)算法将逐渐取代DES 在IPSec、SSL 和ATM 中的使用,并广泛应用于虚拟专用网、远程访问服务器(RAS)、SONET(同步光网络)、高速ATM/Ethernet 路由器、卫星通信、移动通信、电子金融业务等领域。此外,网络保密系统、财政保密、电子游戏保密等方面也将采用AES 加密算法,将现有的关于AES 研究成果与其他领域的相关技术与应用相结合,从应用的角度拓展数据加密技术,从而获得新的应用,是AES(Rijndeal)的发展方向。

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

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com