Page 302 - 《软件学报》2025年第5期
P. 302
2202 软件学报 2025 年第 36 卷第 5 期
虽然可以参照第 3.1.4 节中乘法拆分的方式将签名随机数中的 d 1 w 1 和 d 2 w 2 替换为 w 1 w 3 和 w 2 w 4 , 此时
( −1 ) ( −1 ) ′ ′
k = w 1 w 3 +w 2 w 4 = d 1 d w 1 w 3 +d 2 d w 2 w 4 . 但是对于任意形式的 k = w 1 w 3 +w 2 w 4 , 均可由对 k = d 1 w +d 2 w 进行
1
2
2
1
如下取值来实现:
w = d w 1 w 3 ,
−1
′
1 1
−1
w = d w 2 w 4 ,
′
2 2
即 k = d 1 w 1 +d 2 w 2 已包含了 k = w 1 w 3 +w 2 w 4 的所有可能构造, 因此这种替换并没有实际意义.
3.2.3 安全性分析
第 3.2.2 节所描述的两方门限签名计算过程应满足如下安全要求: 任一参与方无法获取完整的签名私钥或另
一部分私钥的任何信息.
安全性说明如下.
在一次协作签名中, Alice 能够获取如下信息.
(1) 签名第 1 部分 r = (x 1 +e) mod q .
(2) 签名第 2 部分 s 的中间值 s 1 = d 2 (r +w 2 ) mod q .
如第 3.1.3 节所描述, Alice 在获取上述信息的情况下, 不能求解未知变量组成的方程组, 无法从协作签名的交
互过程中获取任何 Bob 的私密信息, 也无法获取完整的签名私钥或另一部分私钥的任何信息.
在一次协作签名中, Bob 能够获取如下信息.
(1) 椭圆曲线点 Q 1 = [d 1 w 1 ](P+G) .
(2) 待签名消息的摘要 e .
(3) 签名第 2 部分 s = (d 1 (r +w 1 )+ s 1 −r) mod q .
由于 ECDLP 和哈希函数的安全性, Bob 无法从 Q 1 和 中获取任何信息. 而 包含 Alice 的私密信息 d 1 和 w 1 ,
e
s
s 1 对于 Bob 来说是已知的, 因此 Bob w 1 , 该方程为二元一次方
且 试图从方程 s−(r +w 1 )d 1 − s 1 +r = 0 中解出 d 1 和
]
]
程. Bob 令 d 1 在 [ 1,q−1 区间上遍历取值, 并计算与之对应 w 1 = d (s+r − s 1 )−r 的, 得到该方程在 [ 1,q−1 区间上
−1
1
的 (q−1) 组解. Bob 从这 (q−1) 组解中获取 d 2 和 w 2 的难度等同于穷举. 对于 Bob 而言, 相较于仅掌握签名验证公
钥以及签名结果, 掌握上述信息并没有降低获取 Alice 的部分私钥 d 1 以及随机数 w 1 的难度. 假设 Bob 与 Alice 进
( )
行多次协作签名, 每次签名 Bob 都能够获取 1 个方程. 记第 i 次签名 Bob 获取的方程为 s − r +w [i] d 1 − s +
[i]
[i]
[i]
1 1
r = 0 , 其中包含 2 个未知数, 分别为 d 1 和 w [i] . 每次签名 Alice 都会使用相同的部分私钥 d 1 , 并独立随机生成或计
[i]
1
算 1 个随机数 w [i] . 因此 Bob 通过与 Alice 的 n 次协作签名, 能够获取一个由 n 个方程组成的方程组, 其中包含
1
( )
[ ]
[i]
[i]
(n+1) 个未知数. Bob 令 d 1 在 1,q−1 区间上遍历取值, 并计算与之对应的 w = d −1 s +r − s [i] −r [i] , 得到该方
[i]
1 1 1
[ ] [i]
程在 1,q−1 区间上的 (q−1) 组解. Bob 从这 (q−1) 组解中获取 d 1 和 w 的难度等同于穷举. 对于 Bob 而言, 相较
1
于仅掌握签名验证公钥以及签名结果, 掌握上述信息并没有降低获取 Alice 的部分私钥 d 1 以及随机数 w [i] 的难度.
1
进一步, 根据签名随机数构造的安全要求, w [i] 总是包含至少 1 个独立随机生成的随机数, 因此在具体的两方门限
1
计算方案中, Bob 也无法求解所得的方程组. 综上, Bob 无法从协作签名的交互过程中获取任何 Alice 的私密信息,
从而无法获取完整的签名私钥或另一部分私钥的任何信息.
假设存在一个外部敌手 Adv 能够获取公开信息以及签名生成过程的通信信息, 包括:
Q 1 = [d 1 w 1 ](P+G) .
(1) 椭圆曲线点
(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 (r +w 1 )+ s 1 −r) mod q .
[ ]
P = d d −1 G .
−1 −1
(6) 签名验证公钥 1 2
由于 ECDLP 和哈希函数的安全性, Adv 无法从 Q 1 、 P 和 中获取任何信息. Adv 试图从方程 1: s 1 −rd 2 −
e