AES加密解密运算

2019-04-09 15:43

先搞定AES算法,基本变换包括SubBytes(字节替代)、ShiftRows(行移位)、MixColumns(列混淆)、AddRoundKey(轮密钥加) 其算法一般描述为

明文及密钥的组织排列方式

ByteSubstitution(字节替代)

非线性的字节替代,单独处理每个字节:

求该字节在有限域GF(28)上的乘法逆,\被映射为自身,即对于α∈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个字节。

MixColumns(列混淆变换)

逐列混合,方法:

b(x) = (03·x3 + 01·x2 + 01·x + 02) · a(x) mod(x4 + 1)


AES加密解密运算.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2011年甘肃公务员《行测》部分真题 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: