CN115174055B - 一种基于sm9签名的基于证书签名生成方法及装置 - Google Patents
一种基于sm9签名的基于证书签名生成方法及装置 Download PDFInfo
- Publication number
- CN115174055B CN115174055B CN202210723552.XA CN202210723552A CN115174055B CN 115174055 B CN115174055 B CN 115174055B CN 202210723552 A CN202210723552 A CN 202210723552A CN 115174055 B CN115174055 B CN 115174055B
- Authority
- CN
- China
- Prior art keywords
- signature
- user
- certificate
- pub
- calculates
- 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 47
- 238000012795 verification Methods 0.000 claims abstract description 22
- 238000013475 authorization Methods 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 abstract description 6
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration 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
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/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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0847—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
-
- 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
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于SM9签名的基于证书签名生成方法及装置,其中的方法包括:初始化步骤、证书授权步骤、签名步骤以及验证步骤,它基于SM9的签名结构,结合了传统公钥密码的优点(PKI)和基于身份的加密技术,无需使用昂贵的证书链验证过程和移除了密钥托管安全性问题,从而简化了签名的生成过程,并保证了安全性。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于SM9签名的基于证书签名生成方法及装置。
背景技术
随着信息网络技术在金融、政务、通信等领域不断深化,数字签名作为实现数字认证的重要工具,愈发需要满足不断新生的应用场景和要求。数字签名具有身份合法性认证、抗抵赖、防伪造等特性,因此普遍应用于目前的网络通信、电子商务、电子政务等场景中。目前主流数字签名技术采用传统公钥密码体系,需要一套公钥基础设施以及繁琐的证书管理,而标识密码算法虽然摆脱了这些缺点,但仍因密钥托管存在安全问题。因此现有技术中的签名生成方法存在实现复杂的技术问题。
发明内容
本发明提供一种基于SM9签名的基于证书签名生成方法及装置,用以解决或者至少部分解决现有技术中存在的实现复杂的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种基于SM9签名的基于证书签名生成方法,其特征在于,包括:
初始化步骤,包括:证书颁发机构产生随机数d,作为私钥,并计算公钥Ppub=[d]P2,用户A生成自己的公私钥对(SKA,PKA)=(sA,[sA]P1),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,/>表示由1,2,,....,q-1组成的整数集合,SKA、PKA分别为用户A的私钥和公钥,sA为用户A的基于证书体系的私钥;
证书授权步骤,包括:用户A将相关信息发送至证书颁发机构,其中,相关信息包括用户A的公钥PKA和个人信息AliceInfo;证书颁发机构对用户A的相关信息进行验证,如果验证通过,则计算哈希值t,t=H1(Ppub,PKA,AliceInfo),并进一步生成用户A的证书CertA,CertA=[d(t+d)-1]P1,并将CertA发送给用户A,然后由用户A计算自己基于证书体系的私钥SA=[sA]CertA=[sA·d(t+d)-1]P1;
签名步骤,包括:用户A作为签名者,首先计算GT的中的元素g,g=e(PKA,Ppub),然后随机选取并计算w,h和l,w=gr,h=H2(m||w),l=r-h mod q,其中,w表示对r的第一承诺值,h表示对m||w的第一哈希值,l为计算S的中间变量;然后计算S,S=[l]SA,S为签名的组成部分,最后,根据h和S得到待签名的消息m的签名σ=(h,S);
验证步骤,包括:验证者计算GT的中的元素g,g=e(PKA,Ppub),然后计算t,t=H1(Ppub,PKA,AliceInfo),并计算u=e(S,[t]P2+Ppub),然后计算w′=u·gh,t表示对Ppub,PKA,AliceInfo的第二哈希值,u为计算w′的中间变量,w′为基于r生成的第二承诺值,计算h′=H2(m||w′),h′为基于m||w′的第二哈希值,最后判断第二哈希值h′与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
基于同样的发明构思,本发明第二方面提供了一种基于SM9签名的基于证书签名生成装置,包括:
初始化模块,用于执行初始化步骤,包括:证书颁发机构产生随机数d,作为私钥,并计算公钥Ppub=[d]P2,用户A生成自己的公私钥对(SKA,PKA)=(sA,[sA]P1),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,/>表示由1,2,,....,q-1组成的整数集合,SKA、PKA分别为用户A的私钥和公钥,sA为用户A的基于证书体系的私钥;
证书授权模块,用于执行证书授权步骤,包括:用户A将相关信息发送至证书颁发机构,其中,相关信息包括用户A的公钥PKA和个人信息AliceInfo;证书颁发机构对用户A的相关信息进行验证,如果验证通过,则计算哈希值t,t=H1(Ppub,PKA,AliceInfo),并进一步生成用户A的证书CertA,CertA=[d(t+d)-1]P1,并将CertA发送给用户A,然后由用户A计算自己基于证书体系的私钥SA=[sA]CertA=[sA·d(t+d)-1]P1;
签名模块,用于执行签名步骤,包括:用户A作为签名者,首先计算GT的中的元素g,g=e(PKA,Ppub),然后随机选取并计算w,h和l,w=gr,h=H2(m||w),l=r-h mod q,其中,w表示对r的第一承诺值,h表示对m||w的第一哈希值,l为计算S的中间变量;然后计算S,S=[l]SA,S为签名的组成部分,最后,根据h和S得到待签名的消息m的签名σ=(h,S);
验证模块,用于执行验证步骤,包括:验证者计算GT的中的元素g,g=e(PKA,Ppub),然后计算t,t=H1(Ppub,PKA,AliceInfo),并计算u=e(S,[t]P2+Ppub),然后计算w′=u·gh,t表示对Ppub,PKA,AliceInfo的第二哈希值,u为计算w′的中间变量,w′为基于r生成的第二承诺值,计算h′=H2(m||w′),h′为基于m||w′的第二哈希值,最后判断第二哈希值h′与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
相对于现有技术,本发明的优点和有益的技术效果如下:
本发明提供的一种基于SM9签名的基于证书签名生成方法,包括:初始化、证书授权、签名以及验证步骤,该签名生成方法结合了传统公钥密码的优点(PKI)和基于身份的加密技术,无需使用昂贵的证书链验证过程并移除了密钥托管安全性问题,因此简化了签名的生成过程,并保证了安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于SM9签名的基于证书签名生成方法的流程图;
图2为本发明实施例提供的基于SM9签名的基于证书签名生成方法的实现示意图;
图3为本发明实施例提供的计算机可读存储介质的结构示意图;
图4为本发明实施例提供的计算机设备的结构示意图;
具体实施方式
本发明的目的在于提供一种基于SM9签名的基于证书签名生成方法及装置,它基于SM9的签名结构,结合了传统公钥密码的优点(PKI)和基于身份的加密技术,无需使用昂贵的证书链验证过程和移除了密钥托管安全性问题。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种基于SM9签名的基于证书签名生成方法,包括:
初始化步骤,包括:证书颁发机构产生随机数d,作为私钥,并计算公钥Ppub=[d]P2,用户A生成自己的公私钥对(SKA,PKA)=(sA,[sA]P1),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,/>表示由1,2,,....,q-1组成的整数集合,SKA、PKA分别为用户A的私钥和公钥,sa为用户a的基于证书体系的私钥;
证书授权步骤,包括:用户A将相关信息发送至证书颁发机构,其中,相关信息包括用户A的公钥PKA和个人信息AliceInfo;证书颁发机构对用户A的相关信息进行验证,如果验证通过,则计算哈希值t,t=H1(Ppub,PKA,AliceInfo),并进一步生成用户A的证书CertA,CertA=[d(t+d)-1]P1,并将CertA发送给用户A,然后由用户A计算自己基于证书体系的私钥SA=[sA]CertA=[sA·d(t+d)-1]P1;
签名步骤,包括:用户A作为签名者,首先计算GT的中的元素g,g=e(PKA,Ppub),然后随机选取并计算w,h和l,w=gr,h=H2(m||w),l=r-h mod q,其中,w表示对r的第一承诺值,h表示对m||w的第一哈希值,l为计算S的中间变量;然后计算S,S=[l]SA,S为签名的组成部分,最后,根据h和S得到待签名的消息m的签名σ=(h,S);
验证步骤,包括:验证者计算GT的中的元素g,g=e(PKA,Ppub),然后计算t,t=H1(Ppub,PKA,AliceInfo),并计算u=e(S,[t]P2+Ppub),然后计算w′=u·gh,t表示对Ppub,PKA,AliceInfo的第二哈希值,u为计算w′的中间变量,w′为基于r生成的第二承诺值,计算h′=H2(m||w′),h′为基于m||w′的第二哈希值,最后判断第二哈希值h′与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
具体来说,目前主流数字签名技术采用传统公钥密码体系,需要一套公钥基础设施以及繁琐的证书管理,而标识密码算法虽然摆脱了这些缺点,但仍因密钥托管存在安全问题。
SM9算法是一种基于椭圆曲线双线性对的标识密码算法,于2016年3月28日由国家密码管理局发布(标准表号:GM/T 0044-2016SM9标识密码算法),标准满足电子认证服务系统等应用需求,弥补了国产标识密码体制的空白。其主要包括三个部分:数字签名算法、公钥加密算法、密钥交换协议。这里我们采用数字签名算法的参数及标准。
本发明公开了一种基于SM9签名的基于证书签名生成方法及装置。它基于国密算法SM9的签名结构,结合了传统公钥密码的优点(PKI)和基于身份的加密技术,无需使用昂贵的证书链验证过程并移除了密钥托管安全性问题。
为保证通用性,本发明的参数选取与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(·):由密码杂凑函数派生的密码函数,均为
A:用尸。
CA:证书颁发机构。
d:由CA秘密持有的系统主私钥。
Ppub:由CA公开的系统主公钥,计算公式为Ppub=[d]P。
AliceInfo:用户A的个人信息。
(SKA,PKA):用户A的公私钥对。
CertA:用户A的证书
SA:用户A的基于证书体系的私钥。
m:待签名的消息。
σ=(h,S):签名值。
mod q:模q运算。例如,23mod 7≡2。
x||y:x与y的拼接,其中x,y可以是比特串或字节串。
具体地,请参见图1-2,其中,图1为本发明实施例提供的基于SM9签名的基于证书签名生成方法的流程图;图2为本发明实施例提供的基于SM9签名的基于证书签名生成方法中详细实现图。A表示用户,CA表示证书颁发机构。
具体实施过程中,个人信息AliceInfo包括任何必要的附加身份信息例如姓名、身份标识等。h为对m||w的第一哈希值,也是签名的组成部分。
下面进行正确性的验证:
u=e(S,[t]P2+Ppub)
=e([l]SA,[t]P2+[d]P2)
=e([l·sA·d(t+d)-1]P1,[t+d]P2)
=e([l·sA·d]P1,P2)
=e([l]PKA,[d]P2)
=e(PKA,Ppub)1
=gl
h=H2(m||w)
=H2(m||u·gh)
=H2(m||gl·gh)
=H2(m||gl+h)
=H2(m||gr)
本发明与现有技术相比具有如下优点和有益效果:
现有技术尚未公开基于SM9签名的基于证书签名生成方法,本发明的方法结合了传统公钥密码的优点(PKI)和基于身份的加密技术,无需使用昂贵的证书链验证过程并移除了密钥托管安全性问题。
实施例二
基于同样的发明构思,本实施例提供了一种基于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是否一致,如果一致,则σ为合法签名,否则,签名无效。
由于本发明实施例二所介绍的装置为实施本发明实施例一中基于SM9签名的基于证书签名生成方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的装置都属于本发明所欲保护的范围。
实施例三
如图3所示,基于同一发明构思,本发明还提供了一种计算机可读存储介质300,其上存储有计算机程序311,该程序被执行时实现如实施例一中所述的方法。
由于本发明实施例三所介绍的计算机可读存储介质为实施本发明实施例一中基于SM9签名的基于证书签名生成方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,如图4所示,包括存储器401、处理器402及存储在存储器上并可在处理器上运行的计算机程序403,处理器402执行上述程序时实现实施例一中的方法。
由于本发明实施例四所介绍的计算机设备为实施本发明实施例一中基于SM9签名的基于证书签名生成方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (4)
1.一种基于SM9签名的基于证书签名生成方法,其特征在于,包括:
初始化步骤,包括:证书颁发机构产生随机数d,作为私钥,并计算公钥Ppub=[d]P2,用户A生成自己的公私钥对(SKA,PKA)=(sA,[sA]P1),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,/>表示由1,2,....,q-1组成的整数集合,SKA、PKA分别为用户A的私钥和公钥,sA为用户A的基于证书体系的私钥;
证书授权步骤,包括:用户A将相关信息发送至证书颁发机构,其中,相关信息包括用户A的公钥PKA和个人信息AliceInfo;证书颁发机构对用户A的相关信息进行验证,如果验证通过,则计算哈希值t,t=H1(Ppub,PKA,AliceInfo),并进一步生成用户A的证书CertA,CertA=[d(t+d)-1]P1,并将CertA发送给用户A,然后由用户A计算自己基于证书体系的私钥SA=[sA]CertA=[sA·d(t+d)-1]P1;
签名步骤,包括:用户A作为签名者,首先计算GT的中的元素g,g=e(PKA,Ppub),然后随机选取并计算w,h和l,w=gr,h=H2(m||w),l=r-h mod q,其中,w表示对r的第一承诺值,h表示对m||w的第一哈希值,l为计算S的中间变量;然后计算S,S=[l]SA,S为签名的组成部分,最后,根据h和S得到待签名的消息m的签名σ=(h,S);
验证步骤,包括:验证者计算GT的中的元素g,g=e(PKA,Ppub),然后计算t,t=H1(Ppub,PKA,AliceInfo),并计算u=e(S,[t]P2+Ppub),然后计算w′=u·gh,t表示对Ppub,PKA,AliceInfo的第二哈希值,u为计算w′的中间变量,w′为基于r生成的第二承诺值,计算h′=H2(m||w′),h′为基于m||w′的第二哈希值,最后判断第二哈希值h′与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
2.一种基于SM9签名的基于证书签名生成装置,其特征在于,包括:
初始化模块,用于执行初始化步骤,包括:证书颁发机构产生随机数d,作为私钥,并计算公钥Ppub=[d]P2,用户A生成自己的公私钥对(SKA,PKA)=(sA,[sA]P1),P1,P2分别为群G1和G2的生成元,G1,G2表示阶为q的加法循环群,/>表示由1,2,....,q-1组成的整数集合,SKA、PKA分别为用户A的私钥和公钥,sA为用户A的基于证书体系的私钥;
证书授权模块,用于执行证书授权步骤,包括:用户A将相关信息发送至证书颁发机构,其中,相关信息包括用户A的公钥PKA和个人信息AliceInfo;证书颁发机构对用户A的相关信息进行验证,如果验证通过,则计算哈希值t,t=H1(Ppub,PKA,AliceInfo),并进一步生成用户A的证书CertA,CertA=[d(t+d)-1]P1,并将CertA发送给用户A,然后由用户A计算自己基于证书体系的私钥SA=[sA]CertA=[sA·d(t+d)-1]P1;
签名模块,用于执行签名步骤,包括:用户A作为签名者,首先计算GT的中的元素g,g=e(PKA,Ppub),然后随机选取并计算w,h和l,w=gr,h=H2(m||w),l=r-h mod q,其中,w表示对r的第一承诺值,h表示对m||w的第一哈希值,l为计算S的中间变量;然后计算S,S=[l]SA,S为签名的组成部分,最后,根据h和S得到待签名的消息m的签名σ=(h,S);
验证模块,用于执行验证步骤,包括:验证者计算GT的中的元素g,g=e(PKA,Ppub),然后计算t,t=H1(Ppub,PKA,AliceInfo),并计算u=e(S,[t]P2+Ppub),然后计算w′=u·gh,t表示对Ppub,PKA,AliceInfo的第二哈希值,u为计算w′的中间变量,w′为基于r生成的第二承诺值,计算h′=H2(m||w′),h′为基于m||w′的第二哈希值,最后判断第二哈希值h′与第一哈希值h是否一致,如果一致,则σ为合法签名,否则,签名无效。
3.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1所述的方法。
4.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210723552.XA CN115174055B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的基于证书签名生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210723552.XA CN115174055B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的基于证书签名生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174055A CN115174055A (zh) | 2022-10-11 |
CN115174055B true CN115174055B (zh) | 2024-04-26 |
Family
ID=83486497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210723552.XA Active CN115174055B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9签名的基于证书签名生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174055B (zh) |
Citations (3)
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数字签名的盲签名生成方法及系统 |
CN108809658A (zh) * | 2018-07-20 | 2018-11-13 | 武汉大学 | 一种基于sm2的身份基的数字签名方法与系统 |
-
2022
- 2022-06-23 CN CN202210723552.XA patent/CN115174055B/zh active Active
Patent Citations (3)
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数字签名的盲签名生成方法及系统 |
CN108809658A (zh) * | 2018-07-20 | 2018-11-13 | 武汉大学 | 一种基于sm2的身份基的数字签名方法与系统 |
Non-Patent Citations (2)
Title |
---|
一种新的基于证书的盲签名方案;廖小平;;计算技术与自动化;20180915(03);全文 * |
基于SM9数字签名算法的应用研究;王煜婷;《硕士电子期刊》;20220215;第2022年卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115174055A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667626B (zh) | 安全的两方协作sm2签名方法 | |
CN108809658B (zh) | 一种基于sm2的身份基的数字签名方法与系统 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN108173639B (zh) | 一种基于sm9签名算法的两方合作签名方法 | |
CN110912708B (zh) | 一种基于sm9数字签名算法的环签名生成方法 | |
CN107395368B (zh) | 无介质环境中的数字签名方法及解封装方法与解密方法 | |
CN110120939B (zh) | 一种基于异构系统的可否认认证的加密方法和系统 | |
CN103780385B (zh) | 基于椭圆曲线的盲签名方法和装置 | |
CN110138567B (zh) | 一种基于ecdsa的协同签名方法 | |
CN107707358A (zh) | 一种ec‑kcdsa数字签名生成方法及系统 | |
CN103563288B (zh) | 基于口令的单轮密钥交换协议 | |
CN107911217B (zh) | 基于ecdsa算法协同生成签名的方法、装置和数据处理系统 | |
CN102387019A (zh) | 无证书部分盲签名方法 | |
CN114117547A (zh) | 一种基于预计算表的sm9数字签名加速生成方法以及数字签名加速验证方法 | |
CN114499887B (zh) | 签名密钥生成及相关方法、系统、计算机设备和存储介质 | |
CN115174056B (zh) | 一种基于sm9签名的变色龙签名生成方法及装置 | |
CN113452529A (zh) | 一种基于sm2算法的适配器签名生成方法 | |
CN111147240B (zh) | 一种有追溯能力的隐私保护方法及系统 | |
CN115174037B (zh) | 一种基于sm9签名的变色龙哈希函数的构造方法及装置 | |
CN110557260B (zh) | 一种sm9数字签名生成方法及装置 | |
Xu et al. | An ID-based blind signature from bilinear pairing with unlinkability | |
CN115174055B (zh) | 一种基于sm9签名的基于证书签名生成方法及装置 | |
CN114285576B (zh) | 一种非对的在线离线签密方法 | |
CN115580408A (zh) | 一种基于sm9的无证书签名生成方法及系统 | |
CN115174054B (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 |