Page 292 - 《软件学报》2025年第5期
P. 292
2192 软件学报 2025 年第 36 卷第 5 期
(3) 在签名计算阶段, 任一参与方无法获取完整的签名随机数或签名随机数的任何信息, 从而不会泄露完整的
签名私钥.
根据部分私钥与签名私钥的特定关系, 本文提出 2 种两方门限计算方案框架, 分别基于乘法和加法的密钥
拆分.
3.1 基于乘法密钥拆分的两方门限计算方案框架
3.1.1 密钥生成
根据第 2.1 节的分析, 本文对签名私钥 d 的表达式 (1+d) −1 进行乘法拆分, 使得 Alice 和 Bob 分别持有部分私
钥 d 1 和 d 2 d 、 d 1 、 d 2 满足如下关系:
,
−1
(1+d) = d 1 d 2 ,
−1 −1 −1 −1
由上式可知, 签名私钥 d = d d −1 , 即公钥 P = [d]G = [d d ]G −G .
1 2 1 2
为了实现上述乘法密钥拆分, Alice 和 Bob 通过如下步骤 [10] 进行协作式的密钥生成.
−1 P 1 给 Bob.
Alice.1 随机生成 d 1 ∈ [1,q−1] , 计算 P 1 = [d ]G , 发送
1
−1 P 2 给 Alice.
Bob.1 随机生成 d 2 ∈ [1,q−1] , 计算 P 2 = [d ]G , 发送
2
−1
P = [d ]P 1 −G .
Bob.2 计算公钥 2
−1
Alice.2 计算公钥 P = [d ]P 2 −G .
1
上述密钥生成过程应满足如下安全要求: 任一参与方无法获取完整签名私钥.
安全性说明如下. 在密钥生成过程中, Alice 能够获取如下信息.
(1) Bob 的公钥 P 2 = [d ]G .
−1
2
P = [d d −1]G .
−1 −1
(2) 签名验证公钥 1 2
由于椭圆曲线离散对数问题 (elliptic curve discrete logarithm problem, ECDLP) [18] , Alice 无法从 P 2 获取 d 2 −1 , 从
d d −1 . 因此, 在 ECDLP 假设下, Alice 无法通过上述
−1 −1
而无法计算完整签名私钥; 也无法从 P 获取完整签名私钥
1 2
过程获取完整签名私钥. 同理可得, Bob 也无法在密钥生成过程中获取完整签名私钥.
3.1.2 签名生成
在每一次签名计算过程中, Alice 和 Bob 需要协作计算一个随机的椭圆曲线点 Q = [k]G . 由于 s = (1+d) −1
(k +r)−r , 其中 和 是公开的数字签名, 若签名随机数 仅由一个参与方生成, 则该参与方能够计算得到签名私
r
s
k
−1
钥 d = (s+r) (k +r)−1 , 违背了上述安全要求. 因此, 在协作计算椭圆曲线点的过程中, Alice 和 Bob 都需要生成各
自的随机数, 共同组成签名随机数 k , 使得任一参与方无法获取完整的签名随机数, 从而无法计算得到签名私钥.
本文先讨论 s 的协作计算过程, 再根据 s 的构造讨论椭圆曲线点 Q 的协作计算过程. 已知:
−1
s = (1+d) (k +r)−r = d 1 d 2 (k +r)−r = d 1 d 2 k +d 1 d 2 r −r.
为了实现 s 的协作计算, Bob 应发送 d 2 r 给 Alice. 由于 r 是公开的信息, 为了防止 Alice 计算得到 Bob 的部分
私钥 d 2 , Bob 应生成或计算一个随机数 w 2 来保护自己的部分私钥, 于是 Bob 计算 s 1 = d 2 (r +w 2 ) 并发送给 Alice.
s
Alice 接收到 s 1 后也应生成或计算一个随机数 w 1 来保护自己的部分私钥; 否则, 攻击者可以从 和 s 1 得到 d 1 . 于
是 Alice 计算:
−1
s = d 1 (s 1 +w 1 )−r = d 1 d 2 w 2 +d 1 w 1 +d 1 d 2 r −r = d 1 d 2 (w 2 +d w 1 )+d 1 d 2 r −r,
2
这是一个有效的 SM2 k = w 2 +d w 1 .
−1
签名, 签名随机数
2
综上, Alice 和 Bob 协作计算 SM2 签名的过程如下, 如图 1 所示.
′ ′
Alice.1 置 m = m||z , 计算 e = Hash(m ) .
e 给 Bob.
Alice.2 随机生成或计算 w 1 ∈ [1,q−1] , 计算 Q 1 = [w 1 ]G , 发送 Q 1 和
−1
Bob.1 随机生成或计算 w 2 ∈ [1,q−1] , 计算 Q = (x 1 ,y 1 ) = [w 2 ]G +[d ]Q 1 .
2
Bob.2 计算 r = (x 1 +e) mod q .