DES分组密码算法小结 (1) 基本参数 ●分组长度:64比特 ●密钥长度:64比特 ●有效密钥长度:56比特 ●迭代圈数:16圈 ●圈密钥长度:48比特 (2) 编码环节 ● 6进4出的S盒变换 ●逐位模2加变换 ●比特移位变换P盒 实现性能: 软件实现慢、硬件实现块;可全部用 布尔电路实现 安全性: 目前可以成功地对DES进行穷举攻击。 ●比特扩展变换E盒 ●比特抽取变换: PC1、PC2和IP 谢 谢 * * 字节代替 行移位 列混合 明文M R1 R9 R10 密文C 字节代替 行移位 AES加密框图 AES算法的分组长度为4个32位字,迭代圈数为Nr,则共需要个4(Nr+1)个32位字的密钥。 如果初始密钥为4个32位字(128比特),则圈数Nr=10, 此时密钥的生成算法为: 五、圈密钥生成算法。 诸Wi 是32位字,即由4个字节组成. 记Nk = 密钥比特数÷32是原始密钥可产生的32位字的个数 , 即 密钥长度 128 192 256 Nk 4 6 8 五、圈密钥生成算法(128, 192比特密钥情形) Rotebyte Bytesub 前Nk个wi 是原始密钥 循环左移 1字节 S盒代替 Rcon[j] = (RC[j],00,00,00)是设定的32位常数 RC[j]= x(j-1)mod m(x) 原始密钥每“重用”一次时执行 五、圈密钥生成算法(256比特密钥情形,Nk = 8) Rotebyte Bytesub 前8个wi 是原始密钥 Bytesub wi 字节代替 行移位 列混合 明文M 密文C 字节代替 行移位 2圈AES加密框图 六、脱密算法 (一)逆字节代替变换 逆字节代替变换是字节代替变换的逆变换。 乘法逆变换 输入字节 仿射 变换 输出字节 S盒 六、脱密算法 (二) 逆行移位变换 逆行移位变换是行移位变换的逆变换。 逆行移位变换是将一个状态的第i行循环右移i个字节。 (三)逆列混合变换 逆列混合变换是列混合变换的逆变换。 字节代替 行移位 列混合 明文M 密文C 字节代替 行移位 2圈AES加密框图 1、行移位与S盒的顺序可以交换。 2、为了使脱密结构与加密结构相同,还须将圈密钥加与列混合的位置交换。 由于 故脱密可采用加密结构同样进行,只不过是使用了逆行移位、逆列混合、逆S盒以及稍作修改了的圈密钥。 即:列混合与密钥加广义可交换 DES加密算法 m1 m2…m64 C1 C2…C64 迭 代 16 圈 …… 初始置换 逆初始置换 Round16 K16 : : : Round1 K1 L1 R1 L0 R0 f K1 DES加密算法的加密框图 m1 m2…m64 C1 C2…C64 迭 代 16 圈 …… 初始置换 逆初始置换 Round16 K16 : : : Round1 K1 L1 R1 L0 R0 f K1 L16 R16 L15 R15 f K16 DES加密算法的加密框图 IP置换的含义: 将输入的第58比特作为输出的第1比特,… , 初 始 置 换IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 将输入数据比特的序号从左向右编排为 1, 2, 3, … ,64 (一) 初始置换IP和逆初始置换IP-1 DES加密算法中的具体变换: 设计特点:将输入的每个字节的第 i 个比特集中到输出的一个字节 初 始 置 换IP 58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7 逆初始置换IP-1 40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60
原创力文档

文档评论(0)