SM9密钥生成方法、系统、电子设备、装置及存储介质制造方法及图纸

技术编号:26511076 阅读:46 留言:0更新日期:2020-11-27 15:40
本公开提供一种SM9密钥生成方法、系统、电子设备、装置及计算机介质,该装置包括预设数量的密钥生成中心、客户端;预设数量的密钥生成中心间相互连接,且各个密钥生成中心用于根据预设随机数生成客户端的部分私钥;客户端分别与每个密钥生成中心连接,且客户端用于获取部分私钥,将部分私钥相加得到目标私钥,并基于目标私钥进行SM9运算。本公开提供的SM9密钥生成装置,使得客户端的目标私钥不再独属于一个密钥生成中心,而是由多个密钥生成中心协商生成,这样,攻击方只能获取客户端的部分私钥,而无法获取目标私钥,提高了SM9算法的安全性。本公开提供的SM9密钥生成方法、系统、电子设备及计算机可读存储介质也解决了相应问题。

【技术实现步骤摘要】
SM9密钥生成方法、系统、电子设备、装置及存储介质
本公开涉及信息安全
,更具体地说,涉及SM9密钥生成方法、系统、电子设备、装置及存储介质。
技术介绍
国家商用密码标准算法SM9是一种基于标识的密码算法,包括:数字签名、密钥交换、密钥封装和公钥加密四种机制。在SM9算法中,用户的身份标识,比如身份证号、手机号、邮箱地址等,可以作为用户的公钥,不需要传统公钥密码体制中的证书中心对用户分发证书,保证用户公钥和用户身份标识的绑定,减少了繁琐的证书管理机制,但是,用户所需的私钥需要由密钥生成中心生成。现有的SM9私钥生成方法中,由统一的密钥生成中心为各个用户分发私钥,由此使得所有用户的私钥集中在一个密钥生成中心,如果该密钥生成中心被破解的话,所有用户的私钥泄露,并且用户的私钥并不是完全掌握在用户自己手中,使得用户私钥的安全性较低,影响SM9算法的安全性。综上所述,如何提高SM9算法的安全性是目前本领域技术人员亟待解决的问题。
技术实现思路
本公开的目的是提供一种SM9密钥生成装置,其能在一定程度上解决如何提高SM9算法的安全性的技术问题。本公开还提供了一种SM9密钥生成方法、系统、设备及计算机可读存储介质。根据本公开实施例的第一方面,提供一种SM9密钥生成装置,包括预设数量的密钥生成中心、客户端;所述预设数量的密钥生成中心间相互连接,且各个所述密钥生成中心用于根据预设随机数生成客户端的部分私钥;所述客户端分别与每个所述密钥生成中心连接,且所述客户端用于获取所述部分私钥,将所述部分私钥相加得到目标私钥,并基于所述目标私钥进行SM9运算。优选的,所述预设数量的密钥生成中心包括第一密钥生成中心和第二密钥生成中心;所述第一密钥生成中心,用于按照第一私钥运算公式,基于自身的第一私钥、第一预设随机数及生成的第一随机数,对所述客户端的标识信息进行运算,得到第一运算结果并公布;获取所述第二密钥生成中心公布的第二运算结果;按照第三私钥运算公式,基于所述第一运算结果及所述第二运算结果生成第一部分私钥;所述第二密钥生成中心,用于按照第二私钥运算公式,基于自身的第二私钥、第二预设随机数及生成的第二随机数生成所述第二运算结果并公布;获取所述第一运算结果;按照第四私钥运算公式,基于所述第一运算结果及所述第二运算结果生成第二部分私钥;所述第一私钥运算公式包括:h=Hash(IDA||hid,N),e1=h+ks1-a1;d1=r1-b1;所述第二私钥运算公式包括:e2=ks2-a2;d2=r2-b2;所述第三私钥运算公式包括:g1=c1+(e1+e2)b1+(d1+d2)a1+(e1+e2)(d1+d2);T1=(g1+g2)-1r1;KS1=ks1([T1]P1+[T2]P1);所述第四私钥运算公式包括:g2=c2+(e1+e2)b2+(d1+d2)a2;T2=(g1+g2)-1r2;KS2=ks2([T1]P1+[T2]P1);其中,IDA表示所述客户端的标识信息;ks1表示所述第一私钥;a1、b1、c1表示所述第一预设随机数;r1表示所述第一随机数;e1,d1表示所述第一运算结果;ks2表示所述第二私钥;a2、b2、c2表示所述第二预设随机数,且a1、b1、c1、a2、b2、c2满足(c1+c2)=(a1+a2)*(b1+b2);r2表示所述第二随机数;e2,d2表示所述第二运算结果;KS1表示所述第一部分私钥;KS2表示所述第二部分私钥;Hash表示哈希运算;hid、N、P1表示SM9标准文档中定义的参数。优选的,所述第一密钥生成中心,还用于生成第一系列随机数,基于第一加密算法对所述第一系列随机数进行运算,生成第一系列运算结果并公布;生成第三系列随机数和第一组随机数,按照第一随机运算公式,基于第二加密算法对所述第三系列随机数、所述第一组随机数及第二系列随机数进行运算,得到第一中间运算结果;基于第三随机运算公式对所述第一系列随机数、所述第三系列随机数、所述第一组随机数及第二中间运算结果进行运算,得到第五系列随机数;基于所述第一系列随机数、所述第三系列随机数及所述第五系列随机数确定自身的预设随机数;所述第二密钥生成中心,还用于生成所述第二系列随机数,基于所述第二加密算法对所述第二系列随机数进行运算,生成所述第二系列运算结果并公布;生成第四系列随机数和第二组随机数,按照第二随机运算公式,基于所述第一加密算法对所述第四系列随机数、所述第二组随机数及所述第一系列随机数进行运算,得到所述第二中间运算结果并公布;基于第四随机运算公式对所述第二系列随机数、所述第四系列随机数、所述第二组随机数及所述第一中间运算结果进行运算,得到第六系列随机数;基于所述第二系列随机数、所述第四系列随机数及所述第六系列随机数确定自身的预设随机数;所述第一随机运算公式包括:D1=E2(b1i*a2i+v1i),i=1,...,n;所述第二随机运算公式包括:D2=E1(b2i*a1i+v2i),i=1,...,n;所述第三随机运算公式包括:c1i=(b1i+b2i)*a1i+v2i-v1i,i=1,...,n;所述第四随机运算公式包括:c2i=(b1i+b2i)*a2i+v1i-v2i,i=1,...,n;其中,a1i表示所述第一系列随机数;a2i表示所述第二系列随机数;b1i表示所述第三系列随机数;b2i表示所述第四系列随机数;v1i表示所述第一组随机数;v2i表示所述第二组随机数;c1i表示所述第五系列随机数;c2i表示所述第六系列随机数;E1表示所述第一加密算法;E2表示所述第二加密算法;D1表示所述第一系列运算结果;D2表示所述第二系列运算结果。优选的,所述第一密钥生成中心,还用于随机选择第一系列随机数、第三系列随机数、第三组随机数,并基于预设加密算法分别对所述第一系列随机数、所述第三系列随机数及所述第三组随机数进行运算,得到第三系列运算结果并公布;获取第四系列运算结果,按照第五随机运算公式,基于预设解密算法对所述第四系列运算结果、所述第一系列随机数、所述第三系列随机数及所述第三组随机数进行运算,得到第五系列运算结果并公布;按照第七随机运算公式,对所述第五系列运算结果进行运算,得到第五系列随机数;基于所述第一系列随机数、所述第三系列随机数及所述第五系列随机数确定自身的预设随机数;所述第二密钥生成中心,还用于随机选择第二系列随机数、第四系列随机数、第四组随机数、第五组随机数及第六组随机数,获取所述第三系列运算结果,按照第六随机运算公式,基于所述预设加密算法对所述第三系列运算结果、所述第二系列随机数、所述第四系列随机数、所述第四组随机数、所述第五组随机数及所述第六组随机数进行运算,得到所述第四系列运算结果并公布;获取所述第五系列运算结果,按照第八随机运算公式,对所述第五系列运算结果进行运算,得到第六系列随机数;基于所述第二系列随机数、所述第四系本文档来自技高网...

