CN115664675A - 基于sm2算法的可追踪环签名方法、系统、设备及介质 - Google Patents
基于sm2算法的可追踪环签名方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN115664675A CN115664675A CN202211286411.2A CN202211286411A CN115664675A CN 115664675 A CN115664675 A CN 115664675A CN 202211286411 A CN202211286411 A CN 202211286411A CN 115664675 A CN115664675 A CN 115664675A
- Authority
- CN
- China
- Prior art keywords
- target
- signature
- hash function
- tag
- intermediate auxiliary
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Storage Device Security (AREA)
Abstract
本申请公开了基于SM2算法的可追踪环签名方法、系统、设备及介质,应用于任一目标签名方,获取待签名的目标消息及公钥列表;基于公钥列表、第一密码杂凑函数生成目标消息的标签、消息摘要;基于目标消息、标签、目标签名方的公钥、第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数;基于整数集合生成与目标签名方及其他签名方一一对应的随机数;基于目标签名方的私钥、阶数、公钥列表、标签、消息摘要、随机数、第一中间辅助参数、第二中间辅助参数、第三密码杂凑函数、生成元生成签名值和目标数值;将第二中间辅助参数、签名值、目标数值及所有的其他签名方对应的随机数作为目标消息的可追踪环签名,借助SM2实现了可追踪环签名。
Description
技术领域
本申请涉及信息安全技术领域,更具体地说,涉及基于SM2算法的可追踪环签名方法、系统、设备及介质。
背景技术
传统数字签名可保证数字资源的真实性、有效性及不可抵赖性,但无法实现签名人的匿名性。2001年,Rivest等提出了环签名的概念。在环签名中,签名生成只涉及签名人私钥及其他所有成员的公钥,而签名验证则仅平等地依赖全体成员的公钥。环签名使验证者相信签名源自某个群体但又不知具体签名人,实现了强匿名性,可有力地支撑电子货币、线上选举、数字金融等热点应用。
但是环签名的强匿名性阻碍了监管,也无法根据环签名判断签名者的身份,为不法分子提供了可乘之机。现今已有多种不同形式和不同性质的可追踪环签名算法被提出,为签名者的身份追踪提供了一个方法。但大多都是针对国外算法的量身定制,缺少对具体算法的自主控制,比如无法基于SM2算法对数据进行环签名。
综上所述,如何基于SM2算法对数据进行环签名是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种基于SM2算法的可追踪环签名方法,其能在一定程度上解决如何基于SM2算法对数据进行环签名的技术问题。本申请还提供了一种基于SM2算法的可追踪环签名系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种基于SM2算法的可追踪环签名方法,其特征在于,应用于任一目标签名方,包括:
获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、所述椭圆曲线群的阶数、整数集合;
获取待签名的目标消息;
获取预设数量个其他签名方的公钥,并与所述目标签名方的公钥组成公钥列表;
基于所述公钥列表生成所述目标消息的标签,基于所述第一密码杂凑函数及所述标签生成消息摘要;
基于所述目标消息、所述标签、所述目标签名方的公钥、所述第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数;
基于所述整数集合生成与所述目标签名方及所述其他签名方一一对应的随机数;
基于目标签名方的私钥、所述阶数、所述公钥列表、所述标签、所述消息摘要、所述随机数、所述第一中间辅助参数、所述第二中间辅助参数、所述第三密码杂凑函数、所述生成元生成签名值和目标数值;
将所述第二中间辅助参数、所述签名值、所述目标数值及所有的所述其他签名方对应的所述随机数作为所述目标消息的可追踪环签名。
优选的,所述基于目标签名方的私钥、所述阶数、所述公钥列表、所述标签、所述消息摘要、所述随机数、所述第一中间辅助参数、所述第二中间辅助参数、所述第三密码杂凑函数、所述生成元生成签名值和目标数值,包括:
基于所述第一中间辅助参数及所述第二中间辅助参数生成与所述其他签名方一一对应的第一数值;
基于所述目标签名方对应的所述随机数、所述第三密码杂凑函数、所述标签、所述第一中间辅助参数、所述第二中间辅助参数、所述生成元、所述消息摘要生成第二数值;
基于所述其他签名方对应的所述随机数、所述生成元、所述第二数值、所述其他签名方的公钥、所述消息摘要、所述第三密码杂凑函数生成所述签名值及第三数值;
基于所述目标签名方的私钥、所述目标签名方对应的所述随机数、所述第三数值及所述阶数生成所述目标数值。
优选的,所述基于所述公钥列表生成所述目标消息的标签,基于所述第一密码杂凑函数及所述标签生成消息摘要,包括:
通过第一运算公式,基于所述公钥列表生成所述目标消息的所述标签,基于所述第一密码杂凑函数及所述标签生成所述消息摘要;
所述第一运算公式包括:
TAG=(issue,L);W=H1(TAG);
其中,TAG表示所述标签;issue表示预设数据号;L表示所述公钥列表,L={P1,P2,...,Pi,...,Pn},Pi表示所述目标签名方的公钥;Pj表示第j个所述其他签名方的公钥,j≠i;n表示所述公钥列表中的公钥总数量;H1表示所述第一密码杂凑函数;W表示所述消息摘要;
所述基于所述目标消息、所述标签、所述目标签名方的公钥、所述第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数,包括:
通过第二运算公式,基于所述目标消息、所述标签、所述目标签名方的公钥、所述第二密码杂凑函数生成所述第一中间辅助参数及所述第二中间辅助参数;
所述第二运算公式包括:
A0=H2(TAG,m);A1=(σi/A0)1/i;σi=di·W;
其中,A0表示所述第一中间辅助参数;H2表示所述第二密码杂凑函数;m表示所述目标消息;A1表示所述第二中间辅助参数;i表示所述目标签名方的标号;di表示所述目标签名方的私钥。
优选的,所述基于所述第一中间辅助参数及所述第二中间辅助参数生成与所述其他签名方一一对应的第一数值,包括:
通过第三运算公式,基于所述第一中间辅助参数及所述第二中间辅助参数生成与所述其他签名方一一对应的所述第一数值;
所述第三运算公式包括:
σj=A0A1 j∈G,j=1,...,i-1,i+1,...,n;
其中,σj表示与第j个所述其他签名方对应的所述第一数值;G表示所述生成元;
所述基于所述目标签名方对应的所述随机数、所述第三密码杂凑函数、所述标签、所述第一中间辅助参数、所述第二中间辅助参数、所述生成元、所述消息摘要生成第二数值,包括:
通过第四运算公式,基于所述目标签名方对应的所述随机数、所述第三密码杂凑函数、所述标签、所述第一中间辅助参数、所述第二中间辅助参数、所述生成元、所述消息摘要生成所述第二数值;
所述第四运算公式包括:
ci+1=H3(TAG,A0,A1,ki·G,ki·W);
其中,ci+1表示所述第二数值;H3表示所述第三密码杂凑函数;ki表示所述目标签名方对应的所述随机数;
所述基于所述其他签名方对应的所述随机数、所述生成元、所述第二数值、所述其他签名方的公钥、所述消息摘要、所述第三密码杂凑函数生成所述签名值及第三数值,包括:
通过第五运算公式,基于所述其他签名方对应的所述随机数、所述生成元、所述第二数值、所述其他签名方的公钥、所述消息摘要、所述第三密码杂凑函数生成所述签名值及所述第三数值;
所述第五运算公式包括:
cj+1=H3(TAG,A0,A1,Tj,Yj),j=i+1,...,n,1,...,i-1;
Tj=sj·G+(sj+cj)·Pj;Yj=sj·W+(sj+cj)·σi;
其中,cn的值为所述签名值;sj表示第j个所述其他签名方对应的所述随机数,j=1,...,i-1,i+1,...,n;ci表示所述第三数值;
所述基于所述目标签名方的私钥、所述目标签名方对应的所述随机数、所述第三数值及所述阶数生成所述目标数值,包括:
通过第六运算公式,基于所述目标签名方的私钥、所述目标签名方对应的所述随机数、所述第三数值及所述阶数生成所述目标数值;
所述第六运算公式包括:
si=((1+di)-1·(ki-ci·di))mod q;
其中,si表示所述目标数值;di表示所述目标签名方的私钥;q表示所述阶数。
一种基于SM2算法的可追踪环签名方法,应用于签名验证方,包括:
获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、所述椭圆曲线群的阶数、整数集合;
获取目标签名方发送的目标消息、标签、公钥列表、可追踪环签名,所述可追踪环签名包括第二中间辅助参数、签名值、目标数值及所有的其他签名方对应的随机数;
验证所述签名值、所述其他签名方对应的所述随机数、所述第一数值是否属于所述整数集合;
若所述签名值、所述其他签名方对应的所述随机数、所述第一数值属于所述整数集合,则基于所述目标消息、所述标签、所述第二中间辅助参数、所述第二密码杂凑函数生成第一中间辅助参数及校验值,基于所述第一密码杂凑函数及所述标签生成消息摘要;
基于所述第一中间辅助参数、所述第二中间辅助参数、所述校验值、所述公钥列表、所述消息摘要、所述第三密码杂凑函数、所述生成元、所述阶数验证所述签名值是否正确;
若所述签名值正确,则判定所述可追踪环签名为合法签名;
其中,所述公钥列表包括预设数量个其他签名方的公钥及所述目标签名方的公钥;所述标签基于所述公钥列表生成;所述目标签名方及所述其他签名方一一对应的随机数基于所述整数集合生成;所述签名值和所述目标数值基于所述目标签名方的私钥、所述阶数、所述公钥列表、所述标签、所述消息摘要、所述随机数、所述第一中间辅助参数、所述第二中间辅助参数、所述第三密码杂凑函数、所述生成元生成。
优选的,所述基于所述第一中间辅助参数、所述第二中间辅助参数、所述校验值、所述公钥列表、所述消息摘要、所述第三密码杂凑函数、所述生成元、所述阶数验证所述签名值是否正确,包括:
判断目标等式是否成立,若所述目标等式成立,则基于所述第一中间辅助参数、所述第二中间辅助参数、所述校验值、所述公钥列表、所述消息摘要、所述第三密码杂凑函数、所述生成元、所述阶数判定所述签名值正确;若所述目标等式不成立,则基于所述第一中间辅助参数、所述第二中间辅助参数、所述校验值、所述公钥列表、所述消息摘要、所述第三密码杂凑函数、所述生成元、所述阶数判定所述签名值不正确;
所述目标等式包括:
c1=cn+1;
其中,cj+1=H3(TAG,A0,A1,Tj,Yj),Tj=sj·G+(sj+cj)·Pj,Yj=sj·W+(sj+cj)·σi,i=1,2,...,n;W=H1(TAG);A0=H2(TAG,m),σi=A0A1 i,i=1,2,...,n;c1表示所述签名值;H3表示所述第三密码杂凑函数;TAG表示所述标签,TAG=(issue,L),issue表示预设数据号;L表示所述公钥列表,L={P1,P2,...,Pi,...,Pn},Pi表示所述目标签名方的公钥;Pj表示第j个所述其他签名方的公钥,j≠i;n表示所述公钥列表中的公钥总数量;A0表示所述第一中间辅助参数;A1表示所述第二中间辅助参数;G表示所述生成元;W表示所述消息摘要;H1表示所述第一密码杂凑函数;H2表示所述第二密码杂凑函数;m表示所述目标消息;sj表示第j个所述其他签名方对应的所述随机数,j=1,...,i-1,i+1,...,n;si表示所述目标数值。
一种基于SM2算法的可追踪环签名方法,应用于追踪方,包括:
获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数;
获取所有签名方的公钥,所述签名方包括目标签名方及其他签名方;
获取第一目标消息及对应的第一可追踪环签名;
获取与所述第一目标消息同标签的第二目标消息及对应的第二可追踪环签名;
基于所述第一密码杂凑函数计算所述标签的消息摘要;
基于所述第一目标消息、所述标签、所述第一可追踪环签名中的第二中间辅助参数、所述第二密码杂凑函数生成各个所述签名方对应的第一类校验值;
基于所述第二目标消息、所述标签、所述第二可追踪环签名中的第二中间辅助参数、所述第二密码杂凑函数生成各个所述签名方对应的第二类校验值;
对于每个所述签名方,若所述签名方对应的所述第一类校验值与所述第二类校验值相等,则将所述签名方的公钥作为追踪结果;
其中,目标消息对应的可追踪环签名包括第二中间辅助参数、签名值、目标数值及所有的所述其他签名方对应的随机数;所述标签基于公钥列表生成,所述公钥列表包括预设数量个所述其他签名方的公钥及所述目标签名方的公钥;所述目标签名方及所述其他签名方一一对应的所述随机数基于所述SM2算法的整数集合生成;所述签名值和所述目标数值基于所述目标签名方的私钥、所述SM2算法的阶数、所述公钥列表、所述标签、所述消息摘要、所述随机数、第一中间辅助参数、所述第二中间辅助参数、所述SM2算法的第三密码杂凑函数、所述SM2算法的生成元生成;所述第一中间辅助参数基于所述目标消息、所述标签、所述第二密码杂凑函数生成。
一种基于SM2算法的可追踪环签名系统,应用于任一目标签名方,包括:
第一获取模块,用于获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、所述椭圆曲线群的阶数、整数集合;
第二获取模块,用于获取待签名的目标消息;
第三获取模块,用于获取预设数量个其他签名方的公钥,并与所述目标签名方的公钥组成公钥列表;
第一生成模块,用于基于所述公钥列表生成所述目标消息的标签,基于所述第一密码杂凑函数及所述标签生成消息摘要;
第二生成模块,用于基于所述目标消息、所述标签、所述目标签名方的公钥、所述第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数;
第三生成模块,用于基于所述整数集合生成与所述目标签名方及所述其他签名方一一对应的随机数;
第四生成模块,用于基于目标签名方的私钥、所述阶数、所述公钥列表、所述标签、所述消息摘要、所述随机数、所述第一中间辅助参数、所述第二中间辅助参数、所述第三密码杂凑函数、所述生成元生成签名值和目标数值;
第一处理模块,用于将所述第二中间辅助参数、所述签名值、所述目标数值及所有的所述其他签名方对应的所述随机数作为所述目标消息的可追踪环签名。
一种基于SM2算法的可追踪环签名设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述基于SM2算法的可追踪环签名方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述基于SM2算法的可追踪环签名方法的步骤。
本申请提供的一种基于SM2算法的可追踪环签名方法,应用于任一目标签名方,获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、椭圆曲线群的阶数、整数集合;获取待签名的目标消息;获取预设数量个其他签名方的公钥,并与目标签名方的公钥组成公钥列表;基于公钥列表生成目标消息的标签,基于第一密码杂凑函数及标签生成消息摘要;基于目标消息、标签、目标签名方的公钥、第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数;基于整数集合生成与目标签名方及其他签名方一一对应的随机数;基于目标签名方的私钥、阶数、公钥列表、标签、消息摘要、随机数、第一中间辅助参数、第二中间辅助参数、第三密码杂凑函数、生成元生成签名值和目标数值;将第二中间辅助参数、签名值、目标数值及所有的其他签名方对应的随机数作为目标消息的可追踪环签名。本申请借助SM2算法实现了对目标消息的可追踪环签名,扩充了现有的数据环签名方法。本申请提供的一种基于SM2算法的可追踪环签名系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种基于SM2算法的可追踪环签名方法的第一流程图;
图2为本申请实施例提供的一种基于SM2算法的可追踪环签名方法的数据交互图;
图3为本申请实施例提供的一种基于SM2算法的可追踪环签名方法的第二流程图;
图4为本申请实施例提供的基于SM2算法的可追踪环签名方法的另一示意图;
图5为本申请实施例提供的一种基于SM2算法的可追踪环签名方法的第三流程图;
图6为本申请实施例提供的一种基于SM2算法的可追踪环签名系统的结构示意图;
图7为本申请实施例提供的一种基于SM2算法的可追踪环签名设备的结构示意图;
图8为本申请实施例提供的一种基于SM2算法的可追踪环签名设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解本申请提供的数据环签名方案,现对本申请涉及的SM2算法中的参数释义进行说明:
mod q:模q运算。
H:密码杂凑函数。
m:消息值。
σ:签名值。
||:比特串拼接符号。
#TList:表示列表中的总元素个数。
Ui:用户。
A0:密码计算中间辅助参数1,无实际意义。
A1:密码计算中间辅助参数2,无实际意义。
Ti:密码计算中间辅助参数3,无实际意义。
Yi:密码计算中间辅助参数4,无实际意义。
issue:数据号,一串由0和1组的字符串。
实际应用中,可以给定安全参数1n;选择一个有限域生成椭圆曲线方程y2=x3+ax+b mod p,满足方程的点构成一个阿贝尔群随机选取一个生成元G的坐标为(xG,yG),其阶为q;再输出系统参数之后,一个用户Ui随机选取作为自身私钥,计算公钥Pi=di·G,输出公私钥对(Pi,di)。以生成本申请进行数据环签名时所需的参数。
请参阅图1和图2,图1为本申请实施例提供的一种基于SM2算法的可追踪环签名方法的第一流程图,图2为本申请实施例提供的一种基于SM2算法的可追踪环签名方法的数据交互图。
本申请实施例提供的一种基于SM2算法的可追踪环签名方法,应用于任一目标签名方,可以包括以下步骤:
步骤S101:获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、椭圆曲线群的阶数、整数集合。
实际应用中,可以先确定SM2算法中的相应参数,也即可以先获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、椭圆曲线群的阶数、整数集合。
步骤S102:获取待签名的目标消息。
实际应用中,在获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、椭圆曲线群的阶数、整数集合之后,便可以获取待签名的目标消息,目标消息的类型可以根据实际需要确定,比如目标消息可以为图像数据、音频数据、短信等,本申请在此不做具体限定。
步骤S103:获取预设数量个其他签名方的公钥,并与目标签名方的公钥组成公钥列表。
实际应用中,在获取待签名的目标消息之后,便可以获取预设数量个其他签名方的公钥,并与目标签名方的公钥组成公钥列表,以便后续基于公钥列表生成目标消息的可追踪环签名。
步骤S104:基于公钥列表生成目标消息的标签,基于第一密码杂凑函数及标签生成消息摘要。
实际应用中,在获取预设数量个其他签名方的公钥,并与目标签名方的公钥组成公钥列表之后,便可以基于公钥列表生成目标消息的标签,基于第一密码杂凑函数及标签生成消息摘要,以便后续基于标签及消息摘要生成目标消息的可追踪环签名。
具体应用场景中,在基于公钥列表生成目标消息的标签,基于第一密码杂凑函数及标签生成消息摘要的过程中,可以通过第一运算公式,基于公钥列表生成目标消息的标签,基于第一密码杂凑函数及标签生成消息摘要;
第一运算公式包括:
TAG=(issue,L);W=H1(TAG);
其中,TAG表示标签;issue表示预设数据号;L表示公钥列表,L={P1,P2,...,Pi,...,Pn},Pi表示目标签名方的公钥;Pj表示第j个其他签名方的公钥,j≠i;n表示公钥列表中的公钥总数量;H1表示第一密码杂凑函数;W表示消息摘要。
步骤S105:基于目标消息、标签、目标签名方的公钥、第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数。
实际应用中,在基于公钥列表生成目标消息的标签,基于第一密码杂凑函数及标签生成消息摘要之后,便可以基于目标消息、标签、目标签名方的公钥、第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数。
实际应用中,在基于目标消息、标签、目标签名方的公钥、第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数的过程中,可以通过第二运算公式,基于目标消息、标签、目标签名方的公钥、第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数;
第二运算公式包括:
A0=H2(TAG,m);A1=(σi/A0)1/i;σi=di·W;
其中,A0表示第一中间辅助参数;H2表示第二密码杂凑函数;m表示目标消息;A1表示第二中间辅助参数;i表示目标签名方的标号;di表示目标签名方的私钥。
步骤S106:基于整数集合生成与目标签名方及其他签名方一一对应的随机数。
实际应用中,在基于目标消息、标签、目标签名方的公钥、第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数之后,便可以基于整数集合生成与目标签名方及其他签名方一一对应的随机数。
步骤S107:基于目标签名方的私钥、阶数、公钥列表、标签、消息摘要、随机数、第一中间辅助参数、第二中间辅助参数、第三密码杂凑函数、生成元生成签名值和目标数值。
实际应用中,在基于整数集合生成与目标签名方及其他签名方一一对应的随机数之后,便可以基于目标签名方的私钥、阶数、公钥列表、标签、消息摘要、随机数、第一中间辅助参数、第二中间辅助参数、第三密码杂凑函数、生成元生成签名值和目标数值。
具体应用场景中,在基于目标签名方的私钥、阶数、公钥列表、标签、消息摘要、随机数、第一中间辅助参数、第二中间辅助参数、第三密码杂凑函数、生成元生成签名值和目标数值的过程可以中,可以基于第一中间辅助参数及第二中间辅助参数生成与其他签名方一一对应的第一数值;基于目标签名方对应的随机数、第三密码杂凑函数、标签、第一中间辅助参数、第二中间辅助参数、生成元、消息摘要生成第二数值;基于其他签名方对应的随机数、生成元、第二数值、其他签名方的公钥、消息摘要、第三密码杂凑函数生成签名值及第三数值;基于目标签名方的私钥、目标签名方对应的随机数、第三数值及阶数生成目标数值。
具体应用场景中,在基于第一中间辅助参数及第二中间辅助参数生成与其他签名方一一对应的第一数值的过程中,可以通过第三运算公式,基于第一中间辅助参数及第二中间辅助参数生成与其他签名方一一对应的第一数值;
第三运算公式包括:
σj=A0A1 j∈G,j=1,...,i-1,i+1,...,n;
其中,σj表示与第j个其他签名方对应的第一数值;G表示生成元;
在基于目标签名方对应的随机数、第三密码杂凑函数、标签、第一中间辅助参数、第二中间辅助参数、生成元、消息摘要生成第二数值的过程中,可以通过第四运算公式,基于目标签名方对应的随机数、第三密码杂凑函数、标签、第一中间辅助参数、第二中间辅助参数、生成元、消息摘要生成第二数值;
第四运算公式包括:
ci+1=H3(TAG,A0,A1,ki·G,ki·W);
在基于其他签名方对应的随机数、生成元、第二数值、其他签名方的公钥、消息摘要、第三密码杂凑函数生成签名值及第三数值的过程中,可以通过第五运算公式,基于其他签名方对应的随机数、生成元、第二数值、其他签名方的公钥、消息摘要、第三密码杂凑函数生成签名值及第三数值;
第五运算公式包括:
cj+1=H3(TAG,A0,A1,Tj,Yj),j=i+1,...,n,1,...,i-1;
Tj=sj·G+(sj+cj)·Pj;Yj=sj·W+(sj+cj)·σi;
在基于目标签名方的私钥、目标签名方对应的随机数、第三数值及阶数生成目标数值的过程中,可以通过第六运算公式,基于目标签名方的私钥、目标签名方对应的随机数、第三数值及阶数生成目标数值;
第六运算公式包括:
si=((1+di)-1·(ki-ci·di))mod q;
其中,si表示目标数值;di表示目标签名方的私钥;q表示阶数。
步骤S108:将第二中间辅助参数、签名值、目标数值及所有的其他签名方对应的随机数作为目标消息的可追踪环签名。
实际应用中,在基于目标签名方的私钥、阶数、公钥列表、标签、消息摘要、随机数、第一中间辅助参数、第二中间辅助参数、第三密码杂凑函数、生成元生成签名值和目标数值之后,便可以将第二中间辅助参数、签名值、目标数值及所有的其他签名方对应的随机数作为目标消息的可追踪环签名。
本申请提供的一种基于SM2算法的可追踪环签名方法,应用于任一目标签名方,获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、椭圆曲线群的阶数、整数集合;获取待签名的目标消息;获取预设数量个其他签名方的公钥,并与目标签名方的公钥组成公钥列表;基于公钥列表生成目标消息的标签,基于第一密码杂凑函数及标签生成消息摘要;基于目标消息、标签、目标签名方的公钥、第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数;基于整数集合生成与目标签名方及其他签名方一一对应的随机数;基于目标签名方的私钥、阶数、公钥列表、标签、消息摘要、随机数、第一中间辅助参数、第二中间辅助参数、第三密码杂凑函数、生成元生成签名值和目标数值;将第二中间辅助参数、签名值、目标数值及所有的其他签名方对应的随机数作为目标消息的可追踪环签名。本申请借助SM2算法实现了对目标消息的可追踪环签名,扩充了现有的数据环签名方法。
实际应用中,在本申请提供的基于SM2算法的可追踪环签名方法中,目标签名方在生成目标消息的可追踪环签名之后,还可以对可追踪环签名进行验证,以便根据验证结果对目标消息进行处理。
请参阅图2和图3,图3为本申请实施例提供的一种基于SM2算法的可追踪环签名方法的第二流程图。
本申请实施例提供的一种基于SM2算法的可追踪环签名方法,应用于签名验证方,可以包括以下步骤:
步骤S201:获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、椭圆曲线群的阶数、整数集合。
步骤S202:获取目标签名方发送的目标消息、标签、公钥列表、可追踪环签名,可追踪环签名包括第二中间辅助参数、签名值、目标数值及所有的其他签名方对应的随机数。
步骤S203:验证签名值、其他签名方对应的随机数、第一数值是否属于整数集合;若签名值、其他签名方对应的随机数、第一数值属于整数集合,则执行步骤S204。
实际应用中,在签名值、其他签名方对应的随机数、第一数值不属于整数集合的情况下,可以判定可追踪环签名无效等。
步骤S204:基于目标消息、标签、第二中间辅助参数、第二密码杂凑函数生成第一中间辅助参数及校验值,基于第一密码杂凑函数及标签生成消息摘要。
步骤S205:基于第一中间辅助参数、第二中间辅助参数、校验值、公钥列表、消息摘要、第三密码杂凑函数、生成元、阶数验证签名值是否正确;若签名值正确,则执行步骤S206。
步骤S206:判定可追踪环签名为合法签名。
实际应用中,在基于第一中间辅助参数、第二中间辅助参数、校验值、公钥列表、消息摘要、第三密码杂凑函数、生成元、阶数验证签名值不正确的情况下,可以判定可追踪环签名无效等,本申请在此不做具体限定。
具体应用场景中,在基于第一中间辅助参数、第二中间辅助参数、校验值、公钥列表、消息摘要、第三密码杂凑函数、生成元、阶数验证签名值是否正确的过程中,可以判断目标等式是否成立,若目标等式成立,则基于第一中间辅助参数、第二中间辅助参数、校验值、公钥列表、消息摘要、第三密码杂凑函数、生成元、阶数判定签名值正确;若目标等式不成立,则基于第一中间辅助参数、第二中间辅助参数、校验值、公钥列表、消息摘要、第三密码杂凑函数、生成元、阶数判定签名值不正确;
目标等式包括:
c1=cn+1;
其中,cj+1=H3(TAG,A0,A1,Tj,Yj),Tj=sj·G+(sj+cj)·Pj,Yj=sj·W+(sj+cj)·σi,i=1,2,...,n;W=H1(TAG);A0=H2(TAG,m),σi=A0A1 i,i=1,2,...,n;c1表示签名值;H3表示第三密码杂凑函数;TAG表示标签,TAG=(issue,L),issue表示预设数据号;L表示公钥列表,L={P1,P2,...,Pi,...,Pn},Pi表示目标签名方的公钥;Pj表示第j个其他签名方的公钥,j≠i;n表示公钥列表中的公钥总数量;A0表示第一中间辅助参数;A1表示第二中间辅助参数;G表示生成元;W表示消息摘要;H1表示第一密码杂凑函数;H2表示第二密码杂凑函数;m表示目标消息;sj表示第j个其他签名方对应的随机数,j=1,...,i-1,i+1,...,n;si表示目标数值。
实际应用中,在本申请提供的基于SM2算法的可追踪环签名方法中,目标签名方在生成目标消息的可追踪环签名之后,还可以对签名方进行追踪,以便根据追踪结果对签名方进行处理。请参阅图4和图5,图4为本申请实施例提供的基于SM2算法的可追踪环签名方法的另一示意图,图5为本申请实施例提供的一种基于SM2算法的可追踪环签名方法的第三流程图。
本申请实施例提供的一种基于SM2算法的可追踪环签名方法,应用于追踪方,可以包括以下步骤:
步骤S301:获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数。
步骤S302:获取所有签名方的公钥,签名方包括目标签名方及其他签名方。
步骤S303:获取第一目标消息及对应的第一可追踪环签名。
步骤S304:获取与第一目标消息同标签的第二目标消息及对应的第二可追踪环签名。
步骤S305:基于第一密码杂凑函数计算标签的消息摘要。
步骤S306:基于第一目标消息、标签、第一可追踪环签名中的第二中间辅助参数、第二密码杂凑函数生成各个签名方对应的第一类校验值。
步骤S307:基于第二目标消息、标签、第二可追踪环签名中的第二中间辅助参数、第二密码杂凑函数生成各个签名方对应的第二类校验值。
步骤S308:对于每个签名方,若签名方对应的第一类校验值与第二类校验值相等,则将签名方的公钥作为追踪结果。
实际应用中,在对于每个签名方,若签名方对应的第一类校验值与第二类校验值相等,则将签名方的公钥作为追踪结果之后,若追踪结果中只有一个公钥,则表示签名方对同一个标签签署了两个不同的消息,可以直接输出该公钥来表示;若追踪结果中的公钥为所有签名方的公钥,则表示签名方对同一个标签签署了两遍相同的消息,可以输出“链接”来表示;若追踪结果中的公钥数量大于1个且并非所有的公钥,则表示追踪结果为其他,可以输出“独立”来表示。
请参阅图6,图6为本申请实施例提供的一种基于SM2算法的可追踪环签名系统的结构示意图。
本申请实施例提供的一种基于SM2算法的可追踪环签名系统,应用于任一目标签名方,可以包括:
第一获取模块101,用于获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、椭圆曲线群的阶数、整数集合;
第二获取模块102,用于获取待签名的目标消息;
第三获取模块103,用于获取预设数量个其他签名方的公钥,并与目标签名方的公钥组成公钥列表;
第一生成模块104,用于基于公钥列表生成目标消息的标签,基于第一密码杂凑函数及标签生成消息摘要;
第二生成模块105,用于基于目标消息、标签、目标签名方的公钥、第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数;
第三生成模块106,用于基于整数集合生成与目标签名方及其他签名方一一对应的随机数;
第四生成模块107,用于基于目标签名方的私钥、阶数、公钥列表、标签、消息摘要、随机数、第一中间辅助参数、第二中间辅助参数、第三密码杂凑函数、生成元生成签名值和目标数值;
第一处理模块108,用于将第二中间辅助参数、签名值、目标数值及所有的其他签名方对应的随机数作为目标消息的可追踪环签名。
本申请实施例提供的一种基于SM2算法的可追踪环签名系统,应用于签名验证方,可以包括:
第四获取模块,用于获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、椭圆曲线群的阶数、整数集合;
第五获取模块,用于获取目标签名方发送的目标消息、标签、公钥列表、可追踪环签名,可追踪环签名包括第二中间辅助参数、签名值、目标数值及所有的其他签名方对应的随机数;
第一验证模块,用于验证签名值、其他签名方对应的随机数、第一数值是否属于整数集合;
第五生成模块,用于若签名值、其他签名方对应的随机数、第一数值属于整数集合,则基于目标消息、标签、第二中间辅助参数、第二密码杂凑函数生成第一中间辅助参数及校验值,基于第一密码杂凑函数及标签生成消息摘要;
第二验证模块,用于基于第一中间辅助参数、第二中间辅助参数、校验值、公钥列表、消息摘要、第三密码杂凑函数、生成元、阶数验证签名值是否正确;若签名值正确,则判定可追踪环签名为合法签名;
其中,公钥列表包括预设数量个其他签名方的公钥及目标签名方的公钥;标签基于公钥列表生成;目标签名方及其他签名方一一对应的随机数基于整数集合生成;签名值和目标数值基于目标签名方的私钥、阶数、公钥列表、标签、消息摘要、随机数、第一中间辅助参数、第二中间辅助参数、第三密码杂凑函数、生成元生成。
本申请实施例提供的一种基于SM2算法的可追踪环签名系统,应用于追踪方,可以包括:
第六获取模块,用于获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数;
第七获取模块,用于获取所有签名方的公钥,签名方包括目标签名方及其他签名方;
第八获取模块,用于获取第一目标消息及对应的第一可追踪环签名;
第九获取模块,用于获取与第一目标消息同标签的第二目标消息及对应的第二可追踪环签名;
第一计算模块,用于基于第一密码杂凑函数计算标签的消息摘要;
第六生成模块,用于基于第一目标消息、标签、第一可追踪环签名中的第二中间辅助参数、第二密码杂凑函数生成各个签名方对应的第一类校验值;
第七生成模块,用于基于第二目标消息、标签、第二可追踪环签名中的第二中间辅助参数、第二密码杂凑函数生成各个签名方对应的第二类校验值;
第一处理模块,用于对于每个签名方,若签名方对应的第一类校验值与第二类校验值相等,则将签名方的公钥作为追踪结果;
其中,目标消息对应的可追踪环签名包括第二中间辅助参数、签名值、目标数值及所有的其他签名方对应的随机数;标签基于公钥列表生成,公钥列表包括预设数量个其他签名方的公钥及目标签名方的公钥;目标签名方及其他签名方一一对应的随机数基于SM2算法的整数集合生成;签名值和目标数值基于目标签名方的私钥、SM2算法的阶数、公钥列表、标签、消息摘要、随机数、第一中间辅助参数、第二中间辅助参数、SM2算法的第三密码杂凑函数、SM2算法的生成元生成;第一中间辅助参数基于目标消息、标签、第二密码杂凑函数生成。
本申请实施例提供的基于SM2算法的可追踪环签名系统中相应模块的功能可以参阅上述描述,在此不再赘述。
本申请还提供了一种基于SM2算法的可追踪环签名设备及计算机可读存储介质,其均具有本申请实施例提供的一种基于SM2算法的可追踪环签名方法具有的对应效果。请参阅图7,图7为本申请实施例提供的一种基于SM2算法的可追踪环签名设备的结构示意图。
本申请实施例提供的一种基于SM2算法的可追踪环签名设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如上任一实施例所描述基于SM2算法的可追踪环签名方法的步骤。
请参阅图8,本申请实施例提供的另一种基于SM2算法的可追踪环签名设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现数据环签名设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如上任一实施例所描述基于SM2算法的可追踪环签名方法的步骤
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的基于SM2算法的可追踪环签名系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的基于SM2算法的可追踪环签名方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于SM2算法的可追踪环签名方法,其特征在于,应用于任一目标签名方,包括:
获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、所述椭圆曲线群的阶数、整数集合;
获取待签名的目标消息;
获取预设数量个其他签名方的公钥,并与所述目标签名方的公钥组成公钥列表;
基于所述公钥列表生成所述目标消息的标签,基于所述第一密码杂凑函数及所述标签生成消息摘要;
基于所述目标消息、所述标签、所述目标签名方的公钥、所述第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数;
基于所述整数集合生成与所述目标签名方及所述其他签名方一一对应的随机数;
基于目标签名方的私钥、所述阶数、所述公钥列表、所述标签、所述消息摘要、所述随机数、所述第一中间辅助参数、所述第二中间辅助参数、所述第三密码杂凑函数、所述生成元生成签名值和目标数值;
将所述第二中间辅助参数、所述签名值、所述目标数值及所有的所述其他签名方对应的所述随机数作为所述目标消息的可追踪环签名。
2.根据权利要求1所述的方法,其特征在于,所述基于目标签名方的私钥、所述阶数、所述公钥列表、所述标签、所述消息摘要、所述随机数、所述第一中间辅助参数、所述第二中间辅助参数、所述第三密码杂凑函数、所述生成元生成签名值和目标数值,包括:
基于所述第一中间辅助参数及所述第二中间辅助参数生成与所述其他签名方一一对应的第一数值;
基于所述目标签名方对应的所述随机数、所述第三密码杂凑函数、所述标签、所述第一中间辅助参数、所述第二中间辅助参数、所述生成元、所述消息摘要生成第二数值;
基于所述其他签名方对应的所述随机数、所述生成元、所述第二数值、所述其他签名方的公钥、所述消息摘要、所述第三密码杂凑函数生成所述签名值及第三数值;
基于所述目标签名方的私钥、所述目标签名方对应的所述随机数、所述第三数值及所述阶数生成所述目标数值。
3.根据权利要求2所述的方法,其特征在于,所述基于所述公钥列表生成所述目标消息的标签,基于所述第一密码杂凑函数及所述标签生成消息摘要,包括:
通过第一运算公式,基于所述公钥列表生成所述目标消息的所述标签,基于所述第一密码杂凑函数及所述标签生成所述消息摘要;
所述第一运算公式包括:
TAG=(issue,L);W=H1(TAG);
其中,TAG表示所述标签;issue表示预设数据号;L表示所述公钥列表,L={P1,P2,...,Pi,...,Pn},Pi表示所述目标签名方的公钥;Pj表示第j个所述其他签名方的公钥,j≠i;n表示所述公钥列表中的公钥总数量;H1表示所述第一密码杂凑函数;W表示所述消息摘要;
所述基于所述目标消息、所述标签、所述目标签名方的公钥、所述第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数,包括:
通过第二运算公式,基于所述目标消息、所述标签、所述目标签名方的公钥、所述第二密码杂凑函数生成所述第一中间辅助参数及所述第二中间辅助参数;
所述第二运算公式包括:
A0=H2(TAG,m);A1=(σi/A0)1/i;σi=di·W;
其中,A0表示所述第一中间辅助参数;H2表示所述第二密码杂凑函数;m表示所述目标消息;A1表示所述第二中间辅助参数;i表示所述目标签名方的标号;di表示所述目标签名方的私钥。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一中间辅助参数及所述第二中间辅助参数生成与所述其他签名方一一对应的第一数值,包括:
通过第三运算公式,基于所述第一中间辅助参数及所述第二中间辅助参数生成与所述其他签名方一一对应的所述第一数值;
所述第三运算公式包括:
σj=A0A1 j∈G,j=1,...,i-1,i+1,...,n;
其中,σj表示与第j个所述其他签名方对应的所述第一数值;G表示所述生成元;
所述基于所述目标签名方对应的所述随机数、所述第三密码杂凑函数、所述标签、所述第一中间辅助参数、所述第二中间辅助参数、所述生成元、所述消息摘要生成第二数值,包括:
通过第四运算公式,基于所述目标签名方对应的所述随机数、所述第三密码杂凑函数、所述标签、所述第一中间辅助参数、所述第二中间辅助参数、所述生成元、所述消息摘要生成所述第二数值;
所述第四运算公式包括:
ci+1=H3(TAG,A0,A1,ki·G,ki·W);
其中,ci+1表示所述第二数值;H3表示所述第三密码杂凑函数;ki表示所述目标签名方对应的所述随机数;
所述基于所述其他签名方对应的所述随机数、所述生成元、所述第二数值、所述其他签名方的公钥、所述消息摘要、所述第三密码杂凑函数生成所述签名值及第三数值,包括:
通过第五运算公式,基于所述其他签名方对应的所述随机数、所述生成元、所述第二数值、所述其他签名方的公钥、所述消息摘要、所述第三密码杂凑函数生成所述签名值及所述第三数值;
所述第五运算公式包括:
cj+1=H3(TAG,A0,A1,Tj,Yj),j=i+1,...,n,1,...,i-1;
Tj=sj·G+(sj+cj)·Pj;Yj=sj·W+(sj+cj)·σi;
其中,cn的值为所述签名值;sj表示第j个所述其他签名方对应的所述随机数,j=1,...,i-1,i+1,...,n;ci表示所述第三数值;
所述基于所述目标签名方的私钥、所述目标签名方对应的所述随机数、所述第三数值及所述阶数生成所述目标数值,包括:
通过第六运算公式,基于所述目标签名方的私钥、所述目标签名方对应的所述随机数、所述第三数值及所述阶数生成所述目标数值;
所述第六运算公式包括:
si=((1+di)-1·(ki-ci·di))mod q;
其中,si表示所述目标数值;di表示所述目标签名方的私钥;q表示所述阶数。
5.一种基于SM2算法的可追踪环签名方法,其特征在于,应用于签名验证方,包括:
获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、所述椭圆曲线群的阶数、整数集合;
获取目标签名方发送的目标消息、标签、公钥列表、可追踪环签名,所述可追踪环签名包括第二中间辅助参数、签名值、目标数值及所有的其他签名方对应的随机数;
验证所述签名值、所述其他签名方对应的所述随机数、所述第一数值是否属于所述整数集合;
若所述签名值、所述其他签名方对应的所述随机数、所述第一数值属于所述整数集合,则基于所述目标消息、所述标签、所述第二中间辅助参数、所述第二密码杂凑函数生成第一中间辅助参数及校验值,基于所述第一密码杂凑函数及所述标签生成消息摘要;
基于所述第一中间辅助参数、所述第二中间辅助参数、所述校验值、所述公钥列表、所述消息摘要、所述第三密码杂凑函数、所述生成元、所述阶数验证所述签名值是否正确;
若所述签名值正确,则判定所述可追踪环签名为合法签名;
其中,所述公钥列表包括预设数量个其他签名方的公钥及所述目标签名方的公钥;所述标签基于所述公钥列表生成;所述目标签名方及所述其他签名方一一对应的随机数基于所述整数集合生成;所述签名值和所述目标数值基于所述目标签名方的私钥、所述阶数、所述公钥列表、所述标签、所述消息摘要、所述随机数、所述第一中间辅助参数、所述第二中间辅助参数、所述第三密码杂凑函数、所述生成元生成。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一中间辅助参数、所述第二中间辅助参数、所述校验值、所述公钥列表、所述消息摘要、所述第三密码杂凑函数、所述生成元、所述阶数验证所述签名值是否正确,包括:
判断目标等式是否成立,若所述目标等式成立,则基于所述第一中间辅助参数、所述第二中间辅助参数、所述校验值、所述公钥列表、所述消息摘要、所述第三密码杂凑函数、所述生成元、所述阶数判定所述签名值正确;若所述目标等式不成立,则基于所述第一中间辅助参数、所述第二中间辅助参数、所述校验值、所述公钥列表、所述消息摘要、所述第三密码杂凑函数、所述生成元、所述阶数判定所述签名值不正确;
所述目标等式包括:
c1=cn+1;
其中,cj+1=H3(TAG,A0,A1,Tj,Yj),Tj=sj·G+(sj+cj)·Pj,Yj=sj·W+(sj+cj)·σi,i=1,2,...,n;W=H1(TAG);A0=H2(TAG,m),σi=A0A1 i,i=1,2,...,n;c1表示所述签名值;H3表示所述第三密码杂凑函数;TAG表示所述标签,TAG=(issue,L),issue表示预设数据号;L表示所述公钥列表,L={P1,P2,...,Pi,...,Pn},Pi表示所述目标签名方的公钥;Pj表示第j个所述其他签名方的公钥,j≠i;n表示所述公钥列表中的公钥总数量;A0表示所述第一中间辅助参数;A1表示所述第二中间辅助参数;G表示所述生成元;W表示所述消息摘要;H1表示所述第一密码杂凑函数;H2表示所述第二密码杂凑函数;m表示所述目标消息;sj表示第j个所述其他签名方对应的所述随机数,j=1,...,i-1,i+1,...,n;si表示所述目标数值。
7.一种基于SM2算法的可追踪环签名方法,其特征在于,应用于追踪方,包括:
获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数;
获取所有签名方的公钥,所述签名方包括目标签名方及其他签名方;
获取第一目标消息及对应的第一可追踪环签名;
获取与所述第一目标消息同标签的第二目标消息及对应的第二可追踪环签名;
基于所述第一密码杂凑函数计算所述标签的消息摘要;
基于所述第一目标消息、所述标签、所述第一可追踪环签名中的第二中间辅助参数、所述第二密码杂凑函数生成各个所述签名方对应的第一类校验值;
基于所述第二目标消息、所述标签、所述第二可追踪环签名中的第二中间辅助参数、所述第二密码杂凑函数生成各个所述签名方对应的第二类校验值;
对于每个所述签名方,若所述签名方对应的所述第一类校验值与所述第二类校验值相等,则将所述签名方的公钥作为追踪结果;
其中,目标消息对应的可追踪环签名包括第二中间辅助参数、签名值、目标数值及所有的所述其他签名方对应的随机数;所述标签基于公钥列表生成,所述公钥列表包括预设数量个所述其他签名方的公钥及所述目标签名方的公钥;所述目标签名方及所述其他签名方一一对应的所述随机数基于所述SM2算法的整数集合生成;所述签名值和所述目标数值基于所述目标签名方的私钥、所述SM2算法的阶数、所述公钥列表、所述标签、所述消息摘要、所述随机数、第一中间辅助参数、所述第二中间辅助参数、所述SM2算法的第三密码杂凑函数、所述SM2算法的生成元生成;所述第一中间辅助参数基于所述目标消息、所述标签、所述第二密码杂凑函数生成。
8.一种基于SM2算法的可追踪环签名系统,其特征在于,应用于任一目标签名方,包括:
第一获取模块,用于获取基于SM2算法确定的第一密码杂凑函数、第二密码杂凑函数、第三密码杂凑函数、椭圆曲线群的生成元、所述椭圆曲线群的阶数、整数集合;
第二获取模块,用于获取待签名的目标消息;
第三获取模块,用于获取预设数量个其他签名方的公钥,并与所述目标签名方的公钥组成公钥列表;
第一生成模块,用于基于所述公钥列表生成所述目标消息的标签,基于所述第一密码杂凑函数及所述标签生成消息摘要;
第二生成模块,用于基于所述目标消息、所述标签、所述目标签名方的公钥、所述第二密码杂凑函数生成第一中间辅助参数及第二中间辅助参数;
第三生成模块,用于基于所述整数集合生成与所述目标签名方及所述其他签名方一一对应的随机数;
第四生成模块,用于基于目标签名方的私钥、所述阶数、所述公钥列表、所述标签、所述消息摘要、所述随机数、所述第一中间辅助参数、所述第二中间辅助参数、所述第三密码杂凑函数、所述生成元生成签名值和目标数值;
第一处理模块,用于将所述第二中间辅助参数、所述签名值、所述目标数值及所有的所述其他签名方对应的所述随机数作为所述目标消息的可追踪环签名。
9.一种基于SM2算法的可追踪环签名设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述基于SM2算法的可追踪环签名方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于SM2算法的可追踪环签名方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211286411.2A CN115664675B (zh) | 2022-10-20 | 2022-10-20 | 基于sm2算法的可追踪环签名方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211286411.2A CN115664675B (zh) | 2022-10-20 | 2022-10-20 | 基于sm2算法的可追踪环签名方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115664675A true CN115664675A (zh) | 2023-01-31 |
CN115664675B CN115664675B (zh) | 2023-07-04 |
Family
ID=84988616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211286411.2A Active CN115664675B (zh) | 2022-10-20 | 2022-10-20 | 基于sm2算法的可追踪环签名方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115664675B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116566626A (zh) * | 2023-07-11 | 2023-08-08 | 北京信安世纪科技股份有限公司 | 环签名方法和设备 |
CN116938475A (zh) * | 2023-09-08 | 2023-10-24 | 北京信安世纪科技股份有限公司 | 一种环签名方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377565A (zh) * | 2010-08-06 | 2012-03-14 | 陈国敏 | 一种基于指定验证者的可链接环签名方法 |
US20120159153A1 (en) * | 2010-12-13 | 2012-06-21 | Korea Basic Science Institute | Efficient Identity-Based Ring Signature Scheme With Anonymity And System Thereof |
CN107835082A (zh) * | 2017-12-15 | 2018-03-23 | 河海大学 | 一种基于身份的可追踪环签名认证协议 |
CN110011810A (zh) * | 2019-03-31 | 2019-07-12 | 西安电子科技大学 | 基于可链接环签名和多重签名的区块链匿名签名方法 |
CN110932865A (zh) * | 2019-11-26 | 2020-03-27 | 武汉大学 | 一种基于sm2数字签名算法的可链接环签名生成方法 |
US20200202345A1 (en) * | 2019-06-26 | 2020-06-25 | Alibaba Group Holding Limited | Blockchain transactions with ring signatures |
WO2020191700A1 (zh) * | 2019-03-28 | 2020-10-01 | 深圳大学 | 可连接环签名方法、装置、设备以及存储介质 |
CN112118100A (zh) * | 2020-09-16 | 2020-12-22 | 建信金融科技有限责任公司 | 一种改进的可链接环签名方法、验证方法及装置 |
CN115001711A (zh) * | 2022-06-10 | 2022-09-02 | 成都卫士通信息产业股份有限公司 | 信息签名方法、装置、电子设备及计算机可读存储介质 |
-
2022
- 2022-10-20 CN CN202211286411.2A patent/CN115664675B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377565A (zh) * | 2010-08-06 | 2012-03-14 | 陈国敏 | 一种基于指定验证者的可链接环签名方法 |
US20120159153A1 (en) * | 2010-12-13 | 2012-06-21 | Korea Basic Science Institute | Efficient Identity-Based Ring Signature Scheme With Anonymity And System Thereof |
CN107835082A (zh) * | 2017-12-15 | 2018-03-23 | 河海大学 | 一种基于身份的可追踪环签名认证协议 |
WO2020191700A1 (zh) * | 2019-03-28 | 2020-10-01 | 深圳大学 | 可连接环签名方法、装置、设备以及存储介质 |
CN110011810A (zh) * | 2019-03-31 | 2019-07-12 | 西安电子科技大学 | 基于可链接环签名和多重签名的区块链匿名签名方法 |
US20200202345A1 (en) * | 2019-06-26 | 2020-06-25 | Alibaba Group Holding Limited | Blockchain transactions with ring signatures |
CN110932865A (zh) * | 2019-11-26 | 2020-03-27 | 武汉大学 | 一种基于sm2数字签名算法的可链接环签名生成方法 |
CN112118100A (zh) * | 2020-09-16 | 2020-12-22 | 建信金融科技有限责任公司 | 一种改进的可链接环签名方法、验证方法及装置 |
CN115001711A (zh) * | 2022-06-10 | 2022-09-02 | 成都卫士通信息产业股份有限公司 | 信息签名方法、装置、电子设备及计算机可读存储介质 |
Non-Patent Citations (6)
Title |
---|
UBAIDULLAH RAJPUT等: "A Hybrid Approach for Efficient Privacy-Preserving Authentication in VANET", 《 IEEE ACCESS》 * |
孙庆英;: "群签名和环签名在匿名通信中的应用", 电脑学习, no. 06 * |
崔永泉;曹玲;张小宇;曾功贤;: "格基环签名的车联网隐私保护", 计算机学报, no. 05 * |
常芬;崔杰;王良民;: "WSN中基于椭圆曲线的可追踪匿名认证方案", 计算机研究与发展, no. 09 * |
景运革;: "椭圆曲线的可追踪门限签名", 微型机与应用, no. 21 * |
杨华杰: "环签名的分析与改进", 《昆明理工大学硕士学位论文》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116566626A (zh) * | 2023-07-11 | 2023-08-08 | 北京信安世纪科技股份有限公司 | 环签名方法和设备 |
CN116566626B (zh) * | 2023-07-11 | 2023-09-05 | 北京信安世纪科技股份有限公司 | 环签名方法和设备 |
CN116938475A (zh) * | 2023-09-08 | 2023-10-24 | 北京信安世纪科技股份有限公司 | 一种环签名方法、装置、设备及存储介质 |
CN116938475B (zh) * | 2023-09-08 | 2023-12-19 | 北京信安世纪科技股份有限公司 | 一种环签名方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115664675B (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
KR101040588B1 (ko) | 익명성을 제공하는 효율적인 신원기반 환서명 방법과 그 시스템 | |
CN115664675B (zh) | 基于sm2算法的可追踪环签名方法、系统、设备及介质 | |
CN107425971B (zh) | 无证书的数据加/解密方法和装置、终端 | |
MXPA04010155A (es) | Uso de isogenias para el diseno de criptosistemas. | |
CN109639439B (zh) | 一种基于两方协同的ecdsa数字签名方法 | |
CN109861826B (zh) | 一种双向代理重签名的实现方法及装置 | |
CN107911217B (zh) | 基于ecdsa算法协同生成签名的方法、装置和数据处理系统 | |
CN107171788B (zh) | 一种基于身份且签名长度恒定的在线离线聚合签名方法 | |
US8250367B2 (en) | Cryptographic applications of efficiently evaluating large degree isogenies | |
CN111262704A (zh) | Sm9数字签名生成方法、装置、计算机设备和存储介质 | |
CN112887081A (zh) | 基于sm2的签名验签方法、装置及系统 | |
CN112446052A (zh) | 一种适用于涉密信息系统的聚合签名方法及系统 | |
CN109618348B (zh) | 一种单向代理重签名的实现方法及装置 | |
CN107104788B (zh) | 终端及其不可抵赖的加密签名方法和装置 | |
CN116346328A (zh) | 一种数字签名方法、系统、设备及计算机可读存储介质 | |
CN114117547A (zh) | 一种基于预计算表的sm9数字签名加速生成方法以及数字签名加速验证方法 | |
CN110602190B (zh) | 区块链共识的方法及区块链节点和存储装置 | |
CN115174104A (zh) | 基于商密sm9的属性基在线/离线签名方法与系统 | |
CN112989436B (zh) | 一种基于区块链平台的多重签名方法 | |
CN111245615B (zh) | 一种基于身份的数字签名密码逆向防火墙方法 | |
CN108667619B (zh) | 一种sm9数字签名的白盒实现方法与装置 | |
CN115174056B (zh) | 一种基于sm9签名的变色龙签名生成方法及装置 | |
CN115941205A (zh) | 一种基于sm2的多重签名方法 | |
US20020044648A1 (en) | Methods and systems for efficient chained certification |
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 |