中文引用格式: 竹顯濤,李玥,趙雄偉. 一種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.
引言
隨著全球數(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)

