文档介绍:4 对称密钥算法 概述 数据加密标准算法 DES 高级数据加密标准 AES 联合分组密码 概述?分组密码:向量 x到向量 y上的一个映射?:x→y=?(x) x=(x 0,x 1,…,x N-1 ), y=(y 0,y 1,…,y N-1) ?乘积密码: t个函数(密码) F 1,…,F t的复合,其中每个 F i是一个换位或代替。如转轮机。? Lucifer 密码的代替-移位变换?乘积密码:代替和简单线性变换来实现混合变换。?例: ADFGVX 乘积密码先造一个 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 z X U 4 I S T M ?明文: P R O D U C T C I P H E R S ?变换(代替):( 行标,列标) ?明文 P ? FG (把原来明文的一个字母用 R ? AG 两个字母行、列来代替) ?第一次加密密文: FG AG VD VF XA DG XV DG XF FG VG GA AG XG ?移位变换:构造一个移位矩阵约定一个密钥?密钥: DEUTSCH ?把第一次加密的密文按行写入 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 G ?第二次加密(移位法):按密钥字母在字母表中的顺序一列一列写出。?密文: DXGX FFDG GXGG VVVG VGFG GDFA AAXA 数据加密标准算法 DES ?背景?算法描述?算法概述: L i =R i-1R i =L i-1⊕ f(R i-1, K i) 明文 IPR 0L 0fL 1? R 0R 1?L 0? f(R 0,K 1) L i? R i-1R i?L i-1? f(R i-1,K i) L 15? R 14R 15?L 14? f(R 14,K 15)L 16? R 15 R 16?L 15? f(R 15,K 16) IP -1密文 fff K 1K 2K iK 16 ?F函数: ?E变换?按位异或?S盒代替?P变换 L i-1 R i-1 E 变换 S 盒代替 P 变换 Li Ri 密钥移位移位压缩变换密钥密钥 PC-1 C 0D 0循环左移循环左移 C 1D 1 PC-2 循环左移循环左移 C 2D 2 PC-2 PC-2 循环左移循环左移 C 16D 16 …… K1 K2 K16 密钥变换: ?初始变换 IP:在第一圈之前(对明文移位) ?密钥变换: ? PC-1 :64位密钥去掉 8的倍数位?循环左移: 56位分成各 28位的两部分,分别循环左移 1 或2位? PC-2 :从 56位中选出 48位,为本圈子密钥?扩展变换 E:将右半部分从 32位扩展到 48位?S盒代替:对 48位中间结果做代替操作。?8个小 S盒,每个有 6位输入和 4位输出?设输入为 b 1b 2b 3b 4b 5b 6,则 b 1b 6为行号, b 2b 3b 4b 5为列号?例: S 6的输入 110011 ,行 11(3),列 1001 (9)处为 14,输出为 1110 ?P变换:换位操作, P变换的结果与上一圈的左半部分异或,称为新的右半部分,开始下一圈?逆初始变换 IP -