首页 理论教育 计算机网络高级加密标准AES分析

计算机网络高级加密标准AES分析

时间:2023-08-19 理论教育 版权反馈
【摘要】:2001年11月26日,美国国家标准技术研究院NIST宣布了DES的后继算法:高级加密标准AES,其密钥长度为128位,因此,AES比DES具有更大的密钥空间。AES也是一个迭代密码系统,但与DES不同,AES是将整个分组输出到S盒中,故AES需要提供一个逆向的解密算法。与DES的S-BOX不同,AES的S-BOX用代数运算表示。从AES算法可知,与DES相比,AES的优势在于进行32位处理;AES 的S-BOX也证明对差分和线性密码破译有很好的防范作用。此外,与DES类似,AES在软硬件上也可高效实现。

2001年11月26日,美国国家标准技术研究院NIST(National Institute of Standards and Technology)宣布了DES的后继算法:高级加密标准AES(Advanced Encryption Standard),其密钥长度为128位,因此,AES比DES具有更大的密钥空间。AES是由两位比利时密码学家Joan Daemon和Vincent Rijmen提出来的,使用有线域GF(28)将每个元素表示为一个字节(8位),其中,在GF(28)中使用不可约多项式x8+x4+x3+x+1来决定运算。在AES中,128位明文分组被写成16个字节且被放置于GF(28)的4×4数组之中,见表8.2。

表8.2 明文分组

为方便起见,将一个字节表示成16进制的形式,其中,16进制表示为{0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f},因此,每个字节可表示为两个16进制,例如:字节{10110101}可写成{b5}(即1011和0101)。

AES也是一个迭代密码系统,但与DES不同,AES是将整个分组(而不是分组的一半)输出到S盒中,故AES需要提供一个逆向的解密算法。在AES的加密算法中,每一轮包含以下4个操作(转移):字节替换(SubBytes)、行位移变换(ShiftRows)、列混合变换(MixColumns)和轮密钥相加(AddRoundKey),最后一轮跳过了列混合变换操作。

(1)字节替换:是用一个替换表(S盒)进行非线性替换。S盒替换用16进制表示如下:

假设输入数组中有一字节为01011010,将其用16进制表示为5a,则输出即为表中第5行第a列(be),即10111110。

与DES的S-BOX不同,AES的S-BOX用代数运算表示。首先,每个输入由GF(28)中的逆元代替,然后再将数组进行固定的仿射变换(Affine Transformation)。假设元素的逆元为b7b6b5b4b3b2b1b0,输出为b′7 b′6b′5b′4b′3b′2b′1b′0,则对应的仿射变换如下:

上述计算均在1Z中进行。

(2)行位移变换:循环地将数组中的第i行右移i个元素,其中:i=0,1,2,3。经过行位移变换后,原分组将变为如表8.3所示。

表8.3 原分组

(3)列混合变换:在该阶段将一列一列地对输入进行如下操作:

设某一列输入为:

则其输出为:

其中,(· )表示GF(28)中的相乘。

(4)轮密钥相加:将一轮的密钥与每一列输入进行异或运算,其中,轮密钥为128位。

下面将给出AES算法的描述:

假设算法迭代Nr 轮,则密钥调度算法将创建Nr+1轮的密钥Ki,i=0,1,2,…, Nr,且一个明文分组将经历以下步骤:

步骤1:使用K0作为轮密钥相加;

步骤2:从第1轮到第Nr −1轮,使用Ki,i=0,1,2,…, Nr −1,进行字节替换、行位移变换、列混合变换以及轮密钥相加等变换;

步骤3:用NrK进行字节替换、行位移变换、列混合变换和轮密钥相加等变换。

AES的密钥调度可通过如图8.3所示的密钥扩展算法获得,其中,一个字节为8位,一个字(Word)包含4个字节。在该算法中,Nk为密钥中的字数,Nr为轮数。SubWord( )函数占用输入字的4个字节,用于对每一个4字节利用S-BOX来生成对应的输出字。而RotWord( )函数则用于对输入字的4个字节进行循环置换。轮数常量字数组Rcon[i]包含的变量由[yi,{00},{00},{00}]给出,其中:

图8.3 密钥扩展算法

AES的解密算法是加密算法的简单逆变换,即,可通过使用下列加密算法的逆变换实现:逆字节替换(InvSubBytes)、逆行位移变换(InvShiftRows)、逆列混合变换(InvMixColumns)和轮密钥相加(AddRoundKey)。

从AES算法可知,与DES相比,AES的优势在于进行32位处理(DES只有8位);AES 的S-BOX也证明对差分和线性密码破译有很好的防范作用。此外,与DES类似,AES在软硬件上也可高效实现。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