CN115174054B - 一种基于sm9签名的无证书签名生成方法及装置 - Google Patents
一种基于sm9签名的无证书签名生成方法及装置 Download PDFInfo
- Publication number
- CN115174054B CN115174054B CN202210719538.2A CN202210719538A CN115174054B CN 115174054 B CN115174054 B CN 115174054B CN 202210719538 A CN202210719538 A CN 202210719538A CN 115174054 B CN115174054 B CN 115174054B
- Authority
- CN
- China
- Prior art keywords
- signature
- user
- value
- private key
- calculating
- 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 44
- 238000012795 verification Methods 0.000 claims abstract description 15
- 238000000605 extraction Methods 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 15
- 125000004122 cyclic group Chemical group 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于SM9签名的无证书签名生成方法及装置,其中的方法包括初始化步骤、部分私钥提取步骤、秘密值设置步骤、公钥设置步骤、私钥设置步骤、签名步骤以及验证步骤,它基于SM9算法的签名结构,消除了传统公钥密码系统中对证书的需求以及基于身份的公钥密码术中的密钥托管问题,该方法的实现无需传输大量证书数据,能够适用于资源受限的应用场景中,弥补了SM9数字签名算法在无证书体系中的空缺。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于SM9签名的无证书签名生成方法及装置。
背景技术
数字签名(Digital Signature)是密码学中的重要部分之一。数字签名被认为是对现实中手写签名的电子模拟。在日常生活中,许多事件的处理都需要经过特定个人或团体的签名。
现有的签名生成一般基于传统的公钥基础设施密码体制或者基于身份的密码体制来实现,前者需要基于证书来实现,后者会产生密钥托管的问题,因此存在签名生成实现较为复杂的问题。
发明内容
本发明提供一种基于SM9签名的无证书签名生成方法及装置,用以解决或者至少部分解决现有技术中存在的因需要基于证书来实现或者会产生密钥托管问题而存在的实现复杂的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种基于SM9签名的无证书签名生成方法,包括:
初始化步骤,包括:密钥生成中心产生随机数msk,其中将产生的随机数d作为主私钥,并计算主公钥Ppub=[d]P2,然后计算GT的中的元素g=e(P1,Ppub),P1, P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,GT表示q的乘法循环群,q为一个大素数,/>表示由1,2,,…,q-1组成的整数集合;
部分私钥提取步骤,包括:密钥生成中心生成用户A部分私钥 其中,H1(·)为由密码杂凑函数派生的密码函数,IDA为用户A的可辨识标识;
秘密值设置步骤,包括:用户A随机选取将xA作为自己的秘密值;
公钥设置步骤,包括:用户A计算群元素QA,QA=[H1(IDA)]P2+Ppub,RA=[xA]QA,并设置用户RA的公钥PKA,PKA=RA,其中,RA为基于群元素QA计算出的一个中间变量;
私钥设置步骤,包括:用户A计算yA,yA=H3(RA),并计算自己的私钥SA,其中,yA表示RA的哈希值;
签名步骤,包括:给定待签名的消息m,私钥SA,身份IDA;用户A作为签名者随机选取r,计算w=gr,w为基于r生成的第一承诺值,基于消息m和第一承诺值w计算第一哈希值h,h=H2(m||w)然后计算中间变量l,l=r-hmodq,再计算V,V=[l]SA,V为部分签名值,最后输出签名值σ=(h,V);
验证步骤,包括:验证者在给定待签名的消息m,公钥RA,身份IDA,签名值σ=(h,V)的情况下,首先计算群元素QA,QA=[H1(IDA)]P2+Ppub,并计算RA的哈希值yA,yA=H3(RA);然后计算中间变量u,u=e(V,RA+[yA]QA),再计算w’,w′=u·gh,w’为基于r生成的第二承诺值,然后计算第二哈希值h′,h′=H2(m||w′),最后判断第二哈希值h′与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
基于同样的发明构思,本发明第二方面提供了一种基于SM9签名的无证书签名生成装置,包括:
初始化模块,用于执行初始化步骤,包括:密钥生成中心产生随机数msk,其中将产生的随机数d作为主私钥,并计算主公钥Ppub=[d]P2,然后计算GT的中的元素g=e(P1,Ppub),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,GT表示q的乘法循环群,q为一个大素数,/>表示由1,2,,…,q-1组成的整数集合;
部分私钥提取模块,用于执行部分私钥提取步骤,包括:密钥生成中心生成用户A部分私钥 其中,H1(·)为由密码杂凑函数派生的密码函数,IDA为用户A的可辨识标识;
秘密值设置模块,用于执行秘密值设置步骤,包括:用户A随机选取将xA作为自己的秘密值;
公钥设置模块,用于执行公钥设置步骤,包括:用户A计算群元素QA,QA= [H1(IDA)]P2+Ppub,RA=[xA]QA,并设置用户RA的公钥PKA,PKA=RA,其中,RA为基于群元素QA计算出的一个中间变量;
私钥设置模块,用于执行私钥设置步骤,包括:用户A计算yA,yA=H3(RA),并计算自己的私钥SA,其中,yA表示RA的哈希值;
签名模块,用于执行签名步骤,包括:给定待签名的消息m,私钥SA,身份IDA;用户 A作为签名者随机选取r,计算w=gr,w为基于r生成的第一承诺值,基于消息m和第一承诺值w计算第一哈希值h,h=H2(m||w)然后计算中间变量l,l=r-hmodq,再计算V,V=[l]SA,V为部分签名值,最后输出签名值σ=(h,V);
验证模块,用于执行验证步骤,包括:验证者在给定待签名的消息m,公钥RA,身份IDA,签名值σ=(h,V)的情况下,首先计算群元素QA,QA=[H1(IDA)]P2+Ppub,并计算RA的哈希值yA,yA=H3(RA);然后计算中间变量u,u=e(V,RA+[yA]QA),再计算w’,w′=u·gh, w’为基于r生成的第二承诺值,然后计算第二哈希值h′,h′=H2(m||w′),最后判断第二哈希值h′与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
相对于现有技术,本发明的优点和有益的技术效果如下:
本发明提供的本发明公开了一种基于SM9签名的无证书签名生成方法及装置,包括:初始化、部分私钥提取、秘密值设置、公钥设置、私钥设置、签名以及验证步骤,该签名生成方法基于无证书密码体制来实现,无证书密码体制不需要任何证书来确保公钥/私钥对的真实性,并且由于其私钥的产生同时借助于用户和KGC(密钥生成中心),因此不存在密钥托管问题。本发明的方法基于SM9算法的签名结构,并消除了传统公钥密码系统中对证书的需求以及基于身份的公钥密码术中的密钥托管问题,简化了签名的生成过程,并且保证了安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的无证书签名生成方法的流程图;
图2为本发明实施例提供的无证书签名生成方法中的密钥生成阶段示意图;
图3为本发明实施例提供的无证书签名生成方法中的签名验签阶段示意图;
图4为本发明实施例提供的计算机可读存储介质的结构示意图;
图5为本发明实施例提供的计算机设备的结构示意图;
具体实施方式
本申请发明人通过大量的研究与实践发现:
现有的签名生成方法主要基于传统的公钥基础设施密码体制或者基于身份的密码体制来实现,前者需要基于证书来实现,后者会产生密钥托管的问题。无证书公钥密码是通过密钥生成中心产生的部分私钥和用户自身产生的秘密值来生成完整私钥,其(无证书体系)可以消除传统公钥密码系统中对证书的需求以及基于身份的公钥密码术(ID-PKC)中的密钥托管问题。
与传统的公钥基础设施密码体制以及基于身份的密码体制相比,无证书密码体制不需要任何证书来确保公钥/私钥对的真实性,并且由于其私钥的产生同时借助于用户和KGC,因此不存在密钥托管问题。凭借以上优势,无证书公钥密码系统可以为移动设备提供强大的安全保障,同时满足资源受限条件下的设备的效率要求。由于无证书公钥密码学的优点,本发明提出了一种基于SM9签名的无证书签名生成方法及装置。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种基于SM9签名的无证书签名生成方法,包括:
初始化步骤,包括:密钥生成中心产生随机数msk,其中将产生的随机数d作为主私钥,并计算主公钥Ppub=[d]P2,然后计算GT的中的元素g=e(P1,Ppub),P1, P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,GT表示q的乘法循环群,q为一个大素数,/>表示由1,2,,…,q-1组成的整数集合;
部分私钥提取步骤,包括:密钥生成中心生成用户A部分私钥 其中,H1(·)为由密码杂凑函数派生的密码函数,IDA为用户A的可辨识标识;
秘密值设置步骤,包括:用户A随机选取将xA作为自己的秘密值;
公钥设置步骤,包括:用户A计算群元素QA,QA=[H1(IDA)]P2+Ppub,RA=[xA]QA,并设置用户RA的公钥PKA,PKA=RA,其中,RA为基于群元素QA计算出的一个中间变量;
私钥设置步骤,包括:用户A计算yA,yA=H3(RA),并计算自己的私钥SA,其中,yA表示RA的哈希值;
签名步骤,包括:给定待签名的消息m,私钥SA,身份IDA;用户A作为签名者随机选取r,计算w=gr,w为基于r生成的第一承诺值,基于消息m和第一承诺值w计算第一哈希值h,h=H2(m||w)然后计算中间变量l,l=r-hmodq,再计算V,V=[l]SA,V为部分签名值,最后输出签名值σ=(h,V);
验证步骤,包括:验证者在给定待签名的消息m,公钥RA,身份IDA,签名值σ=(h,V)的情况下,首先计算群元素QA,QA=[H1(IDA)]P2+Ppub,并计算RA的哈希值yA,yA=H3(RA);然后计算中间变量u,u=e(V,RA+[yA]QA),再计算w’,w′=u·gh,w’为基于r生成的第二承诺值,然后计算第二哈希值h′,h′=H2(m||w′),最后判断第二哈希值h′与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
具体来说,2016年3月28日,国家密码管理局发布了SM9标识密码算法。SM9作为一种标识密码标准(标准表号:GM/T 0044-2016SM9标识密码算法),其主要由以下三个部分组成:数字签名算法、公钥加密算法、密钥交换协议。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(·),H3(·):由密码杂凑函数派生的密码函数,均为
d:由KGC秘密持有的系统主私钥。
Ppub:由KGC公开的系统主公钥,计算公式为Ppub=[d]P。
ID:用户的可辨别标识。
用户A的部分私钥。
xA:用户A的秘密值。
PKA:用户A的公钥,即RA。
SA:用户A的私钥。
m:待签名的消息。
σ=(h,V):签名值。
mod q:模q运算。例如,23mod 7≡2。
x||y:x与y的拼接,其中x,y可以是比特串或字节串。
本发明提供的方法是基于SM9签名的无证书签名生成方法,主要包括两个阶段:密钥生成阶段(包括初始化、部分私钥提取、秘密值设置以及公钥设置步骤)、以及签名验签阶段(包括签名、验证步骤)。
具体地,请参见图1-3,其中,图1为本发明实施例提供的无证书签名生成方法的流程图;图2为本发明实施例提供的无证书签名生成方法中的密钥生成阶段示意图;图3为本发明实施例提供的无证书签名生成方法中的签名验签阶段示意图。
下面进行正确性的验证:
h=H2(m||w)
=H2(m||u·gh)
=H2(m||gl·gh)
=H2(m||gr)
本发明与现有技术相比具有如下优点和有益效果:
现有技术尚未公开基于SM9的无证书签名方法,本发明的方法无需传输大量证书数据,能够适用于资源受限的应用场景中,也弥补了SM9数字签名算法在无证书体系中的技术空缺。
实施例二
基于同样的发明构思,本实施例提供了一种基于SM9签名的无证书签名生成装置,包括:
初始化模块,用于执行初始化步骤,包括:密钥生成中心产生随机数msk,其中将产生的随机数d作为主私钥,并计算主公钥Ppub=[d]P2,然后计算GT的中的元素g=e(P1,Ppub),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,GT表示q的乘法循环群,q为一个大素数,/>表示由1,2,,…,q-1组成的整数集合;
部分私钥提取模块,用于执行部分私钥提取步骤,包括:密钥生成中心生成用户A部分私钥 其中,H1(·)为由密码杂凑函数派生的密码函数,IDA为用户A的可辨识标识;
秘密值设置模块,用于执行秘密值设置步骤,包括:用户A随机选取将xA作为自己的秘密值;
公钥设置模块,用于执行公钥设置步骤,包括:用户A计算群元素QA,QA= [H1(IDA)]P2+Ppub,RA=[xA]QA,并设置用户RA的公钥PKA,PKA=RA,其中,RA为基于群元素QA计算出的一个中间变量;
私钥设置模块,用于执行私钥设置步骤,包括:用户A计算yA,yA=H3(RA),并计算自己的私钥SA,其中,yA表示RA的哈希值;
签名模块,用于执行签名步骤,包括:给定待签名的消息m,私钥SA,身份IDA;用户 A作为签名者随机选取r,计算w=gr,w为基于r生成的第一承诺值,基于消息m和第一承诺值w计算第一哈希值h,h=H2(m||w)然后计算中间变量l,l=r-hmodq,再计算V,V=[l]SA,V为部分签名值,最后输出签名值σ=(h,V);
验证模块,用于执行验证步骤,包括:验证者在给定待签名的消息m,公钥RA,身份IDA,签名值σ=(h,V)的情况下,首先计算群元素QA,QA=[H1(IDA)]P2+Ppub,并计算RA的哈希值yA,yA=H3(RA);然后计算中间变量u,u=e(V,RA+[yA]QA),再计算w′,w′=u·gh, w′为基于r生成的第二承诺值,然后计算第二哈希值h′,h′=H2(m||w′),最后判断第二哈希值h′与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
由于本发明实施例二所介绍的装置为实施本发明实施例一中基于SM9签名的无证书签名生成方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的装置都属于本发明所欲保护的范围。
实施例三
如图4所示,基于同一发明构思,本发明还提供了一种计算机可读存储介质300,其上存储有计算机程序311,该程序被执行时实现如实施例一中所述的方法。
由于本发明实施例三所介绍的计算机可读存储介质为实施本发明实施例一中基于SM9 签名的无证书签名生成方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,如图5所示,包括存储器401、处理器402及存储在存储器上并可在处理器上运行的计算机程序403,处理器402执行上述程序时实现实施例一中的方法。
由于本发明实施例四所介绍的计算机设备为实施本发明实施例一中基于SM9签名的无证书签名生成方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和 /或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和 /或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (4)
1.一种基于SM9签名的无证书签名生成方法,其特征在于,包括:
初始化步骤,包括:密钥生成中心产生随机数msk,其中将产生的随机数d作为主私钥,并计算主公钥Ppub=[d]P2,然后计算GT的中的元素g=e(P1,Ppub),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,GT表示q的乘法循环群,q为一个大素数,表示由1,2,....,q-1组成的整数集合;
部分私钥提取步骤,包括:密钥生成中心生成用户A部分私钥 其中,H1(·)为由密码杂凑函数派生的密码函数,IDA为用户A的可辨识标识;
秘密值设置步骤,包括:用户A随机选取将xA作为自己的秘密值;
公钥设置步骤,包括:用户A计算群元素QA,QA=[H1(IDA)]P2+Ppub,RA=[xA]QA,并设置用户RA的公钥PKA,PKA=RA,其中,RA为基于群元素QA计算出的一个中间变量;
私钥设置步骤,包括:用户A计算yA,yA=H3(RA),并计算自己的私钥SA,其中,yA表示RA的哈希值;
签名步骤,包括:给定待签名的消息m,私钥SA,身份IDA;用户A作为签名者随机选取r,计算w=gr,w为基于r生成的第一承诺值,基于消息m和第一承诺值w计算第一哈希值h,h=H2(m||w)然后计算中间变量l,l=r-h mod q,再计算V,V=[l]SA,V为部分签名值,最后输出签名值σ=(h,V);
验证步骤,包括:验证者在给定待签名的消息m,公钥RA,身份IDA,签名值σ=(h,V)的情况下,首先计算群元素QA,QA=[H1(IDA)]P2+Ppub,并计算RA的哈希值yA,yA=H3(RA);然后计算中间变量u,u=e(V,RA+[yA]QA),再计算w′,w′=u·gh,w′为基于r生成的第二承诺值,然后计算第二哈希值h′,h′=H2(m||w′),最后判断第二哈希值h′与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
2.一种基于SM9签名的无证书签名生成装置,其特征在于,包括:
初始化模块,用于执行初始化步骤,包括:密钥生成中心产生随机数msk,其中将产生的随机数d作为主私钥,并计算主公钥Ppub=[d]P2,然后计算GT的中的元素g=e(P1,Ppub),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,GT表示q的乘法循环群,q为一个大素数,/>表示由1,2,....,q-1组成的整数集合;
部分私钥提取模块,用于执行部分私钥提取步骤,包括:密钥生成中心生成用户A部分私钥 其中,H1(·)为由密码杂凑函数派生的密码函数,IDA为用户A的可辨识标识;
秘密值设置模块,用于执行秘密值设置步骤,包括:用户A随机选取将xA作为自己的秘密值;
公钥设置模块,用于执行公钥设置步骤,包括:用户A计算群元素QA,QA=[H1(IDA)]P2+Ppub,RA=[xA]QA,并设置用户RA的公钥PKA,PKA=RA,其中,RA为基于群元素QA计算出的一个中间变量;
私钥设置模块,用于执行私钥设置步骤,包括:用户A计算yA,yA=H3(RA),并计算自己的私钥SA,其中,yA表示RA的哈希值;
签名模块,用于执行签名步骤,包括:给定待签名的消息m,私钥SA,身份IDA;用户A作为签名者随机选取r,计算w=gr,w为基于r生成的第一承诺值,基于消息m和第一承诺值w计算第一哈希值h,h=H2(m||w)然后计算中间变量l,l=r-h mod q,再计算V,V=[l]SA,V为部分签名值,最后输出签名值σ=(h,V);
验证模块,用于执行验证步骤,包括:验证者在给定待签名的消息m,公钥RA,身份IDA,签名值σ=(h,V)的情况下,首先计算群元素QA,QA=[H1(IDA)]P2+Ppub,并计算RA的哈希值yA,yA=H3(RA);然后计算中间变量u,u=e(V,RA+[yA]QA),再计算w′,w′=u·gh,w′为基于r生成的第二承诺值,然后计算第二哈希值h′,h′=H2(m||w′),最后判断第二哈希值h′与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
3.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1所述的方法。
4.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210719538.2A CN115174054B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的无证书签名生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210719538.2A CN115174054B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的无证书签名生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174054A CN115174054A (zh) | 2022-10-11 |
CN115174054B true CN115174054B (zh) | 2024-04-19 |
Family
ID=83486938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210719538.2A Active CN115174054B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的无证书签名生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174054B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106936584A (zh) * | 2017-03-08 | 2017-07-07 | 平顶山学院 | 一种无证书公钥密码系统的构造方法 |
WO2018119670A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳大学 | 一种无证书部分盲签名方法和装置 |
CN112511566A (zh) * | 2021-02-02 | 2021-03-16 | 北京信安世纪科技股份有限公司 | Sm9算法无证书机制签名密钥生成方法、设备及存储介质 |
CN113221130A (zh) * | 2021-01-28 | 2021-08-06 | 武汉大学 | 一种面向食品安全物联网的无证书在线离线签名方法及介质 |
-
2022
- 2022-06-23 CN CN202210719538.2A patent/CN115174054B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119670A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳大学 | 一种无证书部分盲签名方法和装置 |
CN106936584A (zh) * | 2017-03-08 | 2017-07-07 | 平顶山学院 | 一种无证书公钥密码系统的构造方法 |
CN113221130A (zh) * | 2021-01-28 | 2021-08-06 | 武汉大学 | 一种面向食品安全物联网的无证书在线离线签名方法及介质 |
CN112511566A (zh) * | 2021-02-02 | 2021-03-16 | 北京信安世纪科技股份有限公司 | Sm9算法无证书机制签名密钥生成方法、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于SM9算法可证明安全的区块链隐私保护方案;杨亚涛;蔡居良;张筱薇;袁征;;软件学报;20190327(06);全文 * |
基于SM9算法的无证书密码机制;李愿军等;《机电产品开发与创新》;20220531;第35卷(第3期);43-47 * |
Also Published As
Publication number | Publication date |
---|---|
CN115174054A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989050B (zh) | 一种无证书数字签名方法 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN104539423B (zh) | 一种无双线性对运算的无证书公钥密码体制的实现方法 | |
CN110912708B (zh) | 一种基于sm9数字签名算法的环签名生成方法 | |
Huang et al. | Certificateless signatures: new schemes and security models | |
CN102387019B (zh) | 无证书部分盲签名方法 | |
CN110120939B (zh) | 一种基于异构系统的可否认认证的加密方法和系统 | |
CN107911217B (zh) | 基于ecdsa算法协同生成签名的方法、装置和数据处理系统 | |
CN106936584B (zh) | 一种无证书公钥密码系统的构造方法 | |
CA2830285C (en) | Keyed pv signatures | |
CN110505061B (zh) | 一种数字签名算法及系统 | |
CN101697513A (zh) | 数字签名方法、验证方法、数字签名装置及数字签名系统 | |
CN112446052A (zh) | 一种适用于涉密信息系统的聚合签名方法及系统 | |
CN111245625A (zh) | 无证书聚合的数字签名方法 | |
CN114499887B (zh) | 签名密钥生成及相关方法、系统、计算机设备和存储介质 | |
Bhagya et al. | Efficient and secure pairing-free certificateless directed signature scheme | |
CN110943845A (zh) | 一种轻量级两方协同产生sm9签名的方法及介质 | |
CN114117547A (zh) | 一种基于预计算表的sm9数字签名加速生成方法以及数字签名加速验证方法 | |
CN115174056B (zh) | 一种基于sm9签名的变色龙签名生成方法及装置 | |
CN115174037B (zh) | 一种基于sm9签名的变色龙哈希函数的构造方法及装置 | |
CN115174054B (zh) | 一种基于sm9签名的无证书签名生成方法及装置 | |
CN110266492A (zh) | 一种可追踪的泛在电力物联网身份认证方法 | |
CN110557260A (zh) | 一种sm9数字签名生成方法及装置 | |
CN115580408A (zh) | 一种基于sm9的无证书签名生成方法及系统 | |
CN115174055B (zh) | 一种基于sm9签名的基于证书签名生成方法及装置 |
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 |