【技术实现步骤摘要】
隐藏私钥的交互式SM2签名方法、系统和终端
本专利技术涉及安全
,具体涉及一种隐藏私钥的交互式SM2算法的签名方法、系统和终端。
技术介绍
目前,基于公钥密码学的数字签名和加解密技术已经广泛应用在电子商务、身份认证等应用中,成为保证信息安全的重要工具,而私钥的安全性及使用是保证这些应用安全的基础。一般情况下,运行密码算法时需要调用完整的密钥信息,所以需要密钥直接存储在内存中。而在防护能力较弱的终端上,这会增加密钥丢失的风险。例如手机丢失、算法运算过程被窃听等都会导致密钥的丢失。为了提高私钥的安全性,现有技术中提出了一种称为门限密码学的算法,即将私钥进行拆分并分布在不同的物理设备中,以避免全部私钥信息的直接存储和使用。比如,一个(t,n)的门限签名方案中,私钥可分布在n个成员中,t个或t个以上成员可以合作完成签名,而小于t个成员时则无法完成签名。CN104243456B中公开了一种适用于云计算的基于SM2算法的签名及解密方法和系统。其主要方法是:第一通信方和第二通信方通过密钥协商来生成私钥,最终两方仅掌握与私钥相关的部分信息,而且双方均不掌握具体的私钥值。在需要签名或解密时,双方可通过交互实现。但是,在上述技术方案中,第一通信方和第二通信方掌握等量的信息,私钥是双方协商产生的,私钥的责任方并不完全拥有私钥,在电子签名中,没有体现出私钥责任方对私钥的主权性。在实际中,通信的双方对私钥所附带的责任并不对等。因此需要对核心数据进行不对等的划分,让一方掌握较多的核心数据,而让另一方掌握较少的核心数据。因此,需要一种签名方法或系统或终端,使得私钥责任方拥有对私钥 ...
【技术保护点】
1.一种隐藏私钥的交互式SM2签名方法,所述SM2使用的椭圆曲线具有基点G和阶数n,其特征在于,所述方法包括:第一通信方:生成私钥dA;基于所述私钥dA生成子私钥d0、子私钥d1、子私钥d2、子私钥d3;基于基点G生成子基点G0和子基点G1;将子私钥d2、子私钥d3和子基点G1发送至第二通信方;第二通信方:接收并存储第一通信方发送的子私钥d2、子私钥d3和子基点G1;第一通信方:删除私钥dA、子私钥d2、子私钥d3和子基点G1;存储子私钥d0、子私钥d1和子基点G0;第一通信方:获取待签名消息M;生成待签名消息M的消息摘要e;根据子基点G0生成第一部分签名Q1;将消息摘要e和第一部分签名Q1发送给第二通信方;第二通信方:接收第一通信方发送的消息摘要e和第一部分签名Q1;根据第一部分签名Q1、消息摘要e还有子基点G1生成第二部分签名r,根据子私钥d2生成第三部分签名s1,根据子私钥d3生成第四部分签名s2;将第二部分签名r、第三部分签名s1和第四部分签名s2发送给第一通信方;第一通信方:接收第二通信方发送的第二部分签名r、第三部分签名s1和第四部分签名s2;根据子私钥d0、子私钥d1、第 ...
【技术特征摘要】
1.一种隐藏私钥的交互式SM2签名方法,所述SM2使用的椭圆曲线具有基点G和阶数n,其特征在于,所述方法包括:第一通信方:生成私钥dA;基于所述私钥dA生成子私钥d0、子私钥d1、子私钥d2、子私钥d3;基于基点G生成子基点G0和子基点G1;将子私钥d2、子私钥d3和子基点G1发送至第二通信方;第二通信方:接收并存储第一通信方发送的子私钥d2、子私钥d3和子基点G1;第一通信方:删除私钥dA、子私钥d2、子私钥d3和子基点G1;存储子私钥d0、子私钥d1和子基点G0;第一通信方:获取待签名消息M;生成待签名消息M的消息摘要e;根据子基点G0生成第一部分签名Q1;将消息摘要e和第一部分签名Q1发送给第二通信方;第二通信方:接收第一通信方发送的消息摘要e和第一部分签名Q1;根据第一部分签名Q1、消息摘要e还有子基点G1生成第二部分签名r,根据子私钥d2生成第三部分签名s1,根据子私钥d3生成第四部分签名s2;将第二部分签名r、第三部分签名s1和第四部分签名s2发送给第一通信方;第一通信方:接收第二通信方发送的第二部分签名r、第三部分签名s1和第四部分签名s2;根据子私钥d0、子私钥d1、第二部分签名r、第三部分签名s1和第四部分签名s2生成完整签名(r,s)。2.根据权利要求1所述的方法,其特征在于,所述第一通信方生成私钥dA包括:产生一个随机数,将产生的随机数作为私钥dA。3.根据权利要求2所述的方法,其特征在于,所述第一通信方基于所述私钥dA生成子私钥d0、子私钥d1、子私钥d2、子私钥d3包括:生成随机数a0和随机数a1,其中a0,a1∈[1,n-1];计算d0=a1/(1+dA);d1=-(dA/a1+a0);d2=a0/a1;d3=a0×a1/(1+dA)。4.根据权利要求3所述的方法,其特征在于,所述第一通信方基于基点G,生成子基点G0和子基点G1包括:计算G0=[a0]G;G1=[a1]G0。5.根据权利要求1所述的方法,其特征在于,所述第一通信方根据子基点G0生成待签名消息M的消息摘要e和第一部分签名Q1包括:第一通信方将Z和M拼接形成M′,并计算e=Hash(M′),其中,Z表示第一通信方和第二通信方共同的身份标识,Hash()表示预定的密码杂凑函数;第一通信方生成随机数k0,其中k0∈[1,n-1];计算Q1=[k0]G0。6.根据权利要求5所述的方法,其特征在于,所述第二通信方根据第一部分签名Q1、消息摘要e还有子基点G1生成第二部分签名r,并根据子私钥d2生成第三部分签名s1,根据子私钥d3生成第四部分签名s2包括:生成随机数k1、随机数k2,其中k1,k2∈[1,n-1];计算(x,y)=[k1]Q1+[k2]G1;r=(x+e)modn;s1=k1×d2modn;s2=(r+k2)×d3modn。7.根据权利要求6所述的方法,其特征在于,所述第一通信方根据子私钥d0、子私钥d1、第二部分签名r、第三部分签名s1、第四部分签名s2生成完整签名并输出包括:计算s=(d0×k0×s1+d0×d1×r+s2)modn;若s...
【专利技术属性】
技术研发人员:王现方,张立廷,潘文伦,
申请(专利权)人:成都卫士通信息产业股份有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。