信息安全基础4课件.pptx
《信息安全基础4课件.pptx》由会员分享,可在线阅读,更多相关《信息安全基础4课件.pptx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4 对称密钥算法4.1 概述概述4.2 数据加密标准算法数据加密标准算法DES4.3 高级数据加密标准高级数据加密标准AES4.4 联合分组密码联合分组密码4.1 概述n分组密码:向量分组密码:向量x到向量到向量y上的一个映射上的一个映射:x xy y=(x)x=(x0,x1,xN-1),y=(y0,y1,yN-1)n乘积密码:乘积密码:t个函数(密码)个函数(密码)F1,Ft的复合,其的复合,其中每个中每个Fi是一个换位或代替。如转轮机。是一个换位或代替。如转轮机。nLucifer密码的代替密码的代替-移位变换移位变换n乘积密码:代替和简单线性变换来实现混合变换。乘积密码:代替和简单线性变换
2、来实现混合变换。n例:例:ADFGVX乘积密码乘积密码1.先造一个先造一个6*6方阵方阵 A D F G V X A K 2 W R 1 F D 9 B 6 C L 5 F Q 7 J P G X G E V Y 3 A N V 8 O D H 0 2 X U 4 I S T M n明文:明文:P R O D U C T C I P H E R Sn变换(代替):(变换(代替):(行标,列标)行标,列标)明文明文 P FG (把原来明文的一个字母用(把原来明文的一个字母用 R AG 两个字母行、列来代替)两个字母行、列来代替)n第一次加密密文:第一次加密密文:FG AG VD VF XA DG
3、 XV DG XF FG VG GA AG XG2.移位变换:构造一个移位矩阵移位变换:构造一个移位矩阵,约定一个密钥约定一个密钥n密钥:密钥:DEUTSCHn把第一次加密的密文按行写入把第一次加密的密文按行写入4*7矩阵,前边加上密钥,密钥字母按其在字矩阵,前边加上密钥,密钥字母按其在字母表中出现的次序编号。母表中出现的次序编号。D E U T S C H 2 3 7 6 5 1 4 F G A G V D V F X A D G X V D G X F F G V G G A A G X Gn第二次加密(移位法):按密钥字母在字母表中的顺序一列一列写出。第二次加密(移位法):按密钥字母在字
4、母表中的顺序一列一列写出。n密文:密文:DXGX FFDG GXGG VVVG VGFG GDFA AAXA 4.2 数据加密标准算法DESn背景背景n算法描述算法描述n算法概述:算法概述:Li=Ri-1Ri=Li-1 f(Ri-1,Ki)nF函数:函数:nE变换变换n按位异或按位异或nS盒代替盒代替nP变换变换密钥PC-1C0D0循环左移循环左移C1D1PC-2循环左移循环左移C2D2PC-2PC-2循环左移循环左移C16D16K1K2K16密钥变换:n初始变换初始变换IP:在第一圈之前(对明文移位):在第一圈之前(对明文移位)n密钥变换:密钥变换:nPC-1:64位密钥去掉位密钥去掉8的倍
5、数位的倍数位n循环左移:循环左移:56位分成各位分成各28位的两部分,分别循环左移位的两部分,分别循环左移1或或2位位nPC-2:从:从56位中选出位中选出48位,为本圈子密钥位,为本圈子密钥n扩展变换扩展变换E:将右半部分从:将右半部分从32位扩展到位扩展到48位位nS盒代替:对盒代替:对48位中间结果做代替操作。位中间结果做代替操作。n8个小个小S盒,每个有盒,每个有6位输入和位输入和4位输出位输出n设输入为设输入为b1b2b3b4b5b6,则,则b1b6为行号,为行号,b2b3b4b5为列号为列号n例:例:S6的输入的输入110011,行,行11(3),列),列1001(9)处为)处为1
6、4,输出为,输出为1110nP变换:换位操作,变换:换位操作,P变换的结果与上一圈的左半变换的结果与上一圈的左半部分异或,成为新的右半部分,开始下一圈部分异或,成为新的右半部分,开始下一圈n逆初始变换逆初始变换IP-1(移位)(移位)举例:设M=0 x0123456789abcdef,K=0 xfedcba9876543210,求L1和R1。K:1111111011011100101110101001100001110110010101000011001000010000 64位PC-1(K):00001111001100110101010111110101010100110011000011
7、111111 表4.2 56位循环左移:00011110011001101010101111101010101001100110000111111110 56位K1(PC-2):111101001111110110011000011001001011011001011010 表4.4 48位M:0000000100100011010001010110011110001001101010111100110111101111IP(M):1100110000000000110011001111111111110000101010101111000010101010E(R0)0111101000010
8、10101010101011110100001010101010101E(R0)K1 100011101110100011001101000111101010001100001111S盒代替:11000001101000001100100010000100P变换:00010001100001001100000100100101R1:11011101100001000000110111011010L1:n加密过程:加密过程:L0R0IP()FOR i=1 TO 16Li Ri-1Ri Li-1 f(Ri-1,Ki)IP-1(R16L16)n解密过程:解密过程:R16L16 IP()FOR i=1
9、6 TO 1Ri-1 LiLi-1 Ri f(Li,Ki)IP-1(L0R0)nDES的安全性的安全性n弱密钥弱密钥n弱密钥:每一圈的子密钥都相同。共弱密钥:每一圈的子密钥都相同。共4个。个。n半弱密钥:只产生半弱密钥:只产生2种不同的子密钥,每种出现种不同的子密钥,每种出现8次。共次。共12个。个。n可能弱密钥:只产生可能弱密钥:只产生4种不同的子密钥,每种出现种不同的子密钥,每种出现4次。共次。共48个。个。n互补密钥互补密钥n代数结构代数结构n密钥长度密钥长度n圈数圈数nS盒的设计盒的设计练习n1.已知已知DES算法中算法中S盒的输入为盒的输入为0 x010101010102,求经过,求
10、经过S盒代替后的输出结果。盒代替后的输出结果。n答案:答案:1110 1001 1001 1101 0010 0000 0010 0010n输入输入:000000 010000 000100 000001 000000 010000 000100 000010S1:0行行0列:列:141110S2:0行行8列:列:91001S3:0行行2列:列:91001S4:1行行0列:列:131101S5:0行行0列:列:20010S6:0行行8列:列:00000S7:0行行2列:列:20010S8:0行行1列:列:200104.3 高级数据加密标准AESn背景背景nAES的数学基础的数学基础nAES加密
11、算法描述加密算法描述nAES解密算法解密算法n算法评价算法评价n结论结论背景n现代计算机速度的迅速提高,使得只有现代计算机速度的迅速提高,使得只有56bit密钥的密钥的DES算法的安全性面临着极大的挑战。算法的安全性面临着极大的挑战。n1997年,年,NIST公开征求公开征求AES(Advanced Encryption Standard)作为)作为2001年以后的数据加密标准。年以后的数据加密标准。n1998年年8月,月,AES召开第一次候选会,确定召开第一次候选会,确定15个算法入围。个算法入围。n1999年年3月,月,AES召开第二次候选会,有召开第二次候选会,有5个算法入围个算法入围(
12、MARS,RC6,Rijndael,Serpent和和Twofish)。)。n2000年年10月,月,NIST选出由比利时的选出由比利时的Joan Daemen和和Vincent Rijmen提交的提交的Rijndael算法作为算法作为AES。n2001年夏天,年夏天,NIST颁布新的信息处理标准(颁布新的信息处理标准(FIPS),将),将Rijndael算法作为算法作为AES。AES的数学基础(1)n有限域有限域GF(28)上定义了上定义了4种运算:种运算:“+”、“”、“X”和带系数的多项式乘运算和带系数的多项式乘运算“”。n对字节对字节b,用多项式表示为:,用多项式表示为:b7x7+b6
13、x6+b5x5+b4x4+b3x3+b2x2+b1x+b0n“+”运算:两个字节相加,相当于字节的每一位简单异运算:两个字节相加,相当于字节的每一位简单异或。或。n例:例: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(d4)16AES的数学基础(2)n“”运算:选择一个不可约多项式:运算:选择一个不可约多项式:m(x)=x8+x4+x3+x+1,“”运算为两多项式相乘后进行模运算为两多项式相乘后进行模m(x)的运算。的
14、运算。n例:例: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(11000001)2(c1)16(x13+x11+x9+x8+x6+x5+x4+x3+1)mod(x8+x4+x3+x+1):x5+x3x
15、8+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)n“X”运算:运算:b X=b7x8+b6x7+b5x6+b4x5+b3x4+b2x3+b1x2+b0 xn求乘法逆元:因为求乘法逆元:因为m(x)是是GF(28)上的不可约多项式,所上的不可约多项式,所以对于任意以对于任意b(x),都可以用扩展的,都可以用扩展的Euclid算法求算法求a(x),使,使得得 a(x)b(x)+c(x)m(x)=1 因而因而 a(x)b(x)mod m(x)=1 即即
16、b1(x)mod m(x)=a(x),m(x)=x8+x4+x3+x+1例:求(x7+x6+1)关于模m(x)x8+x4+x3+x+1的乘法逆元。辗转相除:辗转相除:x8+x4+x3+x+1(x 7+x 6+1)(x+1)+(x 6+x 4+x 3)x 7+x 6+1=(x 6+x 4+x 3)(x+1)+(x 5+x 3+1)x 6+x 4+x 3=(x 5+x 3+1)x+(x 3+x)x 5+x 3+1=(x 3+x)x 2+1扩展的扩展的Euclid算法:算法:1=(x 5+x 3+1)(x 3+x)x 2 (x 5+x 3+1)(x 6+x 4+x 3)+(x 5+x 3+1)x)x
17、 2 =(x 5+x 3+1)(1+x 3)+(x 6+x 4+x 3)x 2 =(x 7+x 6+1)+(x 6+x 4+x 3)(x+1)(1+x 3)+(x 6+x 4+x 3)x 2 =(x 7+x 6+1)(1+x 3)+(x 6+x 4+x 3)(x 4+x 3+x 2+x+1)=(x 7+x 6+1)(1+x 3)+(x 8+x 4+x 3+x+1)+(x 7+x 6+1)(x+1)(x 4+x 3+x 2+x+1)=(x 7+x 6+1)(x 5+x 3)+(x 8+x 4+x 3+x+1)(x 4+x 3+x 2+x+1)因此,因此,(x 7+x 6+1)1 mod(x 8+
18、x 4+x 3+x+1)x 5+x 3 AES的数学基础(4)n带系数的多项式乘运算带系数的多项式乘运算“”:令令a(x)=a3x3+a2x2+a1x+a0,b(x)=b3x3+b2x2+b1x+b0,其乘积其乘积 c(x)=a(x)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)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 基础 课件
限制150内