扫描二维码
随时随地手机看文章
引言
无线通信系统中的信息量远超过以前,为了防止信息丢失和非法用户的监听,通常要采取一系列的安全措施。尤其是在LTE/4G时代,高速信息率的大信息量,安全性尤为重要。在LTE系统中,主要采用AES算法对通信过程中的数据进行加解密,AES算法是一种高效率的对称加密算法,具备很强的扩散性能,最后形成具有很高随机性的密码,从而使信息得到有效的保护。
AES算法概述
AES算法是一种比DES算法安全性更高的分组加密算法,是美国国家标准和技术研究所(NIST)发布征集的新加密算法。它的明文分组长度和密钥长度都可以被指定为128位、192位和256位。在AES计算中,有一个4X4B的数组State,可通过多轮操作来修改。AES算法的主循环对State执行4个不同的运算:字节替换(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)、轮密钥加(AddRoundKey)。
AES算法的基本运算
AES算法的基本运算是字节替换(SubBytes),也就是对State中的每个字节经过S-BOX查表转换。其具体的操作为对于4X4状态矩阵中每个16进制的字节,前4b标示为x,后4b标示为y,坐标(X,)所确定的数即为字节替换的结果。图1所示是AES算法的字节替换图。
行移位(ShiftRows)是字节替换的基本步骤,就是对图1中1字节替换中生成的新矩阵(4行4列),以字节为单位进行循环左移操作,即第1行:不执行循环左移操作;第2行:循环左移1个字节;第3行:循环左移2个字节;第4行:循环左移3个字节。
列混淆(MixColumns)则是对 State 的列进行复杂的转换,每一列的4个元素与一个多项式相乘,并将这一列的每一个元素扩散到这一列的全部4个元素,具体的运算如下:
S'0,C =({02} · S0,C)5({03} · S1,C)5 S2,C 5 S3,C
S'1,C = S0,C 5({02} · S1,C)5({03} · S2,C)5 S3,C
S'2,C = S0,C 5 S1,C 5({02} · S2,C)5({03} · S3,C)
S'3,C =({03} · S0,C)5 S1,C 5 S2,C 5({02} · S3,C)
这里要注意的是:如果 Si,C < 128,上述公式中的 {02}·Si,C =2* Si,C;如果 Si,C ≥ 128,{02}·Si,C =(2* Si,C)5 283,{03}·Si,C ={{02} · Si,C} 5 Si,C。图 3 所示是其列混淆示意图。
轮密钥加(AddRoundKey)是在操作中,用轮密钥矩阵和状态矩阵进行简单的按位的异或运算。这里的轮密钥就是下文要提到的密钥编排所生成的轮密钥。其轮密钥加示意图如图4所示。
Rijndael有11轮密钥,标号为0〜10,那些轮密钥每个都是4X4的矩阵字节。那些轮密钥通过下面所描述的密钥安排由CipherKey所生成。初始轮密钥(被看做是第0个轮密钥)是直接由CipherKey组成。第0个轮密钥不做改变的用于初始密钥加叫剩余的轮密钥被用于其余十轮中。每一个新的轮密钥都是从上一个轮密钥中生成的。具体如表 1 所列。
rkr,i,j 是第 r 个轮密钥矩阵中位置为(i,j)的值(第 i 行第j 列),ki,j 是 4×4 Cipher Key。其他轮密钥(r=1 ~ 10)可利用如下方法由前一个轮密钥计算得出。第 0 列的组成方式如下:
rkr,0,0=rkr-1,0,0 5 S-box[rkr-1,1,3] 5 round_const[r] ;
rkr,1,0 = rkr-1,1,0 5 S-box[rkr-1,2,3] ;
rkr,2,0 = rkr-1,2,0 5 S-box[rkr-1,3,3] ;
rkr,3,0 = rkr-1,3,0 5 S-box[rkr-1,0,3] ;
rou nd _con st[1]=1,rou nd _con st[r]= T2(rou nd _ const[r-1])。
3 Rijindael 算法加密流程
加密算法流程如图 5 所示,首先是 4×4 的初始状态矩阵与 4×4 的初始密钥矩阵按位执行异或运算,然后执行九轮迭代轮变换,每一轮的变换由字节替换、行移位、列混淆、轮密钥加组成,终结轮变换不包含列混淆。作为 Rijindael 算法的最终输出结果,密文比特流从经过加密处理的状态矩阵中由左至右按列输出。
4 AES 的解密算法
AES 的解密只需要直接利用字节替换、行移位、列混淆、轮密钥加操作的逆并倒置其次序就可以完成。当然与加密算法存在有不同的地方,第一是四种基本运算用它们相应的逆运算代替,第二是轮密钥颠倒顺序使用。高级加密标准 AES(Rijindael)算法在各个行业得到了广泛的应用,成为 VPN(虚拟专用网)、SONET(同步光网络)、RAS(远程访问服务器)、移动通信、卫星通信、电子金融业务等的加密算法,并已经逐渐取代 DES。
5 结 语
AES 加密在选择过程中经受了大量的考验,并延续至今。目前为止,还没有已知的密码分析攻击可以解密 AES 密文。本文主要介绍了AES 的应用范围,分析了AES 的基本运算,描述了AES 的加 / 解密过程。能让读者更好的了解此算法及其安全性。
20211124_619e4a5e81f33__AES算法的安全性研究