一种基于SM9算法的密钥应用方法技术

技术编号:28213812 阅读:57 留言:0更新日期:2021-04-24 14:54
本发明专利技术公开一种基于SM9算法的密钥应用方法,步骤是:依照SM9算法的密钥生成规则,静态密钥管理中心基于用户标识生成用户的静态密钥,动态密钥管理中心通过对用户标识和给定动态变化量构建用户的动态标识,并基于用户动态标识生成用户的动态密钥;用户基于通信对方的静态标识生成静态公钥,基于通信对方的动态标识生成动态公钥,并基于所述静态公钥和动态公钥实现加密或验签的操作;用户自静态密钥管理中心获取静态私钥,自动态密钥管理中心获取动态私钥,并基于所述静态私钥和动态私钥实现解密或签名的操作。此种密钥应用方法,提供一种基于SKGC和DKGC的SM9密钥安全管理机制,可解决SM9算法的密钥托管、更新、撤销问题。撤销问题。撤销问题。

【技术实现步骤摘要】
一种基于SM9算法的密钥应用方法


[0001]本专利技术属于密钥应用
,特别涉及一种基于SM9算法生成密钥进行加密、解密、签名、验签等应用方法。

技术介绍

[0002]SM9作为一种基于标识的密码系统(Identity

Based Cryptograph,IBC),与PKI密码体系相比在密钥管理上存在一定的不足。一方面,用户私钥由密钥生成中心基于用户标识生成,将导致用户不是其私钥的唯一拥有者;另一方面,由于用户的密钥基于用户标识生成,用户标识一般不可更改,导致SM9算法密钥更新、撤销困难,有待改进。

技术实现思路

[0003]本专利技术的目的,在于提供一种基于SM9算法的密钥应用方法,提供一种基于SKGC和DKGC的SM9密钥安全管理机制,可解决SM9算法的密钥托管、更新、撤销问题。
[0004]为了达成上述目的,本专利技术的解决方案是:
[0005]一种基于SM9算法的密钥应用方法,包括如下步骤:
[0006]步骤S1,依照SM9算法的密钥生成规则,静态密钥管理中心SKGC基于本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于SM9算法的密钥应用方法,其特征在于包括如下步骤:步骤S1,依照SM9算法的密钥生成规则,静态密钥管理中心SKGC基于用户标识生成用户的静态密钥,这里静态密钥包含加密密钥对和签名密钥对;步骤S2,依照SM9算法的密钥生成规则,动态密钥管理中心DKGC通过对用户标识和给定动态变化量构建用户的动态标识,并基于用户动态标识生成用户的动态密钥,动态密钥也包含加密密钥对和签名密钥对;步骤S3,用户基于通信对方的静态标识生成静态公钥,基于通信对方的动态标识生成动态公钥,并基于所述静态公钥和动态公钥实现加密或验签的操作;用户自静态密钥管理中心SKGC获取静态私钥,自动态密钥管理中心DKGC获取动态私钥,并基于所述静态私钥和动态私钥实现解密或签名的操作;其中,加密、解密使用的密钥对与签名、验签使用的密钥对不相同。2.如权利要求1所述的方法,其特征在于:所述步骤S2中,基于用户标识ID和动态变化量data的动态标识的具体生成方式如下:ID

=ID||data。3.如权利要求1所述的方法,其特征在于:所述步骤S3中,静态私钥的提取过程是:a、KGC分发用户私钥D0=s0(h0+s0)
‑1P2,其中h0=H1(H
v
,ID||hid,q);b、用户生成随机数并计算X=[x]P2和D
′0=x
·
D0,其中,表示素数阶乘法群中的整数;c、对每个KPA,用户发送X和D
′0,要求KPA计算D
i
=s
i
·
D
′0,并通过验证e(h0P1+P
pub
,D
′0)=e(P
pub
,X)来检查用户发来的数据的合法性;用户通过计算e(h0P1+P
pub
,D
i
)=e(P
pub
,P
KPA

i
)
x
来确认计算过程的正确性;d、A将n个KPA发来的结果相加得到:e、通过下式去除盲因子,计算出用户的静态私钥D:D=x
‑1·
D

=(s1+s2+

+s
n
)s0(h0+s0)
‑1P2。4.如权利要求1所述的方法,其特征在于:所述步骤S3中,动态私钥的生成方法是:a、DKGC随机选取计算T
pub
=[t0]P1;b、设置g
t
=e(T
pub
,P2);c、动态私钥为D
T
=t0·
(h
t
+t0)
‑1P2,h
t
=H1(H
v
,ID

||hid,q)。5.如权利要求1所述的方法,其特征在于:所述步骤S3中,DKGC对密钥进行更新,更新的过程是:DKGC基于用户的标识计算:ID

=ID||next

week,然后重新计算动态公钥:Q
T
=h
t
P1+T
pub
,重新计算动态私钥:D
T
=t0·
(h
t
+t0)
‑1P2,完成更新。6.如权利要求1所述的方法,其特征在于:所述步骤S3中,用户A对发往用户B的消息进行加密的具体过程是:
步骤1,用户A通过计算Q
B
=h0P1+P
pub
=H1(H
v
,ID
B
||hid,q)P1+P
pub
得到用户B的加密公钥Q
B
,DKGC计算并发送给用户A,其中,h
t
=H1(H
v
,ID

B
||hid,q),密码函数H1()和H2()为SM9算法中的函数;步骤2,用户A产生随机数:r∈[1,q

1];步骤3,用户A计算:C1=[r]Q
B
,步骤4,用户A计算:g
t
=e(T
pub
,P2);步骤5,用户A计算:步骤6,根据用户选择的加密方式进行计算;如果是基于密钥派生函数的序列密码算法,则计算整数klen=mlen+K2_len,然后计算K=KDF(C1||C
t
||w||ID
B
,klen),令K1为K最左边的mle...

【专利技术属性】
技术研发人员:陈明志傅明建翁才杰许春耀谢加良杨小权饶庆裕张瑞李栋赵明烽程淏
申请(专利权)人:北卡科技有限公司
类型:发明
国别省市:

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

1