(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210562414.8
(22)申请日 2022.05.23
(71)申请人 南京隐私遁区块链科技有限公司
地址 210000 江苏省南京市 建邺区所街1 16
号711-60室
(72)发明人 刘琥
(74)专利代理 机构 北京博识智 信专利代理事务
所(普通合伙) 16067
专利代理师 牛琳
(51)Int.Cl.
H04L 9/32(2006.01)
(54)发明名称
一种基于SM2的改良的定向签名算法
(57)摘要
本发明公开了一种基于SM2的改良的定向签
名算法, 包括签名者和验证者, 设定用户A作为签
名者, 用户B作为验证者, 签名者具有长度为
entlen比特的可辨别表示IDA、 私钥dA、 公钥PA=
(xA,yA)、 代签名的消息为M; 验证者具有长度为
entlen比特的私钥dB公钥PB=(xB,yB); 预计算
出ZA=H256(entlen∥IDA∥a∥b∥Gx∥Gy∥xA
∥yA); 作为签名者的用户A进行传输待签名的消
息M; 作为验证者的用户B为了检验收到的消息M
及其数字签名(r、 s); 本发明包含多种密码的应
用, 针对签名者或验证者不想公开的隐私数据,
通过密码设置以及相关算法的应用, 确保了数据
的完整性、 保密性。
权利要求书2页 说明书4页 附图2页
CN 115021928 A
2022.09.06
CN 115021928 A
1.一种基于SM2的改良的定向签名算法, 包括签名者和验证者, 其特征在于: 设定用户A
作为签名者, 用户B作为验证者, 所述签名者具有长度为ent len比特的可辨别表 示IDA、 私钥
dA、 公钥PA=(xA,yA)、 代签名的消息为M;
所述验证者具有长度为entlen比特的私钥dB公钥PB=(xB,yB);
预计算出ZA=H25 6(entlen∥IDA∥a∥b∥Gx∥Gy∥xA∥yA);
作为签名者的用户A进行传输待签名的消息 M, 执行以下步骤:
步骤1、 计算M *=ZA∥M;
步骤2、 计算e=Hv(M *), 将e的数据类型转换为整数;
步骤3、 用随机数发生器产生随机数k∈[1,n ‑1];
步骤4、 计算椭圆曲线点(x1,y1)= k*G, 将x1的数据类型转换为整数;
步骤5、 计算椭圆曲线点(x2,y2)= k*PB, 将x2的数据类型转换为整数;
步骤6、 计算r=(e+x1+x2)mod n, 若r=0或r+k =n, 则返回步骤3;
步骤7、 计算s=( (1+dA)‑1*(k‑r*dA))mod n, 若s=0, 则返回步骤3;
步骤8、 将r、 s的数据类型转换为字节串, 得到消息 M的签名为(r、 s);
作为验证者的用户B为了检验收到的消息 M及其数字签名(r、 s), 执 行以下步骤:
步骤1、 检验r∈[1,n ‑1]是否成立, 若不成立则验证不 通过;
步骤2、 检验s∈[1,n ‑1]是否成立, 若不成立则验证不 通过;
步骤3、 计算M *=ZA∥M;
步骤4、 计算e=Hv(M *), 将e的数据类型转换为整数;
步骤5、 计算t=(r+s)modn, 若t=0, 则验证不 通过;
步骤6、 计算椭圆曲线点Pk =(x1,y1)=s*G+t*PA, 将x1的数据类型转换为整数;
步骤7、 计算椭圆曲线点(x2,y2)=dB*Pk, 将x2的数据类型转换为整数;
步骤8、 将x1的数据类型转换为整数, 计算r1=(e+x1+x2)mod n, 检验r1=r是否成立,
若成立则验证通过; 若不成立验证不 通过。
2.根据权利要求1所述的一种基于SM2的改良的定向签名算法, 其特征在于: 所述H256
采用SM3杂凑算法, 但不限于SM 3杂凑算法。
3.根据权利要求1所述的一种基于SM2的改良的定向签名算法, 其特征在于: 随机数生
成技术包括但不限于Salsa20、 ANSI X9.17、 AES ‑CTR‑DRBG、 ISA AC。
4.根据权利要求1所述的一种基于SM2的改良的定向签名算法, 其特征在于: 所述e的数
据类型转换为整数, 是按照GM/T00O3.1—20124,2.4和4,2,3给出的方法进行数据类型的转
换;
所述X1的数据类型转换为整数, 是按照GM/T0003.1—20.12的4.2.8给出的方法进行数
据类型的转换;
所述X2的数据类型转换为整数, 也是按照GM/T0003.1—20.12的4.2.8给出的方法进行
数据类型的转换。
5.根据权利 要求1所述的一种基于SM2的改良的定向签名算法, 其特征在于: 所述的xA、
yA: 是指用户A的密钥对, 包括 其私钥dA和公钥PA=[dA] G=(xA,yA);
所述xB、 yB: 是指用户B的密钥对, 包括 其私钥dB和公钥PB=[dB] G=(xB,yB);
所述ZA是关于用户A的可辨别标识、 部分椭圆曲线系统参数和用户A公钥的杂凑值;权 利 要 求 书 1/2 页
2
CN 115021928 A
2所述a、 b: 是指有限域Fq中的元 素, 它们定义Fq上的一条椭圆曲线E;
所述Gx、 Gy是 Fq中的两个元 素;
所述M*是指待验证消息;
所述e是密码杂凑函数作用于消息 M*的输出值;
所述G是椭圆曲线的一个 基点, 其阶为素 数;
所述(r、 s)是指发送的签名。权 利 要 求 书 2/2 页
3
CN 115021928 A
3
专利 一种基于SM2的改良的定向签名算法
文档预览
中文文档
9 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:14:00上传分享