《電子技術應用》
您所在的位置:首頁 > 可编程逻辑 > 设计应用 > 一种SM4算法的高效FPGA实现
一种SM4算法的高效FPGA实现
电子技术应用
竹显涛1,李玥2,赵雄伟1
1.佳缘科技股份有限公司;2.杭州电子科技大学
摘要: 随着信息安全和数据隐私需求的日益增长,国产SM4分组密码算法在政务、商业等信息传输领域具有重要应用价值。 针对SM4算法在FPGA实现中的性能瓶颈问题,提出一种高效的全流水线硬件架构。通过优化S盒的硬件实现,将每轮迭代中的S盒数量从4个减少至1个,并采用组合逻辑实现快速替换,显著降低资源消耗。同时,设计32级全流水线加解密模块,实现多数据块的并行处理,将加解密吞吐率压缩至一个时钟周期。实验基于Xilinx Zynq7045平台,结果表明,该设计在不使用额外存储器资源的情况下,工作频率达到412 MHz,吞吐率高达52.7 Gb/s,单位面积吞吐率性能较现有方案提升20%以上。
中圖分類號:TP391.41 文獻標志碼:A DOI: 10.16157/j.issn.0258-7998.256868
中文引用格式: 竹顯濤,李玥,趙雄偉. 一種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.
Efficient FPGA implementation of SM4 algorithm
Zhu Xiantao1,Li Yue2,Zhao Xiongwei1
1.Jiayuan Science and Technology Co.,Ltd.;2.Hangzhou Dianzi University
Abstract: With the increasing demand for information security and data privacy, the domestic SM4 block cipher algorithm has demonstrated significant application value in information transmission fields such as government affairs and commerce. To address the performance bottlenecks of the SM4 algorithm in FPGA implementations, this paper proposes an efficient fully pipelined hardware architecture. By optimizing the hardware implementation of the S-box, the number of S-boxes per round iteration is reduced from four to one, and fast substitution is achieved using combinational logic, significantly lowering resource consumption. Additionally, a 32-stage fully pipelined encryption or decryption module is designed to enable parallel processing of multiple data blocks, compressing the encryption or decryption throughput to a single clock cycle. Experimental results on the Xilinx Zynq7045 platform show that the proposed design achieves a working frequency of 412 MHz and a throughput of 52.7 Gb/s without relying on additional memory resources, with a 20% improvement in throughput per unit area compared to existing solutions.
Key words : SM4 algorithm;FPGA;pipelined design;S-box optimization

引言

隨著全球數字化進程的加速推進,信息安全和數據隱私已成為數字經濟的核心保障要素。在萬物互聯(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)

2.jpg

此內容為AET網站原創(chuàng),未經授權禁止轉載。