CN109474422B - 一种多方协同产生sm2数字签名的方法 - Google Patents
一种多方协同产生sm2数字签名的方法 Download PDFInfo
- Publication number
- CN109474422B CN109474422B CN201811379400.2A CN201811379400A CN109474422B CN 109474422 B CN109474422 B CN 109474422B CN 201811379400 A CN201811379400 A CN 201811379400A CN 109474422 B CN109474422 B CN 109474422B
- Authority
- CN
- China
- Prior art keywords
- user
- digital signature
- calculating
- users
- signature
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种多方协同产生SM2数字签名的方法,该方法包括以下步骤:参加算法产生的t个参与者,在集合{1,…,n}中随机选取两个数ui和ρi,并通过交互产生SM2数字签名的公钥Q。t个参与者从{1,…,n}中随机选取ki,通过交互首先计算出签名的第一部分r,t个参与者通过r再次交互计算出签名的第二部分s,最后公布完整的SM2数字签名(r,s)。本发明实现了多方协同产生SM2数字签名的功能,不仅要求产生签名时,集合中的用户必须同时参与,同时保证了签名私钥的安全性、高效性。
Description
技术领域
本发明涉及信息安全技术,尤其涉及一种多方协同产生SM2数字签名的方法。
背景技术
数字签名是公钥密码体系中重要的一部分,在很多场合有着重要的作用。一般情况下,一方产生数字签名,可以被另一方公开被验证。在某些场合,需要多方对一份文件产生数字签名,比如一些高机密的文档,需要被多人签名。在去中心化的货币交易中,例如比特币交易,也需要多方同时对某个交易进行签名,如果私钥被盗则会造成直接的经济损失。因此,多方协同产生数字签名成为了研究热点。
对于此类问题,比较常见的解决方法是将私钥分割为多份后发给多个参与方,当需要使用私钥进行签名时,t个被分割的密钥份额可以恢复用户的原始私钥,如果低于t个参与者,则无法恢复原始私钥。一旦私钥被恢复,拥有原始私钥的一方都可以在其他参与方不知晓的情况下产生数字签名。
针对这种情况,本专利设计了一种多方协同产生SM2数字签名的方案,此方案在多方协同产生签名的情况下,既能保证签名的正确性,又能保证私钥不被泄露,且产生签名的过程中必须由多方同时参与。
SM2是由国家密码管理局颁布的一种椭圆曲线公钥密码算法(参见《SM2椭圆曲线公钥密码算法》规范,国家密码管理局,2010年12月),基于此算法能实现数字签名、密钥交换及数据加密。在这里,不同于各种普通的密钥分割或门限秘密分割。本专利提出的多方协同产生SM2数字签名的方法与系统,必须在多方共同运算下才能产生,并且任何一方都无法得到原始私钥。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种多方协同产生SM2数字签名的方法。
本发明解决其技术问题所采用的技术方案是:一种多方协同产生SM2数字签名的方法,所述多方为t个用户组成的集合S共同参与,假设第i个用户是Ui,其中,t≥2,1≤i≤t;
包括以下步骤:
1)多方协同产生密钥对;
其中,n为基点G的阶;G为椭圆曲线的一个基点,其阶为素数;
令u=∑iui,ρ=∑iρi,则得到uρ=∑i,j∈suiρjmodn;
1.2)任意的两个用户Ui,Uj进行交互,将由ui和ρj相乘所得到的秘密值uiρj变为两个秘密值αij和βij的和,即满足αij+βij=uiρj;随后,每个用户Ui(1≤i≤t)计算δi=uiρi+∑j≠iαij+∑j≠iβji,并广播δi,这里δi即是(t,t)加法门限共享uρ的份额;
1.3)每个用户Ui(1≤i≤t)打开所有承诺并广播Yi,用户在收到广播后,首先计算uρ=∑iδi,然后计算并公开SM2数字签名的公钥Q=(uρ)-1∑iYi-G;设Q对应的SM2数字签名的私钥为x,则容易验证x满足u=(1+x)-1;用户Ui保存公钥Q和自己的部分私钥ui,ρi;
2)多方协同产生SM2数字签名;
2.2)任意的两个用户Ui,Uj(1≤i,j≤t)进行交互,将由ki和uj相乘所得到的秘密值kiuj变为两个秘密值μij和νij的和,即满足μij+νij=kiuj(包括但不限于使用同态加密或者不经意传输方案)。随后,每个用户Ui设置σi=kiui+∑j≠iμij+∑j≠ivji,这里σi即是(t,t)加法门限共享ku的份额;
该步骤中,所有用户都需要两两交互,对于任意的一个用户i,当他与所有用户两两交互完后,计算出σi。
每个用户Ui计算ηi=uir,广播si=σi+ηi;
2.4)每个用户Ui(1≤i≤t)计算签名的第二部分s=∑isi-r;并验证(r,s是否合法,如果合法则输出(r,s),否则终止。
按上述方案,所述步骤1.2)中,将秘密值uiρj变为两个秘密值αij和βij的和,使用同态加密或者不经意传输获得。
按上述方案,所述步骤1)和步骤2)中,各参与方之间的通信使用零知识证明来证明发送的数据是来自发送方。
本发明产生的有益效果是:
1、目前现有的普通的密钥分割或门限秘密分割能够将密钥进行分割,但是在签名的阶段,密钥会被恢复并被某一方所掌握,这样降低了多方签名的安全性和公平性,持有完整私钥的一方可以在其他用户不知情的情况下完成签名。
2、现存的不需恢复私钥的多方签名方案使用了大量的同态签名算法和零知识证明,使得方案的效率低下。
3、本发明实现了多方协同产生SM2数字签名的功能,不仅要求产生签名时,集合中的用户必须同时参与,同时保证了签名私钥的安全性、高效性。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的方法流程示意图。
图2是本发明实施例的方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
一、符号及定义
Ui:第i个用户。
x:SM2签名算法的私钥。
e:密码杂凑函数作用于消息m的输出值。
G:椭圆曲线的一个基点,其阶为素数。
h():消息摘要长度为v比特的密码杂凑函数。
m:待签名的消息。
mod n:模n运算。例如,23mod7≡2。
n:基点G的阶。
O:椭圆曲线上的一个特殊点,称为无穷远点或零点,是椭圆曲线加法群的单位元。
x||y:x与y的拼接,其中x,y可以是比特串或字节串。
kP:椭圆曲线上点P的k倍点,k是正整数。
[x,y]:大于或等于x且小于或等于y的整数的集合。
(rx,ry):某一点的x坐标的值和y坐标的值。
∑iai:将所有的ai都累加起来,即a1+ai+…+at。
∑i,j∈Saibj:将所有i,j属于集合S的aibj累加起来,即a1∑j∈Sbj+a2∑j∈Sbj+…+an∑j∈Sbj。
如图1所示,一种多方协同产生SM2数字签名的方法,
对于本方案,需要t(t≥2)个用户构成的集合S中的所有用户参与,假设第i(1≤i≤t)个用户是Ui。
一、首先是多方协同产生密钥对阶段,此阶段由S中的用户共同完成:
2)任意的两个用户Ui,Uj进行交互,将由ui和ρj相乘所得到的秘密值uiρj变为两个秘密值αij和βij的和,即满足αij+βij=uiρj(包括但不限于使用同态加密或者不经意传输方案)。随后,用户Ui(1≤i≤t)计算δi=uiρi+∑j≠iαij+∑j≠iβji,并广播δi,这里δi即是(t,t)加法门限共享uρ的份额。
(uρ)-1∑iYi-G。设Q对应的SM2数字签名的私钥为x,则x满足u=(1+x)-1。用户Ui保存公钥Q和自己的部分私钥ui,ρi。
多方协同产生密钥对结束。
二、如图2,多方协同产生SM2数字签名阶段,由集合S中的用户共同完成:
2)任意的两个用户Ui,Uj进行交互,将由ki和uj相乘所得到的秘密值kiuj变为两个秘密值μij和νij的和,即满足并满足μij+vij=kiuj(包括但不限于使用同态加密或者不经意传输方案)。随后,每个用户Ui设置σi=kiui+∑j≠iμij+∑j≠ivji,这里σi即是(t,t)加法门限共享ku的份额。
4)每个用户Ui(1≤i≤t)计算签名的第二部分s=∑isi-r。,并验证(r,s)是否合法,如果合法则输出(r,s),否则终止程序。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (3)
1.一种多方协同产生SM2数字签名的方法,所述多方为t个用户组成的集合S共同参与,假设第i个用户是Ui,其中,t≥2,1≤i≤t;其特征在于,
包括以下步骤:
1)多方协同产生密钥对;
其中,n为基点G的阶;G为椭圆曲线的一个基点,其阶为素数;
令u=∑iui,ρ=∑iρi,则得到uρ=∑i,j∈Suiρjmodn;
1.2)任意的两个用户Ui,Uj进行交互,将由ui和ρj相乘所得到的秘密值uiρj变为两个秘密值αij和βij的和,即满足αij+βij=uiρj;随后,每个用户Ui计算δi=uiρi+∑j≠iαij+∑j≠iβji,并广播δi,这里δi即是(t,t)加法门限共享uρ的份额;
1.3)每个用户Ui打开所有承诺并广播Yi,用户在收到广播后,首先计算uρ=∑iδi,然后计算并公开SM2数字签名的公钥Q=(uρ)-1∑iYi-G;设Q对应的SM2数字签名的私钥为x,则容易验证x满足u=(1+x)-1;用户Ui保存公钥Q和自己的部分私钥ui,ρi;
2)多方协同产生SM2数字签名;
2.2)任意的两个用户Ui,Uj,1≤i,j≤t;进行交互,将由ki和uj相乘所得到的秘密值kiuj变为两个秘密值μij和vij的和,即满足μij+vij=kiuj;随后,每个用户Ui设置σi=kiui+∑j≠iμij+∑j≠iνji,这里σi即是(t,t)加法门限共享ku的份额;
每个用户Ui计算ηi=uir,广播si=σi+ηi;
2.4)每个用户Ui计算签名的第二部分s=∑isi-r;并验证(r,s)是否合法,如果合法则输出(r,s),否则终止。
2.根据权利要求1所述的多方协同产生SM2数字签名的方法,其特征在于,所述步骤1.2)中,将秘密值uiρj变为两个秘密值αij和βij的和,使用同态加密或者不经意传输获得。
3.根据权利要求1所述的多方协同产生SM2数字签名的方法,其特征在于,所述步骤1)和步骤2)中,各参与方之间的通信使用零知识证明来证明发送的数据是来自发送方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811379400.2A CN109474422B (zh) | 2018-11-19 | 2018-11-19 | 一种多方协同产生sm2数字签名的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811379400.2A CN109474422B (zh) | 2018-11-19 | 2018-11-19 | 一种多方协同产生sm2数字签名的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109474422A CN109474422A (zh) | 2019-03-15 |
CN109474422B true CN109474422B (zh) | 2021-07-02 |
Family
ID=65672859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811379400.2A Active CN109474422B (zh) | 2018-11-19 | 2018-11-19 | 一种多方协同产生sm2数字签名的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109474422B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110289968B (zh) * | 2019-06-27 | 2022-06-24 | 矩阵元技术(深圳)有限公司 | 私钥恢复、协同地址的创建、签名方法及装置、存储介质 |
WO2020258125A1 (zh) * | 2019-06-27 | 2020-12-30 | 云图有限公司 | 私钥恢复、协同地址的创建、签名方法及装置、存储介质 |
CN110401524B (zh) * | 2019-08-27 | 2022-11-01 | 武汉理工大学 | 一种借助同态加密的包含秘密的数的协同生成方法及系统 |
CN110798313B (zh) * | 2019-10-31 | 2020-10-02 | 武汉理工大学 | 基于秘密动态共享的包含秘密的数的协同生成方法及系统 |
CN110943828B (zh) * | 2019-11-05 | 2021-01-08 | 武汉理工大学 | 秘密数运算转换方法及系统 |
CN110943829A (zh) * | 2019-11-08 | 2020-03-31 | 中国电子科技网络信息安全有限公司 | 一种三方协同生成sm2签名的方法 |
CN111130804B (zh) * | 2019-12-27 | 2022-09-06 | 上海市数字证书认证中心有限公司 | 一种基于sm2算法的协同签名方法及装置、系统、介质 |
CN111049650B (zh) * | 2019-12-27 | 2022-10-25 | 上海市数字证书认证中心有限公司 | 一种基于sm2算法的协同解密方法及装置、系统、介质 |
CN111756537B (zh) * | 2020-07-13 | 2022-11-29 | 广州安研信息科技有限公司 | 基于sm2标准的两方协同解密方法、系统及存储介质 |
CN111901123B (zh) * | 2020-07-15 | 2022-07-05 | 杭州安恒信息安全技术有限公司 | 一种sm2签名的生成方法、存储介质和终端 |
CN114070564A (zh) * | 2020-07-31 | 2022-02-18 | 华为技术有限公司 | 数字签名的方法和装置 |
CN112152808B (zh) * | 2020-09-27 | 2022-11-11 | 成都国泰网信科技有限公司 | 一种基于sm2算法的多方协同数字签名方法 |
CN113918979A (zh) * | 2021-10-29 | 2022-01-11 | 西安邮电大学 | 基于移动key密钥保护技术的sm2签名方法 |
CN114301594B (zh) * | 2022-03-01 | 2022-05-17 | 华控清交信息科技(北京)有限公司 | 一种不经意传输方法、多方安全计算平台和用于不经意传输的装置 |
CN115473635B (zh) * | 2022-08-24 | 2024-04-19 | 武汉大学 | 一种抗恶意敌手的sm2两方适配器签名生成方法及装置 |
CN115473633B (zh) * | 2022-08-24 | 2024-05-31 | 武汉大学 | 一种多方协同产生sm2数字签名的方法及装置 |
CN117439737B (zh) * | 2023-12-18 | 2024-02-27 | 北京信安世纪科技股份有限公司 | 协同签名方法和协同签名系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431414A (zh) * | 2008-12-15 | 2009-05-13 | 西安电子科技大学 | 基于身份的认证群组密钥管理方法 |
WO2012172080A1 (en) * | 2011-06-17 | 2012-12-20 | Universite Libre De Bruxelles | Generation of cryptographic keys |
US8577029B2 (en) * | 2010-09-10 | 2013-11-05 | International Business Machines Corporation | Oblivious transfer with hidden access control lists |
CN106603231A (zh) * | 2017-01-20 | 2017-04-26 | 武汉理工大学 | 基于去秘密化的分布式sm2数字签名生成方法及系统 |
CN107682151A (zh) * | 2017-10-30 | 2018-02-09 | 武汉大学 | 一种gost数字签名生成方法及系统 |
CN108667625A (zh) * | 2018-07-19 | 2018-10-16 | 数安时代科技股份有限公司 | 协同sm2的数字签名方法 |
CN108667627A (zh) * | 2018-07-20 | 2018-10-16 | 武汉大学 | 基于两方协同的sm2数字签名方法 |
-
2018
- 2018-11-19 CN CN201811379400.2A patent/CN109474422B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431414A (zh) * | 2008-12-15 | 2009-05-13 | 西安电子科技大学 | 基于身份的认证群组密钥管理方法 |
US8577029B2 (en) * | 2010-09-10 | 2013-11-05 | International Business Machines Corporation | Oblivious transfer with hidden access control lists |
WO2012172080A1 (en) * | 2011-06-17 | 2012-12-20 | Universite Libre De Bruxelles | Generation of cryptographic keys |
CN106603231A (zh) * | 2017-01-20 | 2017-04-26 | 武汉理工大学 | 基于去秘密化的分布式sm2数字签名生成方法及系统 |
CN107682151A (zh) * | 2017-10-30 | 2018-02-09 | 武汉大学 | 一种gost数字签名生成方法及系统 |
CN108667625A (zh) * | 2018-07-19 | 2018-10-16 | 数安时代科技股份有限公司 | 协同sm2的数字签名方法 |
CN108667627A (zh) * | 2018-07-20 | 2018-10-16 | 武汉大学 | 基于两方协同的sm2数字签名方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109474422A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474422B (zh) | 一种多方协同产生sm2数字签名的方法 | |
US20230421375A1 (en) | Threshold digital signature method and system | |
CN107707358B (zh) | 一种ec-kcdsa数字签名生成方法及系统 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN108667625B (zh) | 协同sm2的数字签名方法 | |
CN109660361B (zh) | 一种对称环境下多方联合生成sm9数字签名的方法 | |
CN108667627B (zh) | 基于两方协同的sm2数字签名方法 | |
CN110011803B (zh) | 一种轻量级sm2两方协同生成数字签名的方法 | |
Huang et al. | Short designated verifier signature scheme and its identity-based variant | |
CN109639439B (zh) | 一种基于两方协同的ecdsa数字签名方法 | |
CN109547199B (zh) | 一种多方联合生成sm2数字签名的方法 | |
CN111010285B (zh) | 一种适用于轻量级客户端的sm2两方协同签名方法及介质 | |
CN104967513A (zh) | 具有多重安全属性的基于身份的多接收者环签密方法 | |
CN109981269B (zh) | 一种安全高效的sm9多方密钥分发方法与装置 | |
Lai et al. | An efficient quantum blind digital signature scheme | |
CN108768634A (zh) | 可验证加密签名生成方法和系统 | |
EP4423961A1 (en) | Generating shared keys | |
WO2023016729A1 (en) | Generating digital signature shares | |
Zhang et al. | Strong designated verifier signature scheme resisting replay attack | |
CN115473633A (zh) | 一种多方协同产生sm2数字签名的方法及装置 | |
CN110995441A (zh) | 一种多方协同EdDSA数字签名生成方法与介质 | |
CN111130786A (zh) | 一种多方协同sm2密钥生成、密文解密方法与介质 | |
CN110958114A (zh) | 一种两方协同sm2密钥生成、密文解密方法与介质 | |
Das | Key-escrow free multi-signature scheme using bilinear pairings | |
CN115473635B (zh) | 一种抗恶意敌手的sm2两方适配器签名生成方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |