CN115941205A - 一种基于sm2的多重签名方法 - Google Patents

一种基于sm2的多重签名方法 Download PDF

Info

Publication number
CN115941205A
CN115941205A CN202211578120.0A CN202211578120A CN115941205A CN 115941205 A CN115941205 A CN 115941205A CN 202211578120 A CN202211578120 A CN 202211578120A CN 115941205 A CN115941205 A CN 115941205A
Authority
CN
China
Prior art keywords
signature
equal
computing
user
steps
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211578120.0A
Other languages
English (en)
Inventor
张磊
肖雨晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China Normal University
Original Assignee
East China Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by East China Normal University filed Critical East China Normal University
Priority to CN202211578120.0A priority Critical patent/CN115941205A/zh
Publication of CN115941205A publication Critical patent/CN115941205A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种基于SM2的多重签名方法,该方法包括:全局设置、初始化、签名和验证步骤。本发明针对目前缺乏SM2多重签名的现状,提出了一种SM2多重签名方案,在不需要提前协商签名临时公私钥的基础上,实现多重签名功能,不仅要求产生签名时集合中的用户必须同时参与,并且降低多重签名的交互轮次,将最终的签名长度压缩至总签名长度的一半,显著提高了SM2多重签名的通信效率与存储效率。本发明满足安全性、高效性等特点。

Description

一种基于SM2的多重签名方法
技术领域
本发明涉及信息安全技术,尤其涉及一种基于SM2的多重签名方法。
背景技术
数字签名是非对称密钥加密技术与数字摘要技术的应用,主要包括发送方的消息签名和接收方的消息签名认证。作为一种实现签名认证的重要技术,数字签名能够提供身份验证、数据完整性、不可抵赖等安全服务。
多重签名方案使一组签名者能够对一个公共消息生成一个紧凑的联合签名,具有许多潜在的用途。例如在去中心化的货币交易中,当使用多重签名地址时,即该地址与多个私钥相关,需要多方同时对某个交易进行签名,才能够动用多重签名地址所对应的账户资产。另外,当一笔交易可能具有多个交易输入时,需要每个交易输入对应的用户对这一笔交易进行联合支付,此时也需要使用多重签名。因此多重签名成为了研究热点。
SM2椭圆曲线公钥密码算法包括数字签名算法、密钥交换协议以及公钥加密算法,其安全性基于求解有限域上椭圆曲线离散对数问题的困难性。SM2算法在包括金融领域在内的商用密码体系中发挥着重要的安全保障作用。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于SM2的多重签名方法。
本发明解决其技术问题所采用的技术方案是:
一种基于SM2的多重签名方法,包括如下实体:签名者、验证者、生成和分发***参数的机构即可信机构TA,所述签名者为t个用户组成的集合S,假设第i个用户是Ui,其中t≥2,1≤i≤t,具体包括下列步骤:
(1):全局设置
TA根据初始的安全参数λ运行算法生成***参数Δ;
(2):初始化
每个用户生成自己的私钥di、公钥Qi、杂凑值Zi
(3):签名
签名者对待签名消息M生成SM2多重签名(r,s1,...,st);
(4):验证
验证者验证本次SM2多重签名的有效性;
按上述方案,所述步骤(3)中,各参与方之间的通信使用零知识证明来证明发送的数据是来自发送方。
本发明实现了一种基于SM2的多重签名功能,不仅要求产生签名时,集合中的用户必须同时参与,同时保证了签名的安全性;并且本发明产生的多重签名长度大致为直接串联所有签名所形成的总签名长度的一半,在一定程度上,减少了总签名的存储开销,保证了签名的紧凑性、高效性。
附图说明
图1为本发明的签名流程图;
图2为本发明的验证流程图。
具体实施方式
以下结合附图,对本发明进行详细描述。
参阅图1,本发明的一种基于SM2的多重签名方法,包括如下实体:签名者、验证者、生成和分发***参数的机构即可信机构TA,所述签名者为t个用户组成的集合S,假设第i个用户是Ui,其中t≥2,1≤i≤t,具体包括下列步骤:
(1):全局设置
输入一个安全参数λ,TA根据λ执行以下步骤:
1)选取有限域
Figure BDA0003983022670000021
其中q是一个奇素数或者是2的方幂;当q是奇素数p时,要求p>2191,椭圆曲线方程为:y2=x3+ax+b,其中
Figure BDA0003983022670000022
且4a3+27b2modp≠0;当q是2的方幂2m时,要求m>192且为素数,椭圆曲线方程为:y2+xy=x3+ax2+b,其中
Figure BDA0003983022670000023
且b≠0;椭圆曲线群
Figure BDA0003983022670000024
是所述椭圆曲线上的所有整数点,包括无穷远点O,组成的加法有限群,
Figure BDA0003983022670000025
的一个基点为G,G的坐标为(xG,yG),且G的阶为n;
2)选择消息摘要长度为整数的密码杂凑算法
Figure BDA0003983022670000026
3)选择消息摘要长度为v比特的密码杂凑算法Hv:{0,1}*→{0,1}v
4)选取单向转换函数
Figure BDA0003983022670000027
f的定义为:f(Q)=xQmodn,其中Q为
Figure BDA0003983022670000028
上的一点,xQ为点Q的x坐标的整数表示;
5)TA公开***参数:Δ=(G,n,q,a,b,xG,yG,H,Hv,f);
(2):初始化
用户Ui执行以下步骤:
1)任取一个整数di作为私钥,且1≤di≤n-2;
2)根据私钥计算公钥Qi=diG,其中Qi的坐标为(xi,yi);
3)计算并广播杂凑值Zi=Hv(ENTLi||IDi||a||b||xG||yG||xi||yi),其中IDi是每个签名者具有的长度为entleni比特的可辨别标识,ENTLi是由整数entleni转换而成的两个字节;
(3):签名
第一步:用户Ui执行以下步骤:
1)置
Figure BDA0003983022670000031
2)计算
Figure BDA0003983022670000032
3)任取整数ki,且1≤ki≤n-1;
4)计算kiG
5)广播kiG或者广播kiG的承诺Ci
6)如果第一步的5)广播的是kiG的承诺Ci,那么当用户Ui收到其他所有用户的承诺Cj后,j≠i,且1≤j≤t,广播kiG;如果第一步的5)广播的是kiG,则直接执行第二步;
第二步:用户Ui收到其他所有用户的kjG后,j≠i,且1≤j≤t,执行以下步骤:
1)如果第一步的5)广播的是kiG的承诺Ci,则按照该承诺方法重新计算其他用户的kjG的承诺Cj',并验证Cj=Cj'是否成立,若不成立则返回第一步的3);如果第一步的5)广播的是kiG,则直接执行第二步2);
2)计算
Figure BDA0003983022670000033
3)计算多重签名的第一部分r=(e+x)modn,若r=0则返回第一步的3);
4)计算并广播si=((1+di)-1(ki-rdi))modn,若si=0则返回第一步的3);
5)最终签名为σ=(r,s1,...,st);
(4):验证
参阅图2,接收的签名为:σ'=(r′,s′1,...,s′t),验证者执行以下步骤:
1)检验r'∈[1,n-1]是否成立,成立则继续验证,不成立则为无效签名;
2)检验si'∈[1,n-1],1≤i≤t,是否成立,成立则继续验证,不成立则为无效签名;
3)置
Figure BDA0003983022670000041
4)计算
Figure BDA0003983022670000042
5)计算
Figure BDA0003983022670000043
6)计算R=e'+x'modn;
7)检验R=r'是否成立,成立则为有效多重签名,不成立则为无效签名。

