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

一种基于SM2算法的无证书签密生成方法及系统技术方案

技术编号:38465211 阅读:32 留言:0更新日期:2023-08-11 14:42
本申请涉及一种基于SM2算法的无证书签密生成方法及系统,方法包括:系统初始化、部分公钥和部分私钥提取、秘密值设置、公钥设置、私钥设置、签密以及解签密步骤,该签密生成方法基于无证书密码体系,该体系中用户不需要了解其他人的证书及状态从而简化了证书管理问题,用户私钥由密钥生成中心产生的部分私钥和用户的秘密值组成,因此不存在密钥托管问题。本申请的方法基于SM2算法的密文和签名结构,解决了基于身份密码体系中的密钥托管问题和传统公钥密码体系中的证书管理问题,在一个逻辑步骤内同时完成对数据的加密和签名,降低了计算复杂度,在保证安全性的同时提高了实用性。在保证安全性的同时提高了实用性。在保证安全性的同时提高了实用性。

【技术实现步骤摘要】
一种基于SM2算法的无证书签密生成方法及系统


[0001]本申请涉及信息安全
,具体地,涉及一种基于SM2算法的无证书签密生成方法及系统。

技术介绍

[0002]签密能够在一个逻辑步骤内同时完成对数据的加密和签名,且其成本远低于传统的“先签名后加密”的方法,因此能够灵活地应用于轻量级设备参与的应用场景中。现有的签密方案一般基于传统公钥密码体系或者基于身份密码体系构造,前者存在着复杂的证书管理问题,后者存在着固有的密钥托管问题,导致签密方案实用性降低。

技术实现思路

[0003]为了克服现有技术中的至少一个不足,本申请提供一种基于SM2算法的无证书签密生成方法及系统。
[0004]第一方面,提供一种基于SM2算法的无证书签密生成方法,包括:
[0005]密钥生成中心根据安全参数生成系统参数和主密钥,并将系统参数公布给系统中的所有用户,并秘密保存主密钥;
[0006]密钥生成中心根据系统参数、主密钥和每个用户的用户标识,输出与用户标识对应的部分公钥和部分私钥;
[0007]每个用户根据系统参数,本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于SM2算法的无证书签密生成方法,其特征在于,包括:密钥生成中心根据安全参数生成系统参数和主密钥,并将所述系统参数公布给系统中的所有用户,并秘密保存所述主密钥;所述密钥生成中心根据所述系统参数、所述主密钥和每个用户的用户标识,输出与所述用户标识对应的部分公钥和部分私钥;所述每个用户根据所述系统参数,选取用户的秘密值,并秘密保存所述秘密值;所述每个用户根据所述系统参数、所述用户的秘密值和部分公钥,设置用户的公钥;所述每个用户根据所述用户的秘密值和部分私钥,设置用户的私钥;发送者根据所述系统参数、明文数据、接收者的用户标识和接受者的公钥以及发送者的私钥,输出签密密文;接收者根据所述系统参数、所述签密密文、发送者的用户标识和发送者的公钥以及接收者的私钥,对所述签密密文进行解密和验证;如果验证通过,则得到明文数据及发送者对明文数据的签名;如果验证失败,则拒绝接收。2.如权利要求1所述的方法,其特征在于,其中,密钥生成中心根据安全参数生成系统参数和主密钥,并将所述系统参数公布给系统中的所有用户,并秘密保存所述主密钥,包括:输入安全参数λ;密钥生成中心选择随机数α,为由1,2,...,q

1组成的整数集合,q为大素数;计算主公钥P
pub
,P
pub
=αP,P为群G的生成元,群G为阶数为q的加法循环群;选择一个密钥派生函数KDF和密码杂凑函数h;输出系统参数params,params={G,q,P,P
pub
,KDF,h},秘密保存主密钥msk,msk=α。3.如权利要求1所述的方法,其特征在于,其中,所述密钥生成中心根据所述系统参数、所述主密钥和每个用户的用户标识,输出与所述用户标识对应的部分公钥和部分私钥,包括:输入系统参数params、主密钥msk和用户标识ID,ID∈{0,1}
*
;选择随机数r
ID
,为由1,2,...,q

1组成的整数集合,q为大素数;计算部分公钥R
ID
,R
ID
=r
ID
P和部分私钥d
ID
,d
ID
=r
ID
+msk
·
h(ID||R
ID
);其中P为群G的生成元,群G为阶数为q的加法循环群;h为密码杂凑函数,||表示拼接;输出部分公钥R
ID
和部分私钥d
ID
。4.如权利要求1所述的方法,其特征在于,其中,所述每个用户根据所述系统参数,选取用户的秘密值,包括:输入系统参数params和用户标识ID,ID∈{0,1}
*
;随机选择用户的秘密值x
ID
,为由1,2,...,q

1组成的整数集合,q为大素数。5.如权利要求1所述的方法,其特征在于,其中,所述每个用户根据所述系统参数、所述用户的秘密值和部分公钥,设置用户的公钥,包括:输入系统参数params、用户的秘密值x
ID
和部分公钥R
ID
;计算中间值P
ID
,P
ID
=x
ID
P,其中,P为群G的生成元,群G为阶数为q的加法循环群;
计算用户的公钥pk
ID
,pk
ID
={P
ID
,R
ID
}。6.如权利要求1所述的方法,其特征在于,其中,所述每个用户根据所述用户的秘密值和部分私钥,设置用户的私钥,包括:输入系统参数params、用户的秘密值x
ID
和部分私钥d
ID
;计算用户的私钥sk
ID
,sk
ID
={x
ID
,d
ID
}。7.如权利要求1所述的方法,其特征在于,其中,发送者根据所述系统参数、明文数据、接收者的用户标识和接受者的公钥以及发送者的私钥,输出签密密文,包括:步骤S61,输入系统参数params、明文数据M、接收者的用户标识ID
R
和接受者的公钥以及发送者的私钥以及发送者的私钥以及发送者的私钥为中间值,为部分公钥,ID
s

【专利技术属性】
技术研发人员:明洋刘行肖淦文王晨豪赵一
申请(专利权)人:长安大学
类型:发明
国别省市:

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

1