CN115412260B - Sm2门限签名方法、***、设备及计算机可读存储介质 - Google Patents

Sm2门限签名方法、***、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN115412260B
CN115412260B CN202211048343.6A CN202211048343A CN115412260B CN 115412260 B CN115412260 B CN 115412260B CN 202211048343 A CN202211048343 A CN 202211048343A CN 115412260 B CN115412260 B CN 115412260B
Authority
CN
China
Prior art keywords
random number
participant
algorithm
generating
party
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
Application number
CN202211048343.6A
Other languages
English (en)
Other versions
CN115412260A (zh
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.)
Yunhai Chain Holdings Co ltd
Original Assignee
Yunhai Chain Holdings 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 Yunhai Chain Holdings Co ltd filed Critical Yunhai Chain Holdings Co ltd
Priority to CN202211048343.6A priority Critical patent/CN115412260B/zh
Publication of CN115412260A publication Critical patent/CN115412260A/zh
Application granted granted Critical
Publication of CN115412260B publication Critical patent/CN115412260B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/3255Cryptographic 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 group based signatures, e.g. ring or threshold signatures
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3236Cryptographic 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 using cryptographic hash functions

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门限签名方法、***、设备及计算机可读存储介质,每个参与方Pi选取随机数di,1≤i≤n;每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi;基于每个参与方Pi的Qi生成SM2算法的签名公钥Q;每个参与方Pi基于随机数di生成自身的私钥分片yi;每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e;每个参与方Pu基于私钥分片yi计算得到wu;每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru;每个参与方Pu基于Ru计算得到R,并基于R、SM2算法的阶q、哈希值e计算得到r;每个参与方Pu基于随机数ku、r、wu计算得到su;每个参与方Pu公布su,并基于su、r、q生成s;基于SM2算法的验签算法验证(r,s)是否为正确的签名值,若是,则将(r,s)作为消息值的SM2签名结果。安全性高。

Description