Claims (2)

1.一种基于SM2的多重签名方法,包括如下实体:签名者、验证者、生成和分发***参数的机构即可信机构TA,所述签名者为t个用户组成的集合S,假设第i个用户是Ui,其中t≥2,1≤i≤t,其特征在于,具体步骤如下:
步骤1:全局设置
TA根据初始的安全参数λ运行算法生成***参数Δ;
步骤2:初始化
每个用户生成自己的私钥di、公钥Qi及杂凑值Zi
步骤3:签名
签名者对待签名消息M生成SM2多重签名(r,s1,...,st);
步骤4:验证
验证者验证本次SM2多重签名的有效性;其中:
所述步骤1具体包括:
输入一个安全参数λ,TA根据λ执行以下步骤:
1)选取有限域
Figure FDA0003983022660000011
其中q是一个奇素数或者是2的方幂;当q是奇素数p时,要求p>2191,椭圆曲线方程为:y2=x3+ax+b,其中
Figure FDA0003983022660000012
且4a3+27b2modp≠0;当q是2的方幂2m时,要求m>192且为素数,椭圆曲线方程为:y2+xy=x3+ax2+b,其中
Figure FDA0003983022660000013
且b≠0;椭圆曲线群
Figure FDA0003983022660000014
是所述椭圆曲线上的所有整数点,包括无穷远点O,组成的加法有限群,
Figure FDA0003983022660000015
的一个基点为G,G的坐标为(xG,yG),且G的阶为n;
2)选择消息摘要长度为整数的密码杂凑算法
Figure FDA0003983022660000016
3)选择消息摘要长度为v比特的密码杂凑算法Hv:{0,1}*→{0,1}v
4)选取单向转换函数
Figure FDA0003983022660000017
f的定义为:f(Q)=xQmodn,其中Q为
Figure FDA0003983022660000018
上的一点,xQ为点Q的x坐标的整数表示;
5)TA公开***参数:Δ=(G,n,q,a,b,xG,yG,H,Hv,f);
所述步骤2具体包括:
用户Ui执行以下步骤:
1)任取一个整数di作为私钥,且1≤di≤n-2;
2)根据私钥计算公钥Qi=diG,其中Qi的坐标为(xi,yi);
3)计算并广播杂凑值Zi=Hv(ENTLi||IDi||a||b||xG||yG||xi||yi),其中IDi是每个签名者具有的长度为entleni比特的可辨别标识,ENTLi是由整数entleni转换而成的两个字节;
所述步骤3具体包括:
第一步:用户Ui执行以下步骤:
1)置
Figure FDA0003983022660000021
2)计算
Figure FDA0003983022660000022
3)任取整数ki,且1≤ki≤n-1;
4)计算kiG
5)广播kiG或者广播kiG的承诺Ci
6)如果第一步的5)广播的是kiG的承诺Ci,那么当用户Ui收到其他所有用户的承诺Cj后,j≠i,且1≤j≤t,广播kiG;如果第一步的5)广播的是kiG,则直接执行第二步;
第二步:用户Ui收到其他所有用户的kjG后,j≠i,且1≤j≤t,执行以下步骤:
1)如果第一步的5)广播的是kiG的承诺Ci,则按照该承诺方法重新计算其他用户的kjG的承诺Cj',并验证Cj=Cj'是否成立,若不成立则返回第一步的3);如果第一步的5)广播的是kiG,则直接执行第二步2);
2)计算
Figure FDA0003983022660000023
3)计算多重签名的第一部分r=(e+x)modn,若r=0则返回第一步的3);
4)计算并广播si=((1+di)-1(ki-rdi))modn,若si=0则返回第一步的3);
5)最终签名为σ=(r,s1,...,st);
所述步骤4具体包括:
接收的签名为:σ'=(r′,s′1,...,s′t),验证者执行以下步骤:
1)检验r'∈[1,n-1]是否成立,成立则继续验证,不成立则为无效签名;
2)检验si'∈[1,n-1],1≤i≤t,是否成立,成立则继续验证,不成立则为无效签名;
3)置
Figure FDA0003983022660000031
4)计算
Figure FDA0003983022660000032
5)计算
Figure FDA0003983022660000033
6)计算R=e'+x'modn;
7)检验R=r'是否成立,成立则为有效多重签名,不成立则为无效签名。
2.根据权利要求1所述的基于SM2的多重签名方法,其特征在于,所述步骤3中,各用户的通信使用零知识证明来证明发送的数据是来自发送方。
CN202211578120.0A 2022-12-06 2022-12-06 一种基于sm2的多重签名方法 Pending CN115941205A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211578120.0A CN115941205A (zh) 2022-12-06 2022-12-06 一种基于sm2的多重签名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211578120.0A CN115941205A (zh) 2022-12-06 2022-12-06 一种基于sm2的多重签名方法

