CN113541926A - Sm2三方联合签名方法与系统 - Google Patents

Sm2三方联合签名方法与系统 Download PDF

Info

Publication number
CN113541926A
CN113541926A CN202010288792.2A CN202010288792A CN113541926A CN 113541926 A CN113541926 A CN 113541926A CN 202010288792 A CN202010288792 A CN 202010288792A CN 113541926 A CN113541926 A CN 113541926A
Authority
CN
China
Prior art keywords
signature
party
public key
private key
parties
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
CN202010288792.2A
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.)
Chengdu Tianrui Xin'an Technology Co ltd
Original Assignee
Chengdu Tianrui Xin'an Technology Co ltd
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 Chengdu Tianrui Xin'an Technology Co ltd filed Critical Chengdu Tianrui Xin'an Technology Co ltd
Priority to CN202010288792.2A priority Critical patent/CN113541926A/zh
Publication of CN113541926A publication Critical patent/CN113541926A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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/3252Cryptographic 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提出了三方计算中,三方联合签名的方法和系统。具体地,计算参与三方分别具有部分私钥,共有一个公钥。三方分别使用自己的部分私钥,通过联合计算才能对消息进行签名。联合签名计算中,参与三方均无法获取到对方私钥的任何信息。三方联合签名实现了对消息签名的三方共同确认;联合签名可以被三方共有公钥验签,一次验签就验证了三方的不可抵赖性;验签使用SM2算法的标准方法,从而能够兼容现有公钥应用。另外,攻击者在入侵其中任何一方的情况下,都不能伪造签名,从而提高了三方计算中的私钥安全性,也避免了私钥泄露后的签名滥用。

Description

