CN115174054B - 一种基于sm9签名的无证书签名生成方法及装置 - Google Patents

一种基于sm9签名的无证书签名生成方法及装置 Download PDF

Info

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
Application number
CN202210719538.2A
Other languages
English (en)
Other versions
CN115174054A (zh
Inventor
包子健
何德彪
郑航城
彭聪
王婧
冯琦
黄欣沂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202210719538.2A priority Critical patent/CN115174054B/zh
Publication of CN115174054A publication Critical patent/CN115174054A/zh
Application granted granted Critical
Publication of CN115174054B publication Critical patent/CN115174054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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签名的无证书签名生成方法及装置
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于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所述的方法。
CN202210719538.2A 2022-06-23 2022-06-23 一种基于sm9签名的无证书签名生成方法及装置 Active CN115174054B (zh)

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)

* Cited by examiner, † Cited by third party
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 武汉大学 一种面向食品安全物联网的无证书在线离线签名方法及介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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