CN115174052B - 一种基于sm9签名的适配器签名生成方法及装置 - Google Patents
一种基于sm9签名的适配器签名生成方法及装置 Download PDFInfo
- Publication number
- CN115174052B CN115174052B CN202210719535.9A CN202210719535A CN115174052B CN 115174052 B CN115174052 B CN 115174052B CN 202210719535 A CN202210719535 A CN 202210719535A CN 115174052 B CN115174052 B CN 115174052B
- Authority
- CN
- China
- Prior art keywords
- signature
- pub
- value
- calculate
- evidence
- 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 42
- 238000000605 extraction Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006978 adaptation Effects 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 7
- 239000000654 additive Substances 0.000 claims description 6
- 230000000996 additive effect Effects 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 230000009977 dual effect Effects 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000402754 Erythranthe moschata Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 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/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
本发明公开了一种基于SM9签名的适配器签名生成方法及装置,其中的方法包括:密钥生成、预签名生成、预签名验证、签名适配以及证据提取步骤,该签名生成方法基于国密SM9算法和适配器签名来实现,通过适配器签名的生成可以满足自主可控的安全需求,并且基于国密SM9算法的高安全性,从而安全性能高。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于SM9签名的适配器签名生成方法及装置。
背景技术
数字签名是一种重要的公钥密码算法,它是通过某种密码运算实现传统纸面签名或盖章的功能,从而保证了数字资源的完整性、真实性和不可抵赖性。数字签名作为实现认证的一项核心技术,在互联网时代中占据了特别重要的地位,它可以用于鉴别签名者的身份以及数字内容的合法性等。随着信息网络技术的发展,数字签名被广泛应用于商业通信系统,如电子邮递、电子转账和办公自动化等系统中。
传统的数字签名生成方法缺乏可适配性,因此导致其应用场景受限。
发明内容
本发明提供一种基于SM9签名的适配器签名生成方法及装置,用以解决或者至少部分解决现有技术中存在的的缺乏可适配性的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种基于SM9签名的适配器签名生成方法,包括:
密钥生成步骤,包括:密钥生成中心产生随机数musk,将d作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;用户A得到其签名私钥IDA,并根据IDA得到对应的用户私钥/> 其中,d表示由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,q为一个大素数,/>表示由1,2,,....,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为/>
预签名生成步骤,包括:用户A生成实例I,I={((z,IDA,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z},并生成第一零知识证明π,π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1()·P2+Ppub)=z},其中Y表示第一证据,z表示第一承诺值,PY表示对于示例I生成零知识证明,e表示从G1×G2到GT的双线性对映射,GT为阶为q的乘法循环群;用户A计算GT中的元素g=e(P1,Ppub),然后随机选取并计算w=gr·z,h=H2(m||w),l=(r-h)mod q,接着计算最后输出待签名的消息m的预签名值/>其中,w为第二承诺值,h为第一哈希值,l表示计算/>的中间变量,/>表示预签名的组成部分;
预签名验证步骤,验证者基于预签名值和待签名的消息m进行验证,包括:验证者验证零知识证明π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z}是否正确,如果成立,则计算P=H1(IDA)·P2+Ppub,并计算/>然后计算h′=H2(m||w′),再判断h′与h是否一致,如果一致,则/>为合法签名,否则,签名无效,P为中间变量,w′为第三承诺值,h′为第二哈希值;
签名适配步骤,包括:在预签名验证成功后,对于给定的预签名值和第一证据Y,计算完整的签名值σ=(h,S),其中/>S表示完整签名的组成部分;
证据提取步骤,包括:给定预签名值完整的签名值σ和实例I,计算/>Y′为第二证据;验证I={((z,ID,Ppub),Y′)|Y′∈G1,e(Y′,H1(IDA)·P2+Ppub)=z}是否为一个正确的实例,如果是,则提取成功并输出Y′;否则,提取失败。
基于同样的发明构思,本发明第二方面提供了一种基于SM9签名的适配器签名生成装置,包括:
密钥生成模块,用于执行密钥生成步骤,包括:密钥生成中心产生随机数msk,将d作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;用户A得到其签名私钥IDA,并根据IDA得到对应的用户私钥/> 其中,d表示由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,q为一个大素数,/>表示由1,2,,....,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为/>
预签名生成模块,用于执行预签名生成步骤,包括:用户A生成实例I,I={((z,IDA,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z},并生成第一零知识证明π,π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z},其中Y表示第一证据,z表示第一承诺值,PY表示对于示例I生成零知识证明,e表示从G1×G2到GT的双线性对映射,GT为阶为q的乘法循环群;用户A计算GT中的元素g=e(P1,Ppub),然后随机选取并计算w=gr·z,h=H2(m||w),l=(r-h)mod q,接着计算/>最后输出待签名的消息m的预签名值/>其中,w为第二承诺值,h为第一哈希值,l表示计算/>的中间变量,/>表示预签名的组成部分;
预签名验证模块,用于执行预签名验证步骤,验证者基于预签名值和待签名的消息m进行验证,包括:验证者验证零知识证明π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z}是否正确,如果成立,则计算P=H1(IDA)·P2+Ppub,并计算然后计算h′=H2(m||w′),再判断h′与h是否一致,如果-致,则/>为合法签名,否则,签名无效,P为中间变量,w′为第三承诺值,h′为第二哈希值;
签名适配模块,用于执行签名适配步骤,包括:在预签名验证成功后,对于给定的预签名值和第一证据Y,计算完整的签名值σ=(h,S),其中/>S表示完整签名的组成部分;
证据提取模块,用于执行证据提取步骤,包括:给定预签名值完整的签名值σ和实例I,计算/>Y′为第二证据;验证I={((z,ID,Ppub),Y′)|Y′∈G1,e(Y′,H1(IDA)·P2+Ppub)=z}是否为一个正确的实例,如果是,则提取成功并输出Y′;否则,提取失败。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
相对于现有技术,本发明的优点和有益的技术效果如下:
本发明提供的一种基于SM9签名的适配器签名生成方法,包括:密钥生成、预签名生成、预签名验证、签名适配以及证据提取步骤,该签名生成方法基于国密SM9算法和适配器签名来实现,通过适配器签名的生成可以满足自主可控的安全需求,并且基于国密SM9算法的高安全性,从而安全性能高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于SM9签名的适配器签名生成方法的整体框架图;
图2为本发明实施例提供的基于SM9签名的适配器签名生成方法的流程图;
图3为本发明实施例提供的计算机可读存储介质的结构示意图;
图4为本发明实施例提供的计算机设备的结构示意图;
具体实施方式
本发明提供了一种基于SM9算法的适配器签名生成方法及装置,在SM9签名结构的基础上,添加适配器功能,能够进一步完善国产功能型密码算法体系。本发明具有安全性高、功能完善等优点,能够被应用于区块链支付通道、区块链原子交换以及离散对数合约等多个应用领域。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种基于SM9签名的适配器签名生成方法,包括:
密钥生成步骤,包括:密钥生成中心产生随机数msk,将d作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;用户A得到其签名私钥IDA,并根据IDA得到对应的用户私钥/> 其中,d表示由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,q为一个大素数,/>表示由1,2,,....,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为
预签名生成步骤,包括:用户A生成实例I,I={((z,IDA,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z},并生成第一零知识证明π,π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z},其中Y表示第一证据,z表示第一承诺值,PY表示对于示例I生成零知识证明,e表示从G1×G2到GT的双线性对映射,GT为阶为q的乘法循环群;用户A计算GT中的元素g=e(P1,Ppub),然后随机选取并计算w=gr·z,h=H2(m||w),l=(r-h)mod q,接着计算/>最后输出待签名的消息m的预签名值/>其中,w为第二承诺值,h为第一哈希值,l表示计算/>的中间变量,/>表示预签名的组成部分;
预签名验证步骤,验证者基于预签名值和待签名的消息m进行验证,包括:验证者验证零知识证明π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z}是否正确,如果成立,则计算P=H1(IDA)·P2+Ppub,并计算/>然后计算h′=H2(m||w′),再判断h′与h是否一致,如果一致,则/>为合法签名,否则,签名无效,P为中间变量,w′为第三承诺值,h′为第二哈希值;
签名适配步骤,包括:在预签名验证成功后,对于给定的预签名值和第一证据Y,计算完整的签名值σ=(h,S),其中/>S表示完整签名的组成部分;
证据提取步骤,包括:给定预签名值完整的签名值σ和实例I,计算/>Y′为第二证据;验证I={((z,ID,Ppub),Y′)|Y′∈G1,e(Y′,H1(IDA)·P2+Ppub)=z}是否为一个正确的实例,如果是,则提取成功并输出Y′;否则,提取失败。
具体来说,SM9标识密码算法是由国家密码管理局于2016年3月28日发布的一种标识密码标准(国密标准编号为“GM/T 0044-2016SM9标识密码算法”)。SM9标识密码算法是一种基于身份的密码体制,该算法中所使用的公、私钥对是根据用户的身份标识产生的,用户的公钥是用户的身份标识,用户的私钥则由私钥生成中心KGC根据用户的身份产生,主要包括数字签名算法、密钥交换算法和公钥加密算法3个部分。
为保证通用性,本发明的参数选取与SM9签名算法标准参数保持一致。具体符号描述如下:
q:一个大素数。
由1,2,,....,q-1组成的整数集合。
G1,G2:阶为q的加法循环群。
GT:阶为q的乘法循环群。
P1,P2:分别为群G1和G2的生成元。
gu:乘法群GT中元素g的u次幂。
[k]P:椭圆曲线上点P的k倍点,k是正整数。
e:从G1×G2到GT的双线性对映射。
H1(·),H2(·):由密码杂凑函数派生的密码函数,均为
d:由KGC秘密持有的系统主私钥。
Ppub:由KGC公开的系统主公钥,计算公式为Ppub=[d]P。
ID:用户的可辨别标识。
IDA:用户A的签名私钥。
m:待签名的消息。
预签名值。
σ=(h,S):完整签名值。
π:零知识证明。
I:困难问题实例。
mod q:模q运算。例如,23mod 7≡2。
x||y:x与y的拼接,其中x,y可以是比特串或字节串。
适配器签名(Adaptor Signature)方案是一种新型密码原语,最近已经作为解决区块链应用可扩展性和互操作性问题的重要工具。适配器签名作为标准数字签名的一种扩展,它的工作原理如下:首先创建一个隐含密码学困难问题(例如离散对数)的“预签名”,并通过困难关系证据将该预签名变换为一个完整签名,且可通过一个标准签名方案的验证算法验证转换后的完整签名是否有效。适配器签名能在区块链中提供很好的原子交换性,并已成为链下支付通道的关键部分。
请参见图1,为本发明实施例提供的基于SM9签名的适配器签名生成方法的整体框架图。
本发明基于SM9签名算法的结构,添加了适配器功能,提出了一种基于SM9签名的适配器签名生成方法,请参见图2,本为发明实施例提供的基于SM9签名的适配器签名生成方法的流程图。
首先是密钥生成步骤,包括:a)密钥生成中心生成主公钥,b)用户A生成其私钥。然后是预签名生成步骤,由用户A进行签名,具体包括:a)A生成实例和零知识证明,b)用户A计算GT中的元素,c)计算w,d)计算e)输出预签名值。预签名验证步骤、签名适配步骤以及证据提取步骤见图1,在此不再详述。
本发明与现有技术相比具有如下优点和有益效果:
现有技术尚未公开基于SM9算法的适配器签名,本发明基于国密SM9算法实现,具有较高的安全性,适配器签名的生成满足自主可控的安全需求。
实施例二
基于同样的发明构思,本实施例提供了一种基于SM9签名的适配器签名生成装置,包括:
密钥生成模块,用于执行密钥生成步骤,包括:密钥生成中心产生随机数msk,将d作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;用户A得到其签名私钥IDA,并根据IDA得到对应的用户私钥/> 其中,d表示由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,q为一个大素数,/>表示由1,2,,....,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为/>
预签名生成模块,用于执行预签名生成步骤,包括:用户A生成实例I,I={((z,IDA,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z},并生成第一零知识证明π,π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z},其中Y表示第一证据,z表示第一承诺值,PY表示对于示例I生成零知识证明,e表示从G1×G2到GT的双线性对映射,GT为阶为q的乘法循环群;用户A计算GT中的元素g=e(P1,Ppub),然后随机选取并计算w=gr·z,h=H2(m||w),l=(r-h)mod q,接着计算/>最后输出待签名的消息m的预签名值/>其中,w为第二承诺值,h为第一哈希值,l表示计算/>的中间变量,/>表示预签名的组成部分;
预签名验证模块,用于执行预签名验证步骤,验证者基于预签名值和待签名的消息m进行验证,包括:验证者验证零知识证明π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z}是否正确,如果成立,则计算P=H1(IDA)·P2+Ppub,并计算然后计算h′=H2(m||w′),再判断h′与h是否一致,如果一致,则/>为合法签名,否则,签名无效,P为中间变量,w′为第三承诺值,h′为第二哈希值;
签名适配模块,用于执行签名适配步骤,包括:在预签名验证成功后,对于给定的预签名值和第一证据Y,计算完整的签名值σ=(h,S),其中/>S表示完整签名的组成部分;
证据提取模块,用于执行证据提取步骤,包括:给定预签名值完整的签名值σ和实例I,计算/>Y′为第二证据;验证I={((z,ID,Ppub),Y′)|Y′∈G1,e(Y′,H1(IDA)·P2+Ppub)=z}是否为一个正确的实例,如果是,则提取成功并输出Y′;否则,提取失败。
由于本发明实施例二所介绍的装置为实施本发明实施例一中基于SM9签名的适配器签名生成方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的装置都属于本发明所欲保护的范围。
实施例三
如图3所示,基于同一发明构思,本发明还提供了一种计算机可读存储介质300,其上存储有计算机程序311,该程序被执行时实现如实施例一中所述的方法。
由于本发明实施例三所介绍的计算机可读存储介质为实施本发明实施例一中基于SM9签名的适配器签名生成方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,如图4所示,包括存储器401、处理器402及存储在存储器上并可在处理器上运行的计算机程序403,处理器402执行上述程序时实现实施例一中的方法。
由于本发明实施例四所介绍的计算机设备为实施本发明实施例一中基于SM9签名的适配器签名生成方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (4)
1.一种基于SM9签名的适配器签名生成方法,其特征在于,包括:
密钥生成步骤,包括:密钥生成中心产生随机数msk,将d作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;用户A得到其签名私钥IDA,并根据IDA得到对应的用户私钥其中,d表示由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,q为一个大素数,/>表示由1,2,....,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为/>
预签名生成步骤,包括:用户A生成实例I,I={((z,IDA,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z},并生成第一零知识证明π,π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1()·P2+Ppub)=z},其中Y表示第一证据,z表示第一承诺值,PY表示对于示例I生成零知识证明,e表示从G1×G2到GT的双线性对映射,GT为阶为q的乘法循环群;用户A计算GT中的元素g=e(P1,Ppub),然后随机选取并计算w=gr·z,h=H2(m||w),l=(r-h)mod q,接着计算/>最后输出待签名的消息m的预签名值/>其中,w为第二承诺值,h为第一哈希值,l表示计算/>的中间变量,/>表示预签名的组成部分;
预签名验证步骤,验证者基于预签名值和待签名的消息m进行验证,包括:验证者验证零知识证明π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z}是否正确,如果成立,则计算P=H1(IDA)·P2+Ppub,并计算/>然后计算h′=H2(m||w′),再判断h′与h是否一致,如果一致,则/>为合法签名,否则,签名无效,P为中间变量,w′为第三承诺值,h′为第二哈希值;
签名适配步骤,包括:在预签名验证成功后,对于给定的预签名值和第一证据Y,计算完整的签名值σ=(h,S),其中/>S表示完整签名的组成部分;
证据提取步骤,包括:给定预签名值完整的签名值σ和实例I,计算/>Y′为第二证据;验证I={((z,ID,Ppub),Y′)|Y′∈G1,e(Y′,H1(IDA)·P2+Ppub)=z}是否为一个正确的实例,如果是,则提取成功并输出Y′;否则,提取失败。
2.一种基于SM9签名的适配器签名生成装置,其特征在于,包括:
密钥生成模块,用于执行密钥生成步骤,包括:密钥生成中心产生随机数msk,将d作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;用户A得到其签名私钥IDA,并根据IDA得到对应的用户私钥/>其中,d表示由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,q为一个大素数,/>表示由1,2,....,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为/>
预签名生成模块,用于执行预签名生成步骤,包括:用户A生成实例I,I={((z,IDA,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z},并生成第一零知识证明π,π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z},其中Y表示第一证据,z表示第一承诺值,PY表示对于示例I生成零知识证明,e表示从G1×G2到GT的双线性对映射,GT为阶为q的乘法循环群;用户A计算GT中的元素g=e(P1,Ppub),然后随机选取并计算w=gr·z,h=H2(m||w),l=(r-h)mod q,接着计算/>最后输出待签名的消息m的预签名值/>其中,w为第二承诺值,h为第一哈希值,l表示计算/>的中间变量,/>表示预签名的组成部分;
预签名验证模块,用于执行预签名验证步骤,验证者基于预签名值和待签名的消息m进行验证,包括:验证者验证零知识证明π=PY{((z,ID,Ppub),Y)|Y∈G1,e(Y,H1(IDA)·P2+Ppub)=z}是否正确,如果成立,则计算P=H1(IDA)·P2+Ppub,并计算/>然后计算h′=H2(m||w′),再判断h′与h是否一致,如果一致,则/>为合法签名,否则,签名无效,P为中间变量,w′为第三承诺值,h′为第二哈希值;
签名适配模块,用于执行签名适配步骤,包括:在预签名验证成功后,对于给定的预签名值和第一证据Y,计算完整的签名值σ=(h,S),其中/>S表示完整签名的组成部分;
证据提取模块,用于执行证据提取步骤,包括:给定预签名值完整的签名值σ和实例I,计算/>Y′为第二证据;验证I={((z,ID,Ppub),Y′)|Y′∈G1,e(Y′,H1(IDA)·P2+Ppub)=z}是否为一个正确的实例,如果是,则提取成功并输出Y′;否则,提取失败。
3.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1所述的方法。
4.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210719535.9A CN115174052B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的适配器签名生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210719535.9A CN115174052B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的适配器签名生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174052A CN115174052A (zh) | 2022-10-11 |
CN115174052B true CN115174052B (zh) | 2024-04-16 |
Family
ID=83487194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210719535.9A Active CN115174052B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的适配器签名生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174052B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119670A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳大学 | 一种无证书部分盲签名方法和装置 |
CN108551392A (zh) * | 2018-04-13 | 2018-09-18 | 武汉大学 | 一种基于sm9数字签名的盲签名生成方法及系统 |
CN110912708A (zh) * | 2019-11-26 | 2020-03-24 | 武汉大学 | 一种基于sm9数字签名算法的环签名生成方法 |
CN111314080A (zh) * | 2019-12-13 | 2020-06-19 | 北京海泰方圆科技股份有限公司 | 一种基于sm9算法的协同签名方法、装置、介质 |
-
2022
- 2022-06-23 CN CN202210719535.9A patent/CN115174052B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119670A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳大学 | 一种无证书部分盲签名方法和装置 |
CN108551392A (zh) * | 2018-04-13 | 2018-09-18 | 武汉大学 | 一种基于sm9数字签名的盲签名生成方法及系统 |
CN110912708A (zh) * | 2019-11-26 | 2020-03-24 | 武汉大学 | 一种基于sm9数字签名算法的环签名生成方法 |
CN111314080A (zh) * | 2019-12-13 | 2020-06-19 | 北京海泰方圆科技股份有限公司 | 一种基于sm9算法的协同签名方法、装置、介质 |
Non-Patent Citations (2)
Title |
---|
一个改进的无证书签名方案;明洋;詹阳;王育民;庞辽军;;西安电子科技大学学报;20081215(06);全文 * |
基于SM2数字签名算法的适配器签名方案;彭聪等;《 计算机研究与发展》;20211031;第58卷(第10期);2278-2286 * |
Also Published As
Publication number | Publication date |
---|---|
CN115174052A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667626B (zh) | 安全的两方协作sm2签名方法 | |
CN108809658B (zh) | 一种基于sm2的身份基的数字签名方法与系统 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN110120939B (zh) | 一种基于异构系统的可否认认证的加密方法和系统 | |
CN107395368B (zh) | 无介质环境中的数字签名方法及解封装方法与解密方法 | |
CN107911217B (zh) | 基于ecdsa算法协同生成签名的方法、装置和数据处理系统 | |
CN106936584B (zh) | 一种无证书公钥密码系统的构造方法 | |
CN113032844B (zh) | 椭圆曲线的签名方法、验签方法和装置 | |
CN115174056B (zh) | 一种基于sm9签名的变色龙签名生成方法及装置 | |
CN112446052A (zh) | 一种适用于涉密信息系统的聚合签名方法及系统 | |
CN112152813B (zh) | 一种支持隐私保护的无证书内容提取签密方法 | |
CN110932866B (zh) | 一种基于sm2数字签名算法的环签名生成方法 | |
CN114499887B (zh) | 签名密钥生成及相关方法、系统、计算机设备和存储介质 | |
CN112800482B (zh) | 基于身份的在线/离线安全云存储审计方法 | |
CN112511314B (zh) | 一种基于身份的可恢复消息盲签名生成方法 | |
CN115174037B (zh) | 一种基于sm9签名的变色龙哈希函数的构造方法及装置 | |
CN108667619B (zh) | 一种sm9数字签名的白盒实现方法与装置 | |
CN115174052B (zh) | 一种基于sm9签名的适配器签名生成方法及装置 | |
WO2023016729A1 (en) | Generating digital signature shares | |
CN111817848B (zh) | 一种ecc私钥分段存储的ecdsa签名方法及系统 | |
CN115174054B (zh) | 一种基于sm9签名的无证书签名生成方法及装置 | |
CN115174055B (zh) | 一种基于sm9签名的基于证书签名生成方法及装置 | |
CN115174053B (zh) | 一种基于sm9算法的可否认环认证的签名生成方法及装置 | |
CN115473635B (zh) | 一种抗恶意敌手的sm2两方适配器签名生成方法及装置 | |
Wang | Signer‐admissible strong designated verifier signature from bilinear pairings |
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 |