SM2门限签名方法、***、设备及计算机可读存储介质
技术领域
本申请涉及信息安全技术领域,更具体地说,涉及SM2门限签名方法、***、设备及计算机可读存储介质。
背景技术
SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。SM2性能更优更安全:密码复杂度高、处理速度快、机器性能消耗更小。但是,由于SM2算法独特的数字签名运算方式,通常的秘密共享(分割)方式及对应的基于秘密共享的密码运算方式无法适合于使用SM2私钥进行数字签名的情形。
综上所述,如何在SM2中实现门限签名是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种SM2门限签名方法,其能在一定程度上解决如何实现在SM2中实现门限签名的技术问题。本申请还提供了一种SM2门限签名***、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种SM2门限签名方法,包括:
每个参与方Pi选取随机数di,1≤i≤n,n表示SM2算法中参与方的总个数;
每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi
基于每个参与方Pi的Qi生成所述SM2算法的签名公钥Q;
每个参与方Pi基于随机数di生成自身的私钥分片yi
每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e,1≤u≤T,t≤T,T表示所述SM2门限签名方法中参与方的总个数,t表示所述SM2门限签名方法中参与方的最小个数;
每个参与方Pu基于私钥分片yi计算得到wu
每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru
每个参与方Pu基于Ru计算得到R,并基于R、所述SM2算法的阶q、哈希值e计算得到r;
每个参与方Pu基于随机数ku、r、wu计算得到su
每个参与方Pu公布su,并基于su、r、q生成s;
基于所述SM2算法的验签算法验证(r,s)是否为正确的签名值,若是,则将(r,s)作为所述消息值的SM2签名结果。
优选的,所述每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi,包括:
基于第一运算公式,每个所述参与方Pi基于随机数di及所述SM2算法的所述生成元G生成对应的Qi
所述第一运算公式包括:
Q1=d1·G;Qi=di·Qi-1,2≤i≤n;
所述基于每个参与方Pi的Qi生成所述SM2算法的签名公钥Q,包括:
将Q=Qn-G作为所述SM2算法的所述签名公钥Q。
优选的,所述每个参与方Pi基于随机数di生成自身的私钥分片yi,包括:
每个参与方Pi调用MTAwc协议来基于di生成其中,/>满足关系式
每个参与方Pi为秘密计算出与参与方Pj间的函数值yij,j=[1,...,n];
每个参与方Pi基于t-n Shamir分享协议将yij发送至参与方Pj
每个参与方Pj基于yij计算
优选的,所述每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e,包括:
基于第二运算公式,每个参与方Pu对待签名的所述消息值进行哈希运算,得到所述哈希值e;
所述第二运算公式包括:
e=hash(Z||M);
其中,Z表示用户的身份标识符、椭圆曲线参数及公钥坐标的哈希值;M表示所述消息值;
所述每个参与方Pu基于私钥分片yi计算得到wu,包括:
每个参与方Pu基于私钥分片yi计算得到wu=λu·yu,其中λu表示拉格朗日系数;
所述每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru,包括:
每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru=ku·(Q+G);
所述每个参与方Pu基于Ru计算得到R,并基于R、所述SM2算法的阶q、哈希值e计算得到r,包括:
每个参与方Pu基于Ru计算得到并基于R、所述SM2算法的阶q、哈希值e计算得到r=rx+e mod q;
所述每个参与方Pu基于随机数ku、r、wu计算得到su,包括:
每个参与方Pu基于随机数ku、r、wu计算得到su=ku+rwu
所述每个参与方Pu公布su,并基于su、r、q生成s,包括:
每个参与方Pu公布su,并基于su、r、q生成
优选的,所述每个参与方Pi选取随机数di之后,所述每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi之前,还包括:
每个参与方Pi选择随机数σi
每个参与方Pi基于随机数di、生成元G及随机数σi计算杂凑值ci=H(di·G;σi)并广播;
每个参与方Pi公布Di=di·G及相应的随机数σi,并基于生成证明知道相应的随机数di的第一schnorr证明;
每个参与方Pi验证接收到的Di、随机数σi是否满足ci=H(di·G;σi),并验证所述第一schnorr证明的正确性,若接收到的Di、随机数σi满足ci=H(di·G;σi)且所述第一schnorr证明正确,则执行每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi的步骤。
优选的,所述基于每个参与方Pi的Qi生成所述SM2算法的签名公钥Q之后,还包括:
每个参与方Pi生成Paillier公钥Ni=piqi并公布;
基于零知识证明证明Paillier公钥Ni正确生成。
优选的,所述每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru之后,所述每个参与方Pu基于Ru计算得到R之前,还包括:
每个参与方Pu选择随机数计算杂凑值/>并广播;
每个参与方Pu公布Ru及对应的随机数并生成证明知道相应的随机数ku的第二schnorr证明;
每个参与方Pu验证接收到的Ru是否满足/>并验证所述第二schnorr证明的正确性,若接收到的Ru、/>满足/>且所述第二schnorr证明正确,则执行所述每个参与方Pu基于Ru计算得到R的步骤;
所述每个参与方Pu基于随机数ku、r、wu计算得到su之后,所述每个参与方Pu公布su之前,还包括:
每个参与方Pu选取随机数αu及βu,计算Vu=su·Q+αu·G,Wu=βu·G;
每个参与方Pu选取随机数θu,计算杂凑值υu=H(Vu;θu),ωu=H(Wu;θu)并广播;
每个参与方Pu公布Vu、Wu、随机数θu,并验证接收到的Vu、Wu、随机数θu是否满足υu=H(Vu;θu),ωu=H(Wu;θu);
若接收到的Vu、Wu、随机数θu满足υu=H(Vu;θu),ωu=H(Wu;θu),则生成证明知道su、随机数αu及βu使得Vu=su·Q+αu·G、Wu=βu·G的第二零知识证明;
若所有的所述第二零知识证明均正确,则每个参与方Pu计算计算Φu=βu·V,Ψu=αu·W;选择随机数ηu,计算杂凑值φu=H(Φu;ηu),ψu=H(Ψu;ηu)并广播;
每个参与方Pu公布Φu、Ψu、ηu,并验证接收到的Φu、Ψu、ηu是否满足φu=H(Φu;ηu),ψu=H(Ψu;ηu),若满足,则验证是否成立,若成立,则执行所述每个参与方Pu基于Ru计算得到R的步骤。
一种SM2门限签名***,包括:
第一选取模块,用于每个参与方Pi选取随机数di,1≤i≤n,n表示SM2算法中参与方的总个数;
第一生成模块,用于每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi
第二生成模块,用于基于每个参与方Pi的Qi生成所述SM2算法的签名公钥Q;
第三生成模块,用于每个参与方Pi基于随机数di生成自身的私钥分片yi
第一运算模块,用于每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e,1≤u≤T,t≤T,T表示所述SM2门限签名方法中参与方的总个数,t表示所述SM2门限签名方法中参与方的最小个数;
第一计算模块,用于每个参与方Pu基于私钥分片yi计算得到wu
第四生成模块,用于每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru
第二计算模块,用于每个参与方Pu基于Ru计算得到R,并基于R、所述SM2算法的阶q、哈希值e计算得到r;
第三计算模块,用于每个参与方Pu基于随机数ku、r、wu计算得到su
第五生成模块,用于每个参与方Pu公布su,并基于su、r、q生成s;
第一验证模块,用于基于所述SM2算法的验签算法验证(r,s)是否为正确的签名值,若是,则将(r,s)作为所述消息值的SM2签名结果。
一种SM2门限签名设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述SM2门限签名方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述SM2门限签名方法的步骤。
本申请提供的一种SM2门限签名方法,每个参与方Pi选取随机数di,1≤i≤n,n表示SM2算法中参与方的总个数;每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi;基于每个参与方Pi的Qi生成SM2算法的签名公钥Q;每个参与方Pi基于随机数di生成自身的私钥分片yi;每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e,1≤u≤T,t≤T,T表示SM2门限签名方法中参与方的总个数,t表示SM2门限签名方法中参与方的最小个数;每个参与方Pu基于私钥分片yi计算得到wu;每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru;每个参与方Pu基于Ru计算得到R,并基于R、SM2算法的阶q、哈希值e计算得到r;每个参与方Pu基于随机数ku、r、wu计算得到su;每个参与方Pu公布su,并基于su、r、q生成s;基于SM2算法的验签算法验证(r,s)是否为正确的签名值,若是,则将(r,s)作为消息值的SM2签名结果。本申请中,n个参与方相互配合生成自身的私钥分片且生成SM2算法的签名公钥,保证了私钥分片及签名公钥的安全性,之后T个参与方基于私钥分片及签名公钥进行t-n门限签名,实现了在不出现SM2的完整私钥的情况下进行SM2门限签名,安全性高。本申请提供的一种SM2门限签名***、电子设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种SM2门限签名方法的流程图;
图2为本申请实施例提供的一种SM2门限签名***的结构示意图;
图3为本申请实施例提供的一种SM2门限签名设备的结构示意图;
图4为本申请实施例提供的一种SM2门限签名设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种SM2门限签名方法的流程图。
本申请实施例提供的一种SM2门限签名方法,可以包括以下步骤:
步骤S101:每个参与方Pi选取随机数di
实际应用中,每个参与方Pi可以先选取随机数di,比如选取随机数等;其中,1≤i≤n,n表示SM2算法中参与方的总个数。
步骤S102:每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi
步骤S103:基于每个参与方Pi的Qi生成SM2算法的签名公钥Q。
实际应用中,每个参与方Pi选取随机数di之后,每个参与方Pi便可以基于随机数di及SM2算法的生成元G生成对应的Qi。之后便可以基于每个参与方Pi的Qi生成SM2算法的签名公钥Q。
具体应用场景中,每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi的过程中,可以基于第一运算公式,每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi
第一运算公式包括:
Q1=d1·G;Qi=di·Qi-1,2≤i≤n;
相应的,在基于每个参与方Pi的Qi生成SM2算法的签名公钥Q的过程中,可以将Q=Qn-G作为SM2算法的签名公钥Q等。
具体应用场景中,为了保证私钥分片及签名公钥的生成安全性,还可以对每个参与方Pi进行安全验证,只有满足安全验证之后才能继续后续流程,也即每个参与方Pi选取随机数di之后,每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi之前,每个参与方Pi可以选择随机数σi,比如选取σi←{0,1}n;每个参与方Pi基于随机数di、生成元G及随机数σi计算杂凑值ci=H(di·G;σi)并广播;每个参与方Pi公布Di=di·G及相应的随机数σi,并基于生成证明知道相应的随机数di的第一schnorr证明;每个参与方Pi验证接收到的Di、随机数σi是否满足ci=H(di·G;σi),并验证第一schnorr证明的正确性,若接收到的Di、随机数σi满足ci=H(di·G;σi)且第一schnorr证明正确,则执行每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi的步骤,若存在不满足的项,则可以中止协议等。
具体应用场景中,基于每个参与方Pi的Qi生成SM2算法的签名公钥Q之后,每个参与方Pi还可以生成Paillier公钥Ni=piqi并公布;基于零知识证明证明Paillier公钥Ni正确生成。以便在需要应用Paillier公钥的场景下为其提供Paillier公钥。
步骤S104:每个参与方Pi基于随机数di生成自身的私钥分片yi
实际应用中,基于每个参与方Pi的Qi生成SM2算法的签名公钥Q之后,每个参与方Pi便可以基于随机数di生成自身的私钥分片yi
具体应用场景中,每个参与方Pi基于随机数di生成自身的私钥分片yi的过程中,可以相互配合来生成相应的私钥分片,比如每个参与方Pi调用MTAwc协议来基于di生成其中,/>满足关系式/>每个参与方Pi以/>为秘密计算出与参与方Pj间的函数值yij,j=[1,...,n];每个参与方Pi基于t-nShamir分享协议将yij发送至参与方Pj;每个参与方Pj基于yij计算/>
步骤S105:每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e。
实际应用中,每个参与方Pi基于随机数di生成自身的私钥分片yi之后,参与门限签名的每个参与方Pu便可以对待签名的消息值进行哈希运算,得到哈希值e,其中,1≤u≤T,t≤T,T表示SM2门限签名方法中参与方的总个数,t表示SM2门限签名方法中参与方的最小个数。
具体应用场景中,每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e的过程中,可以基于第二运算公式,每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e;
第二运算公式包括:
e=hash(Z||M);
其中,Z表示用户的身份标识符、椭圆曲线参数及公钥坐标的哈希值;M表示消息值。
步骤S106:每个参与方Pu基于私钥分片yi计算得到wu
实际应用中,每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e之后,每个参与方Pu便可以基于私钥分片yi计算得到wu
具体应用场景中,每个参与方Pu基于私钥分片yi计算得到wu的过程中,每个参与方Pu可以基于私钥分片yi计算得到wu=λu·yu,其中λu表示拉格朗日系数,
步骤S107:每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru
实际应用中,每个参与方Pu基于私钥分片yi计算得到wu之后,每个参与方Pu便可以选取随机数ku,比如随机选取等,基于随机数ku、签名公钥Q及生成元G生成相应的Ru
具体应用场景中,每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru的过程中,每个参与方Pu可以选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru=ku·(Q+G)。
步骤S108:每个参与方Pu基于Ru计算得到R,并基于R、SM2算法的阶q、哈希值e计算得到r。
步骤S109:每个参与方Pu基于随机数ku、r、wu计算得到su
步骤S110:每个参与方Pu公布su,并基于su、r、q生成s。
实际应用中,每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru之后,每个参与方Pu便可以基于Ru计算得到R,并基于R、SM2算法的阶q、哈希值e计算得到r,接着每个参与方Pu基于随机数ku、r、wu计算得到su,之后每个参与方Pu公布su,并基于su、r、q生成s。
具体应用场景中,每个参与方Pu基于Ru计算得到R,并基于R、SM2算法的阶q、哈希值e计算得到r的过程中,每个参与方Pu可以基于Ru计算得到并基于R、SM2算法的阶q、哈希值e计算得到r=rx+e mod q;相应的,每个参与方Pu基于随机数ku、r、wu计算得到su的过程中,每个参与方Pu可以基于随机数ku、r、wu计算得到su=ku+rwu;相应的,每个参与方Pu公布su,并基于su、r、q生成s的过程中,每个参与方Pu可以公布su,并基于su、r、q生成/>
具体应用场景中,为了保证私钥分片及签名公钥的生成安全性,还可以对每个参与方Pu进行安全验证,只有满足安全验证之后才能继续后续流程,也即每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru之后,每个参与方Pu基于Ru计算得到R之前,每个参与方Pu可以选择随机数计算杂凑值/>并广播;每个参与方Pu公布Ru及对应的随机数/>并生成证明知道相应的随机数ku的第二schnorr证明;每个参与方Pu验证接收到的Ru、/>是否满足/>并验证第二schnorr证明的正确性,若接收到的Ru、/>满足/>且第二schnorr证明正确,则执行每个参与方Pu基于Ru计算得到R的步骤,若存在不满足的项,则可以中止协议等。
具体应用场景中,每个参与方Pu基于随机数ku、r、wu计算得到su之后,每个参与方Pu公布su之前,每个参与方Pu还可以选取随机数αu及βu,比如选取计算Vu=su·Q+αu·G,Wu=βu·G;每个参与方Pu选取随机数θu,计算杂凑值υu=H(Vu;θu),ωu=H(Wu;θu)并广播;每个参与方Pu公布Vu、Wu、随机数θu,并验证接收到的Vu、Wu、随机数θu是否满足υu=H(Vu;θu),ωu=H(Wu;θu);若接收到的Vu、Wu、随机数θu满足υu=H(Vu;θu),ωu=H(Wu;θu),则生成证明知道su、随机数αu及βu使得Vu=su·Q+αu·G、Wu=βu·G的第二零知识证明,若不满足,则中止协议;若所有的第二零知识证明均正确,则每个参与方Pu计算计算Φu=βu·V,Ψu=αu·W;选择随机数ηu,计算杂凑值φu=H(Φu;ηu),ψu=H(Ψu;ηu)并广播;每个参与方Pu公布Φu、Ψu、ηu,并验证接收到的Φu、Ψu、ηu是否满足φu=H(Φu;ηu),ψu=H(Ψu;ηu),若不满足,则中止协议,若满足,则验证是否成立,若成立,则执行每个参与方Pu基于Ru计算得到R的步骤,若不满足,则可以中止协议。
步骤S111:基于SM2算法的验签算法验证(r,s)是否为正确的签名值,若是,则将(r,s)作为消息值的SM2签名结果。
实际应用中,每个参与方Pu公布su,并基于su、r、q生成s之后,便可以基于SM2算法的验签算法验证(r,s)是否为正确的签名值,若是,则将(r,s)作为消息值的SM2签名结果。
请参阅图2,图2为本申请实施例提供的一种SM2门限签名***的结构示意图。
本申请实施例提供的一种SM2门限签名***,可以包括:
第一选取模块101,用于每个参与方Pi选取随机数di,1≤i≤n,n表示SM2算法中参与方的总个数;
第一生成模块102,用于每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi
第二生成模块103,用于基于每个参与方Pi的Qi生成SM2算法的签名公钥Q;
第三生成模块104,用于每个参与方Pi基于随机数di生成自身的私钥分片yi
第一运算模块105,用于每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e,1≤u≤T,t≤T,T表示SM2门限签名方法中参与方的总个数,t表示SM2门限签名方法中参与方的最小个数;
第一计算模块106,用于每个参与方Pu基于私钥分片yi计算得到wu
第四生成模块107,用于每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru
第二计算模块108,用于每个参与方Pu基于Ru计算得到R,并基于R、SM2算法的阶q、哈希值e计算得到r;
第三计算模块109,用于每个参与方Pu基于随机数ku、r、wu计算得到su
第五生成模块110,用于每个参与方Pu公布su,并基于su、r、q生成s;
第一验证模块111,用于基于SM2算法的验签算法验证(r,s)是否为正确的签名值,若是,则将(r,s)作为消息值的SM2签名结果。
本申请实施例提供的一种SM2门限签名***中各个模块的相关描述可以参阅上述实施例,在此不再赘述。
本申请还提供了一种SM2门限签名设备及计算机可读存储介质,其均具有本申请实施例提供的一种SM2门限签名方法具有的对应效果。请参阅图3,图3为本申请实施例提供的一种SM2门限签名设备的结构示意图。
本申请实施例提供的一种SM2门限签名设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
每个参与方Pi选取随机数di,1≤i≤n,n表示SM2算法中参与方的总个数;
每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi
基于每个参与方Pi的Qi生成SM2算法的签名公钥Q;
每个参与方Pi基于随机数di生成自身的私钥分片yi
每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e,1≤u≤T,t≤T,T表示SM2门限签名方法中参与方的总个数,t表示SM2门限签名方法中参与方的最小个数;
每个参与方Pu基于私钥分片yi计算得到wu
每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru
每个参与方Pu基于Ru计算得到R,并基于R、SM2算法的阶q、哈希值e计算得到r;
每个参与方Pu基于随机数ku、r、wu计算得到su
每个参与方Pu公布su,并基于su、r、q生成s;
基于SM2算法的验签算法验证(r,s)是否为正确的签名值,若是,则将(r,s)作为消息值的SM2签名结果。
本申请实施例提供的一种SM2门限签名设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于第一运算公式,每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi
第一运算公式包括:
Q1=d1·G;Qi=di·Qi-1,2≤i≤n;
将Q=Qn-G作为SM2算法的签名公钥Q。
本申请实施例提供的一种SM2门限签名设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:每个参与方Pi调用MTAwc协议来基于di生成其中,/>满足关系式/>每个参与方Pi以/>为秘密计算出与参与方Pj间的函数值yij,j=[1,…,n];每个参与方Pi基于t-n Shamir分享协议将yij发送至参与方Pj;每个参与方Pj基于yij计算/>
本申请实施例提供的一种SM2门限签名设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于第二运算公式,每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e;
第二运算公式包括:
e=hash(Z||M);
其中,Z表示用户的身份标识符、椭圆曲线参数及公钥坐标的哈希值;M表示消息值;
每个参与方Pu基于私钥分片yi计算得到wu=λu·yu,其中λu表示拉格朗日系数;每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru=ku·(Q+G);每个参与方Pu基于Ru计算得到并基于R、SM2算法的阶q、哈希值e计算得到r=rx+e mod q;每个参与方Pu基于随机数ku、r、wu计算得到su=ku+rwu;每个参与方Pu公布su,并基于su、r、q生成/>
本申请实施例提供的一种SM2门限签名设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:每个参与方Pi选取随机数di之后,每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi之前,每个参与方Pi选择随机数σi;每个参与方Pi基于随机数di、生成元G及随机数σi计算杂凑值ci=H(di·G;σi)并广播;每个参与方Pi公布Di=di·G及相应的随机数σi,并基于生成证明知道相应的随机数di的第一schnorr证明;每个参与方Pi验证接收到的Di、随机数σi是否满足ci=H(di·G;σi),并验证第一schnorr证明的正确性,若接收到的Di、随机数σi满足ci=H(di·G;σi)且第一schnorr证明正确,则执行每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi的步骤。
本申请实施例提供的一种SM2门限签名设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于每个参与方Pi的Qi生成SM2算法的签名公钥Q之后,每个参与方Pi生成Paillier公钥Ni=piqi并公布;基于零知识证明证明Paillier公钥Ni正确生成。
本申请实施例提供的一种SM2门限签名设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru之后,每个参与方Pu基于Ru计算得到R之前,每个参与方Pu选择随机数计算杂凑值/>并广播;每个参与方Pu公布Ru及对应的随机数/>并生成证明知道相应的随机数ku的第二schnorr证明;每个参与方Pu验证接收到的Ru、/>是否满足/>并验证第二schnorr证明的正确性,若接收到的Ru、/>满足/>且第二schnorr证明正确,则执行每个参与方Pu基于Ru计算得到R的步骤;每个参与方Pu基于随机数ku、r、wu计算得到su之后,每个参与方Pu公布su之前,每个参与方Pu选取随机数αu及βu,计算Vu=su·Q+αu·G,Wu=βu·G;每个参与方Pu选取随机数θu,计算杂凑值υu=H(Vu;θu),ωu=H(Wu;θu)并广播;每个参与方Pu公布Vu、Wu、随机数θu,并验证接收到的Vu、Wu、随机数θu是否满足υu=H(Vu;θu),ωu=H(Wu;θu);若接收到的Vu、Wu、随机数θu满足υu=H(Vu;θu),ωu=H(Wu;θu),则生成证明知道su、随机数αu及βu使得Vu=su·Q+αu·G、Wu=βu·G的第二零知识证明;若所有的第二零知识证明均正确,则每个参与方Pu计算/>计算Φu=βu·V,Ψu=αu·W;选择随机数ηu,计算杂凑值φu=H(Φu;ηu),ψu=H(Ψu;ηu)并广播;每个参与方Pu公布Φu、Ψu、ηu,并验证接收到的Φu、Ψu、ηu是否满足φu=H(Φu;ηu),ψu=H(Ψu;ηu),若满足,则验证/>是否成立,若成立,则执行每个参与方Pu基于Ru计算得到R的步骤。
请参阅图4,本申请实施例提供的另一种SM2门限签名设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现SM2门限签名设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
每个参与方Pi选取随机数di,1≤i≤n,n表示SM2算法中参与方的总个数;
每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi
基于每个参与方Pi的Qi生成SM2算法的签名公钥Q;
每个参与方Pi基于随机数di生成自身的私钥分片yi
每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e,1≤u≤T,t≤T,T表示SM2门限签名方法中参与方的总个数,t表示SM2门限签名方法中参与方的最小个数;
每个参与方Pu基于私钥分片yi计算得到wu
每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru
每个参与方Pu基于Ru计算得到R,并基于R、SM2算法的阶q、哈希值e计算得到r;
每个参与方Pu基于随机数ku、r、wu计算得到su
每个参与方Pu公布su,并基于su、r、q生成s;
基于SM2算法的验签算法验证(r,s)是否为正确的签名值,若是,则将(r,s)作为消息值的SM2签名结果。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于第一运算公式,每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi
第一运算公式包括:
Q1=d1·G;Qi=di·Qi-1,2≤i≤n;
将Q=Qn-G作为SM2算法的签名公钥Q。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:每个参与方Pi调用MTAwc协议来基于di生成其中,/>满足关系式/>每个参与方Pi以/>为秘密计算出与参与方Pj间的函数值yij,j=[1,…,n];每个参与方Pi基于t-n Shamir分享协议将yij发送至参与方Pj;每个参与方Pj基于yij计算/>
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于第二运算公式,每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e;
第二运算公式包括:
e=hash(Z||M);
其中,Z表示用户的身份标识符、椭圆曲线参数及公钥坐标的哈希值;M表示消息值;
每个参与方Pu基于私钥分片yi计算得到wu=λu·yu,其中λu表示拉格朗日系数;每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru=ku·(Q+G);每个参与方Pu基于Ru计算得到并基于R、SM2算法的阶q、哈希值e计算得到r=rx+e mod q;每个参与方Pu基于随机数ku、r、wu计算得到su=ku+rwu;每个参与方Pu公布su,并基于su、r、q生成/>
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:每个参与方Pi选取随机数di之后,每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi之前,每个参与方Pi选择随机数σi;每个参与方Pi基于随机数di、生成元G及随机数σi计算杂凑值ci=H(di·G;σi)并广播;每个参与方Pi公布Di=di·G及相应的随机数σi,并基于生成证明知道相应的随机数di的第一schnorr证明;每个参与方Pi验证接收到的Di、随机数σi是否满足ci=H(di·G;σi),并验证第一schnorr证明的正确性,若接收到的Di、随机数σi满足ci=H(di·G;σi)且第一schnorr证明正确,则执行每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi的步骤。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于每个参与方Pi的Qi生成SM2算法的签名公钥Q之后,每个参与方Pi生成Paillier公钥Ni=piqi并公布;基于零知识证明证明Paillier公钥Ni正确生成。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru之后,每个参与方Pu基于Ru计算得到R之前,每个参与方Pu选择随机数计算杂凑值/>并广播;每个参与方Pu公布Ru及对应的随机数/>并生成证明知道相应的随机数ku的第二schnorr证明;每个参与方Pu验证接收到的Ru、/>是否满足/>并验证第二schnorr证明的正确性,若接收到的Ru、/>满足且第二schnorr证明正确,则执行每个参与方Pu基于Ru计算得到R的步骤;每个参与方Pu基于随机数ku、r、wu计算得到su之后,每个参与方Pu公布su之前,每个参与方Pu选取随机数αu及βu,计算Vu=su·Q+αu·G,Wu=βu·G;每个参与方Pu选取随机数θu,计算杂凑值υu=H(Vu;θu),ωu=H(Wu;θu)并广播;每个参与方Pu公布Vu、Wu、随机数θu,并验证接收到的Vu、Wu、随机数θu是否满足υu=H(Vu;θu),ωu=H(Wu;θu);若接收到的Vu、Wu、随机数θu满足υu=H(Vu;θu),ωu=H(Wu;θu),则生成证明知道su、随机数αu及βu使得Vu=su·Q+αu·G、Wu=βu·G的第二零知识证明;若所有的第二零知识证明均正确,则每个参与方Pu计算计算Φu=βu·V,Ψu=αu·W;选择随机数ηu,计算杂凑值φu=H(Φu;ηu),ψu=H(Ψu;ηu)并广播;每个参与方Pu公布Φu、Ψu、ηu,并验证接收到的Φu、Ψu、ηu是否满足φu=H(Φu;ηu),ψu=H(Ψu;ηu),若满足,则验证/>是否成立,若成立,则执行每个参与方Pu基于Ru计算得到R的步骤。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种SM2门限签名***、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种SM2门限签名方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种SM2门限签名方法,其特征在于,包括:
每个参与方Pi选取随机数di,1≤i≤n,n表示SM2算法中参与方的总个数;
每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi
基于每个参与方Pi的Qi生成所述SM2算法的签名公钥Q;
每个参与方Pi基于随机数di生成自身的私钥分片yi
每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e,1≤u≤T,t≤T,T表示所述SM2门限签名方法中参与方的总个数,t表示所述SM2门限签名方法中参与方的最小个数;
每个参与方Pu基于私钥分片yu计算得到wu,wu=λu·yu,其中λu表示拉格朗日系数;
每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru,Ru=ku·(Q+G);
每个参与方Pu基于Ru计算得到R,并基于R、所述SM2算法的阶q和哈希值e计算得到r,r=rx+e mod q;
每个参与方Pu基于随机数ku、r和wu计算得到su,su=ku+rwu
每个参与方Pu公布su,并基于su、r和q生成s,
基于所述SM2算法的验签算法验证(r,s)是否为正确的签名值,若是,则将(r,s)作为所述消息值的SM2签名结果。
2.根据权利要求1所述的方法,其特征在于,所述每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi,包括:
基于第一运算公式,每个所述参与方Pi基于随机数di及所述SM2算法的所述生成元G生成对应的Qi
所述第一运算公式包括:
Q1=d1·G;Qi=di·Qi-1,2≤i≤n;
所述基于每个参与方Pi的Qi生成所述SM2算法的签名公钥Q,包括:
将Q=Qn-G作为所述SM2算法的所述签名公钥Q。
3.根据权利要求2所述的方法,其特征在于,所述每个参与方Pi基于随机数di生成自身的私钥分片yi,包括:
每个参与方Pi调用MTAwc协议来基于di生成其中,/>满足关系式/>
每个参与方Pi为秘密计算出与参与方Pj间的函数值yij,j=[1,...,n];
每个参与方Pi基于t-n Shamir分享协议将yij发送至参与方Pj
每个参与方Pj基于yij计算
4.根据权利要求3所述的方法,其特征在于,所述每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e,包括:
基于第二运算公式,每个参与方Pu对待签名的所述消息值进行哈希运算,得到所述哈希值e;
所述第二运算公式包括:
e=hash(Z||M);
其中,Z表示用户的身份标识符、椭圆曲线参数及公钥坐标的哈希值;M表示所述消息值。
5.根据权利要求4所述的方法,其特征在于,所述每个参与方Pi选取随机数di之后,所述每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi之前,还包括:
每个参与方Pi选择随机数σi
每个参与方Pi基于随机数di、生成元G及随机数σi计算杂凑值ci=H(di·G;σi)并广播;
每个参与方Pi公布Di=di·G及相应的随机数σi,并生成证明知道相应的随机数di的第一schnorr证明;
每个参与方Pi验证接收到的Di和随机数σi是否满足ci=H(di·G;σi),并验证所述第一schnorr证明的正确性,若接收到的Di和随机数σi满足ci=H(di·G;σi)且所述第一schnorr证明正确,则执行每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi的步骤。
6.根据权利要求5所述的方法,其特征在于,所述基于每个参与方Pi的Qi生成所述SM2算法的签名公钥Q之后,还包括:
每个参与方Pi生成Paillier公钥Ni=piqi并公布;
基于零知识证明证明Paillier公钥Ni正确生成。
7.根据权利要求5所述的方法,其特征在于,所述每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru之后,所述每个参与方Pu基于Ru计算得到R之前,还包括:
每个参与方Pu选择随机数计算杂凑值/>并广播;
每个参与方Pu公布Ru及对应的随机数并生成证明知道相应的随机数ku的第二schnorr证明;
每个参与方Pu验证接收到的Ru是否满足/>并验证所述第二schnorr证明的正确性,若接收到的Ru和/>满足/>且所述第二schnorr证明正确,则执行所述每个参与方Pu基于Ru计算得到R的步骤;
所述每个参与方Pu基于随机数ku、r和wu计算得到su之后,所述每个参与方Pu公布su之前,还包括:
每个参与方Pu选取随机数αu及βu,计算Vu=su·Q+αu·G,Wu=βu·G;
每个参与方Pu选取随机数θu,计算杂凑值υu=H(Vu;θu),ωu=H(Wu;θu)并广播;
每个参与方Pu公布Vu、Wu和随机数θu,并验证接收到的Vu、Wu和随机数θu是否满足υu=H(Vu;θu),ωu=H(Wu;θu);
若接收到的Vu、Wu和随机数θu满足υu=H(Vu;θu),ωu=H(Wu;θu),则生成证明知道su、随机数αu及βu使得Vu=su·Q+αu·G、Wu=βu·G的第二零知识证明;
若所有的所述第二零知识证明均正确,则每个参与方Pu计算计算Φu=βu·V,Ψu=αu·W;选择随机数ηu,计算杂凑值φu=H(Φu;ηu),ψu=H(Ψu;ηu)并广播;
每个参与方Pu公布Φu、Ψu和ηu,并验证接收到的Φu、Ψu和ηu是否满足φu=H(Φu;ηu),ψu=H(Ψu;ηu),若满足,则验证是否成立,若成立,则执行所述每个参与方Pu基于Ru计算得到R的步骤。
8.一种SM2门限签名***,其特征在于,包括:
第一选取模块,用于每个参与方Pi选取随机数di,1≤i≤n,n表示SM2算法中参与方的总个数;
第一生成模块,用于每个参与方Pi基于随机数di及SM2算法的生成元G生成对应的Qi
第二生成模块,用于基于每个参与方Pi的Qi生成所述SM2算法的签名公钥Q;
第三生成模块,用于每个参与方Pi基于随机数di生成自身的私钥分片yi
第一运算模块,用于每个参与方Pu对待签名的消息值进行哈希运算,得到哈希值e,1≤u≤T,t≤T,T表示所述SM2门限签名方法中参与方的总个数,t表示所述SM2门限签名方法中参与方的最小个数;
第一计算模块,用于每个参与方Pu基于私钥分片yu计算得到wu,wu=λu·yu,其中λu表示拉格朗日系数;
第四生成模块,用于每个参与方Pu选取随机数ku,基于随机数ku、签名公钥Q及生成元G生成相应的Ru,Ru=ku·(Q+G);
第二计算模块,用于每个参与方Pu基于Ru计算得到R,并基于R、所述SM2算法的阶q和哈希值e计算得到r,r=rx+e mod q;
第三计算模块,用于每个参与方Pu基于随机数ku、r和wu计算得到su,su=ku+rwu
第五生成模块,用于每个参与方Pu公布su,并基于su、r和q生成s,
第一验证模块,用于基于所述SM2算法的验签算法验证(r,s)是否为正确的签名值,若是,则将(r,s)作为所述消息值的SM2签名结果。
9.一种SM2门限签名设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述SM2门限签名方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述SM2门限签名方法的步骤。
CN202211048343.6A 2022-08-30 2022-08-30 Sm2门限签名方法、***、设备及计算机可读存储介质 Active CN115412260B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211048343.6A CN115412260B (zh) 2022-08-30 2022-08-30 Sm2门限签名方法、***、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211048343.6A CN115412260B (zh) 2022-08-30 2022-08-30 Sm2门限签名方法、***、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN115412260A CN115412260A (zh) 2022-11-29
CN115412260B true CN115412260B (zh) 2023-10-20

