(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210786016.4
(22)申请日 2022.07.04
(71)申请人 武汉理工大 学
地址 430070 湖北省武汉市洪山区珞狮路
122号
(72)发明人 龙毅宏
(74)专利代理 机构 武汉科皓知识产权代理事务
所(特殊普通 合伙) 42222
专利代理师 罗飞
(51)Int.Cl.
H04L 9/30(2006.01)
H04L 9/08(2006.01)
H04L 9/32(2006.01)
(54)发明名称
一种安全 可控的SM9数字签名生 成方法及系
统
(57)摘要
发明涉及安全可控的SM9数字签名生成方
法: 签名装置有PA=[c‑1]dA, gc=g^(c‑1),cA1=
(c0c)mod n, t2=EH((c0)‑1), 其中dA为用户的SM9
签名私钥, c、 c0为[1,n‑1]内的签名装置不知道
的整数秘密, n为SM9双线性映射群的阶, cA1为签
名装置的秘密, g=e(P1,Ppub), EH((c0)‑1)表示针
对(c0)‑1的乘数加密运算或同态加密运算, 签名
辅助系统有或能得到解密运算的密钥; 当需使用
dA对消息M签名时, 签名装置和签名 辅助系统在
[1,n‑1]内随机选择整数r1、 r2,在不暴露各自秘
密的情况下计算得到w=g^(r1+c‑1r2), S=[r1+
c‑1r2‑h]dA, 其中h由消息M和w计算得到, 则(h,S)
为数字签名。
权利要求书4页 说明书15页 附图1页
CN 115314208 A
2022.11.08
CN 115314208 A
1.一种安全可控的SM9数字签名生成方法, 其特 征是:
签名装置有PA=[c‑1]dA, gc=g^(c‑1),cA1=(c0c)mod n, t2=EH((c0)‑1), 其中dA为用户的
SM9签名私钥, c、 c0为[1,n‑1]内的签名装置不知道的整数秘密, c‑1、 (c0)‑1分别为c、 c0的模n
乘法逆, n为SM9双线性映射群G1、 G2、 GT的阶, n为素数, cA1为签名装 置的秘密, ^表示 幂运算, g
=e(P1,Ppub), P1为G1中的生成元, Ppub为主公钥, EH((c0)‑1)表示针对(c0)‑1的加密运 算;
针对(c0)‑1的加密运算EH(·)包括乘数加密算法的加密运算, 简称乘数加密运算, 以及
同态加密算法的加密运算, 简称同态加密运算, 其中同态加密运算又包括加法 同态加密算
法的加密运 算、 全同态加密算法的加密运 算;
若加密运 算EH(·)为乘数加密运 算, 则:
t2=EH((c0)‑1)=((c0)‑1(t0)‑1)mod n, 其中(c0)‑1、 (t0)‑1分别为c0、 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经使用签名辅助系统的对称密钥、 采用对称密钥加密算法加密后得到密文k2, 或
者, 密钥t0经使用签名辅助系统 的公钥、 采用公钥密码算法加密后得到密文k2; 签名装置有
t0的密文k2;
若t0是签名辅助系统的乘数加密密钥 或签名辅助系统的同态加密算法的私钥, 则k2为
空;
当需要使用用户的SM9私钥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));
签名装置在[1,n ‑1]内随机 选择一个整数r1, 计算g1=g^r1;
签名辅助系统在[1,n ‑1]内随机 选择一个整数r2, 计算g2=gc^r2;
签名装置和签名辅助系统在确保对方不重新选择r1、 r2, 不重新计算g1、 g2的情况下, 交
换g1、 g2;
所述确保对方不重新选择r1、 r2, 不重新计算g1、 g2的情况下, 交换g1、 g2是指一方不能在
收到另一方的g2或g1后, 重新选择自己的r1或r2, 然后重新计算g1或g2;
签名装置计算 w=g1g2;权 利 要 求 书 1/4 页
2
CN 115314208 A
2签名辅助系统计算 wf=g1g2;
签名装置、 签名辅助系统分别检查w、 wf是否为单位元, 若w和/或wf为单位元, 则重新选
择r1、 r2, 重新计算 w、 wf, 直到w和wf为非单位元;
签名装置利用 消息M计算得到h=H2(M||w,n), 其中H2为SM9中规定的杂凑函数, M||w表
示将w转化成字串后与M的字串合并, n 为SM9密码算法中群G1、 G2、 GT的阶;
签名装置检查w与g^h是否相等, 若w=g^h, 则签名装置和签名辅助系统重新选择r1、 r2,
重新计算 w、 wf, 直到w≠g^ h;
签名装置计算s1=((r1‑h)c1)mod n或S1=[((r1‑h)c1)mod n]PA;
签名装置将s1或S1, PA、 h、 c2、 k2以及IDA或hID传送给签名辅助系统, 其中, IDA是用户的标
识, hID=H1(IDA||hid,n);
若k2非空, 则签名辅助系统解密k2得到对c2进行解密运算的密钥t0, 使用解密得到的解
密密钥t0对c2进行解密运 算, 得到c2m=DH(c2)mod n, 若签名验证不 通过, 则转入出错处 理;
若k2为空, 则签名辅助系统直接使用其拥有的进行解密运算DH(·)的解密密钥t0对c2进
行解密运 算, 得到c2m=DH(c2)mod n;
签名辅助系统计算S=[( (r2+s1c2m)mod n]PA, 或S=[r2]PA+[c2m]S1将发送给签名装置;
签名辅助系统在将S发送给签名装置前, 验证S1或S是否是使用与IDA或hID相对应的SM9
签名私钥dA计算得到, 若验证失败则转入出错处 理;
签名装置接收到S后, 验证S是否是使用r1、 r2、 h和IDA或hID对应的私钥dA按SM9数字签名
的计算方式计算得到, 若验证通过, 则(h,S)为消息 M的数字签名, 否则, 转入出错处 理;
所述签名辅助系统在辅助、 协助签名装置完成数字签名的生成之前, 先鉴别确认使用
签名装置的用户即签名者是否是IDA或hID的拥有者;
所述签名辅助系统是辅助、 协作签名装置 完成SM9数字签名生成的装置或系统;
所述签名装置即签名者拥有的计算装置是具有计算能力、 包含软硬件的装置; 所述签
名装置通过其内实施的密码模块、 密码程序实施以上所述数字签名计算步骤, 提供S M9数字
签名功能。
2.根据权利要求1所述的安全可控的SM9数字签名生成方法, 其特 征是:
每次生成数字签名前或时更新计算c1、 c2不是必须的。
3.根据权利要求2所述的安全可控的SM9数字签名生成方法, 其特 征是:
所述安全可控的SM9数字签名生成方法允许计算c1、 c2时固定取t1=1, 即固定取c1=
cA1, c2=t2; 若固定取t1=1, 则对(c0)‑1的加密运算t2=EH((c0)‑1)允许是乘 数加密和同态加
密之外的对称密钥密码算法或公钥密码算法的加密, 其中签名辅助系统有解密t2得到(c0)‑1
的密钥。
4.根据权利要求3所述的安全可控的SM9数字签名生成方法, 其特 征是:
所述签名装置和签名辅助系统在确保对方不重新选择r1、 r2, 不重新计算g1、 g2的情况
下, 交换g1、 g2的一种方法如下:
签名装置 完成g1=g^r1计算后, 计算g1的杂凑值h1, 将h1发送给签名辅助系统;
签名辅助系统完成g2=gc^r2计算后, 计算g2的杂凑值h2, 将h2发送给签名装置;
签名装置 接收到签名辅助系统的h2后, 将g1发送给签名辅助系统;
签名辅助系统接收到签名装置的h1后, 将g2发送给签名装置;权 利 要 求 书 2/4 页
3
CN 115314208 A
3
专利 一种安全可控的SM9数字签名生成方法及系统
文档预览
中文文档
21 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共21页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-03-03 12:16:43上传分享