ZUC算法软件快速实现

作者:张宇鹏; 高莹*; 严宇; 刘翔
来源:密码学报, 2021, 8(03): 388-401.
DOI:10.13868/j.cnki.jcr.000446

摘要

ZUC算法,即ZUC-128流密码算法,是首个成为国际商业密码标准的国产密码算法.目前,ZUC-128算法和后续ZUC-256算法的硬件优化工作卓有成效,其IP核的运行速度可以达到100 Gbps.但对ZUC算法软件实现速度的研究一直比较缓慢,相关研究不多.为优化ZUC算法的软件实现速度,我们尝试了8种软件优化方式.通过实验分析得知,使用多线程并行的方式优化ZUC算法反而会降低算法的运行效率,且有些方法单独使用有效但与其他方法组合之后算法的实现速度不增反减.因此需进行优化组合,通过实验最终选择了顺序组合:(1)使用优化函数的调用过程;(2)编译器优化;(3)延迟取模;(4)合并S盒,探索出了一种ZUC算法软件优化方法的高效组合方式.利用这种高效组合方式,在Intel Core i7-8750H@2.20 GHz处理器上,生成长密钥流时, ZUC算法的软件实现速度达到4.22 Gbps.和已有的最新结果 3.34 Gbps相比速度提高26%,本方法同样适用于ZUC-256流密码算法的软件提速.

全文