如何在C ++中编写用于AES解密的反向子字节?我只找到了用于AES加密的子字节,如下所示。
void SubBytes(unsigned char* state)
{
for(int i=0, i<16; i++)
state[i] = sbox[state[i]];
}
答案 0 :(得分:3)
我几乎不是程序员,但是您可以使用sbox表定义逆sbox表。通过
定义其条目sboxinv [sbox [u]]:= u
当您的范围介于0到255之间。
然后使用与上面的代码段相同的结构
void InvSubBytes(unsigned char* state)
{
for(int i=0, i<16; i++)
state[i] = sboxinv[state[i]];
}