AES加密解密运算课案.docxVIP

  • 3
  • 0
  • 约 12页
  • 2017-06-13 发布于湖北
  • 举报
先搞定AES算法,基本变换包括SubBytes(字节替代)、ShiftRows(行移位)、MixColumns(列混淆)、AddRoundKey(轮密钥加)其算法一般描述为明文及密钥的组织排列方式ByteSubstitution(字节替代)非线性的字节替代,单独处理每个字节:求该字节在有限域GF(28)上的乘法逆,0被映射为自身,即对于α∈GF(28),求β∈GF(28),使得α·β=β·α=1mod(x8+x4+x2+x+1)。对上一步求得的乘法逆作仿射变换yi=xi?+ x(i+4)mod8?+ x(i+6)mod8?+ x(i+7)mod8?+ ci(其中ci是6310即011000112的第i位),用矩阵表示为本来打算把求乘法逆和仿射变换算法敲上去,最后还是放弃了...直接打置换表下面是逆置换表,解密时使用这里遇到问题了,本来用纯c初始化数组很正常,封装成类以后发现不能初始化,不管是声明、构造函数都无法初始化,百歌谷度了一通后没有任何答案,无奈只能在构造函数中声明一个局部变量数组并初始化,然后用memcpy,(成员变量名为Sbox/InvSbox,局部变量名sBox/invsBox)ShiftRows(行移位变换)行移位变换完成基于行的循环位移操作,变换方法:即行移位变换作用于行上,第0行不变,第1行循环左移1个字节,第2行循环左移2个字节,第3行循环左移3个字节。MixC

文档评论(0)

1亿VIP精品文档

相关文档