Page 469 - 《软件学报》2025年第8期
P. 469

3892                                                       软件学报  2025  年第  36  卷第  8  期


                 生成阶段、签名生成阶段以及验证阶段进行分析.
                    由于本文设有预签名阶段, 考虑到各方案总体计算开销对比, 分析了本文方案预签名阶段的计算开销. 对比结
                 果如表   1  所示. 假设有  n  个参与者, 其中  dc 表示点乘, dj 表示点加, mj 表示模加, mn     表示模逆, mc 表示模乘运算.
                 需要注意的是, 我们对比的是文献           [14] 在密钥生成阶段不存在可信中心的情况下各阶段的计算量. 在密钥生成阶
                 段, 文献  [6] 计算  Q  时需要执行  n  次点乘运算, 计算公钥时执行了        n  次点加运算. 文献    [14] 执行  PM-SS  得到公钥
                 以及执行    Inv-ss 得到私钥份额时需要     n  次点乘、1   次模逆和   3n  次模乘运算. 而本文方案需要在计算公钥和密钥
                 份额时只需要     n  次点乘运算; 在签名生成阶段, 文献         [6] 计算中间变量以及签名时共需要执行            n  次点乘、  (2n+3)
                 次点加、1   次模逆和    2n  次模乘运算. 文献   [14] 在计算  kG  和签名份额时需要执行       n  次点乘、  n+1 次点加和   2n  次
                                   n 次点加运算即可完成. 而在本文方案的签名阶段需要                 n  次点乘、1  次点加、1    次模逆和
                 模乘运算. 本文仅需要
                 4n  次模乘运算; 它们的签名验证主要依赖于           SM2  数字签名的验证过程. 因此, 易知在验证阶段它们的计算量是相
                 当的. 由上表可以看出, 文献       [6] 总体的计算量最大, 文献      [14] 的计算量较小, 本文方案的计算量最小.

                                         表 1 本文方案与文献       [6] 和文献  [14] 计算量比较

                     方案          密钥生成               预签名阶段                    签名生成               验证阶段
                    文献[6]       (n)dc+(n)d j           -             (n)dc+(2n+3)m j+mn + (2n)mc  dc+d j
                   文献[14]     (n)dc+mn+(3n)mc          -               (n)dc+(n+1)m j+(2n)mc     dc+d j
                   本文方案            (n)dc        (n)dc+mj+mn+(4n)mc            (n)m j             dc+d j

                 5.2   功能性对比
                    本节分别从参与方是否加权、健壮性、预签名和半诚实模型这                      4  个方面与已有方案进行功能性对比. 其中, ×
                 表示方案不具备该性质或功能; √则表示具有该性质或功能. 功能性对比如表                       2  所示.

                                         表 2 本文方案与文献       [6] 和文献  [14] 功能性对比

                               方案          加权(权重)          健壮性         预签名          半诚实模型
                              文献[6]            ×            ×            ×             -
                              文献[14]           ×            √            ×             √
                             本文方案              √            √            √             √

                    相较文献    [6], 本文引入了加权的概念, 在现实应用上更加具备灵活性. 相较于文献                    [14] 的  SM2  分布式签名,
                 本方案不需要所有参与者同时在线以此完成签名密钥的分发. 此外, 本文方案有效抵抗文献                             [14] 中部分密钥丢失
                 的攻击, 增强了    SM2  签名的健壮性. 本文保证半诚实模型下安全, 同时方案增加预签名阶段, 参与者可以离线进行
                 本地操作, 提高了运算效率, 有效降低了通信开销.

                 6   应 用

                    在传统门限秘密共享方案中, 所有参与者被视为具有相同地位. 然而, 在实际场景中, 参与者的权力可能不均.
                 因此, 人们提出了加权门限秘密共享方案. 其主要思想是, 只有当参与者的权重总和达到预设的权重门限时, 方可
                 还原秘密; 反之, 则无法还原秘密. 本文结合加权门限              SM2  签名与区块链技术, 针对现实应用中参与者权利不同的
                 问题, 设计出一个基于加权门限         SM2  签名的区块链投票系统. 系统模型如图            1  所示.
                    系统主要包含: 用户、区块链模块和加权门限               SM2  签名模块. n  个用户提出投票请求, 只有权重之和≥T            的用
                 户才能利用加权门限        SM2  签名模块生成签名, 权重之和在         (t,T) 之间可以了解到签名密钥相关信息, 但不能进行
                 签名, 而权重之和≤t 的用户既不能了解到密钥相关信息也不能进行签名. 用户签名后利用加权门限                               SM2  签名模
                 块对签名进行验证, 验证通过后投票才会被认可并通过区块链模块记录在区块链上. 并且任何人都可以在区块链
                 上查询投票结果, 确保透明和公正.
   464   465   466   467   468   469   470   471   472   473   474