行业标准网
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210803789.9 (22)申请日 2022.07.07 (71)申请人 三未信安科技股份有限公司 地址 100102 北京市朝阳区广顺北 大街16 号院2号楼14层140 6室 (72)发明人 孙真真 党美 刘会议  (74)专利代理 机构 北京首捷专利代理有限公司 11873 专利代理师 梁婧宇 (51)Int.Cl. H04L 9/00(2022.01) H04L 9/32(2006.01) H04L 9/08(2006.01) H04L 9/30(2006.01) (54)发明名称 一种基于同态运算的SM2协同签名方法、 装 置及系统 (57)摘要 本发明公开了一种基于同态 运算的SM2协同 签名方法、 装置及系统, 该方法一部分运行在客 户端, 另一部分运行在服务端, 两端分别执行的 步骤, 在客户端与服务端协同签名的过程中, 均 有助于通过对中间数据进行加密保护, 增强签名 的安全性。 该系统通过客户端与服务端协同签名 的方式, 隐藏交互计算中的私钥, 达到既保护签 名私钥又摆脱硬件依赖的目的; 通过同态算法保 护签名私钥, 无需软盾存储即可保证私钥的安 全; 通过对中间数据进行加密保护, 增强签名的 安全性。 权利要求书3页 说明书8页 附图3页 CN 115037441 A 2022.09.09 CN 115037441 A 1.一种基于同态运算的SM2协同签名方法, 其特征在于, 应用于客户端A, 该方法包括以 下步骤: S1、 将ZA与M的拼接值进行SM3哈希计算得哈希值e; 所述M为待签名消息; 所述ZA为关于 所述客户端A的可辨别标识、 部分椭圆曲线系统参数和所述 客户端A公钥的杂凑值; S2、 所述客户端A利用随机数发生器产生[1,n ‑1]区间的第一随机数K1和第二随机数 R1, 其中n为椭圆曲线点群的阶; S3、 根据第一随机数K1和第二随机数R1, 计算椭圆曲线点(x1,y1)=[K1 ·(R1+1)‑1]G, 令k=K1·(R1+1)‑1; S4、 计算部分签名值Pr=(e+x1)mod  n, 若Pr=0或Pr+k =n, 则返回步骤S2; S5、 通过传统Paillier算法生成公钥PaPu和私钥PaPr, 利用公钥对第一随机数K1和第 二随机数R 1进行同态加密, 令SK1=E(K1),SR 1=E(R1), 其中E( ·)为同态加密运 算; S6、 将所述 客户端A生成的SK1, SR 1, 部分签名值Pr和同态公钥PaPu发送给服 务端B。 2.根据权利要求1所述的一种基于同态运 算的SM2协同签名方法, 其特 征在于, 还 包括: S10、 接收所述服务端B生成的中间签名数据B1, 计算B2=D(B1), Ps=(B2 ‑Pr)modn, 若 Ps≠0并且Ps≠n ‑Pr, 则签名值为(Pr,Ps), 其中D( ·)为同态解密运算, 签名私钥值为PdA= [RO·(R1+1)]‑1‑1。 3.一种基于同态运算的SM2协同签名方法, 其特征在于, 应用于服务端B, 该方法包括以 下步骤: S7、 所述服务端B利用随机数发生器产生[1,n ‑1]区间的第三随机数R0; S8、 接收所述客户端A发送的SK1, SR1, 部分签名值Pr和同态公钥PaPu, 并根据所述第三 随机数R0, 计算 生成服务端B签名数据B1; S9、 将所述 服务端B生成的中间签名数据B1返回至客户端A。 4.根据权利要求3所述的一种基于同态运算的SM2协同签名方法, 其特征在于, 计算服 务端B签名数据如下: 其中, 表示基于Paillier算法同态加密的密文相加, 其解密后对应明文相加的结果; ⊙表示基于Pai llier算法同态加密中的明文与密文相乘运 算, 其对应多个同态密文相加。 5.一种基于同态运算的SM2协同签名方法, 其特征在于, 应用于客户端A和服务端B的数 据交互过程, 该 方法包括以下步骤: S1、 将ZA与M的拼接值进行SM3哈希计算得哈希值e; 所述M为待签名消息; 所述ZA为关于 所述客户端A的可辨别标识、 部分椭圆曲线系统参数和所述 客户端A公钥的杂凑值; S2、 所述客户端A利用随机数发生器产生[1,n ‑1]区间的第一随机数K1和第二随机数 R1, 其中n为椭圆曲线点群的阶; S3、 根据第一随机数K1和第二随机数R1, 计算椭圆曲线点(x1,y1)=[K1 ·(R1+1)‑1]G, 令k=K1·(R1+1)‑1; S4、 计算部分签名值Pr=(e+x1)mod  n, 若Pr=0或Pr+k =n, 则返回步骤S2; S5、 通过传统Paillier算法生成公钥PaPu和私钥PaPr, 利用公钥对第一随机数K1和第 二随机数R 1进行同态加密, 令SK1=E(K1),SR 1=E(R1), 其中E( ·)为同态加密运 算;权 利 要 求 书 1/3 页 2 CN 115037441 A 2S6、 将所述 客户端A生成的SK1, SR 1, 部分签名值Pr和同态公钥PaPu发送给服 务端B; S7、 所述服务端B利用随机数发生器产生[1,n ‑1]区间的第三随机数R0; S8、 接收所述客户端A发送的SK1, SR1, 部分签名值Pr和同态公钥PaPu, 并根据所述第三 随机数R0, 计算 生成服务端B签名数据B1; S9、 将所述 服务端B生成的中间签名数据B1返回至客户端A; S10、 接收所述服务端B生成的中间签名数据B1, 计算B2=D(B1), Ps=(B2 ‑Pr)modn, 若 Ps≠0并且Ps≠n ‑Pr, 则签名值为(Pr,Ps), 其中D( ·)为同态解密运算, 签名私钥值为PdA= [RO·(R1+1)]‑1‑1。 6.一种基于同态运 算的SM2协同签名装置, 其特 征在于, 包括: 哈希计算模块, 用于将ZA与M的拼接值进行SM3哈希计算得哈希值e; 所述M为待签名消 息; 所述ZA为关于所述客户端A的可辨别标识、 部分椭圆曲线系统参数和所述客户端A公钥 的杂凑值; 椭圆计算模块, 用于所述客户端A利用随机数发生器产生[1,n ‑1]区间的第一随机数K1 和第二随机数R1, 其中n为椭圆曲线点群的阶; 根据第一随机数K1和第二随机数R1, 计算椭 圆曲线点(x1,y1)=[K1 ·(R1+1)‑1]G,令k=K1·(R1+1)‑1; 客户端签名计算模块, 用于计算部分签名值Pr=(e+x1)modn, 若Pr=0或Pr +k=n, 则返 回所述椭圆计算模块; 客户端同态加密模块, 用于通过传统Paillier算法生成公钥PaPu和私钥PaPr, 利用公 钥对第一随机数K1和第二随机数R1进行同态加密, 令SK1=E(K1),SR1=E(R1), 其中E( ·) 为同态加密运 算; 客户端发送模块, 用于将所述客户端A生成的SK1, SR1, 部分签名值Pr和同态公钥PaPu 发送给服 务端B。 7.根据权利要求6所述的一种基于同态运 算的SM2协同签名装置, 其特 征在于, 还 包括: 协同签名 模块, 用于接收所述服务端B生成的中间签名数据B1, 计算B2=D(B1), Ps= (B2‑Pr)mod n, 若Ps≠0并且Ps≠n ‑Pr, 则签名值为(Pr,Ps), 其中D( ·)为同态解密运算, 签 名私钥值 为PdA=[RO·(R1+1)]‑1‑1。 8.一种基于同态运 算的SM2协同签名装置, 其特 征在于, 包括: 随机数生成模块, 用于所述服务端B利用随机数发生器产生[1,n ‑1]区间的第三随机数 R0; 服务端签名计算模块, 用于接收所述客户端A发送的SK1, SR1, 部分签名值Pr和同态公 钥PaPu, 并根据所述第三随机数R0, 计算 生成服务端B签名数据B1; 服务端发送模块, 用于将所述 服务端B生成的中间签名数据B1返回至客户端A。 9.根据权利要求8所述的一种基于同态运算的SM2协同签名装置, 其特征在于, 所述服 务端签名计算模块中, 计算 服务端B签名数据如下: 其中, 表示基于Paillier算法同态加密的密文相加, 其解密后对应明文相加的结果; ⊙表示基于Pai llier算法同态加密中的明文与密文相乘运 算, 其对应多个同态密文相加。 10.一种基于同态运 算的SM2协同签名系统, 其特 征在于, 包括: 客户端A和服 务端B; 其中, 所述 客户端A包括:权 利 要 求 书 2/3 页 3 CN 115037441 A 3

PDF文档 专利 一种基于同态运算的SM2协同签名方法、装置及系统

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