Page 296 - 《软件学报》2025年第5期
P. 296
2196 软件学报 2025 年第 36 卷第 5 期
w 2 , 并从方程 w 1 . 根据上述安全性分析可知, Alice 和
w 2 d 2 = 0 中解出 d 2 和 2: s−d 1 s 1 −d 1 w 1 +r = 0 中解出 d 1 和
Bob 无法分别求解方程 1 和方程 2, 且 Adv 所掌握的信息少于 Alice 和 Bob. 因此, Adv 无法从方程 1 和方程 2 中
解出 d 1 、 d 2 、 w 1 、 w 2 . 进一步, 根据签名随机数构造的安全要求, w 1 和 w 2 总是包含至少 1 个独立随机生成的随
机数, 因此在具体的两方门限计算方案中, 敌手 Adv 也无法求解所得的方程. 综上, Adv 无法从协作签名的交互过
程中获取任何 Alice 和 Bob 的私密信息, 从而无法获取完整的签名私钥或任一参与方的部分私钥.
3.1.4 多随机数两方门限计算方案框架
第 3.1.2 节所描述的 Alice 与 Bob 协作计算椭圆曲线点 Q 的过程中, Alice 使用随机数 w 1 、Bob 使用随机数
−1 −1 −1 进行替换并不会影响最
s
w 2 以及自己部分私钥 d 2 计算 Q = [w 2 +d w 1 ]G . 由于此处 d 被用于计算 Q 而非 , 对 d
2 2 2
终签名的有效性. 进一步, Bob 可以不使用 d −1 , 而是替换成一个新的随机数 w 3 , 使得 Q = [w 2 +w 1 w 3 ]G , 即签名随
2
k = w 2 +w 1 w 3 . 这使得 的协作计算过程发生一些变化, 此时有:
s
机数
s = d 1 d 2 (w 2 +w 1 w 3 +r)−r = d 1 d 2 w 2 +d 1 d 2 w 1 w 3 +d 1 d 2 r −r = d 1 (d 2 r +d 2 w 2 )+d 1 d 2 w 1 w 3 −r = d 1 s 1 +(d 1 w 1 )(d 2 w 3 )−r.
为了实现 s 的协作计算, Bob 不仅需要发送 s 1 给 Alice, 还应发送 s 2 = d 2 w 3 给 Alice. 然后 Alice 计算 s = d 1 (s 1 +
w 1 s 2 )−r .
(d 1 w 1 )(d 2 w 3 ) 部分进行扩展. 即 Bob s 时可以使用更多的随机数, 记为
进一步, 本文对上述 s 中的 在协作计算
w γ+2 ,w γ+3 ,...,w 2γ+1 , 将它们分别与自己的部分私钥 d 2 相乘, 并发送给 Alice. Alice 也使用相应个数的随机数与之相
s . 综上, Alice 和 Bob 协作计算 SM2 签名的过程如下, 如图 2 所示.
乘, 记为 w 1 ,w 2 ,...,w γ , 从而计算得到
′ ′
Alice.1 置 m = m||z , 计算 e = Hash(m ) .
e 给 Bob.
Alice.2 随机生成或计算 w 1 ,w 2 ,...,w γ ∈ [1,q−1] , 计算 Q 1 = [w 1 ]G,...,Q γ = [w γ ]G , 发送 Q 1 ,...,Q γ 和
Bob.1 随机生成或计算 w γ+1 ,w γ+2 ,...,w 2γ+1 ∈ [1,q−1] , 计算 Q = (x 1 ,y 1 ) = [w γ+1 ]G +[w γ+2 ]Q 1 +...+[w 2γ+1 ]Q γ .
Bob.2 计算 r = (x 1 +e) mod q .
Bob.3 计算 s 1 = d 2 (r +w γ+1 ) mod q s 2 = (d 2 w γ+2 ) mod q,..., s γ+1 = (d 2 w 2γ+1 ) mod q , 发送 s 1 ,..., s γ+1 和 给 r Alice.
,
Alice.3 计算 s = (d 1 (s 1 +w 1 s 2 +...+w γ s γ+1 )−r) mod q , 签名即为 (r, s) .
k = w γ+1 +w 1 w γ+2 +...+w γ w 2γ+1 .
此时签名随机数
Alice Bob
m'=m||z; 计算 e=Hash(m')
随机生成或计算 w 1 ,w 2 ,...,w γ ∈[1,q−1];
计算 Q 1 =[w 1 ]G,...,Q γ =[w γ ]G
Q 1 ,...,Q γ 、e
随机生成或计算 w γ+1 ,w γ+2 ,...,w 2γ+1 ∈[1,q−1];
计算 Q=(x 1 ,y 1 )=[w γ+1 ]G+[w γ+2 ]Q 1 +...+[w 2γ+1 ]Q γ ;
计算 r=(x 1 +e) mod q
计算 s 1 =d 2 (r+w γ+1 ) mod q;
s 2 =(d 2 w γ+2 ) mod q,...,s γ+1 =(d 2 w 2γ+1 ) mod q
s 1 ,...,s γ+1 、r
计算 s=(d 1 (s 1 +w 1 s 2 +...+w γ s γ+1 )−r) mod q
图 2 基于乘法密钥拆分的多随机数两方门限计算方案框架
在协作计算 SM2 数字签名的过程中, Alice 和 Bob 能够通过不同的方式构造各自的随机数, 对上述门限计算
方案框架进行实例化. 随机数的构造应满足下述安全要求.
(1) 为了避免相关性, 随机数 w 1 ,w ,...,w γ 均包含至少 1 个独立随机生成的随机数 k i , 且其与 k i 的取值分布都
2