区块链设计方法、存储介质及电子设备技术

技术编号:28383858 阅读:25 留言:0更新日期:2021-05-08 00:12
本公开涉及一种区块链设计方法、存储介质及电子设备,基于椭圆曲线的盲签名方法设计的区块链,可保证区块链中各节点在传输和访问相关信息时的安全性。该方法包括:在区块链中需要签名的场景中,对待签名信息进行盲化,并将盲化后的所述待签名信息发送给签名端,以使所述签名端对所述待签名信息进行盲签名;接收签名端发送的盲签名后的信息,对所述信息进行去盲化,对去盲化后的所述信息进行验证。本公开中的区块链采用基于椭圆曲线的盲签名方法,以较短的最终签名值实现了区块链交易信息的保护,增加了区块链系统运行的吞吐量,适合带宽受限的区块链运行环境。

【技术实现步骤摘要】
区块链设计方法、存储介质及电子设备
本公开涉及密码学和区块链的交叉技术,具体地,涉及一种区块链设计方法、存储介质及电子设备。
技术介绍
区块链是一种由多方共同维护、以块状链结构存储数据,使用密码学来保证传输和访问安全,能够实现一直存储、无法篡改。所有交易均在区块链内广播,节点之间通过共识机制形成共识。节点成员可根据权限查阅相关交易记录,但任何节点都无法轻易控制和更改整个网络的数据。由于其去中心化、防篡改、匿名化等特性,交易信任由机器和算法决定,交易过程由程序自动执行,可有限降低信任和价值传递成本等特点,使得对区块链的研究来越收到重视,并开始实际应用。而现有区块链中主要使用密码学来保证传输和访问安全。
技术实现思路
本公开的目的是提供一种区块链设计方法、存储介质及电子设备,基于椭圆曲线的盲签名方法设计的区块链,可保证区块链中各节点在传输和访问相关信息时的安全性。为了实现上述目的,根据本公开实施例的第一方面,本公开提供一种区块链设计方法,应用于发送端,所述方法包括:在区块链中需要签名的场景中,对待签名信息进行盲化,并将盲化后的所述待签名信息发送给签名端,以使所述签名端对所述待签名信息进行盲签名;接收签名端发送的盲签名后的信息,对所述信息进行去盲化,对去盲化后的所述信息进行验证。可选地,所述对待签名信息进行盲化,包括:发送端获取所述信息中预设长度的字符串;根据所述字符串得到中间量,将所述中间量带入第一计算式,得到盲化后的信息;其中,所述第一计算式包括:S=kR,S表示盲化后的消息,k表示盲化因子,R表示中间量、R=H1(m),H1表示一个单向hash函数,m表示字符串。可选的,所述对所述信息进行去盲化,包括:发送端获取盲签名后的所述信息的第一签名节点;将所述签名节点带入第二计算式,得到所述信息的签名节点并作为第二签名节点;其中,所述第二计算式包括:V=k-1V`,V表示第二签名节点,k表示去盲化因子,V`表示第一签名节点。可选的,所述对去盲化后的所述信息进行验证,包括:根据签名值得到椭圆曲线上的签名验证节点;接收签名端发送公钥,根据待签名信息和所述公钥得到第一映射值,根据去盲化后的信息得到第二映射值,在第一映射值与第二映射值一致或者互为倒数的情况下,验证通过。根据本公开实施例的第二方面,本公开提供一种区块链设计方法,应用于签名端,所述方法包括:接收发送端发送的盲化后的待签名信息;对所述待签名信息进行盲签名,并将签名后的信息发送给发送端,以使发送端对签名后的所述信息进行验证。可选的,所述对所述待签名信息进行盲签名,包括:根据签名公私钥对所述待签名信息进行盲签名;通过第三计算式获取盲签名后的信息的签名节点作为第一签名节点;其中,所述第三计算式包括:V`=dS,V`表示第一签名节点,d表示签名公私钥对中的私钥,S表示盲化后的消息。可选的,对所述待签名信息进行盲签名之前,所述方法还包括:确定私钥,将所述私钥带入第四计算式得到公钥,并将公钥发送给发送端;其中,所述第四计算式包括:Q=dP,Q表示公钥,d表示私钥,P表示椭圆曲线的基点。根据本公开实施例的第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的区块链设计方法的步骤或者实现上述第二方面所述的区块链设计方法的步骤。根据本公开实施例的第四方面,本公开提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现上述第一方面所述的区块链设计方法的步骤。根据本公开实施例的第五方面,本公开提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现上述第二方面所述的区块链设计方法的步骤。通过上述技术方案,本公开的实施例提供的技术方案可以包括以下有益效果:本公开在区块链中需要签名的场景中,在发送端发送待签名信息前,对待签名信息进行盲化,将盲化后的待签名信息发送给签名端,并接收签名端发送的盲签名后的信息,对该信息进行去盲化,然后进行验证,保证了区块链中交易信息的安全传输和访问。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是根据一示例性实施例示出的一种区块链设计方法的流程图。图2是根据一示例性实施例示出的一种区块链设计方法的另一流程图。图3是根据一示例性实施例示出的一种区块链设计方法的交互示意图。图4是根据一示例性实施例示出的一种电子设备的框图。图5是根据一示例性实施例示出的另一种电子设备的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。需要说明的是,在本公开中,说明书和权利要求书以及附图中的术语“S101”、“S102”等用于区别步骤,而不必理解为按照特定的顺序或先后次序执行方法步骤。以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。区块链是一种由多方共同维护、以块状链结构存储数据,使用密码学来保证传输和访问安全,能够实现一直存储、无法篡改。所有交易均在区块链内广播,节点之间通过共识机制形成共识。节点成员可根据权限查阅相关交易记录,但任何节点都无法轻易控制和更改整个网络的数据。由于其去中心化、防篡改、匿名化等特性,交易信任由机器和算法决定,交易过程由程序自动执行,可有限降低信任和价值传递成本等特点,使得对区块链的研究来越收到重视,并开始实际应用。而现有区块链中主要使用密码学来保证传输和访问安全。盲签名因为具有盲性这一特点,具备数字签名的防伪造、抗抵赖特性,同时可以使消息盲化,不会泄露签名者泄露任何消息内容和信息;签名者也不可能根据参数对所签名的内容进行逆推,能很好的应用于区块链系统中。现有的区块链中,对于交易信息的隐私保护时,因签名过程中涉及到的签名值较长,使得区块链系统在带宽受限的环境中运行速度慢,降低了区块链系统运行的吞吐量。本公开在区块链中需要签名的场景中,再发送端发送待签名信息前,对待签名信息进行盲化,将盲化后的待签名信息发送给签名端,并接收签名端发送的盲签名后的信息,对该信息进行去盲化,然后进行验证,保证了区块链中交易信息的安全传输和访问。本公开中的区块链采用基于椭圆曲线的盲签名方法,以较短的最终签名值实本文档来自技高网...