SM2三方联合签名方法与系统
技术领域
本发明涉及SM2三方联合签名方法与应用系统,包括但不仅限于该领域。
背景技术
SM2算法是一种椭圆曲线(ECC)非对称密码算法算法,是我国自主研制的密码算法,并已经发布为国家标准GB/T 32918。SM2算法可以实现签名功能和验签功能。
根据算法规定,SM2算法签名方法描述如下:设G是椭圆曲线上的参考点,dA是私钥,PA是公钥,PA=dA*G,对消息e进行数字签名计算的签名结果为(r,s);首先选取随机数k,计算r=e+x1,其中(x1,y1)=k*G;计算s=(1+dA)-1*(k-r* dA)。
根据算法规定,SM2算法验证签名方法描述如下:已知签名(r,s)、公钥PA和SM2算法规定的椭圆曲线参数;首先计算t=r+s,如果t=0那么就没有验证通过;否则计算r’=x1+e,判断r’是否和r相等,如果相等则验证通过。
基于私钥唯一且由持有人所有,SM2签名可用于保证消息的完整性,保证交易的不可抵赖性。由于公钥可被公开性,该签名可以被各方验证。在签名应用中,如果一个消息需要被三方签名,现有做法是A签名后传递给B,B在A的基础上签名后传递给C,C在B的基础上再签名。该方法签名流程复杂,需要多次确认;同样,验签时需要多次验签和确认,才能证明交易的不可抵赖性。
发明内容
本发明提出一种SM2三方联合签名的方法和系统。具体地,参与三方分别具有部分私钥,共有一个公钥。三方分别使用自己的部分私钥,通过联合计算才能对消息进行签名,联合签名计算中,参与三方均无法获取到对方私钥的任何信息。联合计算得到的签名可以被三方共有的公钥验签,验签使用SM2算法的标准方法。该方法中,对消息的签名必须三方参与,签名同时保证了三方的操作确认。另外,攻击者在入侵其中任何一方的情况下,都不能伪造签名,从而提高了三方计算中的私钥安全性,避免私钥泄露后的签名滥用。签名可以被三方共有公钥验签,一次验证即可证明三方的不可抵赖性。验签使用SM2算法的标准方法,从而能够兼容现有公钥应用。
下面结合附图2对本发明进行详细说明。
本发明所述,参与三方分别具有部分私钥,共有一个公钥,说明如下。如图2中MA1所示,参与第一方记为A,具有私钥a和公钥Pa。如图2中MB1所示,参与第二方记为B,具有私钥b和公钥Pb。如图2中MC1所示,参与第三方记为C,具有私钥c和公钥Pc。
任何一方都可以计算三方共有公钥,本发明示例由C计算。如图2中所示,C将Pc发给B;B计算s21=b*Pc;B将Pc、s21和Pb发送给A。A收到后,计算s22=a*Pb,计算s23=a*Pc,计算s24=a*s21=a*b*Pc; A发送Pa,Pb,s21,s22,s23给C。C收到后,如图2中MC2所示,计算公钥Pu=Pa+Pb+Pc+ a*Pb+a*Pc+b*Pc+a*b*Pc。其中+为椭圆曲线上的点加,*为大数乘,下同。由背景技术描述可知,SM2是一种规定了参数的椭圆曲线密码算法,该椭圆曲线上的点的集合属于加法域;由加法域的运算规则可知,Pu对应的私钥记为u=a+b+c+a*b+a*c+b*c+a*b*c,可知私钥a和私钥b是构成私钥u的部分私钥。共有公钥Pu可被发布为三方交易共用公钥。
本发明所述,参与三方分别使用自己的部分私钥,通过联合计算才能对消息进行签名,说明如下。如图2中MA3所示,对于消息E,参与方A使用私钥a计算第一部分签名Q1,计算过程如下:
1) A生成随机数m,计算s31=m*G,G为SM2的参考基点;
2) 生成随机数k,计算k*G,取该点的x1;
3) 计算消息E的散列值记为e,计算 r=e+x1;
4) 计算 s32=s31*k=m*G*k;
5) 计算s33=s31*(1+a)=m*G*(1+a);
记第一部分签名Q1=(r,s31,s32,s33)。参与方A发送Q1中的r、s31、s32发送给参与方C;将Q1中的s33发送给参与方B。
如图2中MB2所示,参与方B收到s33后,计算第二部分签名Q2,计算过程如下:
1)计算s41=s33* (1+b)= m*G*(1+a+b+a*b);
记第二部分签名Q2=s41,将Q2发送给C。
如图2中MC3所示,参与方C收到参与方A发送的r、s32、s33后,收到参与方B发送的s41后,计算完整签名Q3,计算过程如下:
1)计算s51=s41*(1+c)= m*G*(1+a+b+c+a*b+a*c+b*c+a*b*c)
2)对s51整体求逆,得到s52=( m*G*(1+a+b+c+a*b+a*c+b*c+a*b*c))-1,()-1表示对括号内的算式求逆;
3)计算s53=(s51-s31)* r= m*G*r*(a+b+c+a*b+a*c+b*c+a*b*c);
4)计算s54=s32-s53= m*G*(k-r*(a+b+c+a*b+a*c+b*c+a*b*c));
5)计算s55=s52*s54
=(m*G*(1+a+b+c+a*b+a*c+b*c+a*b*c))-1*m*G*(k-r*(a+b+c+a*b+a*c+b*c+a*b*c))
= (1+a+b+c+a*b+a*c+b*c+a*b*c) -1*(k-r*(a+b+c+a*b+a*c+b*c+a*b*c));
6)记s=s55,输出完整签名Q3=(r,s)作为消息E的签名。
由SM2签名算法可知,签名结果为(r,s),其中 r=e+x1, s=(1+dA)-1*(k-r* dA)。由上述共有公钥Pu可知,共有公钥Pu= Pa+Pb+Pc+ a*Pb+a*Pc+b*Pc+a*b*Pc,对应的私钥u=(a+b+c+a*b+a*c+b*c+a*b*c)。记私钥u为dA=(a+b+c+a*b+a*c+b*c+a*b*c),则s55=(1+dA)-1*(k-r* dA),可推导得出完整签名Q3符合SM2标准结构。
本发明所述,联合计算得到的签名可以被 参与三方的共有公钥验签,验签使用SM2算法的标准方法,说明如下。记私钥u为dA=(a+b+c+a*b+a*c+b*c+a*b*c),联合计算得到的完整签名Q3=(r,s),r=e+x1,s=(1+dA)-1*(k-r* dA)。由于Q2完全符合SM2签名方法,所以推导出该签名可以使用公钥Pu验签,验签算法使用SM2标准方法。
基于私钥唯一且由持有人所有,SM2签名可用于保证消息的完整性,保证交易的不可抵赖性。由于公钥可被公开性,该签名可以被各方验证。在三方签名应用中,本发明保证了签名由三方共同计算得出,保证了三方对交易的确认。签名可以被三方共有公钥验签,一次验证即可证明三方的交易不可抵赖性;验签使用SM2算法的标准方法,从而能够兼容现有公钥应用。另外,攻击者在入侵其中任何一方的情况下,都不能伪造签名,从而提高了三方计算中的私钥安全性,避免私钥泄露后的签名滥用。签名构造方式和SM2标准方法一致,已被充分证明其安全性。
附图说明
图1为SM2三方联合签名方法框图
图2 为SM2三方方联合签名详细步骤图
图3为交易双方+交易担保方三方联合签名应用示意图
具体实施方式
下面结合附图对SM2三方联合签名方法及系统进行说明。
图3是本发明在交易双方+交易担保方三方联合签名应用示意图。图中包括交易参与方甲,具有私钥a和公钥Pa;包括交易参与方乙,具有私钥b和公钥Pb;包括交易担保方丙,具有私钥c和公钥Pc;包括证书签发机构CA。
证书准备:交易担保方丙将Pc发送给参与方甲和乙,交易参与方甲和乙分别处理后发送给担保方丙。担保方丙计算共有公钥Pu= Pa+Pb+Pc+a*Pb+a*Pc+b*Pc+a*b*Pc。担保方丙将Pu发送给CA,CA签发含有该公钥的证书CPu,CPu可被发布。
联合签名:交易参与方甲发起和参与方乙的一个交易E,需要对交易E进行签名。交易参与方甲首先通过散列计算得到交易E的散列值e,然后使用部分私钥a计算第一部分签名Q1,计算过程见图2中的MA2。交易参与方甲将第一部分签名Q1分别发送给参与方乙和担保方丙。
交易参与方乙收到到Q1后,使用部分私钥b计算第二部分签名Q2,计算过程见图2中的MB2。乙将第二部分签名Q2发送给担保方丙。
交易担保方丙收到到Q1和Q2后,使用部分私钥c计算完整签名Q3,计算过程见图2中的MC3。丙完成签名后,将完整签名Q3发送给参与方甲和乙。甲、乙和丙均可将该签名和交易E一起发布。
签名验证:当交易参与三方中任何一方,或者其他第三方需要对交易E的完整性、真实性和不可抵赖性进行验证时,首先获得证书CPu,从其中获得共有公钥Pu;然后计算交易E的散列值e,使用Pu验证签名Q3。
该方案中,交易的签名由三方共同计算得出,保证了三方对交易的确认。签名可以被三方共有公钥验签,一次验证即可证明三方的交易不可抵赖性;验签使用SM2算法的标准方法,从而能够兼容现有公钥应用。另外,攻击者在入侵其中任何一方的情况下,都不能伪造签名,从而提高了三方计算中的私钥安全性,避免私钥泄露后的签名滥用。