Family

ID=84164166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211048343.6A Active CN115412260B (zh) 2022-08-30 2022-08-30 Sm2门限签名方法、***、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115412260B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113507374A (zh) * 2021-07-02 2021-10-15 恒生电子股份有限公司 门限签名方法、装置、设备以及存储介质
WO2022037869A1 (en) * 2020-08-18 2022-02-24 Nchain Licensing Ag Threshold signatures
CN114157427A (zh) * 2021-12-02 2022-03-08 南京邮电大学 基于sm2数字签名的门限签名方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022037869A1 (en) * 2020-08-18 2022-02-24 Nchain Licensing Ag Threshold signatures
CN113507374A (zh) * 2021-07-02 2021-10-15 恒生电子股份有限公司 门限签名方法、装置、设备以及存储介质
CN114157427A (zh) * 2021-12-02 2022-03-08 南京邮电大学 基于sm2数字签名的门限签名方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于可验证SM2门限算法的移动终端签名***的设计与实现;唐泽严 等;《计算机测量与控制》;第27卷(第3期);225-230 *

Also Published As

Publication number Publication date
CN115412260A (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
CN110971405B (zh) 多方协同的sm2签名、解密方法及其***
CN107634836B (zh) 一种sm2数字签名生成方法及***
JP4932168B2 (ja) 新しいフェア・ブラインド署名プロセス
US9882890B2 (en) Reissue of cryptographic credentials
JP2011091868A (ja) 公開鍵を検証可能に生成する方法及び装置
CN111934877B (zh) 一种sm2协同门限签名方法、存储介质及电子装置
CN107911217B (zh) 基于ecdsa算法协同生成签名的方法、装置和数据处理***
JP2004208263A (ja) バイリニアペアリングを用いた個人識別情報に基づくブラインド署名装置及び方法
WO2022161108A1 (zh) 一种匿名多重签名方法、计算机设备和存储介质
CN113360943A (zh) 一种区块链隐私数据的保护方法及装置
CN115664675B (zh) 基于sm2算法的可追踪环签名方法、***、设备及介质
CN109104410B (zh) 一种信息的匹配方法及装置
CN115174104A (zh) 基于商密sm9的属性基在线/离线签名方法与***
WO2022193789A1 (zh) 匿名多重签名方法、计算机设备和存储介质
CN116346328A (zh) 一种数字签名方法、***、设备及计算机可读存储介质
CN109766716A (zh) 一种基于可信计算的匿名双向认证方法
CN112434281A (zh) 一种面向联盟链的多因子身份认证方法
CN115412260B (zh) Sm2门限签名方法、***、设备及计算机可读存储介质
CN116318736A (zh) 一种用于分级管理的二级门限签名方法及装置
CN113792282B (zh) 身份数据验证方法、装置、计算机设备和存储介质
CN113630254B (zh) 基于ecdsa的泛指定验证者签名证明方法及***
CN115174102A (zh) 一种基于sm2签名的高效批量验证方法及***
CN109274506B (zh) 一种基于国密sm2的无证书签名方法
CN116827554B (zh) 一种基于区块链节点多路协方的策略化方法及***
CN110535655A (zh) 一种新的rsa盲签名方法

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