基于区块链的签名验证方法、装置、设备和存储介质制造方法及图纸

技术编号:33210019 阅读:17 留言:0更新日期:2022-04-24 01:03
本公开提供了基于区块链的签名验证方法、装置、设备和存储介质,涉及计算机领域,尤其涉及区块链技术,可应用于数字藏品。具体实现方案为:从环成员列表的签名结果中提取签名信息、环成员的第一环身份标识点、第一环身份聚合点和签名者的签名内容;根据第二循环群的第二生成元、所述签名者的签名内容、第三主公钥、所述第一环身份聚合点和所述第二环身份聚合点,对所述环成员列表的签名结果进行验签。本公开实施例提高了验签可靠性。公开实施例提高了验签可靠性。公开实施例提高了验签可靠性。

【技术实现步骤摘要】
基于区块链的签名验证方法、装置、设备和存储介质


[0001]本公开涉及计算机领域,尤其涉及区块链技术,可应用于数字藏品,具体涉及基于区块链的签名验证方法、装置、设备和存储介质。

技术介绍

[0002]数字签名是指只有信息的发送者才能产生,别人无法伪造的一段数字串,数字签名可以对信息发送的真实性提供有效证明。在区块链网络中,不同交易方可以通过数字签名验证交易信息的可靠性。
[0003]随着区块链网络的技术不断发展,应用领域不断扩大,区块链网络对签名处理提出了新的要求。

技术实现思路

