摘要:物联网(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盒运算的仿射矩阵及其他相关矩阵相乘后,能够以最少的异或逻辑门数实现映射。基于上述两点,本文所实现的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.