Page 295 - 《软件学报》2025年第5期
P. 295
刘振亚 等: SM2 数字签名算法的两方门限计算方案框架 2195
(1) 签名第 1 部分 r = (x 1 +e) mod q ;
(2) 签名第 2 部分 s 的中间值 s 1 = d 2 (r +w 2 ) mod q ,
r 是公开的信息且不包含任何 Bob s 1 包含 Bob
其中, 的私密信息, 的私密信息 d 2 和 w 2 . Alice 试图从方程 s 1 −rd 2 −
w 2 d 2 = 0 中解出 d 2 和 w 2 , 该方程为二元一次方程. Alice 令 d 2 在 [1,q−1] 区间上遍历取值, 并计算与之对应的 w 2 =
−1 w 2 的难度等同于穷举.
d s 1 −r , 得到该方程在 [1,q−1] 区间上的 (q−1) 组解. Alice 从这 (q−1) 组解中获取 d 2 和
2
对于 Alice 而言, 相较于仅掌握签名验证公钥以及签名结果, 掌握上述信息并没有降低获取 Bob 的部分私钥 d 2 以
及随机数 w 2 的难度. 假设 Alice 与 Bob 进行多次协作签名, 每次签名 Alice 都能够获取 1 个方程. 记第 i 次签名
[i]
[i]
s −r d 2 −w d 2 = 0 , 其中包含 2 [i] . 每次签名 Bob 都会使用相同的
[i]
Alice 获取的方程为 1 2 个未知数, 分别为 d 2 和 w 2
d 2 , 并独立随机生成或计算 [i] . 因此 Alice 通过与 n 个
部分私钥 1 个随机数 w 2 Bob 的 n 次协作签名, 能够获取一个由
−1 [i]
[i]
方程组成的方程组, 其中包含 (n+1) 个未知数. Alice 令 d 2 在 [1,q−1] 区间遍历取值, 并计算与之对应的 w = d s −r [i] .
1
2
2
得到该方程组在 [1,q−1] 区间上的 (q−1) 组解. Alice 从这 (q−1) 组解中获取 d 2 和 w [i] 的难度等同于穷举. 对于
2
Alice 而言, 相较于仅掌握签名验证公钥以及签名结果, 掌握上述信息并没有降低获取 Bob 的部分私钥 d 2 以及随
机数 w [i] 的难度. 进一步, 根据签名随机数构造的安全要求, w [i] 总是包含至少 1 个独立随机生成的随机数, 因此在
2 2
具体的两方门限计算方案中, Alice 也无法求解所得的方程组. 综上, Alice 无法从协作签名的交互过程中获取任何
Bob 的私密信息, 从而无法获取完整的签名私钥或另一部分私钥的任何信息.
在一次协作签名中, Bob 能够获取如下信息.
(1) 椭圆曲线点 Q 1 = [w 1 ]G .
e .
(2) 待签名消息的摘要
(3) 签名第 2 部分 s = (d 1 (s 1 +w 1 )−r) mod q .
由于 ECDLP 和哈希函数的安全性, Bob 无法从 Q 1 和 中获取任何信息. 而 包含 Alice 的私密信息 d 1 和 w 1 ,
s
e
s 1 对于 Bob 来说是已知的, 因此 Bob w 1 , 该方程为二元一次方程.
且 试图从方程 s−d 1 s 1 −d 1 w 1 +r = 0 中解出 d 1 和
−1
Bob 令 d 1 在 [1,q−1] 区间上遍历取值, 并计算与之对应的 w 1 = d (s+r)− s 1 , 得到该方程在 [1,q−1] 区间上的 (q−1)
1
组解. Bob 从这 (q−1) 组解中获取 d 1 和 w 1 的难度等同于穷举. 对于 Bob 而言, 相较于仅掌握签名验证公钥以及签
名结果, 掌握上述信息并没有降低获取 Alice 的部分私钥 d 1 以及随机数 w 1 的难度. 假设 Bob 与 Alice 进行多次协
作签名, 每次签名 Bob 都能够获取 1 个方程. 记第 i 次签名 Bob 获取的方程为 s − s d 1 −w d 1 +r = 0 , 其中包含
[i]
[i]
[i]
[i]
1 1
2 个未知数, 分别为 d 1 和 w [i] . 每次签名 Alice 都会使用相同的部分私钥 d 1 , 并独立随机生成或计算 1 个随机数 w [i] .
1 1
因此 Bob 通过与 Alice 的 n 次协作签名, 能够获取一个由 n 个方程组成的方程组, 其中包含 (n+1) 个未知数. Bob
[i]
[i]
[i]
−1
令 d 1 在 [1,q−1] 区间遍历取值, 并计算与之对应的 w = d (s +r )− s [i] , 得到该方程在 [1,q−1] 区间上的 (q−1)
1
1
1
组解. Bob 从这 (q−1) 组解中获取 d 1 和 w [i] 的难度等同于穷举. 对于 Bob 而言, 相较于仅掌握签名验证公钥以及签
1
名结果, 掌握上述信息并没有降低获取 Alice 的部分私钥 d 1 以及随机数 w [i] 的难度. 进一步, 根据签名随机数构造
1
的安全要求, w [i] 总是包含至少 1 个独立随机生成的随机数, 因此在具体的两方门限计算方案中, Bob 也无法求解
1
所得的方程组. 综上, Bob 无法从协作签名的交互过程中获取任何 Alice 的私密信息, 从而无法获取完整的签名私
钥或另一部分私钥的任何信息.
假设存在一个外部敌手 Adv 能够获取公开信息以及签名生成过程的通信信息, 包括:
(1) 椭圆曲线点 Q 1 = [w 1 ]G .
(2) 待签名消息的摘要 e .
(3) 签名第 1 部分 r = (x 1 +e) mod q .
(4) 签名第 2 部分 s 的中间值 s 1 = d 2 (r +w 2 ) mod q .
(5) 签名第 2 部分 s = (d 1 (s 1 +w 1 )−r) mod q .
−1 −1
(6) 签名验证公钥 P = [d d −1]G .
1 2
由于 ECDLP 和哈希函数的安全性, Adv 无法从 Q 1 、 P 和 中获取任何信息. Adv 试图从方程 1: s 1 −rd 2 −
e