最新資訊

基于Verilog硬件描述語(yǔ)言的AES密碼算法實(shí)現(xiàn)

0引言密碼模塊是安全保密系統(tǒng)的重要組成部分,其核心任務(wù)就是加/解密數(shù)據(jù)。目前,分組密碼算法AES以其高效率、低開(kāi)銷、實(shí)現(xiàn)簡(jiǎn)單等特點(diǎn)被廣泛應(yīng)用于密碼模塊的研制。隨著計(jì)算機(jī)信息技術(shù)和超大規(guī)模集成電路技術(shù)的成熟與發(fā)展,通過(guò)硬件來(lái)實(shí)現(xiàn)密鑰模塊的內(nèi)部運(yùn)作,可保證在外界無(wú)密鑰的明文流動(dòng),能夠?qū)崿F(xiàn)真正意義上的保密。此外,硬件實(shí)現(xiàn)還具有高速、高可靠性等特點(diǎn)。目前許多AES算法的硬件實(shí)現(xiàn)采用基于RAM查找表方式來(lái)實(shí)現(xiàn)算法中最關(guān)鍵的SubBytes部分。本文采用復(fù)合域來(lái)實(shí)現(xiàn)SubBytes部分的求逆運(yùn)算,以便于采用組合邏輯減小面積。同時(shí)采用加/解密運(yùn)算中列變換的部分電路進(jìn)行復(fù)用,從而進(jìn)一步節(jié)省實(shí)現(xiàn)面積。這樣可以使AES密碼應(yīng)用于RFID系統(tǒng),IC卡等面積要求較小的場(chǎng)合。1AES算法簡(jiǎn)介AES算法是一種迭代型分組密碼,其分組長(zhǎng)度和密鑰長(zhǎng)度均可變,各自可以獨(dú)立指定為128b,192b,256b。本文主要討論分組長(zhǎng)度和密鑰長(zhǎng)度為128b的情況。AES算法是將輸入的明文(或密文)分成16個(gè)字節(jié),在第一個(gè)AddRoundKeys變換后進(jìn)入10輪迭代。迭代過(guò)程的前9輪完全相同,依次經(jīng)過(guò)字節(jié)代替(substitutebytes)、行移位(sh

發(fā)表于:10/19/2010