(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 20221078573 5.4
(22)申请日 2022.07.04
(71)申请人 武汉理工大 学
地址 430070 湖北省武汉市洪山区珞狮路
122号
(72)发明人 龙毅宏
(74)专利代理 机构 武汉科皓知识产权代理事务
所(特殊普通 合伙) 42222
专利代理师 罗飞
(51)Int.Cl.
H04L 9/30(2006.01)
H04L 9/32(2006.01)
(54)发明名称
一种SM2签名制作数据的安全可控使用方法
及系统
(57)摘要
发明涉及SM2 签名制作数据的安全 可控使用
方法: 签名装置有PA=[dA]G, cA1=(c0(1+dA)‑1)
mod n, t2=EH((c0)‑1), 其中dA为用户的SM2签名
私钥, n为基点G的阶, c0为签名装置不知道的整
数秘密, cA1为签名装置的秘密, EH((c0)‑1)为针对
(c0)‑1的乘数加密运算或同态加密运算, 签名辅
助系统有或能得到对应解密运算的密钥; 当需使
用dA对消息M签名时, 签名装置和签名 辅助系统
在[1,n‑1]内随机选择整数k1、 k2, 在不暴露各 自
秘密的情况下计算得到Q=[k1+k2(1+dA)]G, s=
((k2+(k1+r)(1+dA)‑1‑r)mod n, 其中r由消息M和
Q计算得到, (r,s)为数字 签名。
权利要求书6页 说明书17页 附图1页
CN 115314207 A
2022.11.08
CN 115314207 A
1.一种SM2签名制作数据的安全可控使用方法, 其特 征是:
签名装置有PA=[dA]G, cA1=(c0(1+dA)‑1)mod n, t2=EH((c0)‑1), 其中G为SM2椭圆曲线点
群的基点, dA为用户的SM2签名私钥, PA为签名私钥dA对应的SM2公钥, n为基点G的阶, n为素
数, (1+dA)‑1为(1+dA)的模n乘法逆, c0为[1,n‑1]内的签名装置不知道的整数秘密, cA1为签
名装置的秘密, (c0)‑1为c0模n乘法逆, EH((c0)‑1)表示针对(c0)‑1的加密运 算;
针对(c0)‑1的加密运算EH(·)包括乘数加密算法的加密运算, 简称乘数加密运算, 以及
同态加密算法的加密运算, 简称同态加密运算, 其中同态加密运算又包括加法 同态加密算
法的加密运 算、 全同态加密算法的加密运 算;
若加密运 算EH(·)为乘数加密运 算, 则:
t2=EH((c0)‑1)=((c0)‑1(t0)‑1)mod n, 其中(t0)‑1分别为t0的模n乘法逆, t0是计算t2时
在[1,n‑1]内随机选择的一个作为乘数加密运算 的密钥的整数, 或者t0是签名辅助系统在
[1,n‑1]内的乘数加密 密钥;
若加密运 算EH(·)为同态加密运 算, 则:
t2=EH((c0)‑1)是采用签名辅助系统的同态加密算法的公钥进行加密运算的结果, 或者
是采用临时生成的同态加密 算法的公私钥对中的公钥进行加密 运算的结果, 与加密运算EH
(·)所采用的公钥对应的用于进行解密运 算的私钥为t0;
EH(·)对应有解密运算DH(·); 乘数解密运算DH(·)的密钥t0和同态解密运算DH(·)的
私钥t0称为解密运算DH(·)的解密密钥;
若t0是临时生成的乘数加密算法的密钥或临时生成的同态加密算法的私钥, 则:
密钥t0经使用签名辅助系统的对称密钥加密后 得到t0的密文g2, 或者, 密钥t0经使用签
名辅助系统的公钥加密后得到t0的密文g2; 签名装置有t0的密文g2;
若t0是签名辅助系统的乘数加密密钥 或签名辅助系统的同态加密算法的私钥, 则g2为
空;
当需要使用用户的SM2私钥dA针对消息M进行数字签名时, 签名装置和签名辅助系统按
如下方式生成数字签名:
在针对消息M进行数字签名前或时, 签名装置在[1,n ‑1]内随机选择一个整数t1, 计算c1
=(t1cA1)mod n;
若EH(·)为乘数加密运算, 则签名装置利用t2=EH((c0)‑1)计算得到c2=EH((c0)‑1(t1)‑1),
其中(t1)‑1为t1的模n乘法逆;
若EH(·)为同态加密算法的加密运算, 则签名装置利用t2=EH((c0)‑1)和同态加密运算
计算得到 c2=EH((c0)‑1(t1)‑1(mod n));
签名装置利用消息 M计算得到后续用于计算r=(e+x1)mod n的杂凑值e;
签名装置将PA、 e发送给签名辅助系统;
签名装置在[1,n ‑1]内随机 选择一个整数k1, 计算Q1=[k1]G;
签名辅助系统在[1,n ‑1]内随机 选择一个整数k2, 计算Q2=[k2](G+PA);
签名装置和签名辅助系统在确保对方不重新选择k1、 k2, 不重新计算Q1、 Q2的情况下, 交
换Q1、 Q2;
所述在确保对方不重新选择k1、 k2, 不重新计算Q1、 Q2的情况下, 交换Q1、 Q2指一方不能在
收到另一方的Q1或Q2后, 重新选择自己的k2或k1, 然后重新计算 Q2或Q1;权 利 要 求 书 1/6 页
2
CN 115314207 A
2签名装置计算 Q=Q1+Q2;
签名辅助系统计算 Qf=Q1+Q2;
签名装置、 签名辅助系统分别检查Q、 Qf是否为零元, 若Q和/或Qf为零元, 则重新选择k1、
k2, 重新计算 Q、 Qf, 直到Q和Qf为非零元;
签名装置计算r=(e+x1)mod n, 其中x1取自(x1,y1)=Q;
签名辅助系统计算rf=(e+x1f)mod n, 其中x1f取自(x1f,y1f)=Qf;
签名装置和签名辅助系统分别检查后续计算是否会出现(s+r)mod n=0和/或(s+rf)
mod n=0的情况, 若是, 则转入出错处 理, 否则, 继续;
签名装置计算s1=((k1+r)c1)mod n;
签名装置将PA、 s1、 c2、 g2传送给签名辅助系统;
若g2非空, 则签名辅助系统解密g2得到对c2进行解密运算的密钥t0, 使用解密得到的解
密密钥t0对c2进行解密运 算, 得到c2m=DH(c2)mod n;
若g2为空, 则签名辅助系统直接使用其所拥有的进行解密运算DH(·)的解密密钥t0对c2
进行解密运 算, 得到c2m=DH(c2)mod n;
签名辅助系统计算s2=(s1c2m)mod n;
签名辅助系统计算s=( (k2+s2)‑rf)mod n, 将s发送给签名装置;
签名辅助系统在将s发送给签名装置前, 验证s2或s是否是利用公钥PA对应的私钥dA计
算得到, 若验证失败则转入出错处 理;
签名装置接收到s后, 验证s是否是使用公钥 PA所对应的私钥dA按SM2数字签名的计算方
式计算得到, 若验证通过, 则(r,s)为消息 M的数字签名, 若验证不同通过, 则转入出错处 理;
在以上计算式 中, 对于一个整数a, a(mod n)表示与a模n同余的数;
所述签名辅助系统在辅助、 协助签名装置完成数字签名的生成之前, 先鉴别确认使用
签名装置的用户即签名者是否是公钥PA的拥有者;
所述签名辅助系统是辅助、 协作签名装置 完成SM2数字签名生成的装置或系统;
所述签名装置即签名者拥有的计算装置是具有计算能力、 包含软硬件的装置; 所述签
名装置通过其内实施的密码模块、 密码程序实施以上所述数字签名协同计算步骤, 实施S M2
数字签名功能。
2.根据权利要求1所述的SM2签名制作数据的安全可控使用方法, 其特 征是:
对于以上SM2签名制作数据的安全可控使用方法, 每次生成数字签名前或时更新计算
c1、 c2不是必须的。
3.根据权利要求2所述的SM2签名制作数据的安全可控使用方法, 其特 征是:
所述SM2签名制作数据的安全可控使用方法允许计算c1、 c2时固定取t1=1, 即固定取c1
=cA1, c2=t2; 若固定取t1=1, 则对(c0)‑1的加密运算t2=EH((c0)‑1)允许是乘 数加密和同态
加密之外的对称密钥密码算法或公钥密码算法的加密, 其中签名 辅助系统有解密t2得到
(c0)‑1的密钥。
4.根据权利要求3所述的SM2签名制作数据的安全可控使用方法, 其特 征是:
所述签名装置和签名辅助系统在确保对方不重新选择k1、 k2, 不重新计算Q1、 Q2的情况
下, 交换Q1、 Q2的一种方法如下:
签名装置 完成Q1=[k1]G计算后, 计算 Q1的杂凑值h1, 将h1发送给签名辅助系统;权 利 要 求 书 2/6 页
3
CN 115314207 A
3
专利 一种SM2签名制作数据的安全可控使用方法及系统
文档预览
中文文档
25 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共25页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 02:27:04上传分享