在這篇文章中,小編將對可編程AES加解密IP的實現(xiàn)加以介紹以幫助大家增進對它的了解程度,和小編一起來閱讀以下內(nèi)容吧。
AES屬于分組密碼算法,分組長度為128比特,密鋁長度可以是128、192或256比特,分別對應(yīng)的輪變換次數(shù)為10輪、12輪與140,算法主要包括字節(jié)置換(SubBe)、行移位 SHMRONS)、列混合 xcoumns)和輪密鑰加(AddRoundKey)4個步驟,以字節(jié)作為各個步驟處理的基本單位。
加密過程首先讀入明文與初始密鋁,將二者進行輪密鉬加運算、并以初始密鉬為基礎(chǔ)進行密銅擴展:然后將狀態(tài)矩陣依次進行字節(jié)置換、行移位、列混合以及與相應(yīng)輪數(shù)子密銅進行輪密銅加,并循環(huán)9輪:第10輪跳過列混合運算,只依次進行字節(jié)置換、行移位和輪密銅加,完成后狀態(tài)短陣更新為客文并被輸出、解密討程叫是加密過程的逆運算,輪密鉬加不變、其它操作分別變?yōu)槟孀止?jié)置換逆行移位與逆列混合,并按照加密過程倒序執(zhí)行。
可編程AES加解密IP提供了加解密算法功能,兼容美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)發(fā)布的高級加密標(biāo)準(zhǔn)(AES):FIPS PUB 197。結(jié)合FIPS 197分組加密算法,可編程AES加解密IP具備5種加密模式:ECB,CBC,CFB,OFB,CTR,全部支持加密和解密功能,兼容美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)發(fā)布的推薦分組加密操作模式:NIST Special Publication 800-38A??删幊藺ES加解密IP內(nèi)建密鑰擴展功能,使用初始密鑰產(chǎn)生擴展密鑰,用于加解密過程??删幊藺ES加解密IP處理128-bit分組數(shù)據(jù),并且支持可編程的密鑰長度:128-bit,192-bit和256-bit。
內(nèi)核特性:
1. 使用AES Rijndael分組加密算法進行加解密
2. 兼容聯(lián)邦信息處理標(biāo)準(zhǔn)FIPS Publication 197
3. 兼容推薦分組加密操作模式:NIST Special Publication 800-38A
4. 用戶可編程密鑰長度:128-bit,192-bit和256-bit
5. 用戶可編程加密模式:ECB,CBC,OFB,CFB和CTR
6. 內(nèi)置密鑰擴展
7. 128-bit高速數(shù)據(jù)通路;對于128/192/256-bit加密密鑰,內(nèi)核分別需要11/13/15個時鐘周期來處理128-bit分組
8. 易于集成的同步,可綜合Verilog設(shè)計
9. 通過完全驗證的AES IP
對外接口:
1. 標(biāo)準(zhǔn)的AXI4-Stream數(shù)據(jù)總線
2. 方便的AXI4-Stream類似的接口,用于配置密鑰、模式和參數(shù)
性能指標(biāo):
1. 加解密吞吐率大于3Gbps@250MHz內(nèi)核時鐘
資源使用(XCKU115為例):
1. LUTs:5532,F(xiàn)Fs:2535
從結(jié)果可以看出相比通過修改整體加解密系統(tǒng)的算法功能邏輯并重新下載至FPGA芯片,使用動態(tài)可重構(gòu)技術(shù)完成加解密算法切換可以有效降低配置文件的大小,可以在系統(tǒng)保持持續(xù)穩(wěn)定工作的情況下,修改加解密算法功能,提高了系統(tǒng)靈活性,并且可以根據(jù)功能要求靈活的修改外部存信器中加解密算法的種類,使系統(tǒng)具有可擴展性,能夠適成不同的工作環(huán)境要求。
以上所有內(nèi)容便是小編此次為大家?guī)淼乃薪榻B,如果你想了解更多有關(guān)它的內(nèi)容,不妨在我們網(wǎng)站或者百度、google進行探索哦。