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