CN115174056B - 一种基于sm9签名的变色龙签名生成方法及装置 - Google Patents
一种基于sm9签名的变色龙签名生成方法及装置 Download PDFInfo
- Publication number
- CN115174056B CN115174056B CN202210723570.8A CN202210723570A CN115174056B CN 115174056 B CN115174056 B CN 115174056B CN 202210723570 A CN202210723570 A CN 202210723570A CN 115174056 B CN115174056 B CN 115174056B
- Authority
- CN
- China
- Prior art keywords
- signature
- calculating
- verification
- user
- value
- 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
- 241000122205 Chamaeleonidae Species 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012795 verification Methods 0.000 claims abstract description 59
- 230000006870 function Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims description 8
- 230000003993 interaction Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 abstract description 5
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005242 forging Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization 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/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签名的变色龙签名方案,可以保证验证者可以验证签名的有效性,但是无法向其他第三方证明该签名的有效性,并且变色龙签名不需要交互过程,降低了使用门槛,减少了系统开销,在保证安全性的同时可以提高签名生成的效率。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于SM9签名的变色龙签名生成方法及装置。
背景技术
数字签名是一种重要的密码方案,它通过某种密码运算生成消息数字签名,来代替书写签名或印章,在我国数字签名目前具有与书写签名相同的法律效力。同时数字签名也是实现认证的重要工具,通过在受信任的身份注册机构进行注册取得数字证书,将证书与签名结合可以验证消息发送方的身份并防止发送方抵赖签名结果以及防止消息接收方伪造,还可以验证消息的完整性,抵抗第三方的伪造攻击。其主要用于鉴别签名人的身份以及信息的合法性,是目前网络通信、电子商务、电子政务中使用最普遍、技术最成熟、可操作性最强的一种密码技术。
现有基于身份的不可否认签名生成方法,虽然可以验证签名的有效性,但是其是交互式的,加大了系统的开销,因此效率不高。
发明内容
本发明提供一种基于SM9签名的变色龙签名生成方法及装置,用以解决或者至少部分解决现有技术中存在的效率不高的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种基于SM9签名的变色龙签名生成方法,包括:
密钥生成步骤,包括:
密钥生成中心产生随机数msk,作为系统主私钥,并计算主公钥Ppub=[d]P2;
用户A表示IDA对应的私钥为
用户B表示IDB对应的私钥为
其中,d为由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,表示由1,2,,....,q-1组成的整数集合,IDA、IDB分别表示用户A和B的身份;
签名步骤,用户A进行签名,包括:
计算GT的中的元素g=e(P1,Ppub),随机选取并计算w=gr;
给定用户身份IDB,消息m以及随机元素R∈G1,输出签名阶段的变色龙哈希值
计算h=H2(z||w),l=r-h mod q;
计算输出签名值(R,h,S);
其中,GT为阶为q的乘法循环群,w为第一承诺值,r为随机数,H1(·),H2(·):由密码杂凑函数派生的密码函数,均为h为签名阶段的哈希值,l为计算S的中间变量,S为签名步骤输出签名值的组成部分;
验证步骤,用户B进行验证,包括:
给定待验证的消息m′,待验证的签名值(R′,h′,S′),验证阶段用户A的身份IDA′,计算P=[H1(IDA′)]P2+Ppub;
计算u=e(S′,P);
计算w′=u·gh;
计算z′,
计算h′是否等于H2(z′||w′),
如果等于,则验证通过,签名值为合法签名,否则,验证失败,签名无效;
其中,R′为随机数,R′∈G1,S′为待验证的签名值的组成部分,P为计算u的中间变量,IDB′为验证阶段用户B的身份,u为计算w′的中间变量,w′为第二承诺值,z′为验证阶段的变色龙哈希值,h′为验证阶段的哈希值。
基于同样的发明构思,本发明第二方面提供了一种基于SM9签名的变色龙签名生成装置,包括:
密钥生成模块,用于执行密钥生成步骤,包括:
密钥生成中心产生随机数msk,作为系统主私钥,并计算主公钥Ppub=[d]P2;
用户A表示IDA对应的私钥为
用户B表示IDB对应的私钥为
其中,d为由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,表示由1,2,,....,q-1组成的整数集合,IDA、IDB分别表示用户A和B的身份;
签名生成模块,用于执行签名步骤,用户A进行签名,包括:
计算GT的中的元素g=e(P1,Ppub),随机选取并计算w=gr;
给定用户身份IDB,待签名的消息m以及随机元素R∈G1,输出签名阶段的变色龙哈希值
计算h=H2(z||w),l=r-h mod q;
计算输出签名值(R,h,S);
其中,GT为阶为q的乘法循环群,w为第一承诺值,r为随机数,H1(·),H2(·):由密码杂凑函数派生的密码函数,均为h为签名阶段的哈希值,l为计算S的中间变量,S为签名步骤输出签名值的组成部分;
签名验证模块,用于执行验证步骤,用户B进行验证,包括:
计算GT的中的元素g=e(P1,Ppub),随机选取并计算w=gr;
给定用户身份IDB,消息m以及随机元素R∈G1,输出签名阶段的变色龙哈希值
计算h=H2(z||w),l=r-h mod q;
计算输出签名值(R,h,S);
其中,GT为阶为q的乘法循环群,w为第一承诺值,r为随机数,H1(·),H2(·):由密码杂凑函数派生的密码函数,均为h为签名阶段的哈希值,l为计算S的中间变量,S为签名步骤输出签名值的组成部分;
验证步骤,用户B进行验证,包括:
给定待验证的消息m′,待验证的签名值(R′,h′,S′),验证阶段用户A的身份IDA′,计算P=[H1(IDA′)]P2+Ppub;
计算u=e(S′,P);
计算w′=u·gh;
计算z′,
计算h′是否等于H2(z′||w′),
如果等于,则验证通过,签名值为合法签名,否则,验证失败,签名无效;
其中,R′为随机数,R′∈G1,S′为待验证的签名值的组成部分,P为计算u的中间变量,IDB′为验证阶段用户B的身份,u为计算w′的中间变量,w′为第二承诺值,z′为验证阶段的变色龙哈希值,h′为验证阶段的哈希值。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
相对于现有技术,本发明的优点和有益的技术效果如下:
本发明公开了一种基于SM9签名的变色龙签名生成方法,包括:密钥生成、签名以及验证步骤,该签名生成方法是一种基于SM9签名的变色龙签名方案,可以保证验证者可以验证签名的有效性,但是无法向其他第三方证明该签名的有效性,并且变色龙签名不需要交互过程,降低了使用门槛,减少了系统开销,在保证安全性的同时可以提高签名生成的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于SM9签名的变色龙签名生成方法的整体框架图;
图2为本发明实施例提供基于SM9签名的变色龙签名生成方法的实现流程示意图;
图3为本发明实施例提供的计算机可读存储介质的结构示意图;
图4为本发明实施例提供的计算机设备的结构示意图;
具体实施方式
本发明的目的在于提出一种基于SM9签名的变色龙签名方案,可以保证验证者可以验证签名的有效性,但是无法向其他第三方证明该签名的有效性,并且该方案不需要交互过程,降低了系统的开销和使用门槛,提高了签名生成效率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种基于SM9签名的变色龙签名生成方法,包括:
密钥生成步骤,包括:
密钥生成中心产生随机数msk,作为系统主私钥,并计算主公钥Ppub=[d]P2;
用户A表示IDA对应的私钥为
用户B表示IDB对应的私钥为
其中,d为由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,表示由1,2,,....,q-1组成的整数集合,IDA、IDB分别表示用户A和B的身份;
签名步骤,用户A进行签名,包括:
计算GT的中的元素g=e(P1,Ppub),随机选取并计算w=gr;
给定用户身份IDB,消息m以及随机元素R∈G1,输出签名阶段的变色龙哈希值
计算h=H2(z||w),l=r-h mod q;
计算输出签名值(R,h,S);
其中,GT为阶为q的乘法循环群,w为第一承诺值,r为随机数,H1(·),H2(·):由密码杂凑函数派生的密码函数,均为h为签名阶段的哈希值,l为计算S的中间变量,S为签名步骤输出签名值的组成部分;
验证步骤,用户B进行验证,包括:
给定待验证的消息m′,待验证的签名值(R′,h′,S′),验证阶段用户A的身份IDA′,计算P=[H1(IDA′)]P2+Ppub;
计算u=e(S′,P);
计算w′=u·gh;
计算z′,
计算h′是否等于H2(z′||w′),
如果等于,则验证通过,签名值为合法签名,否则,验证失败,签名无效;
其中,R′为随机数,R′∈G1,S′为待验证的签名值的组成部分,P为计算u的中间变量,IDB′为验证阶段用户B的身份,u为计算w′的中间变量,w′为第二承诺值,z′为验证阶段的变色龙哈希值,h′为验证阶段的哈希值。
具体来说,变色龙签名可以保证签名验证者可以验证签名的有效性,但是无法向其他第三方证明该签名的有效性。该签名可以被广泛的应用于电子投票、电子拍卖等应用领域。基于身份的变色龙签名方案是一种基于身份的签名方案,在预期接收者身份下,通过对消息m进行基于某个身份ID的变色龙签名,验证者可以根据ID验证签名的有效性,但无法向其他第三方证明该签名的有效性。基于身份的变色龙签名可以达到与基于身份的不可否认签名相同的目的,而且是非交互式的。
SM9标识密码算法是国家密码管理局于2016年3月28日发布的一种标识密码标准(标准表号:GM/T 0044-2016 SM9标识密码算法),主要包含三个部分:数字签名算法、公钥加密算法、密钥交换协议。相比于传统密码体系,SM9密码系统中用户的公钥由用户标识唯一确定,因此无需使用证书来保证公钥的真实性,另外SM9算法还具有易于使用、易于管理、总体拥有成本低等特点,可以支持海量设备间的安全通信,在应用于工业互联网、车联网等领域以保障数据安全时有着得天独厚的优势。同时SM9标准满足电子认证服务系统等应用需求,并弥补了国产标识密码体制的空白。
本发明设计了一种基于SM9签名的变色龙签名方案,此方案利用变色龙哈希,对消息进行哈希处理得到变色龙哈希值,然后再进一步操作得到最终签名,由于变色龙哈希在知道陷门(即用户私钥)的情况下可以寻找到碰撞,即可以利用这一特性,实现变色龙签名的不可传递性。
为保证通用性,本发明的参数选取与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]P2。
ID:用户的身份。
IDA:签名阶段用户A的身份。
IDB:签名阶段用户B的身份。
DID:用户的私钥。
m:待签名的消息。
m′:待验证的消息。
IDA′:验证阶段用户A的身份。
IDB′:验证阶段用户B的身份。
mod q:模q运算。例如,23 mod 7≡2。
x||y:x与y的拼接,其中x,y可以是比特串或字节串。
r:中间变量,随机数。
w:签名阶段的中间变量,值为gr。
w′:验证阶段的中间变量。z:签名阶段生成的变色龙哈希的值。
z′:验证阶段生成的变色龙哈希的值。
(R,h,S):签名阶段生成的签名值。
(R′,h′,S′):待验证的签名值。
h:签名阶段的中间变量(哈希值)。h′:验证阶段的中间变量(哈希值)。
具体地,请参见图1-2,其中,图1为本发明实施例提供的基于SM9签名的变色龙签名生成方法的框架图;图2为本发明实施例提供的基于SM9签名的变色龙签名生成方法的详细实现图。本发明公开了一种基于SM9签名的变色龙签名生成方法及装置,通过利用变色龙哈希实现,改变以往SM9签名标准中对m进行传统哈希的操作,首先先对消息m进行变色龙哈希处理,基于此再进行后续签名操作。
本发明具有安全性高、功能完善、交互次数低等优点,可以保证验证者可以验证签名的有效性,但是无法向其他第三方证明该签名的有效性。能够被应用于电子投票、电子拍卖、可编辑区块链等多个应用领域。
本发明与现有技术相比具有如下优点和有益效果:
1、目前已有的变色龙签名算法主要基于国际算法来设计,目前缺乏基于我国商用密码标准的变色龙签名算法,本方案提出了一种基于国密SM9签名算法来实现提供了基于SM9签名的变色龙签名生成方法,弥补了该方面的技术空缺。
2、虽然已有的不可否认签名和变色龙签名的效果和目的相同,但是不可否认签名需要交互过程,而变色龙签名不需要交互过程,降低了系统开销以及使用门槛,提高了生成效率。
实施例二
基于同样的发明构思,本实施例提供了一种基于SM9签名的变色龙签名生成装置,包括:
密钥生成模块,用于执行密钥生成步骤,包括:
密钥生成中心产生随机数msk,作为系统主私钥,并计算主公钥Ppub=[d]P2;
用户A表示IDA对应的私钥为
用户B表示IDB对应的私钥为
其中,d为由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,表示由1,2,,....,q-1组成的整数集合,IDA、IDB分别表示用户A和B的身份;
签名生成模块,用于执行签名步骤,用户A进行签名,包括:
计算GT的中的元素g=e(P1,Ppub),随机选取并计算w=gr;
给定用户身份IDB,待签名的消息m以及随机元素R∈G1,输出签名阶段的变色龙哈希值
计算h=H2(z||w),l=r-h mod q;
计算输出签名值(R,h,S);
其中,GT为阶为q的乘法循环群,w为第一承诺值,r为随机数,H1(·),H2(·):由密码杂凑函数派生的密码函数,均为h为签名阶段的哈希值,l为计算S的中间变量,S为签名步骤输出签名值的组成部分;
签名验证模块,用于执行验证步骤,用户B进行验证,包括:
给定待验证的消息m′,待验证的签名值(R′,h′,S′),验证阶段用户A的身份IDA′,计算P=[H1(IDA′)]P2+Ppub;
计算u=e(S′,P);
计算w′=u·gh;
计算z′,
计算h′是否等于H2(z′||w′),
如果等于,则验证通过,签名值为合法签名,否则,验证失败,签名无效;
其中,R′为随机数,R′∈G1,S′为待验证的签名值的组成部分,P为计算u的中间变量,IDB′为验证阶段用户B的身份,u为计算w′的中间变量,w′为第二承诺值,z′为验证阶段的变色龙哈希值,h′为验证阶段的哈希值。
由于本发明实施例二所介绍的装置为实施本发明实施例一中基于SM9签名的变色龙签名生成方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的装置都属于本发明所欲保护的范围。
实施例三
如图3所示,基于同一发明构思,本发明还提供了一种计算机可读存储介质300,其上存储有计算机程序311,该程序被执行时实现如实施例一中所述的方法。
由于本发明实施例三所介绍的计算机可读存储介质为实施本发明实施例一中基于SM9签名的变色龙签名生成方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,如图4所示,包括存储器401、处理器402及存储在存储器上并可在处理器上运行的计算机程序403,处理器402执行上述程序时实现实施例一中的方法。
由于本发明实施例四所介绍的计算机设备为实施本发明实施例一中基于SM9签名的变色龙签名生成方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (4)
1.一种基于SM9签名的变色龙签名生成方法,其特征在于,包括:
密钥生成步骤,包括:
密钥生成中心产生随机数msk,作为系统主私钥,并计算主公钥Ppub=[d]P2;
用户A表示IDA对应的私钥为
用户B表示IDB对应的私钥为
其中,d为由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,表示由1,2,…,q-1组成的整数集合,IDA、IDB分别表示用户A和B的身份;
签名步骤,用户A进行签名,包括:
计算GT的中的元素g=e(P1,Ppub),随机选取并计算w=gr;
给定用户身份IDB,消息m以及随机元素R∈G1,输出签名阶段的变色龙哈希值
计算h=H2(z||w),l=r-h mod q;
计算输出签名值(R,h,S);
其中,GT为阶为q的乘法循环群,w为第一承诺值,r为随机数,H1(·),H2(·):由密码杂凑函数派生的密码函数,均为h为签名阶段的哈希值,l为计算S的中间变量,S为签名步骤输出签名值的组成部分;
验证步骤,用户B进行验证,包括:
给定待验证的消息m′,待验证的签名值(R′,h′,S′),验证阶段用户A的身份IDA′,计算P=[H1(IDA′)]P2+Ppub;
计算u=e(S′,P);
计算w′=u·gh;
计算z′,
计算h′是否等于H2(z′||w′),
如果等于,则验证通过,签名值为合法签名,否则,验证失败,签名无效;
其中,R′为随机数,R′∈G1,S′为待验证的签名值的组成部分,P为计算u的中间变量,IDB′为验证阶段用户B的身份,u为计算w′的中间变量,w′为第二承诺值,z′为验证阶段的变色龙哈希值,h′为验证阶段的哈希值。
2.一种基于SM9签名的变色龙签名生成装置,其特征在于,包括:
密钥生成模块,用于执行密钥生成步骤,包括:
密钥生成中心产生随机数msk,作为系统主私钥,并计算主公钥Ppub=[d]P2;
用户A表示IDA对应的私钥为
用户B表示IDB对应的私钥为
其中,d为由密钥生成中心秘密持有的系统主私钥,P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,表示由1,2,…,q-1组成的整数集合,IDA、IDB分别表示用户A和B的身份;
签名生成模块,用于执行签名步骤,用户A进行签名,包括:
计算GT的中的元素g=e(P1,Ppub),随机选取并计算w=gr;
给定用户身份IDB,待签名的消息m以及随机元素R∈G1,输出签名阶段的变色龙哈希值
计算h=H2(z||w),l=r-h mod q;
计算输出签名值(R,h,S);
其中,GT为阶为q的乘法循环群,w为第一承诺值,r为随机数,H1(·),H2(·):由密码杂凑函数派生的密码函数,均为h为签名阶段的哈希值,l为计算S的中间变量,S为签名步骤输出签名值的组成部分;
签名验证模块,用于执行验证步骤,用户B进行验证,包括:
计算GT的中的元素g=e(P1,Ppub),随机选取并计算w=gr;
给定用户身份IDB,消息m以及随机元素R∈G1,输出签名阶段的变色龙哈希值
计算h=H2(z||w),l=r-h mod q;
计算输出签名值(R,h,S);
其中,GT为阶为q的乘法循环群,w为第一承诺值,r为随机数,H1(·),H2(·):由密码杂凑函数派生的密码函数,均为h为签名阶段的哈希值,l为计算S的中间变量,S为签名步骤输出签名值的组成部分;
验证步骤,用户B进行验证,包括:
给定待验证的消息m′,待验证的签名值(R′,h′,S′),验证阶段用户A的身份IDA′,计算P=[H1(IDA′)]P2+Ppub;
计算u=e(S′,P);
计算w′=u·gh;
计算z′,
计算h′是否等于H2(z′||w′),
如果等于,则验证通过,签名值为合法签名,否则,验证失败,签名无效;
其中,R′为随机数,R′∈G1,S′为待验证的签名值的组成部分,P为计算u的中间变量,IDB′为验证阶段用户B的身份,u为计算w′的中间变量,w′为第二承诺值,z′为验证阶段的变色龙哈希值,h′为验证阶段的哈希值。
3.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1所述的方法。
4.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210723570.8A CN115174056B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的变色龙签名生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210723570.8A CN115174056B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的变色龙签名生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174056A CN115174056A (zh) | 2022-10-11 |
CN115174056B true CN115174056B (zh) | 2024-04-19 |
Family
ID=83487940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210723570.8A Active CN115174056B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的变色龙签名生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174056B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115906780B (zh) * | 2023-03-14 | 2023-06-23 | 杭州天谷信息科技有限公司 | 可修改格式的电子文档签名方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108783A (en) * | 1998-02-11 | 2000-08-22 | International Business Machines Corporation | Chameleon hashing and signatures |
WO2018119670A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳大学 | 一种无证书部分盲签名方法和装置 |
CN110880977A (zh) * | 2019-11-26 | 2020-03-13 | 武汉大学 | 一种安全高效的sm9环签名生成与验证方法 |
CN110912708A (zh) * | 2019-11-26 | 2020-03-24 | 武汉大学 | 一种基于sm9数字签名算法的环签名生成方法 |
-
2022
- 2022-06-23 CN CN202210723570.8A patent/CN115174056B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108783A (en) * | 1998-02-11 | 2000-08-22 | International Business Machines Corporation | Chameleon hashing and signatures |
WO2018119670A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳大学 | 一种无证书部分盲签名方法和装置 |
CN110880977A (zh) * | 2019-11-26 | 2020-03-13 | 武汉大学 | 一种安全高效的sm9环签名生成与验证方法 |
CN110912708A (zh) * | 2019-11-26 | 2020-03-24 | 武汉大学 | 一种基于sm9数字签名算法的环签名生成方法 |
Non-Patent Citations (1)
Title |
---|
强指定验证者的无证书变色龙数字签名方案;侯红霞;何业锋;;山东大学学报(理学版);20120905(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115174056A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809658B (zh) | 一种基于sm2的身份基的数字签名方法与系统 | |
CN108667626B (zh) | 安全的两方协作sm2签名方法 | |
CN110912708B (zh) | 一种基于sm9数字签名算法的环签名生成方法 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN110880977B (zh) | 一种安全高效的sm9环签名生成与验证方法 | |
CN110138567B (zh) | 一种基于ecdsa的协同签名方法 | |
CN110120939B (zh) | 一种基于异构系统的可否认认证的加密方法和系统 | |
CN111010272B (zh) | 一种标识私钥生成和数字签名方法及系统和装置 | |
CN110505061B (zh) | 一种数字签名算法及系统 | |
CN106936584A (zh) | 一种无证书公钥密码系统的构造方法 | |
CN113162773A (zh) | 一种可证安全的异构盲签密方法 | |
CN114499887B (zh) | 签名密钥生成及相关方法、系统、计算机设备和存储介质 | |
CN115174056B (zh) | 一种基于sm9签名的变色龙签名生成方法及装置 | |
CN110943845A (zh) | 一种轻量级两方协同产生sm9签名的方法及介质 | |
CN114117547A (zh) | 一种基于预计算表的sm9数字签名加速生成方法以及数字签名加速验证方法 | |
CN113055161B (zh) | 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统 | |
CN115174037B (zh) | 一种基于sm9签名的变色龙哈希函数的构造方法及装置 | |
CN115174055B (zh) | 一种基于sm9签名的基于证书签名生成方法及装置 | |
CN113452529A (zh) | 一种基于sm2算法的适配器签名生成方法 | |
CN115174053B (zh) | 一种基于sm9算法的可否认环认证的签名生成方法及装置 | |
CN115174054B (zh) | 一种基于sm9签名的无证书签名生成方法及装置 | |
CN115174052B (zh) | 一种基于sm9签名的适配器签名生成方法及装置 | |
CN115473635B (zh) | 一种抗恶意敌手的sm2两方适配器签名生成方法及装置 | |
CN116094729B (zh) | 一种基于sm9签名的离线授权和在线签名生成方法及系统 | |
Luo et al. | An Efficient Biometric Certificateless Signcryption Scheme. |
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 |