Claims (6)

1.一种SM2三方联合签名的方法,三个参与方记为A、B和C,其中A有私钥a和公钥Pa,B有私钥b和公钥Pb,C有私钥c和公钥Pc;其特征在于:首先计算共有公钥,任两方可将公钥发送给第三方,由第三方生成共有公钥;本示例由C计算共有公钥。
2.本专利所述由C计算共有公钥,其特征在于:C将公钥Pc发送给B和A;B计算s21=b*Pc;B将Pb、s21发送给A;A计算s22=a*Pb,计算s23=a*Pc,计算s24=a*s21=a*b*Pc; A发送Pa,Pb,s21,s22,s23给C;C计算公钥Pu=Pa+Pb+Pc+ a*Pb+a*Pc+b*Pc+a*b*Pc;其中+为椭圆曲线上的点加,*为大数乘,下同;记Pu对应的私钥为u,私钥a、私钥b和私钥c是构成私钥u的部分私钥。
3.给定消息E,得到其散列值e;A使用私钥a计算第一部分签名Q1;其特征在于:A生成随机数k,计算s31=k*G,取该点的x1;计算 r=e+x1;计算s32= (1+a)*G;记Q1=(r,s31,s32);A将Q1发送B。
4.B收到Q1后,计算第二部分签名Q2;其特征在于:B生成随机数m,计算s41=m*G;计算s42=s31*m;计算s43=s32*(1+b)*m,记Q2=(r,s41,s42,s43);发送Q2给C。
5.C收到Q2后,计算完整签名Q3;其特征在于:计算s51=s43*(1+c);对s51整体求逆得到s52=(m*G* (1+a+b+c+a*b+a*c+b*c+a*b*c))-1,()-1表示对括号内的算式求逆;计算s53=(s51*-s41)*r;计算s54=s42-s53=m*G*(k-r(a+b+c+a*b+a*c+b*c+a*b*c));计算s55=s52*s54=(1+a+b+c+a*b+a*c+b*c+a*b*c) -1*(k-r(a+b+c+a*b+a*c+b*c+a*b*c));记s=s55,输出完整签名Q3=(r,s)作为消息E的签名,联合计算得到的签名结构和SM2标准结构一致。
6.其特征在于:不限于A或B或C,任何一方均可以使用联合公钥Pu验证消息E的签名Q3;验证算法使用SM2标准验证算法。
CN202010288792.2A 2020-04-14 2020-04-14 Sm2三方联合签名方法与系统 Pending CN113541926A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010288792.2A CN113541926A (zh) 2020-04-14 2020-04-14 Sm2三方联合签名方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010288792.2A CN113541926A (zh) 2020-04-14 2020-04-14 Sm2三方联合签名方法与系统

