密碼學中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算法過程
- 上一篇:密碼學中AES選定過程
- 下一篇:密碼學中的其他算法