【技术保护点】
1.一种SM9密钥生成装置,其特征在于,包括预设数量的密钥生成中心、客户端;/n所述预设数量的密钥生成中心间相互连接,且各个所述密钥生成中心用于根据预设随机数生成客户端的部分私钥;/n所述客户端分别与每个所述密钥生成中心连接,且所述客户端用于获取所述部分私钥,将所述部分私钥相加得到目标私钥,并基于所述目标私钥进行SM9运算。/n

【技术特征摘要】
1.一种SM9密钥生成装置,其特征在于,包括预设数量的密钥生成中心、客户端;
所述预设数量的密钥生成中心间相互连接,且各个所述密钥生成中心用于根据预设随机数生成客户端的部分私钥;
所述客户端分别与每个所述密钥生成中心连接,且所述客户端用于获取所述部分私钥,将所述部分私钥相加得到目标私钥,并基于所述目标私钥进行SM9运算。


2.根据权利要求1所述的装置,其特征在于,所述预设数量的密钥生成中心包括第一密钥生成中心和第二密钥生成中心;
所述第一密钥生成中心,用于按照第一私钥运算公式,基于自身的第一私钥、第一预设随机数及生成的第一随机数,对所述客户端的标识信息进行运算,得到第一运算结果并公布;获取所述第二密钥生成中心公布的第二运算结果;按照第三私钥运算公式,基于所述第一运算结果及所述第二运算结果生成第一部分私钥;
所述第二密钥生成中心,用于按照第二私钥运算公式,基于自身的第二私钥、第二预设随机数及生成的第二随机数生成所述第二运算结果并公布;获取所述第一运算结果;按照第四私钥运算公式,基于所述第一运算结果及所述第二运算结果生成第二部分私钥;
所述第一私钥运算公式包括:
h=Hash(IDA||hid,N),e1=h+ks1-a1;d1=r1-b1;
所述第二私钥运算公式包括:
e2=ks2-a2;d2=r2-b2;
所述第三私钥运算公式包括:
g1=c1+(e1+e2)b1+(d1+d2)a1+(e1+e2)(d1+d2);
T1=(g1+g2)-1r1;KS1=ks1([T1]P1+[T2]P1);
所述第四私钥运算公式包括:
g2=c2+(e1+e2)b2+(d1+d2)a2;T2=(g1+g2)-1r2;KS2=ks2([T1]P1+[T2]P1);
其中,IDA表示所述客户端的标识信息;ks1表示所述第一私钥;a1、b1、c1表示所述第一预设随机数;r1表示所述第一随机数;e1,d1表示所述第一运算结果;ks2表示所述第二私钥;a2、b2、c2表示所述第二预设随机数,且a1、b1、c1、a2、b2、c2满足(c1+c2)=(a1+a2)*(b1+b2);r2表示所述第二随机数;e2,d2表示所述第二运算结果;KS1表示所述第一部分私钥;KS2表示所述第二部分私钥;Hash表示哈希运算;hid、N、P1表示SM9标准文档中定义的参数。


