CN115473635B - 一种抗恶意敌手的sm2两方适配器签名生成方法及装置 - Google Patents
一种抗恶意敌手的sm2两方适配器签名生成方法及装置 Download PDFInfo
- Publication number
- CN115473635B CN115473635B CN202211023910.2A CN202211023910A CN115473635B CN 115473635 B CN115473635 B CN 115473635B CN 202211023910 A CN202211023910 A CN 202211023910A CN 115473635 B CN115473635 B CN 115473635B
- Authority
- CN
- China
- Prior art keywords
- signature
- party
- discrete logarithm
- adapter
- generating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 10
- 125000004122 cyclic group Chemical group 0.000 claims description 9
- 230000006978 adaptation Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- 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/3218—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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种抗恶意敌手的SM2两方适配器签名生成方法及装置,允许两个参与方共同完成签名过程,在保证签名正确性和公平性的同时,考虑到半诚实协议无法抵抗恶意参与方的攻击,引入零知识证明和承诺技术设计方案,达到恶意敌手模型下的安全性。本发明旨在两方在不泄漏自己的签名密钥并无法获得完整的签名密钥的情况下完成对消息的签名。本发明实现了两方协同签名在恶意敌手模型下的安全性,能够更好地适用于安全需求更强的应用场景,如区块链支付通道,原子交换等。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种抗恶意敌手的SM2两方适配器签名生成方法及装置。
背景技术
数字签名作为公钥密码体系中的重要组成部分,被广泛应用于众多领域。通常签名者利用自己的私钥对数据摘要进行签名,并将其附带与数据一起发送,持有签名者公钥的用户均可验证签名的正确性,允许数据接收方确认数据来源,可达到防篡改、不可否认的目的,保障数据的完整性。
数字签名是区块链系统使用的主要密码学原语之一,允许用户验证支付交易,并根据区块链系统不同需求衍生出多种数字签名方案,如环签名为加密货币提供了隐私保护功能,门限签名和多重签名用于交易的多因素授权。
现有的数字签名方法的抗恶意敌手能力不够。
发明内容
本发明提供一种抗恶意敌手的SM2两方适配器签名生成方法及装置,用以解决或者至少部分解决现有技术中存在的抗敌手能力不够的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种抗恶意敌手的SM2两方适配器签名生成方法,包括:
S1:基于零知识证明和承诺技术,两个参与方根据各自持有的部分签名密钥份额共同生成完整公钥,部分签名密钥份额包括参与方P0的部分私钥和部分公钥,参与方P1的部分私钥和部分公钥;
S2:两个参与方利用各自的部分私钥协同生成关于消息m的SM2适配器预签名;
S3:根据系统参数、离散对数实例、待验证的消息对生成的SM2适配器预签名进行验证;
S4:根据系统参数、SM2适配器预签名和离散对数实例证据,生成完整签名;
S5:根据系统参数、SM2适配器预签名、完整签名和离散对数实例,提取出离散对数实例证据。
在一种实施方式中,步骤S1包括:
参与方P0选择随机数作为部分私钥,计算第一部分公钥D0,/>生成第一离散对数证明π0,π0用于向验证者证明D0关于G的离散对数为/>同时生成D0和π0的第一承诺c0,并将c0和参与方P0的身份ID0发送给参与方P1,/>为由整数1,2,…,q-1组成的整数集合,q为循环群/>的阶,G为循环群/>的一个生成元;
参与方P1选择随机数作为部分私钥,计算第二部分公钥D1,/>生成第二离散对数证明π1,π1用于向验证者证明D1关于G的离散对数为/>并将D1,π1发送给参与方P0;
如果参与方P0证明π1有效,则打开第一承诺c0并将其值发送给参与方P1,其值为第一承诺的值,即D0、π0以及生成c0时的随机数;
参与方P0计算完整公钥PPUB,
如果参与方P1证明π0有效,则计算完整公钥
在一种实施方式中,步骤S2包括:
参与方P0计算e=H(Z||m),选择随机数计算R0=[k0]G和/>生成第三离散对数证明π2和第四离散对数证明π3,π2用于向验证者证明R0关于G的离散对数为k0,π3用于向验证者证明Q0关于Y的离散对数为/>同时生成R0和π2的第二承诺c1,并将e,π3,c1发送给参与方P1,H为密码杂凑函数,/>Z为输入的共同信息,m为待签名的消息值,R0、Q0为椭圆曲线上的倍点,Y关于G的离散对数为y;
参与方P1选择随机数计算R1=[k1]G,生成第五离散对数证明π4,用于向验证者证明R1关于G的离散对数为k1,并将R1,π4发送给参与方P0,R1为椭圆曲线上的倍点;
如果参与方P0证明π4有效,则打开第二承诺c1并将其值发送给参与方P1,第二承诺c1的值为R0、π2和生成该承诺的随机数;
如果参与方P1证明π2,π3均有效,则计算(x1,y1)=R+Q,r=x1+e mod q和s′=d1r+k1mod q,生成零知识证明π5=PY((D1,Q),d1),π5用于向验证者证明存在一个/>满足/>且/>并将(r,s′,Q,π5)发送给参与方P0,其中,R、Q为椭圆曲线上的倍点,(x1,y1)为点R+Q对应的坐标表示,r、/>分别为为预签名值/>的组成部分,s′为计算/>的中间值;PY表示生成与Y相关的零知识证明;
参与方P0计算输出预签名值/>
在一种实施方式中,步骤S3包括:
计算和r′=x′1+H(Z||m)mod q,
其中,r、分别为签名生成阶段的预签名值/>的组成部分,PPUB为完整公钥,r′为验证阶段计算的签名组成部分的值;
检查r′=r是否成立,若成立,则br=true;否则,br=false,br为判断输出的结果;
验证零知识证明b=PY((D1,Q),π),PY表示生成与Y相关的零知识证明,D1为参与方P1计算的第二部分公钥,Q为椭圆曲线上的倍点;
如果br和b均为true,则签名有效并输出true;否则,签名无效输出false。
在一种实施方式中,步骤S4包括:
输入系统参数、预签名值和离散对数实例关系证据y,计算完整的签名值σ=(r,s),其中/> 和r从预签名值/>中得到,q为循环群/>的阶。
在一种实施方式中,步骤S5包括:
输入系统参数PP、预签名值签名值σ和离散对数实例IY,计算/>验证(Y,y)是否为一个正确的离散对数实例,如果是,则提取成功并输出y′;否则,提取失败。
基于同样的发明构思,本发明第二方面提供了一种抗恶意敌手的SM2两方适配器签名生成装置,包括:
密钥生成模块,用于基于零知识证明和承诺技术,两个参与方根据各自持有的部分签名密钥份额共同生成完整公钥,部分签名密钥份额包括参与方P0的部分私钥和部分公钥,参与方P1的部分私钥和部分公钥;
预签名生成模块,用于两个参与方利用各自的部分私钥协同生成关于消息m的SM2适配器预签名;
预签名验证模块,用于根据系统参数、离散对数实例、待验证的消息对生成的SM2适配器预签名进行验证;
适配模块,用于根据系统参数、SM2适配器预签名和离散对数实例证据,生成完整签名;
提取模块,用于根据系统参数、SM2适配器预签名、完整签名和离散对数实例,提取出离散对数实例证据。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
相对于现有技术,本发明的优点和有益的技术效果如下:
本发明提供的一种抗恶意敌手的SM2两方适配器签名生成方法,在密钥生成阶段,由两个各自持有部分签名密钥份额的参与方共同生成完整公钥;在方案的预签名阶段,两个参与方利用各自的私钥份额协同生成关于消息m的SM2适配器预签名,然后进行验证以及完整签名的生成。与半诚实模型下的SM2两方适配器签名方案相比,本方案引入零知识证明和承诺技术,保证恶意参与方无法获得诚实参与方的任何隐私信息,同时确保正确生成签名,提高了抗恶意敌手的能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的方法中密钥生成的流程图;
图2为本发明实施例提供的方法中预签名生成的流程图;
图3为本发明实施例提供的方法中预签名验证的流程图;
图4为本发明实施例提供的方法中签名适配与提取过程的流程图;
图5为本发明实施例提供的计算机可读存储介质的结构示意图;
图6为本发明实施例提供的计算机设备的结构示意图;
具体实施方式
适配器签名作为一种用于加密货币领域的重要数字签名方案,它允许将消息的授权和秘密价值的泄露联系在一起,也就是说,它允许签名者利用他的私钥产生一个预签名,从而使这个预签名可以被知道某个秘密值的发布者转换成一个有效签名。如果生成的签名被发布,签名者能够提取发布者所使用的嵌入式秘密。
本发明在SM2数字签名算法的基础上,提出了一种抗恶意敌手的两方适配器签名生成方法及系统,通过引入零知识证明和承诺技术,在两方不泄露各自私钥份额且不知道完整签名密钥的条件下共同生成签名,同时在两方交互过程中,恶意参与方无法获知诚实参与方的任何隐私信息,保障了协同签名的正确性、公平性和抗恶意敌手安全,并提供了适配器签名所拥有的功能。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种抗恶意敌手的SM2两方适配器签名生成方法,包括:
S1:基于零知识证明和承诺技术,两个参与方根据各自持有的部分签名密钥份额共同生成完整公钥,部分签名密钥份额包括参与方P0的部分私钥和部分公钥,参与方P1的部分私钥和部分公钥;
S2:两个参与方利用各自的部分私钥协同生成关于消息m的SM2适配器预签名;
S3:根据系统参数、离散对数实例、待验证的消息对生成的SM2适配器预签名进行验证;
S4:根据系统参数、SM2适配器预签名和离散对数实例证据,生成完整签名;
S5:根据系统参数、SM2适配器预签名、完整签名和离散对数实例,提取出离散对数实例证据。
本发明的目的是在两方不泄露各自密钥且不知道完整签名密钥的条件下协同生成适配器预签名,只有特定用户(即知道困难关系证据的用户)才能将生成的预签名转换成完成签名。此外,可利用预签名和完整签名提取困难关系证据。
具体地,该方法包括以下几个步骤:密钥生成、预签名生成、预签名验证、适配和提取。
密钥生成步骤的流程为:输入系统参数PP,输出用户和服务器(即两个参与方P0和P1)的公私钥对。预签名生成的方法为:输入系统参数PP、待签名的消息m、离散对数实例IY,最终产生预签名值预签名验证则输入系统参数PP、待验证的消息m、离散对数实例IY和预签名值/>验证预签名值有效性。
系统参数PP包括椭圆曲线群群/>的生成元G、群/>的阶q、密码杂凑函数H等。
总体来说,本发明提出了一种抗恶意敌手的SM2两方适配器签名生成方法及系统。在方案的密钥生成阶段,由两个各自持有部分签名密钥份额的参与方共同生成完整公钥;在方案的预签名阶段,两个参与方利用各自的私钥份额协同生成关于消息m的SM2适配器预签名。然后对预签名进行验证,后续进行适配生成完整签名以及争取的提取。与半诚实模型下的SM2两方适配器签名方案相比,本方案引入零知识证明和承诺技术,保证恶意参与方无法获得诚实参与方的任何隐私信息,同时确保正确生成签名。
本申请中采用和涉及的具体符号描述如下:
阶为素数q的椭圆曲线群,元素为椭圆曲线上的点。
G:循环群的一个生成元。
q:循环群的阶。
Zp:由0,1,2,…,p-1组成的整数集合。
mod q:模q运算。
kP:椭圆曲线上点P的k倍点,k是正整数。
H:密码杂凑函数,
e:随机数
m:待签名的消息值。
Z:签名算法输入的共同信息。
预签名值。
σ:签名值。
||:比特串拼接。
d0:由参与方P0生成的第一部分私钥。
P0:由参与方P0生成的第一部分公钥,这里
d1:由参与方P1生成的第二部分私钥。
P1:由参与方P1生成的第二部分公钥,这里
PPUB:完整公钥,这里
π:零知识证明。
(Y,y):离散对数实例。
在一种实施方式中,步骤S1包括:
参与方P0选择随机数作为部分私钥,计算第一部分公钥D0,/>生成第一离散对数证明π0,π0用于向验证者证明D0关于G的离散对数为/>同时生成D0和π0的第一承诺c0,并将c0和参与方P0的身份ID0发送给参与方P1,/>为由整数1,2,…,q-1组成的整数集合,q为循环群/>的阶,G为循环群/>的一个生成元。
参与方P1选择随机数作为部分私钥,计算第二部分公钥D1,/>生成第二离散对数证明π1,π1用于向验证者证明D1关于G的离散对数为/>并将D1,π1发送给参与方P0;
如果参与方P0证明π1有效,则打开第一承诺c0并将其值发送给参与方P1,其值为第一承诺的值,即D0、π0以及生成c0时的随机数;
参与方P0计算完整公钥PPUB,
如果参与方P1证明π0有效,则计算完整公钥
请参见图1,为本发明实施例提供的方法中密钥生成的流程图。
具体来说,参与发P0打开承诺c0是指将c0对应的承诺信息D0、π0以及生成c0所使用的随机数作为输入运行承诺算法,判断生成的承诺值是否与c0相等,以此判断参与方P0是否篡改承诺的信息D0、π0。
承诺值c0的作用主要是用于确保P0和P1的交互过程与理想功能情况下是一样的,理想功能情况下,P0和P1分别将各自持有的部分私钥发送给可信第三方后,当可信第三方接收到P0和P1的消息后,计算公钥,并将其返回给P0和P1。
在一种实施方式中,步骤S2包括:
参与方P0计算e=H(Z||m),选择随机数计算R0=[k0]G和/>生成第三离散对数证明π2和第四离散对数证明π3,π2用于向验证者证明R0关于G的离散对数为k0,π3用于向验证者证明Q0关于Y的离散对数为/>同时生成R0和π2的第二承诺c1,并将e,π3,c1发送给参与方P1,H为密码杂凑函数,/>Z为输入的共同信息,m为待签名的消息值,R0、Q0为椭圆曲线上的倍点,Y关于G的离散对数为y;
参与方P1选择随机数计算R1=[k1]G,生成第五离散对数证明π4,用于向验证者证明R1关于G的离散对数为k1,并将R1,π4发送给参与方P0,R1为椭圆曲线上的倍点;
如果参与方P0证明π4有效,则打开第二承诺c1并将其值发送给参与方P1,第二承诺c1的值为R0、π2和生成该承诺的随机数;
如果参与方P1证明π2,π3均有效,则计算(x1,y1)=R+Q,r=x1+e mod q和s′=d1r+k1 mod q,生成零知识证明π5=PY((D1,Q),d1),π5用于向验证者证明存在一个/>满足/>且/>并将(r,s′,Q,π5)发送给参与方P0,其中,R、Q为椭圆曲线上的倍点,(x1,y1)为点R+Q对应的坐标表示,r、/>分别为为预签名值/>的组成部分,s′为计算/>的中间值;PY表示生成与Y相关的零知识证明;
参与方P0计算输出预签名值/>
请参见图2,为本发明实施例提供的方法中预签名生成的流程图。
需要说明的是,R0、Q0的含义涵盖在kP的定义中,R1为椭圆曲线上的点,R0、R1是为了计算R服务,由参与方P0和P1根据各自持有的随机数份额k0、k1进行操作得到。
参与方P0打开第二承诺c1的操作与前文打开第一承诺c0类似。
在一种实施方式中,步骤S3包括:
计算和r′=x′1+H(Z||m)mod q,
其中,r、分别为签名生成阶段的预签名值/>的组成部分,PPUB为完整公钥,r′为验证阶段计算的签名组成部分的值;
检查r′=r是否成立,若成立,则br=true;否则,br=false,br为判断输出的结果;
验证零知识证明b=PY((D1,Q),π),PY表示生成与Y相关的零知识证明,D1为参与方P1计算的第二部分公钥,Q为椭圆曲线上的倍点;
如果br和b均为true,则签名有效并输出true;否则,签名无效输出false。
请参见图3,为本发明实施例提供的方法中预签名验证的流程图。
在一种实施方式中,步骤S4包括:
输入系统参数、预签名值和离散对数实例关系证据y,计算完整的签名值σ=(r,s),其中/> 和r从预签名值/>中得到,q为循环群/>的阶;
在一种实施方式中,步骤S5包括:
输入系统参数PP、预签名值签名值σ和离散对数实例IY,计算/>验证(Y,y)是否为一个正确的离散对数实例,如果是,则提取成功并输出y′;否则,提取失败。
具体请参见图4,为本发明实施例提供的方法中签名适配与提取过程的流程图;
本发明提供的技术方案与现有技术相比具有如下优点和有益效果:
1、目前关于SM2两方适配器签名方案较少,且未考虑恶意敌手安全模型。
2、本发明提出的抗恶意敌手的SM2两方适配器签名方案,在两方不泄露各自持有密钥份额的情况下实现了两方协同签名在恶意敌手模型下的安全性,能够更好地适用于安全需求更强的应用场景,如区块链支付通道,原子交换等。
实施例二
基于同样的发明构思,本实施例提供了一种抗恶意敌手的SM2两方适配器签名生成装置,包括:
密钥生成模块,用于基于零知识证明和承诺技术,两个参与方根据各自持有的部分签名密钥份额共同生成完整公钥,部分签名密钥份额包括参与方P0的部分私钥和部分公钥,参与方P1的部分私钥和部分公钥;
预签名生成模块,用于两个参与方利用各自的部分私钥协同生成关于消息m的SM2适配器预签名;
预签名验证模块,用于根据系统参数、离散对数实例、待验证的消息对生成的SM2适配器预签名进行验证;
适配模块,用于根据系统参数、SM2适配器预签名和离散对数实例证据,生成完整签名;
提取模块,用于根据系统参数、SM2适配器预签名、完整签名和离散对数实例,提取出离散对数实例证据。
由于本发明实施例二所介绍的装置为实施本发明实施例一中抗恶意敌手的SM2两方适配器签名生成方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的装置都属于本发明所欲保护的范围。
实施例三
如图5所示,基于同一发明构思,本发明还提供了一种计算机可读存储介质300,其上存储有计算机程序311,该程序被执行时实现如实施例一中所述的方法。
由于本发明实施例三所介绍的计算机可读存储介质为实施本发明实施例一中抗恶意敌手的SM2两方适配器签名生成方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,如图6所示,包括存储401、处理器402及存储在存储器上并可在处理器上运行的计算机程序403,处理器402执行上述程序时实现实施例一中的方法。
由于本发明实施例四所介绍的计算机设备为实施本发明实施例一中抗恶意敌手的SM2两方适配器签名生成方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (5)
1.一种抗恶意敌手的SM2两方适配器签名生成方法,其特征在于,包括:
S1:基于零知识证明和承诺技术,两个参与方根据各自持有的部分签名密钥份额共同生成完整公钥,部分签名密钥份额包括参与方P0的部分私钥和部分公钥,参与方P1的部分私钥和部分公钥;
S2:两个参与方利用各自的部分私钥协同生成关于消息m的SM2适配器预签名;
S3:根据系统参数、离散对数实例、待验证的消息对生成的SM2适配器预签名进行验证;
S4:根据系统参数、SM2适配器预签名和离散对数实例证据,生成完整签名;
S5:根据系统参数、SM2适配器预签名、完整签名和离散对数实例,提取出离散对数实例证据;
其中,步骤S1包括:
参与方P0选择随机数作为部分私钥,计算第一部分公钥D0,/>生成第一离散对数证明π0,π0用于向验证者证明D0关于G的离散对数为/>同时生成D0和π0的第一承诺c0,并将c0和参与方P0的身份ID0发送给参与方P1,/>为由整数1,2,...,q-1组成的整数集合,q为循环群/>的阶,G为循环群/>的一个生成元;
参与方P1选择随机数作为部分私钥,计算第二部分公钥D1,/>生成第二离散对数证明π1,π1用于向验证者证明D1关于G的离散对数为/>并将D1,π1发送给参与方P0;
如果参与方P0证明π1有效,则打开第一承诺c0并将其值发送给参与方P1,其值为第一承诺的值,即D0、π0以及生成c0时的随机数;
参与方P0计算完整公钥PPUB,
如果参与方P1证明π0有效,则计算完整公钥
步骤S2包括:
参与方P0计算e=H(Z||m),选择随机数计算R0=[k0]G和/>生成第三离散对数证明π2和第四离散对数证明π3,π2用于向验证者证明R0关于G的离散对数为k0,π3用于向验证者证明Q0关于Y的离散对数为/>同时生成R0和π2的第二承诺c1,并将e,π3,c1发送给参与方P1,H为密码杂凑函数,/>Z为输入的共同信息,m为待签名的消息值,R0、Q0为椭圆曲线上的倍点,Y关于G的离散对数为y;
参与方P1选择随机数计算R1=[k1]G,生成第五离散对数证明π4,用于向验证者证明R1关于G的离散对数为k1,并将R1,π4发送给参与方P0,R1为椭圆曲线上的倍点;
如果参与方P0证明π4有效,则打开第二承诺c1并将其值发送给参与方P1,第二承诺c1的值为R0、π2和生成该承诺的随机数;
如果参与方P1证明π2,π3均有效,则计算(x1,y1)=R+Q,r=x1+e mod q和s′=d1r+k1 mod q,生成零知识证明π5=PY((D1,Q),d1),π5用于向验证者证明存在一个/>满足/>且/>并将(r,s′,Q,π5)发送给参与方P0,其中,R、Q为椭圆曲线上的倍点,(x1,y1)为点R+Q对应的坐标表示,r、/>分别为为预签名值/>的组成部分,s′为计算/>的中间值;PY表示生成与Y相关的零知识证明;
参与方P0计算输出预签名值/>
步骤S3包括:
计算和r′=x′1+H(Z||m)mod q,
其中,r、分别为签名生成阶段的预签名值/>的组成部分,PPUB为完整公钥,r′为验证阶段计算的签名组成部分的值;
检查r′=r是否成立,若成立,则br=true;否则,br=false,br为判断输出的结果;
验证零知识证明b=PY((D1,Q),π),PY表示生成与Y相关的零知识证明,D1为参与方P1计算的第二部分公钥,Q为椭圆曲线上的倍点;
如果br和b均为true,则签名有效并输出true;否则,签名无效输出false;
步骤S4包括:
输入系统参数、预签名值和离散对数实例关系证据y,计算完整的签名值σ=(r,s),其中/> 和r从预签名值/>中得到,q为循环群/>的阶。
2.如权利要求1所述的抗恶意敌手的SM2两方适配器签名生成方法,其特征在于,步骤S5包括:
输入系统参数PP、预签名值签名值σ和离散对数实例IY,计算/>验证(Y,y)是否为一个正确的离散对数实例,如果是,则提取成功并输出y′;否则,提取失败。
3.一种抗恶意敌手的SM2两方适配器签名生成装置,其特征在于,基于权利要求1至2任一项权利要求所述的抗恶意敌手的SM2两方适配器签名生成方法实现,所述抗恶意敌手的SM2两方适配器签名生成装置包括:
密钥生成模块,用于基于零知识证明和承诺技术,两个参与方根据各自持有的部分签名密钥份额共同生成完整公钥,部分签名密钥份额包括参与方P0的部分私钥和部分公钥,参与方P1的部分私钥和部分公钥;
预签名生成模块,用于两个参与方利用各自的部分私钥协同生成关于消息m的SM2适配器预签名;
预签名验证模块,用于根据系统参数、离散对数实例、待验证的消息对生成的SM2适配器预签名进行验证;
适配模块,用于根据系统参数、SM2适配器预签名和离散对数实例证据,生成完整签名;
提取模块,用于根据系统参数、SM2适配器预签名、完整签名和离散对数实例,提取出离散对数实例证据。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至2任一项所述的抗恶意敌手的SM2两方适配器签名生成方法。
5.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至2任一项所述的抗恶意敌手的SM2两方适配器签名生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211023910.2A CN115473635B (zh) | 2022-08-24 | 2022-08-24 | 一种抗恶意敌手的sm2两方适配器签名生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211023910.2A CN115473635B (zh) | 2022-08-24 | 2022-08-24 | 一种抗恶意敌手的sm2两方适配器签名生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115473635A CN115473635A (zh) | 2022-12-13 |
CN115473635B true CN115473635B (zh) | 2024-04-19 |
Family
ID=84368326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211023910.2A Active CN115473635B (zh) | 2022-08-24 | 2022-08-24 | 一种抗恶意敌手的sm2两方适配器签名生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115473635B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667626A (zh) * | 2018-07-20 | 2018-10-16 | 陕西师范大学 | 安全的两方协作sm2签名方法 |
CN109474422A (zh) * | 2018-11-19 | 2019-03-15 | 武汉大学 | 一种多方协同产生sm2数字签名的方法 |
CN113452529A (zh) * | 2021-06-02 | 2021-09-28 | 武汉大学 | 一种基于sm2算法的适配器签名生成方法 |
-
2022
- 2022-08-24 CN CN202211023910.2A patent/CN115473635B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108667626A (zh) * | 2018-07-20 | 2018-10-16 | 陕西师范大学 | 安全的两方协作sm2签名方法 |
CN109474422A (zh) * | 2018-11-19 | 2019-03-15 | 武汉大学 | 一种多方协同产生sm2数字签名的方法 |
CN113452529A (zh) * | 2021-06-02 | 2021-09-28 | 武汉大学 | 一种基于sm2算法的适配器签名生成方法 |
Non-Patent Citations (2)
Title |
---|
安全的两方协作SM2签名算法;侯红霞;杨波;张丽娜;张明瑞;;电子学报;20200115(01);全文 * |
移动互联网环境下轻量级SM2两方协同签名;冯琦;何德彪;罗敏;李莉;;计算机研究与发展;20201009(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115473635A (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110391911B (zh) | 区块链匿名投票系统及方法 | |
Chen et al. | Concurrent signatures | |
Susilo et al. | Perfect concurrent signature schemes | |
CN108667626A (zh) | 安全的两方协作sm2签名方法 | |
CN107248909A (zh) | 一种基于sm2算法的无证书安全签名方法 | |
CN106936584B (zh) | 一种无证书公钥密码系统的构造方法 | |
CN113360943A (zh) | 一种区块链隐私数据的保护方法及装置 | |
CN112417489B (zh) | 数字签名的生成方法、装置和服务器 | |
CN111447065A (zh) | 一种主动安全的sm2数字签名两方生成方法 | |
CN113346992B (zh) | 一种保护私钥的基于身份的多重代理签名方法及装置 | |
CN111245615B (zh) | 一种基于身份的数字签名密码逆向防火墙方法 | |
CN115174037B (zh) | 一种基于sm9签名的变色龙哈希函数的构造方法及装置 | |
CN115174056B (zh) | 一种基于sm9签名的变色龙签名生成方法及装置 | |
CN110278073B (zh) | 一种群组数字签名、验证方法及其设备和装置 | |
CN116488823A (zh) | 一种基于sm2和sm3的非交互式零知识证明方法 | |
CN115473635B (zh) | 一种抗恶意敌手的sm2两方适配器签名生成方法及装置 | |
Dodis et al. | Time capsule signature | |
Wang et al. | Perfect ambiguous optimistic fair exchange | |
Huang et al. | Ambiguous optimistic fair exchange: Definition and constructions | |
CN114065233A (zh) | 一种面向大数据和区块链应用的数字签名聚合方法 | |
CN115174052B (zh) | 一种基于sm9签名的适配器签名生成方法及装置 | |
CN115174053B (zh) | 一种基于sm9算法的可否认环认证的签名生成方法及装置 | |
CN115174054B (zh) | 一种基于sm9签名的无证书签名生成方法及装置 | |
Wang et al. | Optimistic fair exchange in the enhanced chosen-key model | |
Homoliak et al. | BBB-Voting: Self-Tallying End-to-End Verifiable 1-out-of-k Blockchain-Based Boardroom Voting |
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 |