CN115174053B - 一种基于sm9算法的可否认环认证的签名生成方法及装置 - Google Patents
一种基于sm9算法的可否认环认证的签名生成方法及装置 Download PDFInfo
- Publication number
- CN115174053B CN115174053B CN202210719537.8A CN202210719537A CN115174053B CN 115174053 B CN115174053 B CN 115174053B CN 202210719537 A CN202210719537 A CN 202210719537A CN 115174053 B CN115174053 B CN 115174053B
- Authority
- CN
- China
- Prior art keywords
- user
- signature
- hash value
- verification
- hash
- 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 35
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 25
- 238000012795 verification Methods 0.000 claims abstract description 50
- 238000004364 calculation method Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 11
- 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
- 239000003550 marker Substances 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000000295 complement effect Effects 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/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
- H04L9/3255—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 using group based signatures, e.g. ring or threshold signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于SM9算法的可否认环认证的签名生成方法及装置,其中的方法包括密钥生成、签名生成以及签名验证步骤,允许签名者构建一个由多个成员组成环,使单个验证者V确信环成员正在对消息m进行认证,而不透露是哪个成员图本发明具有功能完善等优点,可以在保证常规环签名功能的基础上,提供可否认性,从而提高安全性。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于SM9算法的可否认环认证的签名生成方法及装置。
背景技术
数字签名是密码学中的重要部分之一,它是只有信息的发送者才能产生的别人无法伪造的一段数字串,是对信息的发送者发送信息真实性的一个有效证明。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证,它在网络安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有着重要应用。
传统的数字签名生成方法的认证隐蔽性不够,导致整体安全性不高。
发明内容
本发明提供一种基于SM9算法的可否认环认证的签名生成方法及装置,用以解决或者至少部分解决现有技术中存在的安全性不高的技术问题。
为了解决上述技术问题,本发明第一方面提供了一种基于SM9算法的可否认环认证的生成方法,包括:
密钥生成步骤,包括:
密钥生成中心产生随机数作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;
用户Ai表示对应的私钥为/>
用户B表示IDB对应的私钥为
其中,d表示由密钥生成中心秘密持有的***主私钥,P1为群G1的生成元,G1表示阶为q的加法循环群,q为一个大素数,表示由1,2,,…,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为/> 为用户Ai的身份标识;
签名步骤,用户Ai对待签名的消息m进行签名,包括:
用户Ai随机选取n-1个用户的身份,加上自身的身份标识组成列表/>
计算GT的中的元素g=e(P1,Ppub),随机选取并计算R=[r]P1;
给定用户身份IDB,m以及随机元素K∈G1,输出第一哈希值
计算wi+1=e(R,Ppub)和
对于j=i+1,…,n,1,…,i-1,用户Ai随机选取计算Rj=[rj]P1,计算记h1=hn+1;
计算l=r-hi mod q,
输出在上关于消息m的可否认环认证σ=(K,h1,R1,R2,…,Rn);
其中,表示第1个用户和第n个用户的身份标识,GT阶为q的乘法循环群,e表示从G1×G2到GT的双线性对映射,r为随机数,R为承诺值,IDB为用户B的身份标识,H2(·)表示由密码杂凑函数派生的密码函数,为/>wi+1为GT中的元素,hi+1为基于wi+1的哈希值,j为循环的标记符,表示循环次数,rj为随机数字,Rj表示与rj对应的承诺,uj为GT中的元素,wj+1为签名生成阶段用于计算哈希的中间变量,hj+1为签名生成阶段计算的第j+1个哈希值,hj为签名生成阶段计算的第j个哈希值,h1为签名生成阶段计算的第1个哈希值,hn+1为签名生成阶段计算的第n+1个哈希值;
签名验证步骤,用户B对接收到的可否认环认证σ′进行验证,包括:
计算GT的中的元素g=e(P1,Ppub);
解析σ′得到(K′,h1′,R1′,R2′,…,Rn′),并验证对所有i=1,2,...,n,验证Ri′∈G1,是否成立;
当以及Ri′∈G1均成立时,对于给定的用户身份IDB,消息m′以及元素K′,输出第二哈希值z′,/>
执行循环步骤,令k=1,循环执行以下步骤(1)-(3)n次:
(1)计算
(2)计算
(3)k的值加1;
当循环执行步骤结束时,判断h′1=h′n+1是否成立,如果成立,则接收到的可否认环认证σ’为合法签名;反之,则签名无效;
其中,P2为群G2的生成元,Rk′为验证阶段得到的第k个承诺值,Ri′为验证阶段得到的第i个承诺值,u′k为GT中的元素,wk+1′为验证阶段用于计算哈希的中间变量,hk+1′为验证阶段计算的k+1个哈希值,h′1为验证阶段计算的第1个哈希值,h′n+1为验证阶段计算的第n+1个哈希值。
基于同样的发明构思,本发明第二方面提供了一种基于SM9算法的可否认环认证的生成装置,包括:
密钥生成模块,用于执行密钥生成步骤,包括:
密钥生成中心产生随机数作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;
用户Ai表示对应的私钥为/>
用户B表示IDB对应的私钥为
其中,d表示由密钥生成中心秘密持有的***主私钥,P1为群G1的生成元,G1表示阶为q的加法循环群,q为一个大素数,表示由1,2,,…,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为/> 为用户Ai的身份标识;
签名生成模块,用于执行签名步骤,用户Ai对待签名的消息m进行签名,包括:
用户Ai随机选取n-1个用户的身份,加上自身的身份标识组成列表/>
计算GT的中的元素g=e(P1,Ppub),随机选取并计算R=[r]P1;
给定用户身份IDB,m以及随机元素K∈G1,输出第一哈希值
计算wi+1=e(R,Ppub)和
对于j=i+1,…,n,1,…,i-1,用户Ai随机选取计算Rj=[rj]P1,计算记h1=hn+1;
计算l=r-hi mod q,
输出在上关于消息m的可否认环认证σ=(K,h1,R1,R2,…,Rn);
其中,表示第1个用户和第n个用户的身份标识,GT阶为q的乘法循环群,e表示从G1×G2到GT的双线性对映射,r为随机数,R为承诺值,IDB为用户B的身份标识,H2(·)表示由密码杂凑函数派生的密码函数,为/>wi+1为GT中的元素,hi+1为基于wi+1的哈希值,j为循环的标记符,表示循环次数,rj为随机数字,Rj表示与rj对应的承诺,uj为GT中的元素,wj+1为签名生成阶段用于计算哈希的中间变量,hj+1为签名生成阶段计算的第j+1个哈希值,hj为签名生成阶段计算的第j个哈希值,h1为签名生成阶段计算的第1个哈希值,hn+1为签名生成阶段计算的第n+1个哈希值;
验证模块,用于执行签名验证步骤,用户B对接收到的可否认环认证σ′进行验证,包括:
计算GT的中的元素g=e(P1,Ppub);
解析σ′得到(K′,h1′,R1′,R2′,…,Rn′),并验证对所有i=1,2,...,n,验证Ri′∈G1,是否成立;
当以及Ri′∈G1均成立时,对于给定的用户身份IDB,消息m′以及元素K′,输出第二哈希值/>
执行循环步骤,令k=1,循环执行以下步骤(1)-(3)n次:
(1)计算
(2)计算
(3)k的值加1;
当循环执行步骤结束时,判断h′1=h′n+1是否成立,如果成立,则可否认环认证σ为合法签名;反之,则签名无效;
其中,P2为群G2的生成元,Rk′为验证阶段得到的第k个承诺值,Ri′为验证阶段得到的第i个承诺值,u′k为GT中的元素,wk+1′为验证阶段用于计算哈希的中间变量,hk+1′为验证阶段计算的k+1个哈希值,h′1为验证阶段计算的第1个哈希值,h′n+1验证阶段计算的第n+1个哈希值。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
相对于现有技术,本发明的优点和有益的技术效果如下:
本发明提供的一种基于SM9算法的可否认环认证的生成方法,包括:密钥生成、签名生成以及签名验证步骤,允许签名者构建一个由多个成员组成环,使单个验证者V确信环成员正在对消息m进行认证,而不透露是哪个成员。本发明具有功能完善等优点,可以在保证常规环签名功能的基础上,提供可否认性,从而提高安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于SM9算法的可否认环认证的生成方法的整体框架图;
图2为本发明实施例提供的基于SM9算法的可否认环认证的生成方法的流程图;
图3为本发明实施例提供的计算机可读存储介质的结构示意图;
图4为本发明实施例提供的计算机设备的结构示意图;
具体实施方式
本发明提供了一种基于SM9算法的可否认环认证生成方法及装置,允许签名者构建一个由多个成员组成环,使单个验证者V确信环成员正在对消息m进行认证,而不透露是哪个成员,从而保证签名的可否认性,从而提高安全性和提升签名的效果。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种基于SM9算法的可否认环认证的生成方法,包括:
密钥生成步骤,包括:
密钥生成中心产生随机数作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;
用户Ai表示对应的私钥为/>
用户B表示IDB对应的私钥为
其中,d表示由密钥生成中心秘密持有的***主私钥,P1为群G1的生成元,G1表示阶为q的加法循环群,q为一个大素数,表示由1,2,,…,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为/> 为用户Ai的身份标识;
签名步骤,用户Ai对待签名的消息m进行签名,包括:
用户Ai随机选取n-1个用户的身份,加上自身的身份标识组成列表/> (A代表签名用户的统称,Ai表示第i个签名用户,因为环签名会用到n个用户的公钥,因此采用A1表示第一个签名用户,Ai表示第i个签名用户,An表示第n个签名用户,真正的签名者是Ai)
计算GT的中的元素g=e(P1,Ppub),随机选取并计算R=[r]p1;
给定用户身份IDB,m以及随机元素K∈G1,输出第一哈希值
计算wi+1=e(R,Ppub)和
对于j=i+1,…,n,1,…,i-1,用户Ai随机选取计算Rj=[rj]P1,计算记h1=hn+1;
计算l=r-hi mod q,
输出在上关于消息m的可否认环认证σ=(K,h1,R1,R2,…,Rn);
其中,表示第1个用户和第n个用户的身份标识,GT阶为q的乘法循环群,e表示从G1×G2到GT的双线性对映射,r为随机数,R为承诺值,IDB为用户B的身份标识,H2(·)表示由密码杂凑函数派生的密码函数,为/>wi+1为GT中的元素,hi+1为基于wi+1的哈希值,j为循环的标记符,表示循环次数,rj为随机数字,Rj表示与rj对应的承诺,uj为GT中的元素,wj+1为签名生成阶段用于计算哈希的中间变量,hj+1为签名生成阶段计算的第j+1个哈希值,hj为签名生成阶段计算的第j个哈希值,h1为签名生成阶段计算的第1个哈希值,hn+1为签名生成阶段计算的第n+1个哈希值;
需要说明的是,签名生成的步骤中,会涉及到循环操作,记h1=hn+1,由uj、hj可以计算得到wj+1、hj+1,由此可知,当j等于n时,可以计算得到hn+1,循环执行需要从1到n,因此令h1=hn+1,然后再通过h1和u1去生成后续的w2和h2。
签名验证步骤,用户B对接收到的可否认环认证σ′进行验证,包括:
计算GT的中的元素g=e(P1,Ppub);
解析σ′得到(K′,h1′,R1′,R2′,…,Rn′),并验证对所有i=1,2,...,n,验证Ri′∈G1,是否成立;
当以及Ri′∈G1均成立时,对于给定的用户身份IDB,消息m′以及元素K′,输出第二哈希值z′,/>
执行循环步骤,令k=1,循环执行以下步骤(1)-(3)n次:
(1)计算
(2)计算
(3)k的值加1;
当循环执行步骤结束时,判断h′1=h′n+1是否成立,如果成立,则可否认环认证σ为合法签名;反之,则签名无效;
其中,P2为群G2的生成元,Rk′为验证阶段得到的‘第k个的承诺值,Ri′为验证阶段得到第i个承诺值,u′k为GT中的元素,wk+1′为验证阶段用于计算哈希的中间变量,hk+1′为验证阶段计算的k+1个哈希值,h′1为验证阶段计算的第1个哈希值,h′n+1验证阶段计算的第n+1个哈希值。
具体来说,SM9标识密码算法是国家密码管理局于2016年3月28日发布的一种标识密码标准(标准表号: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(·):由密码杂凑函数派生的密码函数,均为
d:由KGC秘密持有的***主私钥。
Ppub:由KGC公开的***主公钥,计算公式为Ppub=[d]P。
公钥列表。
用户Ai的可辨别标识。
IDB:用户B的可辨别标识。
用户Ai的私钥。
用户B的私钥。
m:待签名的消息。
σ=(K,h1,R1,R2,…,Rn):可否认环认证值。
mod q:模q运算。例如,23mod 7≡2。
x||y:x与y的拼接,其中x,y可以是比特串或字节串。
可否认环认证允许单个签名者构建一个环作为整体对一个消息进行认证,使单个验证者V确信环成员正在对消息m进行认证,而不透露是哪个环成员。此外,验证者V不能说服任何第三方消息m确实经过了认证。这是通过证明验证者V可以自己生成伪造的签名而达到。
请参见图1,为本发明实施例提供的基于SM9算法的可否认环认证的生成方法的整体框架图。
本发明提出了一种基于SM9算法的可否认环认证生成方法,允许签名者构建一个由多个成员组成环,使单个验证者V确信环成员正在对消息m进行认证,而不透露是哪个环成员。请参见图2,为基于SM9算法的可否认环认证生成方法的具体实现流程图。
用户Ai生成可否认环认证消息,由用户B进行验证。本方案包括4个阶段:***初始化、密钥生成、认证、验证。
本发明与现有技术相比具有如下优点和有益效果:
现有技术尚未公开基于国密的可否认环认证相关方法,本发明的方法允许签名者构建一个由多个成员组成环,使单个验证者V确信环成员正在对消息m进行认证,而不透露是哪个环成员,具有安全性高、隐蔽性好执行效率快等优点。
实施例二
基于同样的发明构思,本实施例提供了一种基于SM9算法的可否认环认证的生成装置,包括:
密钥生成模块,用于执行密钥生成步骤,包括:
密钥生成中心产生随机数作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;
用户Ai表示对应的私钥为/>
用户B表示IDB对应的私钥为
其中,d表示由密钥生成中心秘密持有的***主私钥,P1为群G1的生成元,G1表示阶为q的加法循环群,q为一个大素数,表示由1,2,,…,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为/> 为用户Ai的身份标识;
签名生成模块,用于执行签名步骤,用户Ai对待签名的消息m进行签名,包括:
用户Ai随机选取n-1个用户的身份,加上自身的身份标识组成列表/>
计算GT的中的元素g=e(P1,Ppub),随机选取并计算R=[r]P1;
给定用户身份IDB,m以及随机元素K∈G1,输出第一哈希值
计算wi+1=e(R,Ppub)和
对于j=i+1,…,n,1,…,i-1,用户Ai随机选取计算Rj=[rj]P1,计算记h1=hn+1;
计算l=r-hi mod q,
输出在上关于消息m的可否认环认证σ=(K,h1,R1,R2,…,Rn);
其中,表示第1个用户和第n个用户的身份标识,GT阶为q的乘法循环群,e表示从G1×G2到GT的双线性对映射,r为随机数,R为承诺值,IDB为用户B的身份标识,H2(·)表示由密码杂凑函数派生的密码函数,为/>wi+1为GT中的元素,hi+1为基于wi+1的哈希值,j为循环的标记符,表示循环次数,rj为随机数字,Rj表示与rj对应的承诺,uj为GT中的元素,wj+1为签名生成阶段用于计算哈希的中间变量,hj+1为签名生成阶段计算的第j+1个哈希值,hj为签名生成阶段计算的第j个哈希值,h1为签名生成阶段计算的第1个哈希值,hn+1为签名生成阶段计算的第n+1个哈希值;
验证模块,用于执行签名验证步骤,用户B对接收到的可否认环认证σ′进行验证,包括:
计算GT的中的元素g=e(P1,Ppub);
解析σ′得到(K′,h1′,R1′,R2′,…,Rn′),并验证对所有i=1,2,...,n,验证Ri′∈G1,是否成立;
当以及,验证Ri′∈G1均成立时,对于给定的用户身份IDB,消息m′以及元素K′,输出第二哈希值/>
执行循环步骤,令k=1,循环执行以下步骤(1)-(3)L次:
(1)计算
(2)计算
(3)k的值加1;
当循环执行步骤结束时,判断h′1=h′n+1是否成立,如果成立,则可否认环认证σ为合法签名;反之,则签名无效;
其中,P2为群G2的生成元,Rk′为验证阶段得到的第k个承诺值,Ri′为验证阶段得到的第i个承诺值,u′k为GT中的元素,wk+1′为验证阶段用于计算哈希的中间变量,hk+1′为验证阶段计算的k+1个哈希值,h′1为验证阶段计算的第1个哈希值,h′n+1验证阶段计算的第n+1个哈希值。
由于本发明实施例二所介绍的装置为实施本发明实施例一中基于SM9算法的可否认环认证的生成方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的装置都属于本发明所欲保护的范围。
实施例三
如图3所示,基于同一发明构思,本发明还提供了一种计算机可读存储介质300,其上存储有计算机程序311,该程序被执行时实现如实施例一中所述的方法。
由于本发明实施例三所介绍的计算机可读存储介质为实施本发明实施例一中基于SM9算法的可否认环认证的生成方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,如图4所示,包括存储器401、处理器402及存储在存储器上并可在处理器上运行的计算机程序403,处理器402执行上述程序时实现实施例一中的方法。
由于本发明实施例四所介绍的计算机设备为实施本发明实施例一中基于SM9算法的可否认环认证的生成方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一中方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (4)
1.一种基于SM9算法的可否认环认证的生成方法,其特征在于,包括:
密钥生成步骤,包括:
密钥生成中心产生随机数作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;
用户Ai表示对应的私钥为/>
用户B表示IDB对应的私钥为
其中,d表示由密钥生成中心秘密持有的***主私钥,P1为群G1的生成元,G1表示阶为q的加法循环群,q为一个大素数,表示由1,2,,....,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为/> 为用户Ai的身份标识;
签名步骤,用户Ai对待签名的消息m进行签名,包括:
用户Ai随机选取n-1个用户的身份,加上自身的身份标识组成列表/>
计算GT的中的元素g=e(P1,Ppub),随机选取并计算R=[r]P1;
给定用户身份IDB,m以及随机元素K∈G1,输出第一哈希值
计算wi+1=e(R,Ppub)和
对于j=i+1,...,n,1,...,i-1,用户Ai随机选取计算Rj=[rj]P1,计算记h1=hn+1;
计算l=r-himod q,
输出在上关于消息m的可否认环认证σ=(K,h1,R1,R2,...,Rn);
其中,表示第1个用户和第n个用户的身份标识,GT阶为q的乘法循环群,e表示从G1×G2到GT的双线性对映射,r为随机数,R为承诺值,IDB为用户B的身份标识,H2(·)表示由密码杂凑函数派生的密码函数,为/>wi+1为GT中的元素,hi+1为基于wi+1的哈希值,j为循环的标记符,表示循环次数,rj为随机数字,Rj表示与rj对应的承诺,uj为GT中的元素,wj+1为签名生成阶段用于计算哈希的中间变量,hj+1为签名生成阶段计算的第j+1个哈希值,hj为签名生成阶段计算的第j个哈希值,h1为签名生成阶段计算的第1个哈希值,hn+1为签名生成阶段计算的第n+1个哈希值;
签名验证步骤,用户B对接收到的可否认环认证σ′进行验证,包括:
计算GT的中的元素g=e(P1,Ppub);
解析σ′得到(K′,h1′,R1′,R2′,...,Rn′),并验证对所有i=1,2,...,n,验证Ri′∈G1,是否成立;
当以及Ri′∈G1均成立时,对于给定的用户身份IDB,消息m′以及元素K′,输出第二哈希值z′,/>
执行循环步骤,令k=1,循环执行以下步骤(1)-(3)n次:
(1)计算
(2)计算
(3)k的值加1;
当循环执行步骤结束时,判断h′1=h′n+1是否成立,如果成立,则接收到的可否认环认证σ’为合法签名;反之,则签名无效;
其中,P2为群G2的生成元,Rk′为验证阶段得到的第k个承诺值,Ri′为验证阶段得到的第i个承诺值,u′k为GT中的元素,wk+1′为验证阶段用于计算哈希的中间变量,hk+1′为验证阶段计算的k+1个哈希值,h′1为验证阶段计算的第1个哈希值,h′n+1为验证阶段计算的第n+1个哈希值。
2.一种基于SM9算法的可否认环认证的生成装置,其特征在于,包括:
密钥生成模块,用于执行密钥生成步骤,包括:
密钥生成中心产生随机数作为主私钥,并计算主公钥Ppub,Ppub=[d]P2;
用户Ai表示对应的私钥为/>
用户B表示IDB对应的私钥为
其中,d表示由密钥生成中心秘密持有的***主私钥,P1为群G1的生成元,G1表示阶为q的加法循环群,q为一个大素数,表示由1,2,,....,q-1组成的整数集合,H1(·)表示由密码杂凑函数派生的密码函数,为/> 为用户Ai的身份标识;
签名生成模块,用于执行签名步骤,用户Ai对待签名的消息m进行签名,包括:
用户Ai随机选取n-1个用户的身份,加上自身的身份标识组成列表/>
计算GT的中的元素g=e(P1,Ppub),随机选取并计算R=[r]P1;
给定用户身份IDB,m以及随机元素K∈G1,输出第一哈希值
计算wi+1=e(R,Ppub)和
对于j=i+1,...,n,1,...,i-1,用户Ai随机选取计算Rj=[rj]P1,计算记h1=hn+1;
计算l=r-hi mod q,
输出在上关于消息m的可否认环认证σ=(K,h1,R1,R2,...,Rn);
其中,表示第1个用户和第n个用户的身份标识,GT阶为q的乘法循环群,e表示从G1×G2到GT的双线性对映射,r为随机数,R为承诺值,IDB为用户B的身份标识,H2(·)表示由密码杂凑函数派生的密码函数,为/>wi+1为GT中的元素,hi+1为基于wi+1的哈希值,j为循环的标记符,表示循环次数,rj为随机数字,Rj表示与rj对应的承诺,uj为GT中的元素,wj+1为签名生成阶段用于计算哈希的中间变量,hj+1为签名生成阶段计算的第j+1个哈希值,hj为签名生成阶段计算的第j个哈希值,h1为签名生成阶段计算的第1个哈希值,hn+1为签名生成阶段计算的第n+1个哈希值;
验证模块,用于执行签名验证步骤,用户B对接收到的可否认环认证σ′进行验证,包括:
计算GT的中的元素g=e(P1,Ppub);
解析σ′得到(K′,h1′,R1′,R2′,...,Rn′),并验证对所有i=1,2,...,n,验证Ri′∈G1,是否成立;
当以及Ri′∈G1均成立时,对于给定的用户身份IDB,消息m′以及元素K′,输出第二哈希值/>
执行循环步骤,令k=1,循环执行以下步骤(1)-(3)n次:
(1)计算
(2)计算
(3)k的值加1;
当循环执行步骤结束时,判断h′1=h′n+1是否成立,如果成立,则可否认环认证σ为合法签名;反之,则签名无效;
其中,P2为群G2的生成元,Rk′为验证阶段得到的第k个承诺值,Ri′为验证阶段得到的第i个承诺值,u′k为GT中的元素,wk+1′为验证阶段用于计算哈希的中间变量,hk+1′为验证阶段计算的k+1个哈希值,h′1为验证阶段计算的第1个哈希值,h′n+1验证阶段计算的第n+1个哈希值。
3.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1所述的方法。
4.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210719537.8A CN115174053B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9算法的可否认环认证的签名生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210719537.8A CN115174053B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9算法的可否认环认证的签名生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115174053A CN115174053A (zh) | 2022-10-11 |
CN115174053B true CN115174053B (zh) | 2024-04-12 |
Family
ID=83486359
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210719537.8A Active CN115174053B (zh) | 2022-06-23 | 2022-06-23 | 一种基于sm9算法的可否认环认证的签名生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115174053B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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数字签名算法的环签名生成方法 |
CN113612615A (zh) * | 2021-07-23 | 2021-11-05 | 重庆邮电大学 | 一种基于国密sm9算法的可审计隐私保护认证方法 |
-
2022
- 2022-06-23 CN CN202210719537.8A patent/CN115174053B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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数字签名算法的环签名生成方法 |
CN113612615A (zh) * | 2021-07-23 | 2021-11-05 | 重庆邮电大学 | 一种基于国密sm9算法的可审计隐私保护认证方法 |
Non-Patent Citations (2)
Title |
---|
Secure Threshold Ring Signature Based on SM9;Shuanggen Liu Et.AL;IEEE Access;20210705;第9卷;95507 - 95516 * |
基于SM9标识密码算法的环签名方案;彭聪;《密码学报》;20210815;第8卷(第04期);724-734 * |
Also Published As
Publication number | Publication date |
---|---|
CN115174053A (zh) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667626B (zh) | 安全的两方协作sm2签名方法 | |
EP2566099B1 (en) | Signcryption method and device and corresponding signcryption verification method and device | |
CN107248909B (zh) | 一种基于sm2算法的无证书安全签名方法 | |
US7533270B2 (en) | Signature schemes using bilinear mappings | |
CN111010272B (zh) | 一种标识私钥生成和数字签名方法及***和装置 | |
CN107911217B (zh) | 基于ecdsa算法协同生成签名的方法、装置和数据处理*** | |
CN112532394A (zh) | 一种区块链抗签名可追踪的无证书盲签名生成方法 | |
Ki et al. | Constructing Strong Identity‐Based Designated Verifier Signatures with Self‐Unverifiability | |
CN111130758A (zh) | 一种适用于资源受限设备的轻量级匿名认证方法 | |
CN110943845A (zh) | 一种轻量级两方协同产生sm9签名的方法及介质 | |
CN113032844B (zh) | 椭圆曲线的签名方法、验签方法和装置 | |
CN112989436B (zh) | 一种基于区块链平台的多重签名方法 | |
CN111245615B (zh) | 一种基于身份的数字签名密码逆向防火墙方法 | |
CN113452529A (zh) | 一种基于sm2算法的适配器签名生成方法 | |
CN115174056B (zh) | 一种基于sm9签名的变色龙签名生成方法及装置 | |
CN115174037B (zh) | 一种基于sm9签名的变色龙哈希函数的构造方法及装置 | |
CN111431715A (zh) | 一种支持隐私保护的策略控制签名方法 | |
CN115174053B (zh) | 一种基于sm9算法的可否认环认证的签名生成方法及装置 | |
Wang et al. | Perfect ambiguous optimistic fair exchange | |
CN115174055B (zh) | 一种基于sm9签名的基于证书签名生成方法及装置 | |
CN115174052B (zh) | 一种基于sm9签名的适配器签名生成方法及装置 | |
CN115174054B (zh) | 一种基于sm9签名的无证书签名生成方法及装置 | |
KR100525124B1 (ko) | 전자 서명된 문서의 검증 방법 | |
CN115174101B (zh) | 一种基于sm2算法的可否认环签名生成方法及*** | |
CN115174057B (zh) | 一种基于sm2签名的在线离线签名生成方法及*** |
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 |