基于AES算法實(shí)現(xiàn)對數(shù)據(jù)的加密
MixColumns是一個代替操作,它用State字節(jié)列的值進(jìn)行數(shù)學(xué)域加和域乘的結(jié)果代替每個字節(jié)。
AddRoundKey(輪密鑰加),用密鑰調(diào)度表中的前4行對State矩陣實(shí)行一個字節(jié)一個字節(jié)的異或(XOR)操作,并用輪密鑰表w[e,r]異或輸入的State[r.c]。SubBytes、ShiftRows、MixColumns和AddRoundKev 4個操作在一個執(zhí)行Nr次的循環(huán)里被調(diào)用,Nr為給定密鑰大小的輪數(shù)減l。加密算法使用的輪數(shù)或是10,12,或是14,這依賴于種子密鑰長度是128位、192位還是256位。在這里,因?yàn)镹r等于12,則這4個操作被調(diào)用11次。該迭代完成后,在拷貝State矩陣到輸出參數(shù)前,加密算法調(diào)用SubBytes、ShiftRows和AddRoundKey后結(jié)束。
AES加密算法的核心有4個操作,AddRoundKey使用從種子密鑰值中生成的輪密鑰代替4組字節(jié)。SubBytes替換用一個代替表替換單個字節(jié)。ShiftRows通過旋轉(zhuǎn)4字節(jié)行的4組字節(jié)進(jìn)行序列置換。MixColumns用域加和域乘的組合來替換字節(jié)。
本文引用地址:http://www.ex-cimer.com/article/188789.htm
4 結(jié)語
相對DES算法,AES算法的實(shí)現(xiàn)更簡單.同時由于AES算法具備很強(qiáng)的擴(kuò)散性能,最終形成的密碼有很高的隨機(jī)性,抗分析攻擊能力強(qiáng)。在軟件工程中,更便于制作成通用的加密對象類型或加密標(biāo)準(zhǔn)組件,在不降低安全性能的條件下,極大的簡化數(shù)據(jù)加密程序的開發(fā)難度。
AES算法的實(shí)現(xiàn)程序,對處理器性能、內(nèi)存的需求量等方面的要求低,可以廣泛的應(yīng)用到智能卡、衛(wèi)星通信、數(shù)字電視、流式媒體、加密鍵盤、ATM、CDM等智能設(shè)備中,可提供很高的安全性能,因此,AES將在今后很長時間內(nèi)具備廣闊的應(yīng)用前景。
評論