【技术实现步骤摘要】
一种SM9用户密钥生成方法、装置、设备及存储介质
[0001]本公开涉及信息安全
,特别涉及一种SM9用户密钥生成方法、装置、设备及存储介质。
技术介绍
[0002]现代密码学的设计思想是将安全性归结到密钥上,密码算法都是公开的,所以,如何安全有效的管理密钥是个重要的问题。在基于标识的标准密码算法SM9中,用户的私钥均是由密管中心KGC(Key Generation Center)生成,然后分发给用户,即SM9用户的私钥不能做到仅用户自己掌握,因此具有安全隐患。目前已有的解决方案可分为两类,一种是采用多方KGC联合生成私钥,每个KGC分别给用户下发部分私钥,最终由用户计算出真正的私钥;另一种是采用门限机制,由KGC联合生成、下发用户私钥。但是,前者需要每个KGC都参与,当某个KGC不能正常工作时,系统无法正常下发私钥,缺乏健壮性。而后者现有的解决方案不能做到阈值最优,即为了抵抗t
‑
1方合谋攻击,至少需要2t
‑
1个KGC在线为用户生成私钥,密钥生成阶段所需的KGC数量较多,需要花费较多的资源。
技术实现思路
[0003]本公开的目的是提供一种SM9用户密钥生成方法、装置、设备及存储介质,以提高密钥的安全性,减少密钥生成阶段所需的KGC数量,避免资源浪费。
[0004]为了实现上述目的,本公开提供一种SM9用户密钥生成方法,包括:
[0005]每个KGC根据本KGC的主私钥、参与生成密钥的KGC数量以及在有限域的多项式,分别生成与n个KGC对应 ...
【技术保护点】
【技术特征摘要】
1.一种SM9用户密钥生成方法,其特征在于,包括:每个密管中心KGC根据本KGC的主私钥、参与生成密钥的KGC数量以及在有限域的多项式,分别生成与n个KGC对应的n个第一份额,并发送至对应的KGC;每个KGC根据本KGC及其他KGC发送的第一份额计算第二份额;其中,n为KGC的总数,t为n个KGC中参与生成密钥的KGC数量;t个KGC利用本KGC的第二份额及目标用户的用户ID联合生成与每个KGC对应的私钥分量,并发送至所述目标用户,以便所述目标用户根据t个KGC发送的t个私钥分量生成最终密钥。2.根据权利要求1所述的SM9用户密钥生成方法,其特征在于,每个KGC根据本KGC的主私钥、参与生成密钥的KGC数量以及在有限域的多项式,分别生成与n个KGC对应的n个第一份额,包括:确定n个KGC中第i个KGC在有限域的多项式为:f
i
(x
j
)=ks
i
+a
i,1
x
j
+...+a
i,t
‑1x
jt
‑1;其中,f
i
(x
j
)为第i个KGC生成的发给第j个KGC的第一份额,x
j
为第j个KGC的身份标识,ks
i
为第i个KGC的主私钥,a
i,1
~a
i,t
‑1为有限域F
N
中的随机数;1≤i≤n,1≤j≤n;每个KGC基于所述多项式生成与n个KGC对应的n个第一份额。3.根据权利要求2所述的SM9用户密钥生成方法,其特征在于,所述每个KGC根据本KGC及其他KGC发送的第一份额计算第二份额,包括:每个KGC计算本KGC生成的第一份额与其他KGC发送的第一份额之和,作为每个KGC的第二份额。4.根据权利要求1所述的SM9用户密钥生成方法,其特征在于,所述t个KGC利用本KGC的第二份额及目标用户的用户ID联合生成与每个KGC对应的私钥分量,包括:t个KGC中的目标KGC通过预定算法对所述目标KGC的第二份额以及携带所述用户ID的密码函数生成结果进行运算,得到第一运算结果;根据所述目标KGC的第二份额生成第一中间参数;所述目标KGC获取其他KGC的第二运算结果及第二中间参数,所述第二运算结果为通过所述预定算法对其他KGC的第二份额运算得到,所述第二中间参数为根据其他KGC的第二份额生成;所述目标KGC利用所述第二运...
【专利技术属性】
技术研发人员:王现方,刘仁章,
申请(专利权)人:成都卫士通信息产业股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。