14 21 22 33 30 45 7 10 15 22 23 34 31 46 8 11 16 23 24 35 32 47 9 12 17 24 25 36 1 48
2.4.2 用E{R[i-1]}与K[i]作异或运算。 2.4.3 把所得的48位数分成8个6位数。1-6位为B[1],7-12位为B[2],……43-48位为B[8]。 2.4.4 用S密箱里的值替换B[j]。从j=1开始。S密箱里的值为4位数,共8个S密箱 2.4.4.1 取出B[j]的第1和第6位串联起来成一个2位数,记为m.。m即是S密箱里用来替换 B[j]的数所在的列数。 2.4.4.2 取出B[j]的第2至第5位串联起来成一个4位数,记为n。n即是S密箱里用来替换 B[j]的数所在的行数。 2.4.4.3 用S密箱里的值S[j][ m][ n]替换B[j]。8个S密箱如下所示:
-------- S-BOXES1
Binary d1d6 => 00 01 10 11 // d2..d5 // Dec 0 1 2 3 0000 0 14 0 4 15 0001 1 4 15 1 12 0010 2 13 7 14 8 0011 3 1 4 8 2 0100 4 2 14 13 4 0101 5 15 2 6 9 0110 6 11 13 2 1 0111 7 8 1 11 7 1000 8 3 10 15 5 1001 9 10 6 12 11 1010 10 6 12 9 3 1011 11 12 11 7 14 1100 12 5 9 3 10 1101 13 9 5 10 0 1110 14 0 3 5 6 1111 15 7 8 0 13
-------- S-BOXES2
binary d1d6 => 00 01 10 11 // d2..d5 // dec 0 1 2 3 0000 0 15 3 0 13 0001 1 1 13 14 8 0010 2 8 4 7 10 0011 3 14 7 11 1 0100 4 6 15 10 3 0101 5 11 2 4 15 0110 6 3 8 13 4 0111 7 4 14 1 2 1000 8 9 12 5 11 1001 9 7 0 8 6 1010 10 2 1 12 7 1011 11 13 10 6 12 1100 12 12 6 9 0 1101 13 0 9 3 5 1110 14 5 11 2 14 1111 15 10 5 15 9
-------- S-BOXES3
binary d1d6 => 00 01 10 11 // d2..d5 // dec 0 1 2 3 0000 0 10 13 13 1 0001 1 0 7 6 10 0010 2 9 0 4 13 0011 3 14 9 9 0 0100 4 6 3 8 6 0101 5 3 4 15 9 0110 6 15 6 3 8 0111 7 5 10 0 7 1000 8 1 2 11 4 1001 9 13 8 1 15 1010 10 12 5 2 14 1011 11 7 14 12 3 1100 12 11 12 5 11 1101 13 4 11 10 5 1110 14 2 15 14 2 1111 15 8 1 7 12
-------- S-BOXES4
binary d1d6 => 00 01 10 11 // d2..d5 // dec 0 1 2 3 0000 0 7 13 10 3 0001 1 13 8 6 15 0010 2 14 11 9 0 0011 3 3 5 0 6 0100 4 0 6 12 10 0101 5 6 15 11 1 0110 6 9 0 7 13 0111 7 10 3 13 8 1000 8 1 4 15 9 1001 9 2 7 1 4 1010 10 8 2 3 5 1011 11 5 12 14 11 1100 12 11 1 5 12 1101 13 12 10 2 7 1110 14 4 14 8 2 1111 15 15 9 4 14
-------- S-BOXES5
binary d1d6 => 00 01 10 11 // d2..d5 // dec 0 1 2 3 0000 0 2 14 4 11 0001 1 12 11 2 8 0010 2 4 2 上一页 [1] [2] [3] 下一页
Tags:
|