DES算法:16轮加密 用前面产生的16个子密钥加密数据: 将上一轮的R[-]展为48位的E[-],然后与子密 钥K异或:F[-1]XORK 2614220 59Bm22 21 24 异或后的结果分为8个6位长的部分,第1位到第6位 称为B],第7位到第12位称为B[2],依此类推,第 43位到第48位称为B[8] 前页后页退出
前页 后页 退出 DES算法:16轮加密 • 用前面产生的16个子密钥加密数据: – 将上一轮的R[I-1]扩展为48位的E[I-1],然后与子密 钥K[I]异或:E[I-1] XOR K[I] –异或后的结果分为8个6位长的部分,第1位到第6位 称为B[1],第7位到第12位称为B[2],依此类推,第 43位到第48位称为B[8]。 32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1
DES算法:16轮加密 用前面产生的16个子密钥加密数据 (续): 对于异或后的8个单元B[J初始J=1),进行S 盒替换(S盒中的值当作4位长度处理) 将BJ的第1位和第6位组合为一个2位长度的变 量M,M作为在S中的行号。 将BJ的第2位到第5位组合,作为一个4位长度 的变量N,N作为在S[J中的列号。 用S[JMN来取代B[J]。 前页后页退出
前页 后页 退出 DES算法:16轮加密 • 用前面产生的16个子密钥加密数据 (续): – 对于异或后的8个单元B[J](初始J=1),进行S 盒替换(S盒中的值当作4位长度处理) • 将B[J]的第1位和第6位组合为一个2位长度的变 量M,M作为在S[J]中的行号。 • 将B[J]的第2位到第5位组合,作为一个4位长度 的变量N,N作为在S[J]中的列号。 • 用S[J][M][N]来取代B[J]
15 13 6 12 5 15 8 9 7 5 11 13 lI 4 7 2 12 0 5 10 3 13 8 14 12 0 9 14 11 4 13 5 6 3 2 13 2 14 13 0 3 2 12 13 6 8 15 3 II 5 0 13 8 0 7 12 14 II 15 14 lI 2 14 前页后页退出
前页 后页 退出 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14