题解:
1.分析:
第一轮使用的轮密钥是W[4]、W[5]、W[6]、W[7]
w[i](4≤i≤43)求法:
(1)i不为4的倍数
w[i] = w[i-1] ⊕w[i-4]
(2)为4的倍数
w[i]=SubWord(RotWord(w[i-1]))⊕w[i-4]⊕Rcon[i/4]
解释:
①RotWord:将w[i-1]的4个字节循环上移一个字节
②SubWord:基于S盒对输入字的每个字节进行代换
③将步骤②的结果与w[i-4]异或
④将步骤③的结果再与轮常量Rcon[i/4]异或
2.按顺序每四个一列,作为初始轮密钥(W[0]、W[1]、W[2]、W[3])
W[0] | W[1] | W[2] | W[3] |
2B | 28 | AB | 09 |
7E | AE | F7 | CF |
15 | D2 | 15 | 4F |
16 | A6 | 88 | 3C |
3.求W[4]
由于4是4的倍数故:
w[4]=SubWord(RotWord(w[3]))⊕w[0]⊕Rcon[1]
(1)将w[3]的4个字节循环上移一个字节
09 | → | CF |
CF | 4F | |
4F | 3C | |
3C | 09 |
(2)基于S盒对输入字的每个字节进行代换
S盒:
用法:
如9A,对应S盒就是9行A列,即B8
代换结果:
CF | → | 8A |
4F | 84 | |
3C |