3.根据权利要求2所述的装置,其特征在于,
所述第一密钥生成中心,还用于生成第一系列随机数,基于第一加密算法对所述第一系列随机数进行运算,生成第一系列运算结果并公布;生成第三系列随机数和第一组随机数,按照第一随机运算公式,基于第二加密算法对所述第三系列随机数、所述第一组随机数及第二系列随机数进行运算,得到第一中间运算结果;基于第三随机运算公式对所述第一系列随机数、所述第三系列随机数、所述第一组随机数及第二中间运算结果进行运算,得到第五系列随机数;基于所述第一系列随机数、所述第三系列随机数及所述第五系列随机数确定自身的预设随机数;
所述第二密钥生成中心,还用于生成所述第二系列随机数,基于所述第二加密算法对所述第二系列随机数进行运算,生成所述第二系列运算结果并公布;生成第四系列随机数和第二组随机数,按照第二随机运算公式,基于所述第一加密算法对所述第四系列随机数、所述第二组随机数及所述第一系列随机数进行运算,得到所述第二中间运算结果并公布;基于第四随机运算公式对所述第二系列随机数、所述第四系列随机数、所述第二组随机数及所述第一中间运算结果进行运算,得到第六系列随机数;基于所述第二系列随机数、所述第四系列随机数及所述第六系列随机数确定自身的预设随机数;
所述第一随机运算公式包括:
D1=E2(b1i*a2i+v1i),i=1,...,n;
所述第二随机运算公式包括:
D2=E1(b2i*a1i+v2i),i=1,...,n;
所述第三随机运算公式包括:
c1i=(b1i+b2i)*a1i+v2i-v1i,i=1,...,n;
所述第四随机运算公式包括:
c2i=(b1i+b2i)*a2i+v1i-v2i,i=1,...,n;
其中,a1i表示所述第一系列随机数;a2i表示所述第二系列随机数;b1i表示所述第三系列随机数;b2i表示所述第四系列随机数;v1i表示所述第一组随机数;v2i表示所述第二组随机数;c1i表示所述第五系列随机数;c2i表示所述第六系列随机数;E1表示所述第一加密算法;E2表示所述第二加密算法;D1表示所述第一系列运算结果;D2表示所述第二系列运算结果。


