高级数据加密标准AES课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《高级数据加密标准AES课件.ppt》由会员分享,可在线阅读,更多相关《高级数据加密标准AES课件.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级数据加密标准AES背景AES的数学基础AES加密算法描述AES解密算法算法评价结论背景现代计算机速度的迅速提高,使得只有56bit密钥的DES算法的安全性面临着极大的挑战。1997年,NIST公开征求AES(Advanced Encryption Standard)作为2001年以后的数据加密标准。1998年8月,AES召开第一次候选会,确定15个算法入围。1999年3月,AES召开第二次候选会,有5个算法入围(MARS,RC6,Rijndael,Serpent和Twofish)。2000年10月,NIST选出由比利时的Joan Daemen和Vincent Rijmen提交的Rijnda
2、el算法作为AES。2001年夏天,NIST颁布新的信息处理标准(FIPS),将Rijndael算法作为AES。AES的数学基础(1)有限域GF(28)上定义了4种运算:“+”、“”、“X”和带系数的多项式乘运算“”。对字节b,用多项式表示为:b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0“+”运算:两个字节相加,相当于字节的每一位简单异或。例:5783d4(57)16=(01010111)2x6+x4+x2+x+1(83)16=(10000011)2 x7+x+15783(x6+x4+x2+x+1)+(x7+x+1)=x7+x6+x4+x2(11010100)2(d
3、4)16AES的数学基础(2)“”运算:选择一个不可约多项式:m(x)=x8+x4+x3+x+1,“”运算为两多项式相乘后进行模m(x)的运算。例:57 83c1(57)16=(01010111)2x6+x4+x2+x+1(83)16=(10000011)2 x7+x+157 83(x6+x4+x2+x+1)(x7+x+1)mod(x8+x4+x3+x+1)=x13+x11+x9+x8+x7+x7+x5+x3+x2+x+x6+x4+x2+x+1)mod(x8+x4+x3+x+1)=(x13+x11+x9+x8+x6+x5+x4+x3+1)mod(x8+x4+x3+x+1)x7+x6+1(110
4、00001)2(c1)16(x13+x11+x9+x8+x6+x5+x4+x3+1)mod(x8+x4+x3+x+1):X5+x3x8+x4+x3+x+1x13+x11+x9+x8+x6+x5+x4+x3+1x13 +x9+x8+x6+x5x7+x6+1x11+x4+x3+1x11+x7+x6+x4+x3AES的数学基础(3)“X”运算:b X=b7x8+b6x7+b5x6+b4x5+b3x4+b2x3+b1x2+b0 x求乘法逆元:因为m(x)是GF(28)上的不可约多项式,所以对于任意b(x),都可以用扩展的Euclid算法求a(x),使得 a(x)b(x)+c(x)m(x)=1 因而 a
5、(x)b(x)mod m(x)=1 即 b1(x)mod m(x)=a(x)例:求(x7+x6+1)关于模m(x)x8+x4+x3+x+1的乘法逆元。辗转相除:x8+x4+x3+x+1(x7+x6+1)(x+1)+(x6+x4+x3)x7+x6+1=(x6+x4+x3)(x+1)+(x5+x3+1)x6+x4+x3=(x5+x3+1)x+(x3+x)x5+x3+1=(x3+x)x2+1扩展的Euclid算法:1=(x5+x3+1)(x3+x)x2 (x5+x3+1)(x6+x4+x3)+(x5+x+1)x)x2 =(x5+x3+1)(1+x3)+(x6+x4+x3)x2 =(x7+x6+1)+
6、(x6+x4+x3)(x+1)(1+x3)+(x6+x4+x3)x2 =(x7+x6+1)(1+x3)+(x6+x4+x3)(x4+x3+x2+x+1)=(x7+x6+1)(1+x3)+(x8+x4+x3+x+1)+(x7+x6+1)(x+1)(x4+x3+x2+x+1)=(x7+x6+1)(x5+x3)+(x8+x4+x3+x+1)(x4+x3+x2+x+1)因此,(x7+x6+1)1 mod(x8+x4+x3+x+1)x5+x3 AES的数学基础(4)带系数的多项式乘运算“”:令a(x)=a3x3+a2x2+a1x+a0,b(x)=b3x3+b2x2+b1x+b0,其乘积 c(x)=a(x
7、)b(x)=c6x6+c5x5+c4x4+c3x3+c2x2+c1x+c0其中,c0=a0 b0 c1=a1 b0 a0 b1 c2=a2 b0 a1 b1 a0 b2 c3=a3 b0 a2 b1 a1 b2 a0 b3 c4=a3 b1 a2 b2 a1 b3 c5=a3 b2 a2 b3 c6=a3 b3对(x4+1)取模得d(x):d(x)=a(x)b(x)=d3x3+d2x2+d1x+d0其中,d0=a0 b0 a3 b1 a2 b2 a1 b3 d1=a1 b0 a0 b1 a3 b2 a2 b3 d2=a2 b0 a1 b1 a0 b2 a3 b3 d3=a3 b0 a2 b1
8、a1 b2 a0 b3注意:xi mod(x4+1)=xi mod 4AES加密算法描述加密算法概述一圈变换密钥扩展加密算法描述加密算法概述(1)AES算法与以往的基于Feistel网的密码(如DES)不同,算法的每一步都是可逆的。算法的明文块长可以为128bit,192bit或256bit,密钥也可以分别为128bit,192bit或256bit。算法有多圈相同的运算,每一圈包括4个步骤:非线性代替(S-盒)行循环左移(ShiftRow)列混合变换(MixColum)与扩展密钥相异或每一圈的子密钥从扩展密钥中取出密钥扩展过程同时应用了非线性变换和循环左移算法定义的所有运算都是在有限域GF(2
9、8)上进行的加密算法概述(2)算法中进行运算的单位包括:1个字节1列1行用字节数组表示的整个加密块加密块数组中,n可以是3,5,7,所代表的加密块分别表示128bit,192bit和256bit。ai,ja0,ja1,ja2,ja3,jai,0ai,1ai,3a0,2a0,3a1,2a1,3a2,2a2,3a0,0a0,1a1,0a1,1a2,0a2,1a3,0a3,1a3,2a3,3a0,na1,na2,na3,n加密算法概述(3)令Nr代表算法的圈数,Nk代表密钥长度/32,Nb代表块长度/32,则算法的圈数Nr的取值与Nk和Nb的关系为:除最后一圈不做列混合变换外,每一圈都经过4步相同的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 数据 加密 标准 AES 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内