ZUC-256算法的快速软件实现

作者:白亮*; 贾文义; 朱桂桢
来源:密码学报, 2021, 8(03): 521-536.
DOI:10.13868/j.cnki.jcr.000455

摘要

序列密码算法ZUC-128是3GPP机密性算法EEA3和完整性算法EIA3的核心. ZUC-256算法是ZUC-128的升级版本,以应对5G通信安全性需要和后量子技术安全挑战.本文探讨ZUC-256流密码算法在x86架构处理器上的软件优化实现方法.我们利用单指令多数据(Single Instruction Multiple Data, SIMD)技术在ZUC-256密钥流算法已有的快速软件实现的基础上,作更进一步的优化,并给出消息认证码生成算法的软件优化实现.在Intel Xeon Gold 6128处理器上,优化后的密钥流算法在16个密钥或16个IV条件下的软件实现性能可以达到21 Gbps,超过了5G通信加密标准中的下行速度要求.通过实验对比,密钥流算法的实现性能在已有的结果上最多提升了56%;同无优化的消息认证码实现方法相比,我们利用SIMD技术的软件实现性能提高了20倍.