[0004]本公开提供了一种用于基于区块链的签名验证方法、装置、设备和存储介质。
[0005]根据本公开的一方面,提供了一种基于区块链的签名验证方法,包括:从环成员列表的签名结果中提取签名信息、环成员的第一环身份标识点、第一环身份聚合点和签名者的签名内容;根据所述签名信息和所述环成员的第一环身份标识点,确定第二环身份聚合点;根据第二循环群的第二生成元、所述签名者的签名内容、第三主公钥、所述第一环身份聚合点和所述第二环身份聚合点,对所述环成员列表的签名结果进行验签。
[0006]根据本公开的另一方面,提供了一种基于区块链的签名验证装置,包括:提取模块,用于从环成员列表的签名结果中提取签名信息、环成员的第一环身份标识点、第一环身份聚合点和签名者的签名内容;第二环身份聚合模块,用于根据所述签名信息和所述环成员的第一环身份标识点,确定第二环身份聚合点;验签模块,用于根据第二循环群的第二生成元、所述签名者的签名内容、第三主公钥、所述第一环身份聚合点和所述第二环身份聚合点,对所述环成员列表的签名结果进行验签。
[0007]根据本公开的又一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任意实施例所提供的一种基于区块链的签名验证方法。
[0008]根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开任意实施例所提供的一种基于区块链的签名验证方法。
[0009]根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开任意实施例所提供的一种基于区块链的签名验证方法。
[0010]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0011]附图用于更好地理解本方案,不构成对本公开的限定。其中:图1a是根据本公开实施例提供的一种基于区块链的签名验证方法的示意图;图1b是根据本公开实施例提供的基于区块链的签名处理系统的示意图;图2是根据本公开实施例提供的另一种基于区块链的签名验证方法的示意图;图3是根据本公开实施例提供的又一种基于区块链的签名验证方法的示意图;图4是根据本公开实施例提供的一种基于区块链的签名验证装置的示意图;图5是用来实现本公开实施例的一种基于区块链的签名验证方法的电子设备的框图。
具体实施方式
[0012]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0013]本公开实施例针对新环签名算法提供了新验签算法,其中,新环签名算法和新验签算法均基于椭圆曲线双线性映射所构建的新数学体系确定。在本公开实施例中涉及到三个循环群:第一循环群、第二循环群和第三循环群,其中第一循环群、第二循环群和第三循环群之间满足椭圆曲线双线性映射,即第一循环群的点、第二循环群的点,经椭圆曲线双线性处理可映射到第三循环群。并且,第一循环群和第二循环群均为N阶的加法循环群,第三循环群为N阶的乘法循环群。循环群的每个点都是循环群的生成元的乘方,循环群的生成元也可以称为基点。
[0014]本公开实施例中签名结果具有椭圆曲线双线性映射的同态隐藏特性,能够满足环签名技术的匿名性要求,签名者可以匿名于环身份列表中,签名结果不会泄露由哪位环成员所签发,适用于不同签名场景,具有通用性。并且,签名结果还可具有其他特性,能够满足对签名技术的新要求,例如还可具有可监管性,在区块链网络上出现不合规内容的情况下,支持监管方查询不合法内容所属签名者的真实身份信息;还可具有可关联性,能够识别不同签名是否由同一签名者所签发。本公开实施例所提供的验签算法用于对签名结果进行验签,能够提高验签可靠性。
[0015]以下结合附图,对本公开实施例提供的该方案进行详细说明。
[0016]图1a是根据本公开实施例提供的一种基于区块链的签名验证方法的示意图,本公开实施例可适用于采用新验签算法进行验签的情况。该方法可由一种基于区块链的签名验证装置来执行,该装置可采用硬件和/或软件的方式来实现,可配置于签名结果的接收方的
电子设备中,即本实施例提供的基于区块链的签名验证方法可以由接收方执行。参考图1a,该方法具体包括如下:S110、从环成员列表的签名结果中提取签名信息、环成员的第一环身份标识点、第一环身份聚合点和签名者的签名内容;S120、根据所述签名信息和所述环成员的第一环身份标识点,确定第二环身份聚合点;S130、根据第二循环群的第二生成元、所述签名者的签名内容、第三主公钥、所述第一环身份聚合点和所述第二环身份聚合点,对所述环成员列表的签名结果进行验签。
[0017]其中,所述环成员的第一环身份标识点根据环成员的环随机数和第一循环群的第一生成元确定;所述第一环身份聚合点根据第一主公钥和所述签名信息确定;所述签名者的签名内容根据所述签名信息和第二主公钥确定。
[0018]图1b是根据本公开实施例提供的基于区块链的签名处理系统的示意图,参考图1b,签名处理系统包括中心化密钥管理服务和区块链网络,区块链网络包括至少两个参与方,在环签名过程中可以选择不同参与方组成环得到环成员列表,环成员列表包括签名者和除签名者之外的其他成员。中心化密钥管理服务可以属于区块链网络的监管方。中心化密钥管理服务提供有主私钥、第一主公钥、第二主公钥和第三主公钥,主私钥可以为小于阶数N的大型整数,由监管方自身持有不公开。第一主公钥、第二主公钥、第三主公钥可以公开,用于签名者生成签名结果、对签名结果验签或监管方揭示签名者的真实身份信息等。
[0019]在本公开实施例中,第一主公钥和第二主公钥均为第一循环群的点;并且,第三主公钥根据主私钥和第二循环群的第二生成元确定。即,第一主公钥和第二主公钥可为第一循环群的点,第三主公钥可以为第二循环群的点。
[0020]具体的,可以通过如下公式分别确定第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于区块链的签名验证方法,包括:从环成员列表的签名结果中提取签名信息、环成员的第一环身份标识点、第一环身份聚合点和签名者的签名内容;其中,所述环成员的第一环身份标识点根据环成员的环随机数和第一循环群的第一生成元确定;根据所述签名信息和所述环成员的第一环身份标识点,确定第二环身份聚合点;根据第二循环群的第二生成元、所述签名者的签名内容、第三主公钥、所述第一环身份聚合点和所述第二环身份聚合点,对所述环成员列表的签名结果进行验签。2.根据权利要求1所述的方法,其中,所述根据所述签名信息和所述环成员的第一环身份标识点,确定第二环身份聚合点,包括:根据所述签名信息和所述环成员的第一身份标识点,确定环成员的环身份数值;根据所述环成员的环身份数值对环成员的用户公钥进行处理,得到环成员的辅助公钥,并对所述环成员的辅助公钥进行聚合得到所述第二环身份聚合点。3.根据权利要求1所述的方法,其中,所述根据第二循环群的第二生成元、所述签名者的签名内容、第三主公钥、所述第一环身份聚合点和所述第二环身份聚合点,对所述环成员列表的签名结果进行验签,包括:根据所述第二循环群的第二生成元和所述签名者的签名内容,确定第三循环群中的第一映射点;根据所述第三主公钥、所述第一环身份聚合点和所述第二环身份聚合点,确定第三循环群中的第二映射点;根据所述第一映射点和所述第二映射点是否相同,验证所述环成员列表的签名结果的有效性;其中,所述第一循环群和所述第二循环群到第三循环群的映射为椭圆曲线双线性映射。4.根据权利要求2所述的方法,其中,所述根据所述签名信息和所述环成员的第一身份标识点,确定环成员的环身份数值,包括:通过如下公式,确定所述环成员的环身份数值:v(i)= HashtoInt( M || Marshal(u(i)));其中,v(i)为第i个环成员的环身份数值,M为所述签名信息,u(i)为第i个环成员的第一身份标识点;||为拼接符,Marshal()为点转字符串处理,HashtoInt()为字符串转整型数处理;所述根据所述环成员的环身份数值对环成员的用户公钥进行处理,得到环成员的辅助公钥,并对所述环成员的辅助公钥进行聚合得到所述第二环身份聚合点,包括:通过如下公式确定第二环身份聚合点:mk2= sum( v(i) * idG1(i));其中,mk2为第二环身份聚合点,idG1(i)为第i个环成员的用户公钥,*为乘算符,sum为求和算符。5.根据权利要求3所述的方法,其中,所述根据所述第二循环群的第二生成元和所述签名者的签名内容,确定第三循环群中的第一映射点,包括:通过如下公式确定所述第一映射点:
D1= e(g2, S);其中,D1为第一映射点,e()为椭圆曲线双线性映射符,g2为所述第二循环群的第二生成元,S为所述签名者的签名内容;所述根据所述第三主公钥、所述第一环身份聚合点和所述第二环身份聚合点,确定第三循环群中的第二映射点,包括:通过如下公式确定所述第二映射点:D2= e(pubMasterG2, mk1+mk2);其中,D2为第二映射点,pubMasterG2为所述第三主公钥,mk1和mk2分别为所述第一环身份聚合点和所述第二环身份聚合点。6.根据权利要求1所述的方法,所述从环成员列表的签名结果中提取签名信息、环成员的第一环身份标识点、第一环身份聚合点和签名者的签名内容之前,还包括:接收区块链节点发起的事务请求;所述事务请求包括所述环成员列表的签名结果;所述对所述环成员列表的签名结果进行验签之后,还包括:在所述环成员列表的签名结果验签无效的情况下,拒绝所述事务请求。7.根据权利要求1所述的方法,还包括:从所述签名结果中提取所述环成员列表的认证凭证;所述环成员列表的认证凭证采用主私钥对环成员的用户公钥进行签名得到;根据第三主公钥、环成员的用户公钥和所述第二生成元,确定所述认证凭证是否合法;在所述认证凭证非法的情况下,停止对所述签名结果进行验签。8.根据权利要求1

