全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211050504.5 (22)申请日 2022.08.29 (71)申请人 成都安恒信息技 术有限公司 地址 610000 四川省成 都市自由贸易试验 区成都高新区天府 大道北段1480号高 新孵化园6号楼1 10室 (72)发明人 严航 熊虎 林烨 姜毅 刘韬  (74)专利代理 机构 成都君合集专利代理事务所 (普通合伙) 51228 专利代理师 张鸣洁 (51)Int.Cl. H04L 9/14(2006.01) H04L 9/40(2022.01) H04L 9/08(2006.01) H04L 9/30(2006.01)H04L 9/06(2006.01) (54)发明名称 一种基于SM2算法和SM9算法的无证书公钥 加密方法 (57)摘要 本发明涉及加密算法技术领域, 公开了一种 基于SM2算法和SM9算法的无证书公钥加密方法, 包括: 使用系统初始化算法初始化授权系统, 生 成授权系统的公共参数和主密钥对; 在部分私钥 提取算法中生成用户的部分私钥, 返回给用户; 在用户秘密值生成算法中输出用户秘密值; 在用 户私钥生 成算法中计算得出用户的私钥; 在用户 公钥生成算法中计算得出用户的公钥; 在加密算 法中生成密文后发送给解密用户; 在解密算法中 解密恢复明文消息。 本发明不仅实现了数据的机 密性, 还消除了传统公钥加密的密钥托管问题, 同时具有高效的特点, 使用SM2算法和SM9算法构 建系统初始化、 用户公私钥生成、 加解密算法等 流程, 大大提高了在初始化和加密过程中的安全 性和运算效率。 权利要求书2页 说明书7页 附图1页 CN 115442042 A 2022.12.06 CN 115442042 A 1.一种基于SM2算法和SM9算法的无证书公钥加密方法, 其特 征在于, 包括以下步骤: 步骤S1, 使用系统初始化 算法初始化授权系统, 生成授权系统的公共参数和主密钥对; 步骤S2, 在部分私钥提取算法中输入公共参数和用户身份信息生成用户的部分私钥, 返回给用户; 步骤S3, 在用户秘密值 生成算法中输入公共参数和用户身份信息, 输出用户秘密值; 步骤S4, 在用户私钥生成算法中输入公共参数、 用户身份信息、 用户秘密值和部分私 钥, 计算得 出用户的私钥; 步骤S5, 在用户公钥生成算法中输入公共参数和用户秘密值, 计算得 出用户的公钥; 步骤S6, 在加密算法中输入公共参数、 用户身份信息、 明文消息和用户公钥, 加密用户 调用SM9加密算法, 生成密文后发送给解密用户; 步骤S7, 在解密算法中输入系 统公共参数、 用户身份信息、 密文消息和用户私钥, 解密 用户调用SM9解密算法, 解密恢复明文消息 。 2.根据权利要求1所述的一种基于SM2算法和SM9算法的无证书公钥加密方法, 其特征 在于, 所述 步骤S1包括: 在系统初始化算法Setup(k)中输入安全参数k, 调用SM2加密算法中的初始化算法 Setup(k), 构造椭圆曲线E /Fp; 构造阶数为 N=q的群G1, G2, GT; 构造双线性对映射e并表示 为: e: G1×G2→GT; 设P1, P2分别是群G1, G2的生成元, 随机选取主私钥s∈Zq*, 计算主公钥Pub=[s]P1; 系统 的公共参数params表示为: params=(E/Fp: Y2=X3+aX+b, p, q, Pub, e, P1, P2, G1, G2, GT), 其中, X, Y代表椭圆曲线中点(X, Y)的横纵坐标, a, b为方程式的初始化得到的系数, p为椭圆曲线 椭圆曲线E /Fp的阶数; 获取密钥生成中心公布的抗碰撞密码哈希函数H1和H2, 并表示 为 其中, Zq代表阶数为q下的整数域, 左上 角*代表为阶数为q的整数域下的集合{1, 2 ……q‑1}, K1_len为SM4分组密码算法的加密密 钥长度, 需要调用密码杂凑函数 3.根据权利要求1所述的一种基于SM2算法和SM9算法的无证书公钥加密方法, 其特征 在于, 所述 步骤S2包括: 在部分私钥提取算法Extract ‑Partial‑Secret‑Key(params, id)中输入系统公共参数 params、 主私钥、 用户身份信息id和函数识别符hid计算部分私钥t1和t 2; t1表示为 若t1=0则需重新产生加密主私钥, 计算和公开主 公钥, 否则计算部分私钥t 2, 并将t2返回给用户, t 2表示为 其中P2为群G2 的生成元。 4.根据权利要求1所述的一种基于SM2算法和SM9算法的无证书公钥加密方法, 其特征 在于, 所述 步骤S3包括: 在用户秘密值生成算法Set ‑Secret‑Value(params, id)中输入系统公共参数params、 用户身份信息id后, 用户秘密值生成算法 随机选择秘密值表示为xid, xid∈Za*, 其中, 其中,权 利 要 求 书 1/2 页 2 CN 115442042 A 2Za代表阶数为a下的整数域, 左上角*代 表为阶数为a的整数域下的集 合{1, 2……a‑1}。 5.根据权利要求1所述的一种基于SM2算法和SM9算法的无证书公钥加密方法, 其特征 在于, 所述 步骤S4包括: 在用户私钥生成算法Set ‑Secret‑Key(params, id, xid)中输入系统公共参数params、 用 户身份信息id、 用户秘密值xid、 部分私钥t2, 计算得出用户的私钥Skid, 并表示为skid= (sk1, sk2)=(xid, t2), 其中sk1和sk2为xid和t2。 6.根据权利要求1所述的一种基于SM2算法和SM9算法的无证书公钥加密方法, 其特征 在于, 所述 步骤S5包括: 在用户公钥生 成算法Set ‑Public‑Key(params, xid)中输入系统公共参数params和用户 秘密值xid, 计算得出用户的公钥pkid=[xid]P1, 其中P1为群G1的生成元。 7.根据权利要求1所述的一种基于SM2算法和SM9算法的无证书公钥加密方法, 其特征 在于, 所述 步骤S6包括: 在加密算法Encrypt(params, id, M, pkid)中输入系 统公共参数params、 用户身份信息 id、 明文消息和用户公钥pkid, 所述明文消息的来源为用户想要进行加密操作的输入消息内 容; 对于消息长度为mlen比特的消息M, K1_len为SM4分组密码算法的加密密钥长度, K2_ len为函数MAC(K2, Ci)中密钥K2的比特长度; 其中, Mac为带密钥的Hash函数, Ci表示不同的 密文, i为标号, 取值可以为 正整数 对K1_len和K2_len进行加密操作, 在加密过程中计算C1和C2; 加密用户调用SM9加密算法, 生成密文后发送给解密用户。 8.根据权利要求1所述的一种基于SM2算法和SM9算法的无证书公钥加密方法, 其特征 在于, 所述 步骤S6包括: 在解密算法Decrypt(params, i d, C, skid)中输入系统公共参数params、 用户身份i d、 密 文消息C和用户私钥sKid, 验证C1, C2∈G1, 若成立则进行解密, 若不成立则无法解密, 判断有 不法人员想对密文 进行解密。权 利 要 求 书 2/2 页 3 CN 115442042 A 3

PDF文档 专利 一种基于SM2算法和SM9算法的无证书公钥加密方法

文档预览
中文文档 11 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于SM2算法和SM9算法的无证书公钥加密方法 第 1 页 专利 一种基于SM2算法和SM9算法的无证书公钥加密方法 第 2 页 专利 一种基于SM2算法和SM9算法的无证书公钥加密方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-03-03 12:05:43上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。