Publications (1)

Publication Number Publication Date
CN115941205A true CN115941205A (zh) 2023-04-07

Family

ID=86697331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211578120.0A Pending CN115941205A (zh) 2022-12-06 2022-12-06 一种基于sm2的多重签名方法

Country Status (1)

Country Link
CN (1) CN115941205A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117499039A (zh) * 2023-10-09 2024-02-02 贵州大学 基于椭圆曲线公钥密码算法的区块链签名方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117499039A (zh) * 2023-10-09 2024-02-02 贵州大学 基于椭圆曲线公钥密码算法的区块链签名方法
CN117499039B (zh) * 2023-10-09 2024-03-26 贵州大学 基于椭圆曲线公钥密码算法的区块链签名方法

Similar Documents

Publication Publication Date Title
CN108551392B (zh) 一种基于sm9数字签名的盲签名生成方法及***
CN108989047B (zh) 一种基于sm2算法的通信双方协同签名方法与***
CN110247757B (zh) 基于国密算法的区块链处理方法、装置及***
CN108667625B (zh) 协同sm2的数字签名方法
US20070043946A1 (en) Key confirmed authenticated key exchange with derived ephemeral keys
US20110010540A1 (en) Method for Providing Information Security for Wireless Transmissions
CN107911217B (zh) 基于ecdsa算法协同生成签名的方法、装置和数据处理***
JP2002099211A (ja) 公開鍵証明書発行要求処理システムおよび公開鍵証明書発行要求処理方法
CN107171788B (zh) 一种基于身份且签名长度恒定的在线离线聚合签名方法
JP2002534701A (ja) 寄託されない署名専用キーを用いた自動回復可能な自動可能暗号システム
US9088419B2 (en) Keyed PV signatures
CN113676333A (zh) 一种两方协作生成sm2盲签名方法
CN108449326B (zh) 一种异构可否认的认证方法和***
WO2012156254A1 (en) A method for performing a group digital signature
Yang et al. Digital signature based on ISRSAC
CN115442057A (zh) 一种具有强不可链接性的可随机化盲签名方法及***
CN118160275A (zh) 阈值签名方案
CN115941205A (zh) 一种基于sm2的多重签名方法
Yang et al. A provably secure and efficient strong designated verifier signature scheme
NL1043779B1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
CN116961917A (zh) 一种基于ecdsa的多方协同门限签名方法、装置和***
Seo et al. A mediated proxy signature scheme with fast revocation for electronic transactions
CN114978488A (zh) 一种基于sm2算法的协同签名方法及***
US20020044648A1 (en) Methods and systems for efficient chained certification
CN113872767A (zh) 一种基于ecdsa算法的两方协同签名方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination