当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于SM9签名的基于证书签名生成方法及装置制造方法及图纸

技术编号:35187546 阅读:18 留言:0更新日期:2022-10-12 17:59
本发明专利技术公开了一种基于SM9签名的基于证书签名生成方法及装置,其中的方法包括:初始化步骤、证书授权步骤、签名步骤以及验证步骤,它基于SM9的签名结构,结合了传统公钥密码的优点(PKI)和基于身份的加密技术,无需使用昂贵的证书链验证过程和移除了密钥托管安全性问题,从而简化了签名的生成过程,并保证了安全性。性。性。

【技术实现步骤摘要】
一种基于SM9签名的基于证书签名生成方法及装置


[0001]本专利技术涉及信息安全
,尤其涉及一种基于SM9签名的基于证书签名生成方法及装置。

技术介绍

[0002]随着信息网络技术在金融、政务、通信等领域不断深化,数字签名作为实现数字认证的重要工具,愈发需要满足不断新生的应用场景和要求。数字签名具有身份合法性认证、抗抵赖、防伪造等特性,因此普遍应用于目前的网络通信、电子商务、电子政务等场景中。目前主流数字签名技术采用传统公钥密码体系,需要一套公钥基础设施以及繁琐的证书管理,而标识密码算法虽然摆脱了这些缺点,但仍因密钥托管存在安全问题。因此现有技术中的签名生成方法存在实现复杂的技术问题。

技术实现思路

[0003]本专利技术提供一种基于SM9签名的基于证书签名生成方法及装置,用以解决或者至少部分解决现有技术中存在的实现复杂的技术问题。
[0004]为了解决上述技术问题,本专利技术第一方面提供了一种基于SM9签名的基于证书签名生成方法,其特征在于,包括:
[0005]初始化步骤,包括:证书颁发机构产生随机数d,作为私钥,并计算公钥P
pub
=[d]P2,用户A生成自己的公私钥对(SK
A
,PK
A
)=(s
A
,[s
A
]P1),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,表示由1,2,,....,q

1组成的整数集合,SK
A
PK
A
分别为用户A的私钥和公钥,s
A
为用户A的基于证书体系的私钥;
[0006]证书授权步骤,包括:用户A将相关信息发送至证书颁发机构,其中,相关信息包括用户A的公钥PK
A
和个人信息AliceInfo;证书颁发机构对用户A的相关信息进行验证,如果验证通过,则计算哈希值t,t=H1(P
pub
,PK
A
,AliceInfo),并进一步生成用户A的证书Cert
A
,Cert
A
=[d(t+d)
‑1]P1,并将Cert
A
发送给用户A,然后由用户A计算自己基于证书体系的私钥S
A
=[s
A
]Cert
A
=[s
A
·
d(t+d)
‑1]P1;
[0007]签名步骤,包括:用户A作为签名者,首先计算G
T
的中的元素g,g=e(PK
A
,P
pub
),然后随机选取并计算w,h和l,w=g
r
,h=H2(m||w),l=r

h mod q,其中,w表示对r的第一承诺值,h表示对m||w的第一哈希值,l为计算S的中间变量;然后计算S,S=[l]S
A
,S为签名的组成部分,最后,根据h和S得到待签名的消息m的签名σ=(h,S);
[0008]验证步骤,包括:验证者计算G
T
的中的元素g,g=e(PK
A
,P
pub
),然后计算t,t=H1(P
pub
,PK
A
,AliceInfo),并计算u=e(S,[t]P2+P
pub
),然后计算w

=u
·
g
h
,t表示对P
pub
,PK
A
,AliceInfo的第二哈希值,u为计算w

的中间变量,w

为基于r生成的第二承诺值,计算h

=H2(m||w

),h

为基于m||w

的第二哈希值,最后判断第二哈希值h

与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
[0009]基于同样的专利技术构思,本专利技术第二方面提供了一种基于SM9签名的基于证书签名
生成装置,包括:
[0010]初始化模块,用于执行初始化步骤,包括:证书颁发机构产生随机数d,作为私钥,并计算公钥P
pub
=[d]P2,用户A生成自己的公私钥对(SK
A
,PK
A
)=(s
A
,[s
A
]P1),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,表示由1,2,,....,q

