摘要:数字签名在信息安全中扮演着至关重要的角色,但传统的数字签名算法在后量子时代面临失效风险.SPHINCS+作为一种能够抵抗量子计算攻击的数字签名框架,将在后量子时代发挥越来越重要的作用.然而,SPHINCS+的计算速度较慢,难以满足现代密码算法对于高吞吐量和低延时的需求,极大地限制了其实用性.提出了一种基于国产深度计算单元(deep computing unit,DCU)的高效优化方案,以加速由国产哈希算法SM3实例化的SPHINCS+算法.通过提高内存拷贝效率、优化SM3、改进SPHINCS+的计算流程以及采用最佳计算并行度,在DCU上实现了SPHINCS+-SM3的128-f模式.实验结果表明,与传统CPU实现相比,DCU上的实现显著提高了签名生成和验证的吞吐量,分别达到了2603.87倍和1281.98倍的提升,极大地增强了SPHINCS+的计算效率和实用性,并推进了后量子密码算法的国产化进程.在高数据流量和大量签名请求的场景下,DCU实现展现出显著优于CPU实现的性能优势.
文章目录
1 背景
2 基础知识
2.1 符号表达
2.2 SM3
2.3 SPHINCS+和SPHINCS+-SM3
2.3.1 哈希函数和地址字段
2.3.2 计算流程
2.3.3 参数选择
2.4 DCU和HIP
3 基于DCU的SPHINCS+-SM3加速
3.1 加速架构概览
3.2 SM3优化
3.3 叶子节点内的计算
3.4 Merkle树内的计算
3.5 Merkle树之间的计算
3.6 其他优化方法
3.6.1 签名生成过程中超树的优化
3.6.2 内存优化
3.7 SPHINCS+-SM3签名生成和签名验证的高速实现
4 实验结果及对比分析
4.1 实验结果
4.2 结果对比与分析