摘要:物聯網(Internet of Things, IoT)領域當前正面臨著無法回避且持續存在的網絡安全威脅以及設備資源受限的雙重挑戰。針對前述問題,本文在ASIC (application specific integrated circuit)平臺上,利用時序復用
物聯網(Internet of Things, IoT)領域當前正面臨著無法回避且持續存在的網絡安全威脅以及設備資源受限的雙重挑戰。針對前述問題,本文在ASIC (application specific integrated circuit)平臺上,利用時序復用與門控時鐘技術,設計了一種高效的低面積ZUC算法硬件實現電路。此電路通過確保每個功能模塊僅被實例化一次,實現了電路面積的極小化。在S盒的設計上,本文借鑒了塔域分解的思想,并提出了一種算法,用于在有限域(F_{2^n})到有限域(F_{2^n}')之間搜索同構映射矩陣。該算法旨在找到一種同構映射,當它與S盒運算的仿射矩陣及其他相關矩陣相乘后,能夠以最少的異或邏輯門數實現映射?;谏鲜鰞牲c,本文所實現的S1-box在面積上與當前AES算法的Sbox相當。在線性變換部分,本文采用了最大距離可分(maximum distance separable, MDS)矩陣拆解的思想,使得整個線性層的實現僅需164個異或門。在加法鏈的設計上,本文采用了進位存儲加法器、32比特加法器、單加數的31比特加法器與中間寄存器的組合。這一設計使得線性反饋移位寄存器層與有限狀態自動機層能夠共享同一條加法鏈,從而進一步優化了電路結構。在TSMC 90 nm工藝下綜合驗證,本文所提出的硬件實現方案在時鐘頻率為250 MHz時,吞吐率可達2 Gbps,同時面積開銷僅為6.67 kGE。與當前主流方案相比,本設計在保持吞吐率不變的前提下,面積開銷降低了44%。
關鍵詞: ZUC;面積優化;復合域;時序復用;窄帶物聯網
論文《面向窄帶物聯網的ZUC+算法緊湊硬件實現》發表在《中國科學:信息科學》,版權歸《中國科學:信息科學》所有。本文來自網絡平臺,僅供參考。

1 引言
物聯網秉持萬物互聯的核心理念,正以前所未有的速度推動各行各業的數字化轉型與智能化升級。物聯網(Internet of Things, IoT)的核心在于構建一個由多樣化設備、精密傳感器及智能對象緊密交織而成的互聯網絡體系,該體系能夠跨越互聯網邊界,實現數據之間的無縫流通與高效交互。從當前學術界與工業界的廣泛視角審視,IoT已在汽車制造、醫療健康、教育領域以及智能家居等多個垂直行業內展現出舉足輕重的作用與深遠影響[1∼4]。預計到2033年,全球IoT設備部署將激增至驚人的396億件,廣泛覆蓋垂直行業及其他領域[5]。屆時,IoT可能對全球經濟產生5.5萬億至12.6萬億美元的影響[6]。窄帶物聯網(NarrowBand-IoT, NB-IoT)是作為第三代合作伙伴計劃(the 3rd generation partnership project, 3GPP)制定的一項低功耗廣域網(low-power wide-area network, LPWAN)技術,憑借其卓越的特性,包括支持海量低速率設備的接入、對時延的低敏感度、設備成本的超低門檻以及低功耗表現,展現出極為廣闊的發展前景[7]。
在5G的背景下,國際通信聯盟為5G定義了三大應用場景:增強型移動帶寬、超可靠低時延通信、海量機器類通信(massive machine type communication, mMTC)[8]。而NB-IoT正是專為mMTC場景設計的LPWAN技術,它強調實現端到端的安全性,該需求亟須融入可信賴的安全保障與身份驗證特性,從而有效抵抗IoT在數據安全與傳輸可靠性上面臨的風險[9,10]。而以ZUC算法為核心的機密性算法EEA-3和完整性算法EIA-3,精準契合了上述安全需求。在IoT的框架下,用于保護感知數據的密碼算法必須適應資源有限的嵌入式設備的需要。故設計一種專注于面積優化的ZUC算法就顯得尤為必要,它更易于長期運行在資源有限的環境中。然而,當前關于ZUC算法的研究文獻普遍傾向于對其時延和吞吐率等性能指標進行深入探討。例如,文獻[11∼13]均采用了多級流水線技術,這一策略雖顯著提升了算法的工作頻率,但隨之而來的是中間寄存器資源開銷的大幅增加,這無疑與IoT設備資源受限的特性相悖。在IoT系統芯片的設計考量中,Cavo等[14]和Sharaf等[15]利用ZUC算法與SNOW3G算法的相似性,通過硬件重用技術減少了ZUC算法的面積開銷,但S-box并未采納復合域實現的方案來進一步縮減面積。
基于上述因素,本文對ZUC算法的核心組件進行了一定程度上的面積優化,具體體現在以下幾個方面:(1)電路整體的極小化:每個功能模塊僅被實例化一次;(2)S盒的高效實現:本文提出了兩種S盒的塔域分解方案,該方案在復合域上實現了S盒功能,并顯著降低了所需的電路面積;(3)線性變換L的精簡:本文以當前最少的異或門數量實現了線性變換L的功能;(4)加法鏈的優化:整個ZUC算法共享一條加法鏈,并進一步縮短了有限狀態自動機層的關鍵路徑。
2 背景知識
2.1 符號說明
H:任意比特長字符串的高16位。
L:任意比特長字符串的低16位。
[m: n]:由任意比特長字符串的第n到第m位構成的新字符串。
⊕:異或操作運算符。
S():S盒變換。
?n:循環左移n比特運算符。
?n:右移n比特運算符。
?:模(2^{32})加運算符。
¬:比特翻轉運算符。
Z:ZUC算法輸出的密鑰流。
(mathbb{F}_{2}):包含0和1兩個元素的有限域。
(mathbb{F}_{2^k}):包含(2^k)個元素的有限域。
2.2 ZUC算法
ZUC-256的輸入為256比特長的密鑰和184比特長的初始向量(initial vector, IV),輸出為一串32比特長的密鑰流。該算法由三部分組成:
1. 線性反饋移位寄存器(linear feedback shift register, LFSR):由16個31比特長的寄存器單元((S_{15}, S_{14}, ..., S_{1}, S_{0}))組成,其中存儲的數據為((s_{15}, s_{14}, ..., s_{1}, s_{0}))。
2. 比特重組(bit reorganization, BR):從LFSR中取出特定的比特串后重組成4個32比特字((X_{0}, X_{1}, X_{2}, X_{3})),并將其用于后續計算及密鑰流生成。
3. 有限狀態自動機(finite state machine, FSM):含有兩個32比特字寄存器(R_{1})與(R_{2}),以及模(2^{32})加法運算、線性變換L、S盒變換等操作。
2.3 LFSR
根據工作模式的不同,LFSR的更新步驟存在差異:
初始化模式下,生成(s_{16})的步驟:
[s_{16}=(u+2^{15}s_{15}+2^{17}s_{13}+2^{21}s_{10}+2^{20}s_{4}+(1+2^{8})s_{0}) mod (2^{31}-1)]
工作模式下,生成(s_{16})的步驟:
[s_{16}=left(2^{15} s_{15}+2^{17} s_{13}+2^{21} s_{10}+2^{20} s_{4}+left(1+2^{8}
ight) s_{0}
ight) mod left(2^{31}-1
ight)]
其中,(u)表示FSM的輸出(W)右移1位后得到的31位比特串,即(u=W gg 1)。若計算后(s_{16}=0),則將其重置為(2^{31}-1)。更新移位時,LFSR中存儲的上一輪值依次右移,舍棄(s_{0})并填補(s_{16}),最終得到((s_{16}, s_{15}, ..., s_{2}, s_{1}))。
2.4 BR
BR層從LFSR的8個寄存器單元((S_{15}, S_{14}, S_{11}, S_{9}, S_{7}, S_{5}, S_{2}, S_{0}))中各抽取特定的16比特,重組為4個32比特字:
2.5 FSM
FSM層對(X_{0})、(X_{1})、(X_{2})進行異或、模加、比特串連接、線性變換及S盒等操作,得到32比特長的字(W),并迭代更新(R_{1})和(R_{2})的值:
其中(L_{1})、(L_{2})為線性變換,(S)為32×32的S盒(由4個小的8×8的S盒并置而成)。
2.6 ZUC算法的基本流程
1. 裝載密鑰和初始向量至LFSR,初始化(R_{1})、(R_{2})為0。
2. 重復32輪BR層、FSM層和LFSR層初始化模式步驟,FSM輸出取高31位作為LFSR輸入。
3. 執行一次BR層、FSM層和LFSR層工作模式步驟,忽略FSM輸出結果。
4. 循環執行步驟(3),每次FSM產生的(W)與(X_{3})異或生成密鑰流。
2.7 有限域基礎
定理1(有限域的存在性與唯一性):對于任意素數(p)和正整數(n),存在階為(p^n)的有限域,且任何階為(p^n)的有限域都同構于多項式(x^{p^n}-x)在素數域(mathbb{Z}_{p})上的分裂域。
定理2(基于不可約多項式構造有限域):若(f(x) in mathbb{F}_{q}[X])是不可約多項式,則(mathbb{F}_{q}[X]/(f(x)))是有限域。
定理3(有限域的擴張):設有限域(mathbb{F}_{q})((q=p^r),(p)為素數,(r ≥1)),若(mathbb{F}_{q}[X])的(n)次不可約多項式為(m(x)=a_{0}+a_{1}x+cdots+a_{n}x^n),則(mathbb{F}_{q}[X]/(m(x)))是含(q^n)個元素的有限域,其元素可表示為(c_{0}+c_{1}z+cdots+c_{n-1}z^{n-1})((c_{i} in mathbb{F}_{q}),(z)是(m(x))的根)。
3 算法的電路優化
3.1 S盒實現
S盒變換是密碼算法的非線性組件,硬件實現方式主要有查表實現、基于布爾函數表達式實現和基于復合域實現,其中復合域實現的面積優化效果最優。
3.1.1 復合域S1盒的設計方案一:(mathbb{F}_{2^8} o mathbb{F}_{((2^4)^2)})
ZUC算法的S1-box結合仿射變換與有限域求逆:
[S1-box(x)=M x^{-1}+B]
其中(M)是8×8矩陣,(B)是8×1常向量,(x)為8比特向量,求逆運算定義在(mathbb{F}_{2^8}=mathbb{F}_{2}/(x^8+x^7+x^3+x+1))上。
通過同構矩陣搜索算法和復合域多項式基構造方法,將求逆運算轉換至復合域(mathbb{F}_{((2^4)^2)}=[mathbb{F}_{2}/(x^4+x^3+x^2+x+1)]/(x^2+0001x+0010)),表達式改寫為:
[S1-box (x)=K(T x)^{-1}]
其中(T)為同構矩陣,(K)為合并優化后的矩陣。經優化,(T)的實現需12個異或門,(K)需7個異或門、1個2輸入同或門及3個3輸入同或門。
3.1.2 復合域S1盒的設計方案二:(mathbb{F}_{2^8} o mathbb{F}_{(((2^2)^2)^2)})
將ZUC S1-box的有限域(mathbb{F}_{2^8})通過同構映射轉換至(mathbb{F}_{2^8}'=mathbb{F}_{2}/(x^8+x^4+x^3+x+1)),再映射至塔域(mathbb{F}_{(((2^2)^2)^2)}),計算過程為:
[S1-box (x)=U(P x)^{-1}]
其中(P)、(U)為優化后的映射矩陣,(P)的實現需12個異或門,(U)需12個異或門及4個異或非門,求逆運算借鑒GF INV 8求逆電路。
3.1.3 組合邏輯S0盒的設計
S0-box遵循三層Feistel結構,輸入為高4比特串(X_{1})和低4比特串(X_{2}),變換(V_{1})、(V_{2})、(V_{3})定義在(mathbb{F}_{2^4})上。通過公共項消除和lighter工具優化,(V_{1})、(V_{3})可通過簡單組合邏輯實現,(V_{2})優化后通過特定邏輯表達式輸出。
3.1.4 S盒實現對比
在TSMC 90 nm工藝下,本文設計的S0-box面積為63.49 GE,較查找表實現縮減86%,時延降低13%;S1-box方案二面積為201.99 GE,較查找表實現縮減56%,與先進AES Sbox面積相當。
3.2 線性變換L的實現
ZUC算法線性層L的MDS矩陣由移位和異或構造,利用SM4算法線性層的右循環矩陣特性及線性層優化工具,實現(L_{1})與(L_{2})僅需164個異或門,較現有方案減少6%的邏輯門消耗。
3.3 ZUC算法的整體實現
3.3.1 加法鏈與中間寄存器的時序復用
采用進位存儲加法器(CSA)、32比特加法器(Adder32)和31比特加法器(Adder31)實現模加運算,LFSR層與FSM層共享加法鏈。通過32位中間寄存器(FF_{1})與31位中間寄存器(FF_{2})分隔4個獨立時鐘周期,(FF_{1})存儲預計算結果以縮短關鍵路徑,每4個時鐘周期生成一個32比特密鑰流。
3.3.2 門控時鐘的應用
在RTL層面引入門控時鐘技術,通過與門控制時鐘信號ENCLK,僅在數據更新或狀態轉換時激活時鐘,減少寄存器及時鐘網絡的冗余功耗,同時替代原電路中的選擇器,進一步縮減面積。
4 驗證與分析
4.1 性能對比
在TSMC 90 nm工藝下:
Slow工藝條件(SS工藝角、125℃、0.9 V):面積6.6 kGE,工作頻率250 MHz,吞吐率2 Gbps,功耗1.89 mW,較現有ZUC算法實現面積縮減44%。
Fast工藝條件(FF工藝角、-40℃、1.1 V):面積7.0 kGE,工作頻率1 GHz,吞吐率8 Gbps,功耗12.3 mW。
4.2 面積占用詳情
寄存器組(含LFSR寄存器及(FF_{1})、(FF_{2})、(R_{1})、(R_{2})等)面積4205.2 GE,占比63%。
組合邏輯面積3624.74 GE,占比53%;非組合邏輯3054.1 GE,占比45%;緩沖器及反向器136.2 GE,占比2%。
4.3 關鍵路徑
FSM的關鍵路徑由(Path_{1})縮減至(Path_{2})(32比特異或門),整體關鍵路徑位于初始化階段stage0的LFSR部分,由1個異或門、Adder32及CSA2_31組成。
5 總結
本文針對窄帶物聯網場景,提出ZUC算法的緊湊型硬件實現方案,通過時序復用、復合域S盒設計、線性層拆分、門控時鐘控制及加法鏈共享策略,實現面積和功耗的雙重優化。該方案在TSMC 90 nm工藝下展現出優異性能,面積開銷低且吞吐率滿足需求,貼合NB-IoT等資源受限應用場景,為大規模設備部署及偏遠地區應用提供可靠支撐。
參考文獻
[1] Peter O, Pradhan A, Mbohwa C. Industrial Internet of Things (IIoT): opportunities, challenges, and requirements in manufacturing businesses in emerging economies. Procedia Comput Sci, 2023, 217: 856–865.
[2] Rejeb A, Rejeb K, Treiblmaier H, et al. The Internet of Things (IoT) in healthcare: taking stock and moving forward. Internet Things, 2023, 22: 100721.
[3] Badshah A, Ghani A, Daud A, et al. Towards smart education through Internet of Things: a survey. ACM Comput Surv, 2023, 56: 1–33.
[4] Alaa M, Zaidan A A, Zaidan B B, et al. A review of smart home applications based on Internet of Things. J Netw Comput Appl, 2017, 97: 48–65.
[5] Vailshery L S. Number of IoT connections worldwide 2022-2033, with forecasts to 2030. [2024-8-15]. https://www.statista.com/statistics/1183457/iot-connected-devices-worldwide/.
[6] Chui M, Collins M, Patel M. IoT value set to accelerate through 2030: where and how to capture it. [2024-8-15]. https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/iot-value-set-to-accelerate-through-2030-where-and-how-to-capture-it.
[7] Mahbub M. NB-IoT: applications and future prospects in perspective of Bangladesh. Int J Inf Technol, 2020, 12: 1183–1193.
[8] Popovski P, Trillingsgaard K F, Simeone O, et al. 5G wireless network slicing for eMBB, URLLC, and mMTC: a communication-theoretic view. IEEE Access, 2018, 6: 55765–55779.
[9] Narayanan S, Tsolkas D, Passas N, et al. NB-IoT: a candidate technology for massive IoT in the 5G era. In: Proceedings of IEEE 23rd International Workshop on Computer Aided Modeling and Design of Communication Links and Networks, 2018. 1–6.
[10] Mentsiev A U, Magomaev T R. Security threats of NB-IoT and countermeasures. IOP Conf Ser-Mater Sci Eng, 2020, 862: 052033.
[11] Liu Z B, Zhang Q L, Ma C Q, et al. HPAZ: a high-throughput pipeline architecture of ZUC in hardware. In: Proceedings of Design, Automation & Test in Europe Conference & Exhibition (DATE), 2016. 269–272.
[12] 劉云濤, 申澤生, 方碩, 等. 高吞吐率流水線結構的ZUC-256流密碼硬件設計. 電子學報, 2023, 51: 438.
[13] Xu A, Wu Y, Yang J, et al. A high-throughput hardware implementation of ZUC-256 stream cipher. In: Proceedings of the 4th International Conference on Communications, Information System and Computer Engineering (CISCE), 2022. 24–27.
[14] Cavo L, Fuhrmann S, Liu L. Design of an area efficient crypto processor for 3GPP-LTE NB-IoT devices. Microprocessors Microsyst, 2020, 72: 102899.
[15] Sharaf M A, AbdelBary E, Mostafa H, et al. Efficient ASIC implementation of a NB-IoT security co-processor. In: Proceedings of IEEE 63rd International Midwest Symposium on Circuits and Systems (MWSCAS), 2020. 695–698.
[16] Lidl R, Niederreiter H. Finite Fields. Cambridge: Cambridge University Press, 1997.
[17] Hulle N, Prathiba B, Khope S R. Hardware optimization and FPGA implementation of pipelined ZUC architecture. In: Proceedings of IEEE 6th International Conference on Computing, Communication and Automation (ICCCA), 2021. 63–69.
[18] Gligoroski D, Moe M E G. On deviations of the AES S-box when represented as vector valued Boolean function. Int J Comput Sci Network Secur, 2007, 7: 156–163.
[19] Canright D. A very compact S-box for AES. In: Proceedings of International Workshop on Cryptographic Hardware and Embedded Systems. Berlin: Springer, 2005. 441–455.
[20] 陳晨, 郭華, 王闖, 等. 一種基于復合域的國密SM4算法快速軟件實現方法. 密碼學報, 2023, 10: 289–305.
[21] 李艷俊, 張偉國, 葛耀東, 等. 類AES算法S盒的優化實現. 密碼學報, 2023, 10: 531–538.
[22] Xiang Z J, Zeng X Y, Lin D, et al. Optimizing implementations of linear layers. IACR Trans Symmetric Cryptol, 2020, 2020: 120–145.
[23] Jean J, Peyrin T, Sim S M, et al. Optimizing implementations of lightweight building blocks. IACR Trans Symmetric Cryptol, 2017, 2017: 130–168.
[24] SAGE E. Specification of the 3GPP Confidentiality and Integrity Algorithms 128EEA3 & 128EIA3. Document 4: Design and Evaluation Report, 2011.
[25] Wei Z H, Sun S S, Hu L, et al. Searching the space of tower field implementations of the F28 inverter-with applications to AES, Camellia, and SM4. Int J Inf Comput Secur, 2023, 20: 1–26.
[26] 孫壯, 黃震宇. ZUC算法的量子電路實現. 信息安全學報, 2023. doi: 10.19363/J.cnki.cn10-1380/tn.2023.06.
[27] Lin D, Xiang Z, Xu R, et al. Quantum circuit implementations of SM4 block cipher based on different gate sets. Quantum Inf Process, 2023, 22: 282.