摘要

S盒是SM4分组密码算法中重要的非线性组件。使用Toffoli门、CNOT门和NOT门构建S盒的量子电路。首先,基于S盒的代数表达式,通过同构映射矩阵,将有限域GF(28)中的求逆运算转化到有限域GF((24)2)中的运算;其次,在GF(24)中分别给出了平方计算、乘法计算和求逆运算的量子电路;再次,通过最小化同构矩阵中“1”元素的个数,求出最优的同构映射矩阵,并给出相应的量子电路;然后,通过高斯消元法给出S盒表达式中仿射变换的量子电路;最后,综合出SM4密码算法S盒的量子电路。该量子电路的正确性通过IBM量子平台的Aer模拟器进行了验证。复杂度分析表明:所给出S盒的量子电路一共使用了21个量子比特,55个Toffoli门、176个CNOT门和10个NOT门,电路深度为151。相比于已有结果,所使用的量子资源进一步减少,效率进一步提高。