Page 29 - 《软件学报》2025年第10期
P. 29
4426 软件学报 2025 年第 36 卷第 10 期
SM3-OTS 方案的核心基于哈希函数构建, 而哈希函数被证明在面对量子计算具备较强的抗攻击能力. 与基于
数论的签名方案 (如 RSA 和 ECC) 不同, 这些数论方案可以被量子计算机应用 Shor 算法在多项式时间内破解, 但
哈希函数的抗性只会受到 Grover 算法的影响. Grover 算法是一种量子搜索算法, 它能够以平方根速度加快搜索过
程, 但不能完全破解哈希函数. 量子计算机通过 Grover 算法能够将哈希函数的安全性降低一半. 举例来说, 国密
SM3 算法能够提供 128 位的经典安全性, 但在量子计算机上, 这种安全性会降低到约 85 位. 这意味着量子计算机
在破解哈希函数时可以减少运算量, 但并不能彻底破坏哈希函数的安全性. 虽然量子计算机虽然可以通过 Grover
算法降低国密 SM3 算法的部分安全性, 但可以通过增长 SM3 算法的输出长度来弥补, 所以 SM3-OTS 在量子计算
时代依然安全可靠.
6 密钥与签名尺寸
本节将阐述 SM3-OTS 签名方案的密钥尺寸和生成的签名值尺寸, 并与其他主流一次数字签名方案密钥及生
成签名值尺寸对比.
6.1 密钥和签名尺寸
SM3-OTS 签名方案的私钥为对秘密种子 Seed 和序号 i 使用哈希函数迭代运算生成, 而公钥则是使用哈希函
数对相应私钥做哈希运算生成的. SM3-OTS 方案私钥尺寸为: sk_size = i×32 = 48×32 = 1536 (Bytes).
同理, SM3-OTS 方案公钥尺寸为: pk_size = i×32 = 48×32 = 1536 (Bytes).
SM3-OTS 签名方案的签名块为对应哈希链上的链节点. 故签名块的数量对应哈希链的数量, 即为对应签名方
案私钥块的数量, SM3-OTS 方案签名尺寸为: σ_size = i×32 = 48×32 = 1536 (Bytes).
SM3-OTS 是基于哈希函数设计的一种后量子一次数字签名方案, 具有更小的密钥及签名尺寸以及更强的安
+
全性. 相较于 SPHINCS 中使用的 WOTS+方案、SPHINCS-α 中使用的 Balanced WOTS+方案以及 SPHINCS C + 中
使用的 WOTS+C 方案这几种主流的一次数字签名方案所生成的签名值长度大约缩短了 29%、27%、26%, 签名
性能得到明显提升. 这种减少不仅有助于降低存储和带宽的需求, 还提高了签名和验证的效率. 因此, SM3-OTS 在
需要高效签名和验证的应用场景中展现出了巨大的潜力. 表 5 为 SM3-OTS 与其他几种哈希基一次签名方案的参
数尺寸对比.
表 5 几种签名方案参数对比 (Bytes)
签名方案 安全参数 密钥尺寸 签名值尺寸
WOTS 32 2 144 2 144
WOTS+ 32 2 144 2 144
Balanced WOTS+ 32 2 112 2 112
WOTS+C 32 2 080 2 080
LMOTS 32 2 144 2 144
SM3-OTS 32 1 536 1 536
6.2 SM3-OTS 效率分析
本文将 SM3-OTS 与 WOTS、WOTS+、Balanced WOTS+、WOTS+C 等方案进行对比. 本次测试在配备 4 GB
RAM 的 AMD Ryzen 7840S CPU (3.3 GHz) 的硬件设备上运行, 测试环境为 Ubuntu 22.04 LTS. 图 5−图 7 分别为签
名方案密钥生成、签名方案签名生成、签名方案签名验证所需时间. 由实验看出, SM3-OTS 数字签名方案的运行
+
时间表现良好, 与 NIST 标准化算法 SPHINCS 中使用的 WOTS+方案相比, SM3-OTS 在密钥生成、签名生成、签
名验证所需的时间分别减少了 27.2%、18.7%、25.3%, 与 WOTS、SPHINCS-α 中使用的 Balanced WOTS+以及
SPHINCS+C 中使用的 WOTS+C 运行效率相差较小, 结合表 5 中几种签名方案生成的签名值大小来看, SM3-OTS
方案具有非常良好的应用前景.