7中任一项所述的方法,其中,所述第一环身份聚合点的获得包括:根据所述第一主公钥和环成员列表中其他成员的环随机数,确定其他成员的第二环身份标识点;根据环成员列表中签名者的第一可关联身份标识、签名者的环随机数、所述签名信息、其他成员的第一环身份标识点和其他成员的用户公钥,确定签名者的第二环身份标识点;对所述其他成员的第二环身份标识点和所述签名者的第二环身份标识点进行聚合,得到第一环身份聚合点;其中,所述其他成员为所述环成员列表中除签名者之外的环成员。9.根据权利要求8所述的方法,其中,所述根据签名者的第一可关联身份标识、签名者的环随机数、签名信息、其他成员的第一环身份标识点和其他成员的用户公钥,确定签名者的第二环身份标识点,包括:根据签名信息和其他成员的第一环身份标识点,确定其他成员的环身份数值;根据其他成员的环身份数值对其他成员的用户公钥进行处理,得到其他成员的辅助公钥,并对各其他成员的辅助公钥进行聚合,得到其他成员的聚合辅助公钥;根据签名者的第一可关联身份标识、签名者的环随机数和所述其他成员的聚合辅助公钥,确定签名者的第二环身份标识点。10.根据权利要求1

7中任一项所述的方法,其中,所述签名者的签名内容的获得包括:根据签名信息和签名者的第一环身份标识点,确定签名者的环身份数值;根据签名者的用户私钥和签名者的环身份数值,确定签名者的第一签名项;根据第二主公钥、其他成员的环随机数、签名者的环随机数和签名者的可关联数值,确
定签名者的第二签名项;根据所述签名者的第一签名项和所述签名者的第二签名项,确定所述签名者的签名内容。11.基于区块链的签名验证装置,包括:提取模...

【专利技术属性】
技术研发人员:荆博
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1