编辑: 学冬欧巴么么哒 | 2019-07-03 |
6时,可判断密钥的长度为256位,所以需要进行14轮解密,k_len>
4时,可判断密钥长度为192位,进行12轮解密,k_len 0;
ciphertimes --) { choosekey(*expansion, *roundkey, ciphertimes);
addroundkey(state, *roundkey);
invmixcolumm(state);
invshiftrow(state);
invbytesub(state);
} choosekey(*expansion, *roundkey, ciphertimes);
addroundkey(state, *roundkey);
printf( Decrypt:\n );
print(state);
} 解密函数的流程是:密钥扩展函数 C 密钥选取函数 C 密钥加函数 C 解密行位移函数 C 解密字节替换函数 C 九轮解密过程 C 密钥选取函数 C 密钥加函数 . 九轮解密过程是:选择轮子密钥 C 密钥加函数 C 解密列混合函数 C 解密行位移函数 C 解密字节替换函数. 说明:此函数中的密钥扩展是因为在主函数调用中没传递扩展后的密钥,因此在此函数中再次进行了密钥扩展.由于原始密钥没有发生变化,所以扩展后的密钥也不会发生变化,........