1组成的整数集合,SK
A
、PK
A
分别为用户A的私钥和公钥,s
A
为用户A的基于证书体系的私钥;
[0011]证书授权模块,用于执行证书授权步骤,包括:用户A将相关信息发送至证书颁发机构,其中,相关信息包括用户A的公钥PK
A
和个人信息AliceInfo;证书颁发机构对用户A的相关信息进行验证,如果验证通过,则计算哈希值t,t=H1(P
pub
,PK
A
,AliceInfo),并进一步生成用户A的证书Cert
A
,Cert
A
=[d(t+d)
‑1]P1,并将Cert
A
发送给用户A,然后由用户A计算自己基于证书体系的私钥S
A
=[s
A
]Cert
A
=[s
A
·
d(t+d)
‑1]P1;
[0012]签名模块,用于执行签名步骤,包括:用户A作为签名者,首先计算G
T
的中的元素g,g=e(PK
A
,P
pub
),然后随机选取并计算w,h和l,w=g
r
,h=H2(m||w),l=r

h mod q,其中,w表示对r的第一承诺值,h表示对m||w的第一哈希值,l为计算S的中间变量;然后计算S,S=[l]S
A
,S为签名的组成部分,最后,根据h和S得到待签名的消息m的签名σ=(h,S);
[0013]验证模块,用于执行验证步骤,包括:验证者计算G
T
的中的元素g,g=e(PK
A
,P
pub
),然后计算t,t=H1(P
pub
,PK
A
,AliceInfo),并计算u=e(S,[t]P2+P
pub
),然后计算w

=u
·
g
h
,t表示对P
pub
,PK
A
,AliceInfo的第二哈希值,u为计算w

的中间变量,w本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SM9签名的基于证书签名生成方法,其特征在于,包括:初始化步骤,包括:证书颁发机构产生随机数d,作为私钥,并计算公钥P
pub
=[d]P2,用户A生成自己的公私钥对(SK
A
,PK
A
)=(s
A
,[s
A
]P1),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,表示由1,2,,....,q

1组成的整数集合,SK
A
、PK
A
分别为用户A的私钥和公钥,s
A
为用户A的基于证书体系的私钥;证书授权步骤,包括:用户A将相关信息发送至证书颁发机构,其中,相关信息包括用户A的公钥PK
A
和个人信息AliceInfo;证书颁发机构对用户A的相关信息进行验证,如果验证通过,则计算哈希值t,t=H1(P
pub
,PK
A
,AliceInfo),并进一步生成用户A的证书Cert
A
,Cert
A
=[d(t+d)
‑1]P1,并将Cert
A
发送给用户A,然后由用户A计算自己基于证书体系的私钥S
A
=[s
A
]Cert
A
=[s
A
·
d(t+d)
‑1]P1;签名步骤,包括:用户A作为签名者,首先计算G
T
的中的元素g,g=e(PK
A
,P
pub
),然后随机选取并计算w,h和l,w=g
r
,h=H2(m||w),l=r

h mod q,其中,w表示对r的第一承诺值,h表示对m||w的第一哈希值,l为计算S的中间变量;然后计算S,S=[l]S
A
,S为签名的组成部分,最后,根据h和S得到待签名的消息m的签名σ=(h,S);验证步骤,包括:验证者计算G
T
的中的元素g,g=e(PK
A
,P
pub
),然后计算t,t=H1(P
pub
,PK
A
,AliceInfo),并计算u=e(S,[t]P2+P
pub
),然后计算w

=u
·
g
h
,t表示对P
pub
,PK
A
,AliceInfo的第二哈希值,u为计算w

的中间变量,w

为基于r生成的第二承诺值,计算h

=H2(m||w

),h

为基于m||w

的第二哈希值,最后判断第二哈希值h

与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。2.一种基于SM9签名的基于证书签名生成装置,其特征在于,包括:初始化模块,用于执行初始化步骤,包括:证书颁发机构产生随机数d,作为私钥,并计算公钥P
pub
...

【专利技术属性】
技术研发人员:包子健何德彪陈纪成彭聪王婧冯琦黄欣沂
申请(专利权)人:武汉大学
类型:发明
国别省市:

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

1