CN112118113A - 一种基于sm2算法的多方协同群签名方法及装置、系统、介质 - Google Patents
一种基于sm2算法的多方协同群签名方法及装置、系统、介质 Download PDFInfo
- Publication number
- CN112118113A CN112118113A CN202010986464.XA CN202010986464A CN112118113A CN 112118113 A CN112118113 A CN 112118113A CN 202010986464 A CN202010986464 A CN 202010986464A CN 112118113 A CN112118113 A CN 112118113A
- Authority
- CN
- China
- Prior art keywords
- signature
- temporary
- component
- group
- center
- 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.)
- Granted
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/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/3255—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 group based signatures, e.g. ring or threshold signatures
-
- 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/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)
Abstract
本发明涉及数字签名技术领域,更具体的说,涉及一种基于SM2算法的多方协同群签名方法及装置、系统、介质。本方法包括:S1、小组成员,向可信中心注册组成签名群组;S2、小组成员,分别生成签名私钥分量,基于SM2算法的安全计算协议,与可信中心通信生成共同的签名公钥;S3、签名发起者发送签名请求,每个小组成员生成临时公钥和临时私钥,并将临时公钥发送给可信中心;S4、可信中心,依次与小组成员轮询通信,小组成员利用临时私钥和签名私钥分量,基于SM2算法与可信中心协同签名,计算得到r项签名分量和s项签名分量;S5、可信中心,输出完整的数字签名结果(r,s)。本发明签名过程每个小组成员公平参与,通过可信中心有效避免参与者的冒名顶替。
Description
技术领域
本发明涉及数字签名技术领域,更具体的说,涉及一种基于SM2算法的多方协同群签名方法及装置、系统、介质。
背景技术
在信息安全方面,数字签名是非常重要的一部分。安全的数字签名在电子公文、电子合同等应用中确定对方身份,是信息真实的基础。
随着密码技术和计算技术的发展,目前常用的1024位RSA算法面临严重的安全威胁。国家密码局发在2010年12月17日发布了SM2椭圆曲线公钥密码算法。相对于RSA算法,SM2在安全性、性能上都更具有优势。
在公钥密码体制中,保证私钥的安全性是一个非常重要的问题。用户的私钥通常需要在专门的硬件安全模块(HSM,Hardware Security Module)中安全存储和使用,私钥不能从密码硬件中导出。常见的HSM包括USBKEY(U盾)、智能卡、TF卡(Trans-flash Card,闪存卡)、密码芯片等。
为了提高私钥的安全性,可以将私钥进行分割,由多成员协同进行签名,多人同时在场时秘密才能得以恢复,同时也满足一份文件多人签署生效的应用场景需求。
针对此类问题,常见的解决方法是采用门限秘密共享方案,将私钥被分割成t个子私钥,并安全地分给t个参与者掌管,这些t个参与者中的k(k≤t)个及以上所构成的子集可以重构私钥,少于k个参与者则无法获得完整私钥。这会存在以下两个问题:
一方面、恢复出完整私钥之后,拥有完整私钥的一方,就可以不经由其他成员发布有效签名;
另一方面、小组成员之间不是完全公平参与,且存在参与者被中途冒名顶替的可能。
发明内容
本发明的目的是提供一种基于SM2算法的多方协同群签名方法及装置、系统、介质,解决现有技术中多个参与方之间协同完成数字签名的安全性低的问题。
为了实现上述目的,本发明提供了一种基于SM2算法的多方协同群签名方法,其特征在于,包括以下步骤:
S1、小组成员,向可信中心注册组成签名群组;
S2、小组成员,分别生成签名私钥分量,基于SM2算法的安全计算协议,与可信中心通信生成共同的签名公钥;
S3、签名发起者发送签名请求,每个小组成员生成临时公钥和临时私钥,并将临时公钥发送给可信中心;
S4、可信中心,依次与小组成员轮询通信,小组成员利用临时私钥和签名私钥分量,基于SM2算法与可信中心协同签名,计算得到r项签名分量和s项签名分量;
S5、可信中心,输出完整的数字签名结果(r,s)。
在一实施例中,S21、可信中心,设置临时点Ptemp,在椭圆曲线上选取基点G,作为临时点Ptemp的初始值;
在签名群组中任意选取一个小组成员Ui,将临时点Ptemp发送给小组成员Ui;
S22、小组成员Ui,选择生成一个随机数di,作为小组成员Ui的签名私钥分量,其中di∈[1,n-1],n为椭圆曲线的阶;
根据签名私钥分量di以及临时点Ptemp,计算生成公开秘密Pi=di -1[*]Ptemp,并将公开秘密Pi发送至可信中心;
S23、可信中心,接收到小组成员Ui发送的公开秘密Pi后,更新临时点Ptemp=Pi;
S25、可信中心,根据临时点与基点,计算生成签名公钥PA,签名公钥的表达式为:
在一实施例中,所述步骤S3,进一步包括以下步骤:可信中心将临时公钥与小组成员关联存储。
在一实施例中,所述步骤S4,进一步包括:
S41、每个小组成员,接收可信中心发送的缓存项,根据临时私钥计算更新缓存项后发送给可信中心,可信中心根据最后的缓存项计算得到r项签名分量;
S42、每个小组成员,接收可信中心发送的s项签名临时分量,根据临时私钥和签名私钥分量,计算更新s项签名临时分量后发送给可信中心,可信中心根据最后的s项签名临时分量计算得到s项签名分量。
在一实施例中,所述步骤S41,进一步包括以下步骤:
S411、可信中心,设置缓存项rtemp_pt,在椭圆曲线上选取基点G,作为缓存项rtemp_pt的初始值;
在群组记录信息中任意选取一个小组成员Ui,将缓存项rtemp_pt发送给小组成员Ui;
S412、小组成员Ui,使用临时私钥ki,其中,ki∈[1,n-1],计算生成公开秘密rui=ki[*]rtemp_pt,并将公开秘密rui发送给可信中心;
S413、可信中心,接收到小组成员Ui发送的公开秘密rui后,更新缓存项rtemp_pt=rui;
S414、可信中心,重复上述步骤,依次与每一个小组成员轮询通信,计算得到缓存项rtemp_pt=k1*k2*…*km[*]G,m为小组成员数;
S415、可信中心,根据临时私钥km+1,计算生成公开秘密rtemp_pt′=rtemp_pt[+]km+1[*G,作为椭圆曲线参数(x1,y1);
S416、可信中心,根据信息摘要e和椭圆曲线参数(x1,y1),计算得到r项签名分量,r=(e+x1)modn。
在一实施例中,所述步骤S416中的信息摘要e,通过以下步骤计算得到:
根据SM2算法,计算杂凑值ZA=Hv(ENTLA||IDA||a||b||xG||yG||xA||yA);
计算待签名信息摘要e=Hv(ZA||M);
其中,IDA为用户的可辨别标识;
entlenA为IDA的长度,ENTLA是由整数entlenA转换而成的两个字节;
a、b为椭圆曲线方程参数;
xG、yG为基点G的坐标;
xA、yA为签名公钥PA的坐标;
M为待签名原文。
在一实施例中,所述步骤S42,进一步包括以下步骤:
S421、可信中心,生成第一s项签名临时分量和第二s项签名临时分量,设置第一s项签名临时分量对应的初始值s2=1,第二s项签名临时分量对应的初始值s3=(r+km+1)modn;
在签名群组中任意选取一个小组成员Ui,将第一s项签名临时分量,第二s项签名临时分量发给小组成员Ui;
S422、小组成员Ui,使用签名私钥分量di和临时私钥ki,计算并更新第一s项签名临时分量s2_ui=di*ki*s2,第二s项签名临时分量s3_ui=di*s3,并发送至可信中心;
S423、可信中心,依次与每一个小组成员轮询通信,重复上述步骤计算并更新第一s项签名临时分量和第二s项签名临时分量;
S424、可信中心,接收最后一个小组成员发送的第一s项签名临时分量s2_um和第二s项签名临时分量s3_um,计算得到s项签名分量:
s=s2_um+s3_um-r。
在一实施例中,所述步骤S42中,可信中心与小组成员之间采用加密方式进行通信。
在一实施例中,所述步骤S421、步骤S422中,可信中心与第一个小组成员Ui采用加密方式进行通信,进一步包括以下步骤:
可信中心,使用小组成员Ui的临时公钥Pki,对第一s项签名临时分量s2,第二s项签名临时分量s3进行加密,将加密后的第一s项签名临时分量s′2,第二s项签名临时分量s′3发给小组成员Ui;
小组成员Ui,使用临时私钥ki对加密后的第一s项签名临时分量s′2,第二s项签名临时分量s′3进行解密,得到明文的第一s项签名临时分量s2,第二s项签名临时分量s3。
在一实施例中,所述步骤S422-S423中,小组成员与可信中心之间采用加密方式进行通信,进一步包括以下步骤:
小组成员Ui,接收可信中心发送的小组成员Ui+1的临时公钥Pki+1,使用临时公钥Pki+1,将第一s项签名临时分量s2_ui和第二s项签名临时分量s3_ui加密,并将加密后的第一s项签名临时分量s′2_ui,第二s项签名临时分量s′3_ui发送至可信中心;
小组成员Ui+1,接收可信中心转发的加密后的第一s项签名临时分量s′2_ui,第二s项签名临时分量s′3_ui,使用临时私钥ki+1进行解密。
在一实施例中,所述步骤S423-S424中,可信中心与最后一个小组成员Um采用加密方式进行通信,进一步包括以下步骤:
最后一个小组成员Um,接收可信中心发送的临时公钥Pm+1,使用临时公钥Pm+1,将第一s项签名临时分量s2_um和第二s项签名临时分量s3_um加密,并将加密后的第一s项签名临时分量s′2_um,第二s项签名临时分量s′3_um发送至可信中心;
可信中心,接收最后一个小组成员Um发送的加密后的第一s项签名临时分量s′2_um,第二s项签名临时分量s′3_um,使用临时私钥km+1进行解密,得到明文的第一s项签名临时分量s2_um和第二s项签名临时分量s3_um。
为了实现上述目的,本发明提供了一种基于SM2算法的多方协同群签名装置,包括数个签名端与服务端:
所述签名端,向服务端注册组成签名群组,生成签名私钥分量,基于SM2算法的安全计算协议,与服务端通信生成共同的签名公钥;
所述签名端,生成临时公钥和临时私钥,临时公钥发送到服务端,进行关联存储;
所述服务端,根据签名发起者的签名请求,依次与各签名端轮询通信,签名端根据临时私钥和签名私钥分量,基于SM2算法与服务端协同签名,计算得到r项签名分量和s项签名分量;
所述服务端,输出完整的数字签名结果(r,s)。
在一实施例中,所述签名端的签名私钥分量和签名公钥,通过以下方式获得:
服务端,设置临时点Ptemp,在椭圆曲线上选取基点G,作为临时点Ptemp的初始值;
在签名群组中任意选取一个签名端Ui,将临时点Ptemp发送给签名端Ui;
签名端Ui,选择生成一个随机数di,作为签名端Ui的签名私钥分量,其中di∈[1,n-1],n为椭圆曲线的阶;
根据签名私钥分量di以及临时点Ptemp,计算生成公开秘密Pi=di -1[*]Ptemp,并将公开秘密Pi发送至服务端;
服务端,接收到签名端Ui发送的公开秘密Pi后,更新临时点Ptemp=Pi;
服务端,根据临时点与基点,计算生成签名公钥PA,签名公钥的表达式为:
在一实施例中,所述r项签名分量,通过以下方式获得:
服务端,设置缓存项rtemp_pt,在椭圆曲线上选取基点G,作为缓存项rtemp_pt的初始值;
在群组记录信息中任意选取一个签名端Ui,将缓存项rtemp_pt发送给签名端Ui;
签名端Ui,使用临时私钥ki,其中,ki∈[1,n-1],计算生成公开秘密rui=ki[*]rtemp_pt,并将公开秘密rui发送给服务端;
服务端,接收到签名端Ui发送的公开秘密rui后,更新缓存项rtemp_pt=rui;
服务端,重复上述步骤,依次与每一个签名端轮询通信,计算得到缓存项rtemp_pt=k1*k2*…*km[*]G,m为签名端数量;
服务端,根据临时私钥km+1,计算生成公开秘密rtemp_pt′=rtemp_pt[+]km+1[*]G,作为椭圆曲线参数(x1,y1);
服务端,根据信息摘要e和椭圆曲线参数(x1,y1),计算得到r项签名分量,r=(e+x1)modn。
在一实施例中,所述s项签名分量,通过以下方式获得:
服务端,生成第一s项签名临时分量和第二s项签名临时分量,设置第一s项签名临时分量对应的初始值s2=1,第二s项签名临时分量对应的初始值s3=(r+km+1)modn;
在签名群组中任意选取一个签名端Ui,将第一s项签名临时分量,第二s项签名临时分量发给签名端Ui;
签名端Ui,使用签名私钥分量di和临时私钥ki,计算并更新第一s项签名临时分量s2_ui=di*ki*s2,第二s项签名临时分量s3_ui=di*s3,并发送至可信中心;
服务端,依次与每一个签名端轮询通信,重复上述步骤计算并更新第一s项签名临时分量和第二s项签名临时分量;
服务端,接收最后一个签名端发送的第一s项签名临时分量s2_um和第二s项签名临时分量s3_um,计算得到s项签名分量:
s=s2_um+s3_um-r。
在一实施例中,所述服务端与签名端之间采用加密方式进行通信,生成s项签名分量。
为了实现上述目的,本发明提供了一种基于SM2算法的多方协同群签名系统,包括:
存储器,用于存储可由处理器执行的指令;
处理器,用于执行所述指令以实现如上述任一项所述的方法。
为了实现上述目的,本发明提供了一种计算机可读介质,其上存储有计算机指令,其中当计算机指令被处理器执行时,执行如上述任一项所述的方法。
本发明提供的一种基于SM2算法的多方协同群签名方法及装置、系统、介质,与现有其他方案相比,签名过程需要签名群组中每个小组成员参与才能生成有效签名,保证每个小组成员的公平参与,同时,为了验证小组成员是否被授权,小组成员必须向可信中心注册验证,可有效避免参与者的冒名顶替,可以有效应用在需要多方签名认证的场景中。
附图说明
本发明上述的以及其他的特征、性质和优势将通过下面结合附图和实施例的描述而变的更加明显,在附图中相同的附图标记始终表示相同的特征,其中:
图1揭示了根据本发明一实施例的基于SM2算法的多方协同群签名方法流程图;
图2揭示了根据本发明一实施例的基于SM2算法的多方协同群签名装置的结构示意图;
图3揭示了根据本发明一实施例的基于SM2算法的多方协同群签名系统的框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释发明,并不用于限定发明。
椭圆曲线密码(ECC,Elliptic curve cryptography)是一种基于在有限域上定义的椭圆曲线算法的公开密钥体制。SM2算法是是ECC密码体制的一种具体算法。在国家标准《GB/T 32918信息安全技术SM2椭圆曲线公钥密码算法》标准中规定了一种椭圆曲线公钥密码算法,基于SM2的数字签名的生成算法符合该标准的规定。
规定以下符号,以下符号同样参照了国家标准《GB/T 32918信息安全技术SM2椭圆曲线公钥密码算法》规定的参数:
G,椭圆曲线的一个基点,其阶为素数;
n,基点G的阶;
xP,点P的x坐标;yP,点P的y坐标;x‖y,x与y的拼接,其中x和y是比特串或字节串。
[*]表示椭圆曲线点乘运算。
[+]表示椭圆曲线点加运算。
[-]表示椭圆曲线点减运算。
所有的运算都包括取模运算,modn,模n运算。
Hv(*),消息摘要长度为v比特的密码杂凑算法;IDA,用户A的可辨别标识;M,待签名消息;e,密码杂凑算法作用于消息M的输出值。
ZA,关于用户A的可辨别标识、部分椭圆曲线系统参数和用户A公钥的杂凑值。
图1揭示了根据本发明一实施例的基于SM2算法的多方协同群签名方法流程图,如图1所示,本发明提出了一种基于SM2算法的多方参与协同群签名方法,包括以下步骤:
S1、小组成员,向可信中心注册组成签名群组;
S2、小组成员,分别生成签名私钥分量,基于SM2算法的安全计算协议,与可信中心通信生成共同的签名公钥;
S3、签名发起者发送签名请求,每个小组成员生成临时公钥和临时私钥,并将临时公钥发送给可信中心;
S4、可信中心,依次与小组成员轮询通信,小组成员利用临时私钥和签名私钥分量,基于SM2算法与可信中心协同签名,计算得到r项签名分量和s项签名分量;
S5、可信中心,输出完整的数字签名结果(r,s)。
可信中心是本发明的一个默认前提,小组成员如果使用协同签名功能需要向可信中心进行注册,注册成功后,由可信中心维护成员列表。
下面以服务器作为可信中心,对每一步进行详细的说明。
S1、小组成员,向可信中心注册组成签名群组。
签名方共m个小组成员向服务器注册申请,通过身份认证组成签名群组。
服务器记录签名群组。
S2、小组成员,分别生成签名私钥分量,基于SM2算法的安全计算协议,与可信中心通信生成共同的签名公钥。
所述步骤S2,进一步包括以下步骤:
S21、服务器,发起生成签名公钥的请求。
服务器,设置临时点Ptemp,在椭圆曲线上选取基点G,作为临时点Ptemp的初始值。
在签名群组记录信息中任意选取一个小组成员Ui,将临时点Ptemp发送给小组成员Ui,i∈[1,m-1]。
S22、小组成员Ui,接收到该临时点Ptemp后,选择生成一个随机数di,作为小组成员Ui的签名私钥分量,其中di∈[1,n-1],n为椭圆曲线的阶。
小组成员Ui,根据签名私钥分量di以及临时点Ptemp,计算生成公开秘密Pi=di -1[*]Ptemp,并将公开秘密Pi发送至服务器,其中,di -1为di的模逆,实际是di -1mod n。
S23、服务器,接收小组成员Ui发送的公开秘密Pi后,更新临时点Ptemp=Pi。
S24、服务器,依次与每一个小组成员轮询通信,小组成员重复上述处理步骤。
S25、服务器,根据临时点与基点,计算生成签名公钥PA,将签名公钥发送给每一个小组成员。
其中,签名公钥的表达式为:
更进一步的,服务器与每个小组成员的轮询通信顺序可以预设,较佳的,按照服务器中签名群组记录信息的维护用户列表顺序逐次通信。
S3、签名发起者发送签名请求,每个小组成员生成临时公钥和临时私钥,并将临时公钥发送给可信中心。
小组成员中的签名发起者,发起签名请求,向服务器发送待签名信息M。
每一个小组成员Ui,生成临时私钥ki和临时公钥Pki,i∈[1,m-1],m为小组成员数。
服务器与每个小组成员Ui进行通信,小组成员Ui将临时公钥Pki发送给服务器。
服务器,将小组成员和各自的临时公钥Pki关联存储。
S4、可信中心,依次与小组成员轮询通信,小组成员利用临时私钥和签名私钥分量,基于SM2算法与可信中心协同签名,计算得到r项签名分量和s项签名分量。
更进一步的,步骤S4包括以下步骤:
S41、每个小组成员,接收可信中心发送的缓存项,根据临时私钥计算更新缓存项后发送给可信中心,可信中心根据最后的缓存项计算得到r项签名分量;
S42、每个小组成员,接收可信中心发送的s项签名临时分量,根据临时私钥和签名私钥分量,计算更新s项签名临时分量后发送给可信中心,可信中心根据最后的s项签名临时分量计算得到s项签名分量。
所述步骤S41,进一步包括以下步骤:
S411、服务器,设置缓存项rtemp_pt,在椭圆曲线上选取基点G,作为缓存项rtemp_pt的初始值。
在群组记录信息中任意选取一个小组成员Ui,将缓存项rtemp_pt发送给小组成员Ui。
S412、小组成员Ui,根据临时私钥ki,其中,ki∈[1,n-1],计算生成公开秘密rui=ki[*]rtemp_pt,并将公开秘密rui发送给服务器。
S413、服务器,接收到小组成员Ui发送的公开秘密rui后,更新缓存项rtemp_pt=rui。
S414、服务器,向小组成员Ui+1发送缓存项rtemp_pt。
小组成员Ui+1,根据临时私钥ki+1,计算生成公开秘密rui+1=ki+1*rtemp_pt,将公开秘密rui+1发送给服务器。
服务器,接收到小组成员Ui+1发送的公开秘密rui+1后,更新缓存项rtemp=rui+1。
服务器,依次与每一个小组成员轮询通信,小组成员重复上述处理步骤。
服务器,根据小组成员发送的公开秘密更新缓存项,最后得到rtemp_pt=k1*k2*…*km[*]G,m为小组成员数。
S415、服务器,选择生成一个随机数km+1∈[1,n-1],作为临时私钥,生成并缓存对应的临时公钥Pm+1。
服务器,根据临时私钥km+1,计算生成公开秘密rtemp_pt′=rtemp_pt+km+1*G,rtemp_pt′作为椭圆曲线群元素(x1,y1)。
S416、服务器,根据信息摘要e和椭圆曲线参数(x1,y1),计算得到r项签名分量,r=(e+x1)modn。
其中,x1是椭圆曲线群元素(x1,y1)的x轴坐标。
更进一步的,根据杂凑值ZA和待签名原文M,计算待签名信息摘要e=Hv(ZA||M),
其中,ZA为基于SM2算法根据用户的可辨别标识计算出的杂凑值,M为待签名原文。
杂凑值ZA通过以下公式计算得到:
ZA=Hv(ENTLA||IDA||a||b||xG||yG||xA||yA)。
其中,IDA为用户的可辨标识;
entlenA为IDA的长度,ENTLA是由整数entlenA转换而成的两个字节;
a、b为椭圆曲线方程参数;
xG、yG为基点G的坐标;
xA、yA为签名公钥PA的坐标。
运算符“||”代表将其两边的操作数执行比特串接的运算。
Hv(*)代表使用预先规定的密码杂凑函数Hv来对输入数据进行处理并获得杂凑值,保证了本发明算法的安全性。
v为信息摘要的长度,在本实施例中,信息摘要长度v为256比特。
可选的,密码杂凑函数Hv采用的SM3密码杂凑算法。
更进一步的,密码杂凑算法采用的相关标准为GB/T 32905-2016《信息安全技术SM3密码杂凑算法》。
所述步骤S42,进一步包括以下步骤:
服务器,生成第一s项签名临时分量和第二s项签名临时分量,设置第一s项签名临时分量对应的初始值s2=1,第二s项签名临时分量对应的初始值s3=(r+km+1)modn。
服务器与小组成员Ui之间进行如下方式的数据交互:
服务器,在群组记录信息中任意选取一个小组成员Ui,使用小组成员Ui的临时公钥Pki,对第一s项签名临时分量s2,第二s项签名临时分量s3进行加密。
服务器,将加密后的第一s项签名临时分量s′2,第二s项签名临时分量s′3以及小组成员Ui+1的临时公钥Pki+1发给小组成员Ui。
小组成员Ui,接收加密后的第一s项签名临时分量s′2,第二s项签名临时分量s′3以及小组成员Ui+1的临时公钥Pki+1。
小组成员Ui,使用临时私钥ki,对加密后的第一s项签名临时分量s′2,第二s项签名临时分量s′3进行解密,得到明文的第一s项签名临时分量s2,第二s项签名临时分量s3。
小组成员Ui,使用签名私钥分量di和临时私钥ki,计算并更新第一s项签名临时分量s2_ui=di*ki*s2,第二s项签名临时分量s3_ui=di*s3。
小组成员Ui,使用小组成员Ui+1的临时公钥Pki+1,将第一s项签名临时分量s2_ui和第二s项签名临时分量s3_ui进行加密,并将加密后的第一s项签名临时分量s′2_ui,第二s项签名临时分量s′3_ui发送至服务器。
服务器与小组成员Ui+1之间进行如下方式的数据交互:
服务器,接收到小组成员Ui发送数据后,将加密后的第一s项签名临时分量s′2_ui,第二s项签名临时分量s′3_ui以及小组成员Ui+2的临时公钥Pki+2发送给小组成员Ui+1。
小组成员Ui+1,接收加密后的第一s项签名临时分量s′2_ui,第二s项签名临时分量s′3_ui以及小组成员Ui+2的临时公钥Pki+2。
小组成员Ui+1,使用临时私钥ki+1,对加密后的第一s项签名临时分量s′2_ui,第二s项签名临时分量s′3_ui进行解密,得到明文s2_ui,s3_ui。
服务器,依次与每一个小组成员轮询通信,小组成员重复上述处理步骤,并更新第一s项签名临时分量和第二s项签名临时分量。
服务器和最后一个小组成员Um通信时,发送的加密公钥是服务器的临时公钥Pm+1。
最后一个小组成员Um,接收可信中心发送的临时公钥Pm+1,使用临时公钥Pm+1,将第一s项签名临时分量s2_um和第二s项签名临时分量s3_um加密,并将加密后的第一s项签名临时分量s′2_um,第二s项签名临时分量s′3_um发送至可信中心。
可信中心,接收最后一个小组成员Um发送的加密后的第一s项签名临时分量s′2_um,第二s项签名临时分量s′3_um,使用临时私钥km+1进行解密,得到明文的第一s项签名临时分量s2_um和第二s项签名临时分量s3_um。
服务器,计算得到s项签名分量:
s=s2_um+s3_um-r。
其中,s2_um和s′2_um为明文与加密后的小组成员Um计算得到的第一s项签名临时分量;
s3_um和s′3_um为明文与加密后的小组成员Um计算得到的第二s项签名临时分量。
本实施例中,可信中心与小组成员之间采用加密方式进行通信。临时私钥的作用是保护各个小组成员产生的第一s项签名临时分量s2和第二s项签名临时分量s3,这部分数据可能会被截获。
可选的,临时私钥和临时公钥,基于SM2算法获取。
S5、可信中心,输出完整的数字签名结果(r,s)。
服务器,根据r项签名分量和s项签名分量,输出完整的数字签名结果(r,s)。
本发明还提供了一种可以实现上述基于SM2算法的多方协同群签名方法的多方协同群签名装置。图2揭示了根据本发明一实施例的基于SM2算法的多方协同群签名装置的结构示意图,如图2所示,该多方协同群签名装置,包括服务端100和签名端201,...,签名端20m,其中,m为签名端的数量。
所述签名端201,...,签名端20m,向服务端100注册组成签名群组,生成签名私钥分量,基于SM2算法的安全计算协议,与服务端100通信生成共同的签名公钥;
所述签名端201,...,签名端20m和服务端100,生成临时公钥和临时私钥,服务端100接收签名端201,...,签名端20m发送的临时公钥,与签名端关联存储;
所述服务端100,根据签名发起者的签名请求,依次与各签名端轮询通信,签名端201,...,签名端20m根据临时私钥,与服务端100更新缓存项,基于SM2算法与服务端100协同签名,得到r项签名分量;
所述服务端100,依次与各签名端轮询通信,签名端201,...,签名端20m根据临时私钥和签名私钥分量,与服务端100更新第一s项签名临时分量和第二s项签名临时分量,基于SM2算法与服务端100协同签名,得到s项签名分量;
所述服务端100,输出完整的数字签名结果(r,s)。
更进一步的,所述签名端的签名私钥分量和签名公钥,通过上述方法的S2步骤实现。
更进一步的,所述r项签名分量,通过上述方法的S41步骤实现。
更进一步的,所述s项签名分量,通过上述方法的S42步骤实现。
更进一步的,所述服务端100与签名端201,...,签名端20m和服务端100之间采用加密方式进行通信,生成s项签名分量。
可选的,加密方式如上述方法的步骤S43。
成员端201,...,成员端20m对应于小组成员端U1,...,成员端Um。
图3揭示了根据本发明一实施例的基于SM2算法的多方协同群签名系统的框图。多方协同群签名系统可包括内部通信总线301、处理器(processor)302、只读存储器(ROM)303、随机存取存储器(RAM)304、通信端口305、输入/输出端306以及硬盘307。内部通信总线301可以实现多方协同群签名系统组件间的数据通信。处理器302可以进行判断和发出提示。在一些实施例中,处理器302可以由一个或多个处理器组成。
通信端口305可以实现多方协同群签名系统与外部的输入/输出设备之间进行数据传输与通信。在一些实施例中,多方协同群签名系统可以通过通信端口305从网络发送和接收信息及数据。在一些实施例中,多方协同群签名系统可以通过输入/输出端306以有线的形式与外部的输入/输出设备之间进行数据传输与通信。在一些实施例中,输入端为虚拟键盘,在签名过程中供用户在移动终端输入验证信息,验证信息可以是PIN码。
多方协同群签名系统还可以包括不同形式的程序储存单元以及数据储存单元,例如硬盘307,只读存储器(ROM)303和随机存取存储器(RAM)304,能够存储计算机处理和/或通信使用的各种数据文件,以及处理器302所执行的可能的程序指令。处理器302执行这些指令以实现方法的主要部分。处理器302处理的结果通过通信端口305传给外部的输出设备,在输出设备的用户界面上显示。
举例来说,上述的多方协同群签名系统的实施过程文件可以为计算机程序,保存在硬盘307中,并可记载到处理器302中执行,以实施本申请的方法。
需要指出的是,术语“计算机”应该做广义的理解,可以包括但不限于云计算服务器,智能移动终端,物联网设备,计算机电脑等。对于移动终端的签名端,签名私钥分量\临时私钥可以储存在本地介质中,对于服务端,签名公钥\临时公钥可以选择储存在数据库、HSM内部。
多方协同群签名系统的实施过程文件为计算机程序时,也可以存储在计算机或移动设备的可读存储介质中作为制品。例如,计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩盘(CD)、数字多功能盘(DVD))、智能卡和闪存设备(例如,电可擦除可编程只读存储器(EPROM)、卡、棒、键驱动)。此外,本文描述的各种存储介质能代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于能存储、包含和/或承载代码和/或指令和/或数据的无线信道和各种其它介质(和/或存储介质)。
本发明提供的一种基于SM2算法的多方协同群签名方法及装置、系统、介质,与现有其他方案相比,签名过程需要签名群组中每个小组成员参与才能生成有效签名,保证每个小组成员的公平参与,同时,为了验证小组成员是否被授权,小组成员必须向可信中心注册验证,可有效避免参与者的冒名顶替,可以有效应用在需要多方签名认证的场景中。
尽管为使解释简单化将上述方法图示并描述为一系列动作,但是应理解并领会,这些方法不受动作的次序所限,因为根据一个或多个实施例,一些动作可按不同次序发生和/或与来自本文中图示和描述或本文中未图示和描述但本领域技术人员可以理解的其他动作并发地发生。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
上述实施例是提供给熟悉本领域内的人员来实现或使用本发明的,熟悉本领域的人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。
Claims (18)
1.一种基于SM2算法的多方协同群签名方法,其特征在于,包括以下步骤:
S1、小组成员,向可信中心注册组成签名群组;
S2、小组成员,分别生成签名私钥分量,基于SM2算法的安全计算协议,与可信中心通信生成共同的签名公钥;
S3、签名发起者发送签名请求,每个小组成员生成临时公钥和临时私钥,并将临时公钥发送给可信中心;
S4、可信中心,依次与小组成员轮询通信,小组成员利用临时私钥和签名私钥分量,基于SM2算法与可信中心协同签名,计算得到r项签名分量和s项签名分量;
S5、可信中心,输出完整的数字签名结果(r,s)。
2.根据权利要求1所述的基于SM2算法的多方协同群签名方法,其特征在于,所述步骤S2,进一步包括以下步骤:
S21、可信中心,设置临时点Ptemp,在椭圆曲线上选取基点G,作为临时点Ptemp的初始值;
在签名群组中任意选取一个小组成员Ui,将临时点Ptemp发送给小组成员Ui;
S22、小组成员Ui,选择生成一个随机数di,作为小组成员Ui的签名私钥分量,其中di∈[1,n-1],n为椭圆曲线的阶;
根据签名私钥分量di以及临时点Ptemp,计算生成公开秘密Pi=di -1[*]Ptemp,并将公开秘密Pi发送至可信中心;
S23、可信中心,接收到小组成员Ui发送的公开秘密Pi后,更新临时点Ptemp=Pi;
S25、可信中心,根据临时点与基点,计算生成签名公钥PA,签名公钥的表达式为:
3.根据权利要求1所述的基于SM2算法的多方协同群签名方法,其特征在于,所述步骤S3,进一步包括以下步骤:可信中心将临时公钥与小组成员关联存储。
4.根据权利要求1所述的基于SM2算法的多方协同群签名方法,其特征在于,所述步骤S4,进一步包括:
S41、每个小组成员,接收可信中心发送的缓存项,根据临时私钥计算更新缓存项后发送给可信中心,可信中心根据最后的缓存项计算得到r项签名分量;
S42、每个小组成员,接收可信中心发送的s项签名临时分量,根据临时私钥和签名私钥分量,计算更新s项签名临时分量后发送给可信中心,可信中心根据最后的s项签名临时分量计算得到s项签名分量。
5.根据权利要求4所述的基于SM2算法的多方协同群签名方法,其特征在于,所述步骤S41,进一步包括以下步骤:
S411、可信中心,设置缓存项rtemp_pt,在椭圆曲线上选取基点G,作为缓存项rtemp_pt的初始值;
在群组记录信息中任意选取一个小组成员Ui,将缓存项rtemp_pt发送给小组成员Ui;
S412、小组成员Ui,使用临时私钥ki,其中,ki∈[1,n-1],计算生成公开秘密rui=ki[*]rtemp_pt,并将公开秘密rui发送给可信中心;
S413、可信中心,接收到小组成员Ui发送的公开秘密rui后,更新缓存项rtemp_pt=rui;
S414、可信中心,重复上述步骤,依次与每一个小组成员轮询通信,计算得到缓存项rtemp_pt=k1*k2*…*km[*]G,m为小组成员数;
S416、可信中心,根据信息摘要e和椭圆曲线参数(x1,y1),计算得到r项签名分量,r=(e+x1)mod n。
6.根据权利要求5所述的基于SM2算法的多方协同群签名方法,其特征在于,所述步骤S416中的信息摘要e,通过以下步骤计算得到:
根据SM2算法,计算杂凑值ZA=Hv(ENTLA||IDA||a||b||xG||yG||xA||yA);
计算待签名信息摘要e=Hv(ZA||M);
其中,IDA为用户的可辨别标识;
entlenA为IDA的长度,ENTLA是由整数entlenA转换而成的两个字节;
a、b为椭圆曲线方程参数;
xG、yG为基点G的坐标;
xA、yA为签名公钥PA的坐标;
M为待签名原文。
7.根据权利要求1所述的基于SM2算法的多方协同群签名方法,其特征在于,所述步骤S42,进一步包括以下步骤:
S421、可信中心,生成第一s项签名临时分量和第二s项签名临时分量,设置第一s项签名临时分量对应的初始值s2=1,第二s项签名临时分量对应的初始值s3=(r+km+1)mod n;
在签名群组中任意选取一个小组成员Ui,将第一s项签名临时分量,第二s项签名临时分量发给小组成员Ui;
S422、小组成员Ui,使用签名私钥分量di和临时私钥ki,计算并更新第一s项签名临时分量s2_ui=di*ki*s2,第二s项签名临时分量s3_ui=di*s3,并发送至可信中心;
S423、可信中心,依次与每一个小组成员轮询通信,重复上述步骤计算并更新第一s项签名临时分量和第二s项签名临时分量;
S424、可信中心,接收最后一个小组成员发送的第一s项签名临时分量s2_um和第二s项签名临时分量s3_um,计算得到s项签名分量:
s=s2_um+s3_um-r。
8.根据权利要求7所述的基于SM2算法的多方协同群签名方法,其特征在于:所述步骤S42中,可信中心与小组成员之间采用加密方式进行通信。
9.根据权利要求8所述的基于SM2算法的多方协同群签名方法,其特征在于,所述步骤S421、步骤S422中,可信中心与第一个小组成员Ui采用加密方式进行通信,进一步包括以下步骤:
可信中心,使用小组成员Ui的临时公钥Pki,对第一s项签名临时分量s2,第二s项签名临时分量s3进行加密,将加密后的第一s项签名临时分量s′2,第二s项签名临时分量s′3发给小组成员Ui;
小组成员Ui,使用临时私钥ki对加密后的第一s项签名临时分量s′2,第二s项签名临时分量s′3进行解密,得到明文的第一s项签名临时分量s2,第二s项签名临时分量s3。
10.根据权利要求8所述的基于SM2算法的多方协同群签名方法,其特征在于,所述步骤S422-S423中,小组成员与可信中心之间采用加密方式进行通信,进一步包括以下步骤:
小组成员Ui,接收可信中心发送的小组成员Ui+1的临时公钥Pki+1,使用临时公钥Pki+1,将第一s项签名临时分量s2_ui和第二s项签名临时分量s3_ui加密,并将加密后的第一s项签名临时分量s′2_ui,第二s项签名临时分量s′3_ui发送至可信中心;
小组成员Ui+1,接收可信中心转发的加密后的第一s项签名临时分量s′2_ui,第二s项签名临时分量s′3_ui,使用临时私钥ki+1进行解密。
11.根据权利要求8所述的基于SM2算法的多方协同群签名方法,其特征在于,所述步骤S423-S424中,可信中心与最后一个小组成员Um采用加密方式进行通信,进一步包括以下步骤:
最后一个小组成员Um,接收可信中心发送的临时公钥Pm+1,使用临时公钥Pm+1,将第一s项签名临时分量s2_um和第二s项签名临时分量s3_um加密,并将加密后的第一s项签名临时分量s′2_um,第二s项签名临时分量s′3_um发送至可信中心;
可信中心,接收最后一个小组成员Um发送的加密后的第一s项签名临时分量s′2_um,第二s项签名临时分量s′3_um,使用临时私钥km+1进行解密,得到明文的第一s项签名临时分量s2_um和第二s项签名临时分量s3_um。
12.一种基于SM2算法的多方协同群签名装置,其特征在于,包括数个签名端与服务端:
所述签名端,向服务端注册组成签名群组,生成签名私钥分量,基于SM2算法的安全计算协议,与服务端通信生成共同的签名公钥;
所述签名端,生成临时公钥和临时私钥,临时公钥发送到服务端,进行关联存储;
所述服务端,根据签名发起者的签名请求,依次与各签名端轮询通信,签名端根据临时私钥和签名私钥分量,基于SM2算法与服务端协同签名,计算得到r项签名分量和s项签名分量;
所述服务端,输出完整的数字签名结果(r,s)。
13.根据权利要求12所述的基于SM2算法的多方协同群签名装置,其特征在于,所述签名端的签名私钥分量和签名公钥,通过以下方式获得:
服务端,设置临时点Ptemp,在椭圆曲线上选取基点G,作为临时点Ptemp的初始值;
在签名群组中任意选取一个签名端Ui,将临时点Ptemp发送给签名端Ui;
签名端Ui,选择生成一个随机数di,作为签名端Ui的签名私钥分量,其中di∈[1,n-1],n为椭圆曲线的阶;
根据签名私钥分量di以及临时点Ptemp,计算生成公开秘密Pi=di -1[*]Ptemp,并将公开秘密Pi发送至服务端;
服务端,接收到签名端Ui发送的公开秘密Pi后,更新临时点Ptemp=Pi;
服务端,根据临时点与基点,计算生成签名公钥PA,签名公钥的表达式为:
14.根据权利要求12所述的基于SM2算法的多方协同群签名装置,其特征在于,所述r项签名分量,通过以下方式获得:
服务端,设置缓存项rtemp_pt,在椭圆曲线上选取基点G,作为缓存项rtemp_pt的初始值;
在群组记录信息中任意选取一个签名端Ui,将缓存项rtemp_pt发送给签名端Ui;
签名端Ui,使用临时私钥ki,其中,ki∈[1,n-1],计算生成公开秘密rui=ki[*]rtemp_pt,并将公开秘密rui发送给服务端;
服务端,接收到签名端Ui发送的公开秘密rui后,更新缓存项rtemp_pt=rui;
服务端,重复上述步骤,依次与每一个签名端轮询通信,计算得到缓存项rtemp_pt=k1*k2*…*km[*]G,m为签名端数量;
服务端,根据临时私钥km+1,计算生成公开秘密rtemp_pt′=rtemp_pt[+]km+1[*]G,作为椭圆曲线参数(x1,y1);
服务端,根据信息摘要e和椭圆曲线参数(x1,y1),计算得到r项签名分量,r=(e+x1)modn。
15.根据权利要求12所述的基于SM2算法的多方协同群签名装置,其特征在于,所述s项签名分量,通过以下方式获得:
服务端,生成第一s项签名临时分量和第二s项签名临时分量,设置第一s项签名临时分量对应的初始值s2=1,第二s项签名临时分量对应的初始值s3=(r+km+1)mod n;
在签名群组中任意选取一个签名端Ui,将第一s项签名临时分量,第二s项签名临时分量发给签名端Ui;
签名端Ui,使用签名私钥分量di和临时私钥ki,计算并更新第一s项签名临时分量s2_ui=di*ki*s2,第二s项签名临时分量s3_ui=di*s3,并发送至可信中心;
服务端,依次与每一个签名端轮询通信,重复上述步骤计算并更新第一s项签名临时分量和第二s项签名临时分量;
服务端,接收最后一个签名端发送的第一s项签名临时分量s2_um和第二s项签名临时分量s3_um,计算得到s项签名分量:
s=s2_um+s3_um-r。
16.根据权利要求12所述的基于SM2算法的多方协同群签名装置,其特征在于,所述服务端与签名端之间采用加密方式进行通信,生成s项签名分量。
17.一种基于SM2算法的多方协同群签名系统,其特征在于,包括:
存储器,用于存储可由处理器执行的指令;
处理器,用于执行所述指令以实现如权利要求1-11任一项所述的方法。
18.一种计算机可读介质,其上存储有计算机指令,其中当计算机指令被处理器执行时,执行如权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010986464.XA CN112118113B (zh) | 2020-09-18 | 2020-09-18 | 一种基于sm2算法的多方协同群签名方法及装置、系统、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010986464.XA CN112118113B (zh) | 2020-09-18 | 2020-09-18 | 一种基于sm2算法的多方协同群签名方法及装置、系统、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112118113A true CN112118113A (zh) | 2020-12-22 |
CN112118113B CN112118113B (zh) | 2022-07-15 |
Family
ID=73800340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010986464.XA Active CN112118113B (zh) | 2020-09-18 | 2020-09-18 | 一种基于sm2算法的多方协同群签名方法及装置、系统、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112118113B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113300841A (zh) * | 2021-05-25 | 2021-08-24 | 贵州大学 | 一种基于身份的协同签名方法及系统 |
CN113468580A (zh) * | 2021-07-23 | 2021-10-01 | 建信金融科技有限责任公司 | 多方协同签名的方法和系统 |
CN113541963A (zh) * | 2021-07-16 | 2021-10-22 | 北京数牍科技有限公司 | 一种基于tee可扩展的安全多方计算方法及系统 |
CN114205081A (zh) * | 2021-12-03 | 2022-03-18 | 中国科学院大学 | 一种保护用户隐私的盲协同签名方法 |
CN114268438A (zh) * | 2021-11-12 | 2022-04-01 | 中国南方电网有限责任公司 | 多方协同签名方法、装置、计算机设备和存储介质 |
CN113541963B (zh) * | 2021-07-16 | 2024-05-24 | 北京数牍科技有限公司 | 一种基于tee可扩展的安全多方计算方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140211938A1 (en) * | 2013-01-29 | 2014-07-31 | Certicom Corp. | Modified elliptic curve signature algorithm for message recovery |
CN106506156A (zh) * | 2016-12-15 | 2017-03-15 | 北京三未信安科技发展有限公司 | 一种基于椭圆曲线的分布式门限签名方法 |
CN109600233A (zh) * | 2019-01-15 | 2019-04-09 | 西安电子科技大学 | 基于sm2数字签名算法的群签名标识签发方法 |
CN111262844A (zh) * | 2020-01-11 | 2020-06-09 | 杭州拾贝知识产权服务有限公司 | 一种基于密码技术的隐私保护方法 |
CN111447065A (zh) * | 2019-01-16 | 2020-07-24 | 中国科学院软件研究所 | 一种主动安全的sm2数字签名两方生成方法 |
-
2020
- 2020-09-18 CN CN202010986464.XA patent/CN112118113B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140211938A1 (en) * | 2013-01-29 | 2014-07-31 | Certicom Corp. | Modified elliptic curve signature algorithm for message recovery |
CN106506156A (zh) * | 2016-12-15 | 2017-03-15 | 北京三未信安科技发展有限公司 | 一种基于椭圆曲线的分布式门限签名方法 |
CN109600233A (zh) * | 2019-01-15 | 2019-04-09 | 西安电子科技大学 | 基于sm2数字签名算法的群签名标识签发方法 |
CN111447065A (zh) * | 2019-01-16 | 2020-07-24 | 中国科学院软件研究所 | 一种主动安全的sm2数字签名两方生成方法 |
CN111262844A (zh) * | 2020-01-11 | 2020-06-09 | 杭州拾贝知识产权服务有限公司 | 一种基于密码技术的隐私保护方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113300841A (zh) * | 2021-05-25 | 2021-08-24 | 贵州大学 | 一种基于身份的协同签名方法及系统 |
CN113300841B (zh) * | 2021-05-25 | 2022-11-25 | 贵州大学 | 一种基于身份的协同签名方法及系统 |
CN113541963A (zh) * | 2021-07-16 | 2021-10-22 | 北京数牍科技有限公司 | 一种基于tee可扩展的安全多方计算方法及系统 |
CN113541963B (zh) * | 2021-07-16 | 2024-05-24 | 北京数牍科技有限公司 | 一种基于tee可扩展的安全多方计算方法及系统 |
CN113468580A (zh) * | 2021-07-23 | 2021-10-01 | 建信金融科技有限责任公司 | 多方协同签名的方法和系统 |
CN114268438A (zh) * | 2021-11-12 | 2022-04-01 | 中国南方电网有限责任公司 | 多方协同签名方法、装置、计算机设备和存储介质 |
CN114268438B (zh) * | 2021-11-12 | 2024-02-09 | 中国南方电网有限责任公司 | 多方协同签名方法、装置、计算机设备和存储介质 |
CN114205081A (zh) * | 2021-12-03 | 2022-03-18 | 中国科学院大学 | 一种保护用户隐私的盲协同签名方法 |
CN114205081B (zh) * | 2021-12-03 | 2023-12-19 | 中国科学院大学 | 一种保护用户隐私的盲协同签名方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112118113B (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11552792B2 (en) | Systems and methods for generating signatures | |
CN109088726B (zh) | 基于sm2算法的通信双方协同签名及解密方法和系统 | |
CN112118113B (zh) | 一种基于sm2算法的多方协同群签名方法及装置、系统、介质 | |
CN107483212B (zh) | 一种双方协作生成数字签名的方法 | |
CN108418686B (zh) | 一种多分布式的sm9解密方法与介质及密钥生成方法与介质 | |
CN107634836B (zh) | 一种sm2数字签名生成方法及系统 | |
WO2021042685A1 (zh) | 一种区块链的交易方法、装置及系统 | |
CN109309569B (zh) | 基于sm2算法的协同签名的方法、装置及存储介质 | |
RU2376651C2 (ru) | Использование изогений для разработки криптосистем | |
CN107395368B (zh) | 无介质环境中的数字签名方法及解封装方法与解密方法 | |
CN109600233B (zh) | 基于sm2数字签名算法的群签名标识签发方法 | |
CN111130804B (zh) | 一种基于sm2算法的协同签名方法及装置、系统、介质 | |
US9705683B2 (en) | Verifiable implicit certificates | |
CN110969431B (zh) | 区块链数字币私钥的安全托管方法、设备和系统 | |
US11223486B2 (en) | Digital signature method, device, and system | |
CN107425971B (zh) | 无证书的数据加/解密方法和装置、终端 | |
CN107360002B (zh) | 一种数字证书的申请方法 | |
TW202232913A (zh) | 共享金鑰產生技術 | |
CN111030821B (zh) | 一种基于双线性映射技术的联盟链的加密方法 | |
Lizama-Pérez et al. | Public hash signature for mobile network devices | |
US20150006900A1 (en) | Signature protocol | |
CN110519040B (zh) | 基于身份的抗量子计算数字签名方法和系统 | |
CN112019335B (zh) | 一种基于sm2算法的多方协同加解密方法及装置、系统、介质 | |
CN116318784B (zh) | 身份认证方法、装置、计算机设备和存储介质 | |
CN111756537A (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 |