4.根据权利要求2所述的装置,其特征在于,
所述第一密钥生成中心,还用于随机选择第一系列随机数、第三系列随机数、第三组随机数,并基于预设加密算法分别对所述第一系列随机数、所述第三系列随机数及所述第三组随机数进行运算,得到第三系列运算结果并公布;获取第四系列运算结果,按照第五随机运算公式,基于预设解密算法对所述第四系列运算结果、所述第一系列随机数、所述第三系列随机数及所述第三组随机数进行运算,得到第五系列运算结果并公布;按照第七随机运算公式,对所述第五系列运算结果进行运算,得到第五系列随机数;基于所述第一系列随机数、所述第三系列随机数及所述第五系列随机数确定自身的预设随机数;
所述第二密钥生成中心,还用于随机选择第二系列随机数、第四系列随机数、第四组随机数、第五组随机数及第六组随机数,获取所述第三系列运算结果,按照第六随机运算公式,基于所述预设加密算法对所述第三系列运算结果、所述第二系列随机数、所述第四系列随机数、所述第四组随机数、所述第五组随机数及所述第六组随机数进行运算,得到所述第四系列运算结果并公布;获取所述第五系列运算结果,按照第八随机运算公式,对所述第五系列运算结果进行运算,得到第六系列随机数;基于所述第二系列随机数、所述第四系列随机数及所述第六系列随机数确定自身的预设随机数;
所述第五随机运算公式包括:
D3=(a1i+a2i)·(b1i+b2i)·(u1i+u2i)-1,i=1,...,n;
所述第六随机运算公式包括:
D4=E((a1i+a2i)·v2i);D5=E((b1i+b2i)·w2i);D6=E((u1i+u2i)·v2i·w2i);
所述第七随机运算公式包括:
c1...

【专利技术属性】
技术研发人员:涂彬彬王现方张立廷
申请(专利权)人:成都卫士通信息产业股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1