新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > AES加解密算法IP核的設計與實現

        AES加解密算法IP核的設計與實現

        作者: 時間:2013-03-25 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/189657.htm

        1 AES算法流程

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

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

        2 設計方案

        筆者將IP系統的工作模式設計為閑置模式、密鑰輸入模式、單輪加密模式及連續加密模式,其結構包括時序控制、密鑰處理、數據處理三個主要單元。

        2.1 密鑰處理單元。

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

        2.2 數據處理單元。

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

        2.3 時序控制單元。

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

        3 硬件實現方式

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

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

        3.1 測試過程。

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

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

        表1 硬件實現的比較

        3.2 數據分析。

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

        3.3 實驗結論。

        本設計在32位數據位寬的同類設計中有一定的優勢,采用6級流水線技術及復合域方法優化Sbox,達到了較優的設計指標。

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

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



        關鍵詞: AES 加解密 IP核 算法

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 封丘县| 锡林郭勒盟| 平顶山市| 桂东县| 新建县| 罗甸县| 泰顺县| 天镇县| 滨州市| 桑植县| 雅安市| 南江县| 静海县| 松阳县| 海安县| 杨浦区| 武乡县| 巴马| 西宁市| 宣威市| 蓬溪县| 广安市| 顺昌县| 海城市| 裕民县| 襄樊市| 大安市| 偏关县| 林芝县| 江山市| 庆阳市| 南澳县| 西吉县| 广昌县| 定边县| 河北区| 元江| 茶陵县| 永定县| 广西| 崇仁县|