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

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



                                           Alice                      Bob

                                           m'=m||z; 计算 e=Hash(m')

                                          随机生成或计算 w 1 ∈[1,q−1];
                                            计算 Q 1 =[d 1 w 1 ](P+G)

                                                        Q 1 、e
                                                            随机生成或计算 w 2 ∈[1,q−1];
                                                           计算 Q=(x 1 ,y 1 )=[d 2 w 2 ](P+G)+Q 1

                                                                  计算 r=(x 1 +e) mod q

                                                                 计算 s 1 =d 2 (r+w 2 ) mod q
                                                          s 1 、r
                                           计算 s=(d 1 (r+w 1 )+s 1 −r) mod q

                                     图 3 基于加法密钥拆分的两随机数两方门限计算方案框架

                    在协作计算     SM2  数字签名的过程中, Alice 和    Bob  能够通过不同的方式构造各自的随机数, 对上述门限计算
                 方案框架进行实例化. 随机数的构造应满足下述安全要求.
                                                                                            ]
                             w 1  中至少包含  1                                            [ 1,q−1  均匀分布, 使得
                    (1) 随机数               个独立随机生成的随机数         k 1  , 且  w 1  与  k 1  的取值分布都是
                 方程  s = d 1 (r +w 1 )+ s 1 −r  对于  Bob  来说包含至少两个未知数   d 1  和  w 1  , 从而无法解出  Alice 的私钥  d 1  .
                             w 2  中至少包含  1                                            [ 1,q−1  均匀分布, 使得
                                                                                            ]
                    (2) 随机数               个独立随机生成的随机数         k 2  , 且  w 2  与  k 2  的取值分布都是
                 方程  s 1 = d 2 (r +w 2 ) 对于  Alice 来说至少包含两个未知数  d 2  和  w 2  , 从而无法解出  Bob  的私钥  d 2  .
                    与第  3.1.2  节讨论的  w 1 和  w 2 构造类似, 在加法密钥拆分的情况下, 也可以实现签名随机数的不同构造.
                    限于篇幅, 本文列出如下几种实例化方案, 如表              5  所示.

                                          表 5 基于加法密钥拆分两随机数框架的实例化

                       w 1         w 2        k = (d 1 +d 2 ) −1  (d 1 w 1 +d 2 w 2 )    s = (1+d) −1  (k +r)−r  序号
                                                   −1
                                   k 2         (d 1 +d 2 ) (d 1 k 1 +d 2 k 2 )    d 1 k 1 +d 2 k 2 +(d 1 +d 2 −1)r  5.1
                                                    −1
                                 −1            (d 1 +d 2 ) (d 1 k 1 +k 2 )  d 1 k 1 +k 2 +(d 1 +d 2 −1)r  5.2
                                  d k 2
                                 2
                                 −2                −1     −1                 −1                    5.3
                                  d k 2        (d 1 +d 2 ) (d 1 k 1 +d k 2 )    d 1 k 1 +d k 2 +(d 1 +d 2 −1)r
                                                          2
                                 2
                                                                             2
                                                   −1
                                  −1         (d 1 +d 2 ) (d 1 k 1 +d 2 +k 2 )  d 1 k 1 +d 2 +k 2 +(d 1 +d 2 −1)r  5.4
                       k 1       1+d k 2
                                  2
                                  −2              −1        −1                 −1                  5.5
                                 1+d k 2      (d 1 +d 2 ) (d 1 k 1 +d 2 +d k 2 )    d 1 k 1 +d 2 +d k 2 +(d 1 +d 2 −1)r
                                  2                         2                 2
                                 d −1  +k 2    (d 1 +d 2 ) −1 (d 1 k 1 +1+d 2 k 2 )    d 1 k 1 +1+d 2 k 2 +(d 1 +d 2 −1)r  5.6
                                2
                                                   (           )
                               d  −2        (d 1 +d 2 ) −1  d 1 k 1 +d  −1  d 1 k 1 +d  −1 +d 2 k 2 +(d 1 +d 2 −1)r  5.7
                                  2  +k 2                2  +d 2 k 2       2
                                                     −1
                     −1          −1            (d 1 +d 2 ) (k 1 +k 2 )    k 1 +k 2 +(d 1 +d 2 −1)r  5.8
                      d k 1       d k 2
                                 2
                     1

                    所列方案旨在展示如何通过随机数的构造对该框架进行实例化, 得到相应两方门限计算方案, 其中也包含了
                 该框架下的已有公开方案. 方案          5.8  为已有公开方案   [39]  , 其余均为新方案. 对随机数   w 1  和  w 2  进行相应的不同替换
                 即可得到本文提出的所有实例化方案, 完整的实例化方案表格可见附录                        A  中的表  A2. 值得说明的是, 以上列出的
                 实例化方案并非所有可能方案, 凡是满足随机数安全要求的构造, 均可用于实例化得到两方门限计算方案.
   296   297   298   299   300   301   302   303   304   305   306