摘 要:在轻量级密码领域,S盒作为核心非线性组件,其硬件实现的面积与电路深度优化始终是轻量级密码研究的热点。公开文献针对小规模S盒硬件实现占用资源、电路深度的优化等进行了大量研究,取得了很多优秀成果,能够对规模不大于5比特的S盒给出面积或电路深度优的实现方案,现有针对小规模 S 盒硬件实现的研究多以面积最小化或电路深度最小化为单一优化目标,对两者之间的协同优化工作较少。该文从面积与电路深度协同优化的角度出发,构建了一个深度为\begin{document}$ k $\end{document},宽度为\begin{document}$ w $\end{document}的电路模型,在给定面积约束的条件下,采用可满足性问题(SAT)求解技术判断该电路模型能否实现S盒,通过调整电路深度、宽度、面积等指标,最终给出S盒的优化实现方案。采用该方法能够对规模不大于4比特的S盒,给出面积和电路深度均较优的实现方案。在UMC 180 nm工艺库下对Lblock、Rectangle、Midori、Prøst等轻量级密码算法的S盒进行了优化实现,给出了较好的实验结果,将Lblock算法S盒的实现深度由10降低到了3,将Rectangle算法S盒的逆盒实现面积由24.33 GE降低到了17.66 GE,将Midori算法S盒的面积由20.00 GE降低到了16.33 GE、将Prøst算法S盒的实现面积由22.00 GE降低到了13.33 GE。