【技术保护点】
1.一种区块链设计方法,其特征在于,应用于发送端,所述方法包括:/n在区块链中需要签名的场景中,对待签名信息进行盲化,并将盲化后的所述待签名信息发送给签名端,以使所述签名端对所述待签名信息进行盲签名;/n接收签名端发送的盲签名后的信息,对所述信息进行去盲化,对去盲化后的所述信息进行验证。/n

【技术特征摘要】
1.一种区块链设计方法,其特征在于,应用于发送端,所述方法包括:
在区块链中需要签名的场景中,对待签名信息进行盲化,并将盲化后的所述待签名信息发送给签名端,以使所述签名端对所述待签名信息进行盲签名;
接收签名端发送的盲签名后的信息,对所述信息进行去盲化,对去盲化后的所述信息进行验证。


2.根据权利要求1所述的方法,其特征在于,所述对待签名信息进行盲化,包括:
获取所述信息中预设长度的字符串;
根据所述字符串得到中间量,将所述中间量带入第一计算式,得到盲化后的信息;
其中,所述第一计算式包括:S=kR,
S表示盲化后的消息,k表示盲化因子,R表示中间量、R=H1(m),H1表示一个单向hash函数,m表示字符串。


3.根据权利要求1所述的方法,其特征在于,所述对所述信息进行去盲化,包括:
发送端获取盲签名后的所述信息的第一签名节点;
将所述签名节点带入第二计算式,得到所述信息的签名节点并作为第二签名节点;
其中,所述第二计算式包括:V=k-1V`,
V表示第二签名节点,k表示去盲化因子,V`表示第一签名节点。


4.根据权利要求1-3任一项所述的方法,其特征在于,所述对去盲化后的所述信息进行验证,包括:
根据签名值得到椭圆曲线上的签名验证节点;
接收签名端发送公钥,根据待签名信息和所述公钥得到第一映射值,根据去盲化后的信息得到第二映射值,在第一映射值与第二映射值一致或者互为倒数的情况下,验证通过。


5.一种区块链设计方法,其特征在于,应用于签名端,所述...

【专利技术属性】
技术研发人员:张庆胜
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京;11

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

1