《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可编程逻辑 > 设计应用 > 一种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 文獻(xiàn)標(biāo)志碼:A DOI: 10.16157/j.issn.0258-7998.256868
中文引用格式: 竹顯濤,李玥,趙雄偉. 一種SM4算法的高效FPGA實(shí)現(xiàn)[J]. 電子技術(shù)應(yīng)用,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

引言

隨著全球數(shù)字化進(jìn)程的加速推進(jìn),信息安全和數(shù)據(jù)隱私已成為數(shù)字經(jīng)濟(jì)的核心保障要素。在萬物互聯(lián)的新基建背景下,海量終端設(shè)備的接入和5G通信、云計(jì)算等技術(shù)的普及,使得密碼算法作為信息安全體系的基石,其高效性與安全性直接關(guān)系到國家關(guān)鍵基礎(chǔ)設(shè)施和公民隱私數(shù)據(jù)的防護(hù)能力。國產(chǎn)SM4分組密碼算法作為國家密碼管理局正式發(fā)布的標(biāo)準(zhǔn)算法,在國防、政務(wù)、商業(yè)等信息傳輸領(lǐng)域具有重要應(yīng)用價(jià)值。而現(xiàn)場可編程門陣列(FPGA)憑借其硬件并行加速特性和可重構(gòu)優(yōu)勢,能夠突破傳統(tǒng)軟件實(shí)現(xiàn)的性能瓶頸,尤其在物聯(lián)網(wǎng)邊緣計(jì)算等實(shí)時(shí)性要求嚴(yán)苛的場景中,為SM4算法提供低時(shí)延、高吞吐量的硬件實(shí)現(xiàn)方案,能夠滿足新型基礎(chǔ)設(shè)施的安全需求。

提升加解密算法FPGA實(shí)現(xiàn)的運(yùn)行效率一般需要對其關(guān)鍵計(jì)算環(huán)節(jié)進(jìn)行優(yōu)化,或者縮短FPGA實(shí)現(xiàn)的關(guān)鍵路徑。對于分組密碼算法,通常會使用S盒來進(jìn)行置換和替代操作。文獻(xiàn)[1]推導(dǎo)S盒使用有限域求解實(shí)現(xiàn)的過程,但其在域上的逆元求解計(jì)算過程非常復(fù)雜,不適合在硬件上進(jìn)行設(shè)計(jì)。文獻(xiàn)[2]、文獻(xiàn)[3]在復(fù)合域提出一種易于硬件實(shí)現(xiàn)且資源開銷低的S盒實(shí)現(xiàn)方法,在復(fù)合域運(yùn)算,復(fù)雜的求逆運(yùn)算可用與或門實(shí)現(xiàn),顯著降低實(shí)現(xiàn)S盒所需的資源。經(jīng)過改進(jìn)后,文獻(xiàn)[3]實(shí)現(xiàn)的S盒比使用查找表(LUT)實(shí)現(xiàn)的方式面積減少27%。文獻(xiàn)[4]推導(dǎo)出SM4算法S盒在復(fù)合域下的8個(gè)基,為后續(xù)研究實(shí)現(xiàn)S盒提供更多的思路。文獻(xiàn)[5]~文獻(xiàn)[7]則是利用復(fù)合域進(jìn)行計(jì)算,通過增加少許計(jì)算量,提高S盒的計(jì)算速度。

除了對算法的關(guān)鍵部分進(jìn)行改進(jìn),研究者們也會調(diào)整和優(yōu)化算法的整體結(jié)構(gòu)。文獻(xiàn)[8]提出包括速度優(yōu)先、資源優(yōu)先以及平衡型的4級流水線、8級流水線、16級流水線共5種方案,并對不同實(shí)現(xiàn)方案分別進(jìn)行優(yōu)化以研究算法資源和性能的上下限。文獻(xiàn)[9]通過軟硬件結(jié)合的方式優(yōu)化SM4算法,在上位機(jī)中進(jìn)行輪密鑰的生成,在FPGA上進(jìn)行加解密計(jì)算,利用FPGA的特性加速算法關(guān)鍵的加解密步驟。在FPGA的加解密模塊中設(shè)計(jì)雙層級聯(lián)架構(gòu)將加解密的需消耗的32個(gè)時(shí)鐘周期降低到16個(gè)時(shí)鐘,在相同頻率下取得了更高的吞吐量。文獻(xiàn)[10]則通過使用LUT、BRAM(Block RAM)、BRAM結(jié)合寄存器三種不同的方式實(shí)現(xiàn)S盒,使SM4算法的吞吐率達(dá)到42.10 Gb/s,此外還設(shè)計(jì)低資源循環(huán)型架構(gòu)以應(yīng)對不同的使用場景。

綜上,國內(nèi)外學(xué)者圍繞SM4算法的FPGA硬件實(shí)現(xiàn)已開展多項(xiàng)研究,這些研究主要通過優(yōu)化S盒查找表結(jié)構(gòu)、改進(jìn)密鑰擴(kuò)展路徑以及采用并行計(jì)算策略等達(dá)到資源優(yōu)化、低功耗設(shè)計(jì)及吞吐率提升等目標(biāo)。然而,在面向5G通信或數(shù)據(jù)中心等高性能應(yīng)用場景時(shí),現(xiàn)有實(shí)現(xiàn)仍面臨并行度不足、關(guān)鍵路徑延遲偏高、資源利用率與吞吐率難以同步優(yōu)化等問題,尤其是當(dāng)算法需要適配多種工作場景時(shí),其綜合性能表現(xiàn)仍有顯著提升空間。本文基于對SM4算法計(jì)算特征和FPGA架構(gòu)特性的協(xié)同分析,提出一種流水線處理與S盒硬件優(yōu)化實(shí)現(xiàn)的架構(gòu),通過優(yōu)化關(guān)鍵路徑,平衡邏輯資源與時(shí)序性能,在有限硬件開銷下實(shí)現(xiàn)算法吞吐率的提升。


本文詳細(xì)內(nèi)容請下載:

http://www.ihrv.cn/resource/share/2000007050


作者信息:

竹顯濤1,李玥2,趙雄偉1

(1.佳緣科技股份有限公司,四川 成都610097;

2.杭州電子科技大學(xué), 浙江 杭州310018)

2.jpg

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。