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

2020-12-06 電子產品世界

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

本文引用地址:http://www.eepw.com.cn/article/189657.htm

1 AES算法流程

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

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

2 IP核設計方案

筆者將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的使用。


相關焦點

  • 基於Verilog硬體描述語言的AES密碼算法實現
    解密過程與加密過程類似,但執行順序與描述內容有所不同,因此AES算法的加解密運算需要分別實現。  2 AES算法的硬體設計  根據AES算法的原理和基本結構,將整個AES算法模塊分成4個相對獨立的子模塊:接口模塊、控制單元模塊、加解密運算模塊、密鑰擴展模塊。
  • 基於AES算法實現對數據的加密
    對稱密碼體制是較傳統的加密體制,主要用於保證數據的機密性,通信雙方在加密/解密過程中使用其共享的單一密鑰,由於其算法實現簡單和加密速度快等優點,目前仍然是主流密碼體制之一。對稱密碼體制分為序列密碼和分組密碼兩類,序列密碼以密鑰控制密鑰發生器,產生一個隨機序列,用這個隨機序列和明文信息逐位進行異或運算,就得到密文,其加密單元為比特。
  • 基於FPGA IP核的FFT實現與改進
    常規的FFT硬體實現方法均不考慮由於非整數倍截斷導致的頻譜洩露問題。針對以上問題,本文設計了一種基於Altera IP核的512點FFT系統,同時通過對輸入信號的加窗處理,抑制了非整數倍信號周期截斷所產生的頻譜洩露。1 原理概述1.1 FFT原理離散傅立葉變換(DFT)算法為
  • 利用FFT IP Core實現FFT算法
    結合工程實踐,介紹了一種利用FFT IP Core實現FFT的方法,設計能同時對兩路實數序列進行256點FFT運算,並對轉換結果進行求模平方運算,且對數據具有連續處理的能力。
  • 基於FPGA和IP核的FIR低通濾波器的設計與實現
    打開APP 基於FPGA和IP核的FIR低通濾波器的設計與實現 秩名 發表於 2012-12-03 11:50:23   FIR
  • 常見加密算法DES、AES和RSA的原理和特點
    DES算法原理DES算法的入口參數:Key、Data、Mode。Key為8個字節共64位,是DES算法的工作秘鑰;Data也為8個字節64位,是要被加密或解密的數據;Mode為DES的工作方式,有兩種:加密或解密。
  • 用AVR彙編語言實現AES及其優化
    摘要 AES是美國高級加密標準算法,將在未來幾十年裡代替DES在各個領域中得到廣泛應用。本文在研究分析AES加密算法原理的基礎上,著重說明算法的實現步驟,並結合AVR彙編語言完整地實現AES加密和解密。
  • 基於FPGA IP核的FFT實現
    0 引 言 數位訊號處理領域中FFT算法有著廣泛的應用。目前現有的文獻大多致力於研究利用FFT算法做有關信號處理、參數估計、F+FT蝶形運算單元與地址單元設計、不同算法的FFT實現以及FFT模型優化等方面。
  • AES加密算法的高速低功耗ASIC設計
    摘 要:本文提出了一個AES加密算法的高速低功耗ASIC設計方案,使用Synopsys設計流程和VeriSilicON0.18μm CMOS工藝,實現了最高工作頻率410MHz,數據吞吐率5.23Gbps,功耗為58 mW。
  • 基於fpga二維小波變換核的實時可重構電路
    FPGAs 提供了一個硬體環境 ,這個環境 可將邏輯物理實現和 布線資源 按照為了特定功能所配置的比特流而重新組織構建起來。 RTR設計工具 繞過傳統的fpga綜合以及比特流生成過程 使可進化設計成為可能. JBits工具套裝 就為在Xilinx 的Virtex系列和4000系列設備上進行RTR設計提供了一個設計環境。
  • 基於DSP的FFT算法實現
    基於DSP的FFT算法實現1、FFT的原理快速傅氏變換(FFT)是離散傅氏變換的快速算法,它是根據離散傅氏變換的奇、偶、
  • 嵌入式WEB伺服器中TCP/IP協議棧的設計與實現
    因此在嵌入式Web伺服器中,TCP/IP協議棧的實現是整個系統的基石。2 嵌入式Web伺服器的TCP/IP協議棧設計嵌入式系統最先利用輕型工業網絡進行互連,比如CAN,PROFIBUS,MODBUS等組織的工業網絡能夠進行各工業設備間的互訪和信息交流,但是這些工業網絡協議之間標準不統一,通信半徑也比較短,推廣的前景不樂觀。
  • Shor算法實現或使密碼成擺設
    摘要:例如在一套 RSA 算法下,給定一對解密密鑰3和5,由用戶自己保存,那麼3和5的乘積15,就成為公開的加密密鑰。RSA可以在公開加密密鑰、加密和解密算法的情況下,通過驗證和求解在時間複雜度上的極端不對稱性,建立電子加密的基礎。
  • SpringCloud微服務架構篇7:Config配置資源庫及加解密
    02配置的加密與解密1、安裝JCE(Java Cryptography Extension)>Spring Cloud Config所提供的加解密依賴JCE是一組包,提供用於加密、秘鑰生成算法和協議,以及消息認證碼的算法及實現,這些包實現對稱、非對稱、塊和流密碼的加密支持。
  • 基於FPGA IP核的線性調頻信號脈衝壓縮-電子發燒友網
    其中,利用IP核設計FPGA數字系統成為一種趨勢,這些智慧財產權核可以大大簡化FPGA的設計,加快設計速度,縮短研發周期,而且經過不斷的優化,IP核具有了更好的精度和更快的運算速度,實際的工程應用效果很好。   本文以此為出發點,對線性調頻信號的脈衝壓縮進行了研究,仿真,並提出了一種採用IP核設計脈衝壓縮的方法。
  • 從數學到物理學:加密算法簡介
    ,「cryptology」 和 「cryptography」 基本上是沒有差別的了,都是 「密碼學」 的意思,而且,密碼學雖然脫胎於加密方法研究,但現代的密碼學早已不止於研究加解密,而是延伸到了研究如何保障通信中的 「機密性」、「身份同一性」 等屬性上。
  • 基於Verilog硬體描述語言實現SHA-1算法的設計
    基於Verilog硬體描述語言實現SHA-1算法的設計 黃諄,白國強,陳弘 發表於 2020-11-28 10:16:16 單向散列函數是密碼學中一種重要的工具,它可以將一個較長的位串映射成一個較短的位串
  • ...TECHNOLOGY發布了適用於LatticeECP3 FPGA系列的壓縮和加密IP核
    該系列具有有效載荷壓縮系統核,提高了有限信道帶寬的利用率,因此非常適合微波回程應用、寬帶無線接入適用於802.16e(WiMAX)以及潛在的其他多鏈路多輸入-多輸出(MIMO)應用中的使用。在LatticeECP3器件中,IP核可以從500Mbps無縫擴展至超過3Gbps,並可用於典型的網絡應用中的第2層或第3層。
  • CMOS溫度傳感器校準算法設計與實現
    通過對未校準之前CMOS溫度傳感器隨溫度變化的函數關係構造校準函數是算法的核心。通過分析精度指標、數據運算量及系統資源等因素,採取添加中值濾波和均值濾波處理原始數據的分段擬合校準方法,並在運算量的約束下得出了最優的分段值。