前面介绍过若持有私钥d的用户两次SM2签名过程中随机数k相同,在对手获得两次签名结果Sig1和Sig2的情况下,可破解私钥d。
具体见SM2签名算法中随机数K的随机性对算法安全的影响_sm2关闭随机数-CSDN博客
另关于SM2协同签名过程,具体见SM2协同签名过程实例_协同签名流程-CSDN博客
可知在SM2协同签名的客户端和服务端也均使用随机数,那么重复使用随机数值是否对SM2协同签名产生私钥威胁?
答案是肯定的,重复使用随机数对SM2协同签名密钥安全存在重大威胁。这里我们做一些理论推导即可得到其与SM2签名过程中重复随机数K破解私钥d的情况其实是一致的。
客户端数据信息:
(1)客户端私钥d1
(2)客户端公钥P1 (P1 = d1 * G)
(3)客户端随机数K1
(4)客户端过程参数R1 (R1 = K1 * G)
(5)客户端过程参数R1_ (R1_ = K1 * P2)
(6)公共公钥P (P= d1 * P2 - G)
(7)客户端过程参数(x1,y2)= R1