企业新闻

密码学中AES算法过程

2018-03-20 15:54:27 | 来源:中培企业IT培训网

2) AES算法过程

设分组长度128比特,密钥长度128比特,输出128比特的密文。在这种情况下,128比特的消息(明文或密文)分组被分成16个字节(一个字节是8比特)记为:

同DES-样,AES算法也是由基本的变换单位一“轮”多次迭代而成。在消息分组长度和密钥分组均为l28比特的最小情况,轮数是10。AES中的轮变换记为:Rouncl(State,

RoundKey),这里State是轮消息矩阵,既被看做是输入,也被看做是输出;RoundKey是轮密钥矩阵,它是由输人密钥通过密钥表导出的。AES算法结构可以使用下图表示。


  除了最后一轮,每轮变换由四个内部函数组成,即字节替换、行位移变换、列混合变换以及轮密钥加,最后一轮中不使用列混合变换函数。这四个函数的主要功禽&如下:

1、字节替换函数,记为SubBytes(State),对State的每个字节作非线性代换。

2、行位移变换函数,记为ShiftRows(State),对State的行做置换,实际上重排了元素的位置而不改变元素本身。

3、列混合变换函数,记为MixColumns(State),对State列做运算,用State字节列的值进行数学域加和域乘的结果代替每个字节。

4、轮密钥加函数,记为AcldRoundKey(State,RoundKey),逐字节、逐比特地将RounclKey中的元素与State中的元素相加。

四个内部函数都是可逆的,因此解密仅仅是在相反的方向反演加密,也就是说,运行AddRoundKey-l(State, RounclKey)、MixColumns-l(State)、ShiftRows-1(State)和SuhBytes-l (State)。

标签: AES算法过程

猜你喜欢