Publications (1)

Publication Number Publication Date
CN113541926A true CN113541926A (zh) 2021-10-22

Family

ID=78119929

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010288792.2A Pending CN113541926A (zh) 2020-04-14 2020-04-14 Sm2三方联合签名方法与系统

Country Status (1)

Country Link
CN (1) CN113541926A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016187689A1 (en) * 2015-05-26 2016-12-01 Infosec Global Inc. Signature protocol
CN107017993A (zh) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 一种多方联合密钥产生和数字签名方法及系统
CN107248909A (zh) * 2017-03-16 2017-10-13 北京百旺信安科技有限公司 一种基于sm2算法的无证书安全签名方法
CN109547199A (zh) * 2018-11-19 2019-03-29 武汉大学 一种多方联合生成sm2数字签名的方法
CN109743166A (zh) * 2018-12-10 2019-05-10 普华诚信信息技术有限公司 多方签名生成方法及安全信息验证系统
CN110943829A (zh) * 2019-11-08 2020-03-31 中国电子科技网络信息安全有限公司 一种三方协同生成sm2签名的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016187689A1 (en) * 2015-05-26 2016-12-01 Infosec Global Inc. Signature protocol
CN107248909A (zh) * 2017-03-16 2017-10-13 北京百旺信安科技有限公司 一种基于sm2算法的无证书安全签名方法
CN107017993A (zh) * 2017-04-01 2017-08-04 北京江南天安科技有限公司 一种多方联合密钥产生和数字签名方法及系统
CN109547199A (zh) * 2018-11-19 2019-03-29 武汉大学 一种多方联合生成sm2数字签名的方法
CN109743166A (zh) * 2018-12-10 2019-05-10 普华诚信信息技术有限公司 多方签名生成方法及安全信息验证系统
CN110943829A (zh) * 2019-11-08 2020-03-31 中国电子科技网络信息安全有限公司 一种三方协同生成sm2签名的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LIHAO WEI ET AL.: "A tightly secure multi-party-signature protocol in the plain model", 2015 8TH INTERNATIONAL CONFERENCE ON BIOMEDICAL ENGINEERING AND INFORMATICS (BMEI), 11 February 2016 (2016-02-11) *
苏吟雪;田海博;: "基于SM2的双方共同签名协议及其应用", 计算机学报, no. 04, 15 April 2020 (2020-04-15) *

Similar Documents

Publication Publication Date Title
CN109547212B (zh) 一种基于sm2签名算法的门限签名方法
CN107707358B (zh) 一种ec-kcdsa数字签名生成方法及系统
Wang et al. Security analysis of a single sign-on mechanism for distributed computer networks
CN108667625B (zh) 协同sm2的数字签名方法
CN114157427B (zh) 基于sm2数字签名的门限签名方法
WO2018112947A1 (zh) 生成区块链区块的方法、装置、节点、签名设备及系统
CN107248909B (zh) 一种基于sm2算法的无证书安全签名方法
CN107659395B (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
CN103248478A (zh) 基于多方安全协议的密封式电子拍卖方案与验证方法
TWI608722B (zh) Public key certificate method
JP2005253083A (ja) 新しいフェア・ブラインド署名プロセス
CN111654366B (zh) 一种安全的pki与ibc之间的双向异构强指定验证者签名方法
CN109639439A (zh) 一种基于两方协同的ecdsa数字签名方法
CN111355582A (zh) 基于sm2算法的两方联合签名和解密的方法及系统
CN113360943A (zh) 一种区块链隐私数据的保护方法及装置
CN103107890A (zh) 一种多方加密、签名、零知识证明的方法
CN111738857B (zh) 应用于区块链的隐匿支付证明的生成与验证方法及装置
CN113132104A (zh) 一种主动安全的ecdsa数字签名两方生成方法
JP7472158B2 (ja) メッセージにデジタル署名を提供するための方法
CN112653554A (zh) 一种签名方法、系统、设备及可读存储介质
CN108964906B (zh) 协同ecc的数字签名方法
CN116865970A (zh) 基于国密算法的多方协同密钥产生和数字签名方法及系统
CN110278073B (zh) 一种群组数字签名、验证方法及其设备和装置
CN116318736A (zh) 一种用于分级管理的二级门限签名方法及装置
CN113541926A (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