<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > AES加解密算法IP核的設(shè)計與實現(xiàn)

          AES加解密算法IP核的設(shè)計與實現(xiàn)

          作者: 時間:2013-03-25 來源:網(wǎng)絡(luò) 收藏

          計算機科學(xué)技術(shù)中的數(shù)據(jù)加密是信息安全的重要手段。Rijndael加密由比利時密碼學(xué)家JoanDaemen和VincentRijmen發(fā)明的一種迭代型分組加密,2000年被確定為美高級加密標(biāo)準(zhǔn)的最終。本文通過對算法的流程進行改進,提高的性能,從而獲得低成本高性能的加密實現(xiàn)方法。

          本文引用地址:http://www.ex-cimer.com/article/189657.htm

          1 AES算法流程

          AES算法是一個迭代型分組密碼, 將輸入的明文( 或密文)分成16個字節(jié),在第一個輪密鑰加變換后進入1O輪迭代。前9輪完全相同,依次經(jīng)過字節(jié)代替、行移位、列混合、輪密鑰加,最后一輪不同,跳過了列混合,解密與加密過程類似,但執(zhí)行順序與描述內(nèi)容有所不同,因此AES算的過程需要分別實現(xiàn)。

          我們可以調(diào)整操作順序,先進行密鑰加操作,再進行列混合操作,密鑰擴展部分的列混合操作就可去掉,從而密鑰擴展模塊被簡化,AES 的硬件復(fù)雜度得到降低。

          2 設(shè)計方案

          筆者將IP系統(tǒng)的工作模式設(shè)計為閑置模式、密鑰輸入模式、單輪加密模式及連續(xù)加密模式,其結(jié)構(gòu)包括時序控制、密鑰處理、數(shù)據(jù)處理三個主要單元。

          2.1 密鑰處理單元。

          ① 在系統(tǒng)進入密鑰輸入模式后,從數(shù)據(jù)輸入端口連續(xù)四個時鐘周期讀入總共一百二十八位密鑰數(shù)據(jù),系統(tǒng)完成第一輪密鑰的計算,回到閑置模式。② 密鑰處理單元處于加密模式時,按算法需求實時計算各輪密鑰,以三十二位為一單元輸出,與數(shù)據(jù)通道中三十二位數(shù)據(jù)結(jié)合進行運算。③ 為利于下一輪加密的進行,密鑰處理單元的復(fù)位環(huán)節(jié)是在系統(tǒng)模式由加密狀態(tài)轉(zhuǎn)為閑置狀態(tài)時結(jié)束。

          2.2 數(shù)據(jù)處理單元。

          ① 加密模式的主要工作是迭代運算明文數(shù)據(jù)。數(shù)據(jù)處理單元承擔(dān)檢測動能,當(dāng)處于最后一輪數(shù)據(jù)運算時,會直接跳過列混合這一環(huán)節(jié)。② 加密模式下數(shù)據(jù)處理單元讀取一百二十八位明文數(shù)據(jù)連續(xù)四次,再通過四十個時鐘周期數(shù)據(jù)運算,密文之首個三十二位數(shù)據(jù)段得以產(chǎn)生。

          2.3 時序控制單元。

          該單元負(fù)責(zé)生成整個系統(tǒng)關(guān)鍵控制信號,因控制信號集中由一個單元負(fù)責(zé)產(chǎn)生,所以使得軟件綜合出較高的時鐘頻率,輸出的時鐘相位也趨于一致。從AES加密方法流程圖中可以看到,第一輪與最后一輪都進行了特殊處理,雖然未經(jīng)過完整的四輪處理過程,但在設(shè)計中將第一輪與最后一輪使用單獨硬件實現(xiàn),減少了兩輪的運算時間。而且,降低資源占用的主要手段主要是減少Sbox的使用。

          3 硬件實現(xiàn)方式

          為使本硬件在上述設(shè)計的基礎(chǔ)上得以實現(xiàn),筆者采用的方式是: 應(yīng)用QuartusII8.0軟件形成Verilog HDL語言, 應(yīng)用ModelSim6.2系統(tǒng)軟件進行測試,路徑與綜合的分析工作應(yīng)用FPGA綜合工具Synplify9.pro輔助完成。

          主要目的是:1)考察80 MHz頻率下,目標(biāo)器件EP1C4F324C6所綜合的IP核的資源占用及性能。2)在EP2S15F484C3目標(biāo)器件的高性能狀態(tài)中再一次綜合及后仿真,以便將測試結(jié)果縱向比較,得出測試結(jié)論。

          3.1 測試過程。

          密鑰為:2b7e1516_28aed2a6_abf71588_09cf4f3c,輸入明文:3243f6a8_885a308d_313198a2_e0370734輸出密文3925841d_02dc09fb_dc118597_196a0b32,結(jié)果與預(yù)期吻合。

          從建立流水作業(yè)以提高性能的目的出發(fā),32位和128位數(shù)據(jù)位寬的設(shè)計中原文計算速度/資源比值時未考慮所占用的RAMs資源,而且文中設(shè)計為25MHz時鐘頻率,進行數(shù)據(jù)分析時卻將工作頻率直接換算為54MHz,而未對其設(shè)計是否可正常工作于此頻率進行論證。得到數(shù)據(jù)見表1:

          表1 硬件實現(xiàn)的比較

          3.2 數(shù)據(jù)分析。

          IP核在80MHz時鐘頻率下工作時,數(shù)據(jù)吞吐量為256Mb/s,速度/資源值為0.193。在位寬擴展時,采用并行連接IP核的辦法,時序控制單元與密鑰擴展單元可實現(xiàn)共用,進一步提高資源利用率。當(dāng)擴展為128位數(shù)據(jù)位寬時,數(shù)據(jù)吞吐量成倍增加,而速度/資源比提高到0.326(見表1)。

          3.3 實驗結(jié)論。

          本設(shè)計在32位數(shù)據(jù)位寬的同類設(shè)計中有一定的優(yōu)勢,采用6級流水線技術(shù)及復(fù)合域方法優(yōu)化Sbox,達到了較優(yōu)的設(shè)計指標(biāo)。

          在Synplify9下選定目標(biāo)器件EP2S15F484C3,優(yōu)先考慮提高速度,綜合結(jié)果報告最高時鐘頻率超過240MHz,說明本IP核設(shè)計合理,較好地利用了目標(biāo)器件資源。

          本文設(shè)計的IP核硬件在輸入、輸出端加FIFO數(shù)據(jù)緩存器使從AES加密主器件被中斷數(shù)據(jù)傳輸次數(shù)減少,而且在實際應(yīng)用中、簡化了方法流程圖中可以看到,第一輪與最后一輪都進行了特殊處主器件操作時序,形成了標(biāo)準(zhǔn)通信界面,是一種低成本高性能理,雖然未經(jīng)過完整的四輪處理過程,但在設(shè)計中將第一輪與的AES加密實現(xiàn)方法,整個設(shè)計具有較強的實用性,運行穩(wěn)最后一輪使用單獨硬件實現(xiàn),減少了兩輪的運算時間。而且, 定,效果良好。降低資源占用的主要手段主要是減少Sbox的使用。



          關(guān)鍵詞: AES 加解密 IP核 算法

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();