中文引用格式: 竹顯濤,李玥,趙雄偉. 一種SM4算法的高效FPGA實現[J]. 電子技術應用,2026,52(4):127-133.
英文引用格式: Zhu Xiantao,Li Yue,Zhao Xiongwei. Efficient FPGA implementation of SM4 algorithm[J]. Application of Electronic Technique,2026,52(4):127-133.
引言
隨著全球數字化進程的加速推進,信息安全和數據隱私已成為數字經濟的核心保障要素。在萬物互聯(lián)的新基建背景下,海量終端設備的接入和5G通信、云計算等技術的普及,使得密碼算法作為信息安全體系的基石,其高效性與安全性直接關系到國家關鍵基礎設施和公民隱私數據的防護能力。國產SM4分組密碼算法作為國家密碼管理局正式發(fā)布的標準算法,在國防、政務、商業(yè)等信息傳輸領域具有重要應用價值。而現場可編程門陣列(FPGA)憑借其硬件并行加速特性和可重構優(yōu)勢,能夠突破傳統(tǒng)軟件實現的性能瓶頸,尤其在物聯(lián)網邊緣計算等實時性要求嚴苛的場景中,為SM4算法提供低時延、高吞吐量的硬件實現方案,能夠滿足新型基礎設施的安全需求。
提升加解密算法FPGA實現的運行效率一般需要對其關鍵計算環(huán)節(jié)進行優(yōu)化,或者縮短FPGA實現的關鍵路徑。對于分組密碼算法,通常會使用S盒來進行置換和替代操作。文獻[1]推導S盒使用有限域求解實現的過程,但其在域上的逆元求解計算過程非常復雜,不適合在硬件上進行設計。文獻[2]、文獻[3]在復合域提出一種易于硬件實現且資源開銷低的S盒實現方法,在復合域運算,復雜的求逆運算可用與或門實現,顯著降低實現S盒所需的資源。經過改進后,文獻[3]實現的S盒比使用查找表(LUT)實現的方式面積減少27%。文獻[4]推導出SM4算法S盒在復合域下的8個基,為后續(xù)研究實現S盒提供更多的思路。文獻[5]~文獻[7]則是利用復合域進行計算,通過增加少許計算量,提高S盒的計算速度。
除了對算法的關鍵部分進行改進,研究者們也會調整和優(yōu)化算法的整體結構。文獻[8]提出包括速度優(yōu)先、資源優(yōu)先以及平衡型的4級流水線、8級流水線、16級流水線共5種方案,并對不同實現方案分別進行優(yōu)化以研究算法資源和性能的上下限。文獻[9]通過軟硬件結合的方式優(yōu)化SM4算法,在上位機中進行輪密鑰的生成,在FPGA上進行加解密計算,利用FPGA的特性加速算法關鍵的加解密步驟。在FPGA的加解密模塊中設計雙層級聯(lián)架構將加解密的需消耗的32個時鐘周期降低到16個時鐘,在相同頻率下取得了更高的吞吐量。文獻[10]則通過使用LUT、BRAM(Block RAM)、BRAM結合寄存器三種不同的方式實現S盒,使SM4算法的吞吐率達到42.10 Gb/s,此外還設計低資源循環(huán)型架構以應對不同的使用場景。
綜上,國內外學者圍繞SM4算法的FPGA硬件實現已開展多項研究,這些研究主要通過優(yōu)化S盒查找表結構、改進密鑰擴展路徑以及采用并行計算策略等達到資源優(yōu)化、低功耗設計及吞吐率提升等目標。然而,在面向5G通信或數據中心等高性能應用場景時,現有實現仍面臨并行度不足、關鍵路徑延遲偏高、資源利用率與吞吐率難以同步優(yōu)化等問題,尤其是當算法需要適配多種工作場景時,其綜合性能表現仍有顯著提升空間。本文基于對SM4算法計算特征和FPGA架構特性的協(xié)同分析,提出一種流水線處理與S盒硬件優(yōu)化實現的架構,通過優(yōu)化關鍵路徑,平衡邏輯資源與時序性能,在有限硬件開銷下實現算法吞吐率的提升。
本文詳細內容請下載:
http://m.ihrv.cn/resource/share/2000007050
作者信息:
竹顯濤1,李玥2,趙雄偉1
(1.佳緣科技股份有限公司,四川 成都610097;
2.杭州電子科技大學, 浙江 杭州310018)

