Page 297 - 《软件学报》2025年第5期
P. 297

刘振亚 等: SM2  数字签名算法的两方门限计算方案框架                                                   2197


                   [1,q−1] 均匀分布, 也使得   Bob          s = d 1 (s 1 +w 1 s 2 +...+w γ s γ+1 )−r 中解出  d 1  .
                 是                         无法从方程                                  Alice 的部分私钥
                    (2) 随机数  w γ+1  包含至少  1  个独立随机生成的随机数     k i  , 且其与  k i  的取值分布都是  [1,q−1] 均匀分布, 使得方
                   s 1 = d 2 (r +w γ+1 ) 对于                    w γ+1  从而无法解出  Bob
                 程                 Alice 来说至少包含两个未知数       d 2  和                的部分私钥     d 2  .
                             w γ+2 ,...,w 2γ+1  均包含至少  1                                      [1,q−1] 均匀
                    (3) 随机数                       个独立随机生成的随机数          k i  , 且其与  k i  的取值分布都是
                 分布, 使得  Alice 无法从  s 2 ,..., s γ+1  中获取  Bob 的部分私钥  d 2  .
                    与第  3.1.2  节讨论的  w 1 和  w 2 构造类似, 本文基于随机数   k i (i = 1,2,...) , 结合签名私钥  d , Alice 和  Bob  的部分
                                                                                             1
                 私钥  d 1  、  d 2  以及它们的逆  d −1   、  d −1  , 进行加或乘的组合, 实现签名随机数  w 1 ,…, w γ 和  w γ+1 ,…, w 2γ+ 的不同构造.
                                       1   2
                    在具体的实例化方案中,         s 按照上文相应的步骤计算即可.
                    进一步,   w i  还可以使用签名私钥     d 进行构造. 虽然   Alice 和  Bob  无法获取签名私钥   d , 但是可以通过一定的形
                 式转换, 使得   Alice 和  Bob  在不知道  d  的情况下, 基于  P  和  G  完成签名随机数构造. 即随机数   可进一步变化为如
                                                                                         k
                 下等价形式:

                                     k = w γ+1 +w 1 w γ+2 +...+w γ w 2γ+1
                                         −1 −1
                                      = d d 2  ( d 1 d 2 (w γ+1 +w 1 w γ+2 +...+w γ w 2γ+1 ) )
                                         1
                                             (                        )
                                      = (1+d) d 1 d 2 (w γ+1 +w 1 w γ+2 +...+w γ w 2γ+1 )
                                      = (1+d)d 1 d 2 w γ+1 +(1+d)d 1 d 2 w 1 w γ+2 +...+(1+d)d 1 d 2 w γ w 2γ+1 .
                                 ′                      ′                           ′    ′  ′      ′  ′   .
                    令  (1+d)d 2 w i =w (i=γ +1,...,2γ +1) d 1 w i =w (i = 1,...,γ) , 使得签名随机数  k=d 1 w  +w w  +...+ w w

                                                 ,
                                 i                      i                           γ+1  1  γ+2    γ  2γ+1
                    此时, Alice 和  Bob  能够通过如下步骤协作计算椭圆曲线点           Q = [k]G .
                                                   [     ]                                         [    ]

                                                                            ,
                    Alice.1 随机生成或计算     w 1 ,w 2 ,...,w γ ∈ 1,q−1  , 计算  Q 1 = [d 1 ](P+G) Q 2 = [d 1 w 1 ](P+G),...,Q γ +1 = d 1 w γ
                 (P+G)  , 发送  Q 1 ,...,Q γ +1  给  Bob.
                                                        [    ]         [    ]    [    ]       [    ]
                    Bob.1 随机生成或计算       w γ+1 ,w γ+2 ,...,w 2γ+1 ∈ 1,q−1  , 计算   Q = d 2 w γ+1 Q 1 + d 2 w γ+2 Q 2 +...+ d 2 w 2γ+1 Q γ+1  .
                                                                  P  的计算过程有所不同, 但签名随机数   的构造相
                                                                                                k
                    虽然上述椭圆曲线点        Q 的协作计算过程相较于不使用公钥
                 同, 都是  k = w γ+1 +w 1 w γ+2 +...+w γ w 2γ+1  . 因此,   s 仍然按照上文相应的步骤计算即可.
                         ′                                  ′     ′                   2         2
                    由于  w = d 1 w i (i = 1,...,γ) , 根据  w 1 ,...,w γ  的取值,   w ,...,w  可以相应取值为:   d 1 k i d k i k i d 1 +d k i d 1 +k i  ,
                                                                                        ,
                                                                                           ,
                                                                                                   ,
                                                                                    ,
                         i                                  1     γ                   1         1
                  2
                 d +d 1 k i 1+d 1 k i d 1 k i ...k j  等.
                               ,
                        ,
                  1
                         ′                                                ′     ′
                    由于   w = (1+d)d 2 w i (i = γ +1,...,2γ +1) , 根据   w γ+1 ,...,w 2γ+1  的取值,   w  ,...,w   可以相应取值为:   (1+d)d 2 k i  ,
                         i                                                γ+1   2γ+1
                      2               (    2  )                 (  2  2  )
                 (1+d)d k i (1+d)k i (1+d) d 2 +d k i  ,   (1+d)(d 2 +k i ) (1+d) d +d k i  ,   (1+d)(1+d 2 k i ) (1+d)d 2 k i ...k j  等.
                                 ,
                                                          ,
                                                                                     ,
                         ,
                      2                    2                     2
                    限于篇幅, 本文列出如下几种实例化方案.
                    后文表   3  展示了取  γ = 3 时, 不包含签名私钥    d 的签名随机数构造形式.
                    后文表   4  展示了取   γ = 3 时, 包含签名私钥   d  的签名随机数构造形式. 序号       3.*.d  旨在表明该方案与表     3  中的
                 方案  3.*为相同方案, 不同之处在于椭圆曲线点           Q 的协作计算过程是否使用公钥           P  , 相当于签名随机数是否使用私
                   d . 而最终计算的签名第      2    s 相同, 在表  4  中省略.
                 钥                     部分
                    所列方案旨在展示如何通过随机数的构造对该框架进行实例化, 得到相应两方门限计算方案, 其中也包含了
                 该框架下的已有公开方案. 方案          3.1, 3.9, 3.10, 3.11  为已公开方案  [32−38] , 其余均为新方案. 对随机数  w 1 ,w 2 ,...,w 2γ+1
                 进行相应的不同替换即可得到本文所提出的所有实例化方案. 值得说明的是, 以上实例化方案并非所有可能方案,
                 凡是满足随机数安全要求的构造, 均可进行实例化.
                  3.1.4.1    安全性分析
                    第  3.1.4  节所描述的两方门限签名计算的过程应满足如下安全要求: 任一参与方无法获取完整的签名私钥或
                 另一部分私钥的任何信息.
                    安全性说明如下.
                    在一次协作签名中, Alice 能够获取如下信息.
                    (1) 签名第  1    r = (x 1 +e) mod q .
                              部分
   292   293   294   295   296   297   298   299   300   301   302