改进SM2签名方法的区块链数字签名方案
2021-07-30杨龙海王学渊蒋和松
计算机应用 2021年7期
杨龙海,王学渊,蒋和松
(西南科技大学信息工程学院,四川绵阳 621010)
0 引言
近年来,新兴的区块链技术成为了研究热点,由于区块链技术的去中心化和信任机制的提出,数字签名显得尤为重要。联盟链是降低了去中心化要求的由多个机构共同管理和维护的区块链,其共识过程中的身份认证关乎整个链的防伪造和篡改的能力,也是当前联盟链的技术难点之一[1]。联盟链中的共识机制[2]维持了整个区块链的不可篡改性和链的一致性,因此保证共识机制中的每个共识节点都是有身份认证的诚实节点,防止伪造身份的恶意节点对共识过程进行破坏是一个值得研究的问题。SM2 算法[3]是我国提出的一种椭圆曲线公钥密码算法,相比RSA 算法,其密码复杂度高、处理速度快、机器性能消耗更小,可以很好地应用于区块链。
联盟链由于其中心化程度的降低,因此防止签名篡改伪造可以降低其带来的影响。针对采用了实用拜占庭容错[4](Practical Byzantine Fault Tolerance,PBFT)算法的联盟链环境,众多的节点导致在签名过程中的消耗增加。因此在防止签名篡改伪造的基础上,提高多节点间的签名过程的效率,是一个比较有价值的研究方向。苏吟雪等[5]通过零知识证明和同态加密方法,实现了基于SM2 的具有安全性证明的双方共同签名方案,可以很好地提高签名过程中的安全性;但增加了通信次数,并且一次签名仍需要执行4 次模逆运算,存在较大的算法开销。侯红霞等[6]通过拆分私钥,减少了私钥被窃取的危险性,同时结合比特承诺和同态加密方法实现基于SM2的两方协作的签名方案,在安全性上有很大的提高;……
登录APP查看全文
