CN112015814B - 基于区块链网络的数据生成方法、设备、节点及存储介质 - Google Patents
基于区块链网络的数据生成方法、设备、节点及存储介质 Download PDFInfo
- Publication number
- CN112015814B CN112015814B CN202010877031.0A CN202010877031A CN112015814B CN 112015814 B CN112015814 B CN 112015814B CN 202010877031 A CN202010877031 A CN 202010877031A CN 112015814 B CN112015814 B CN 112015814B
- Authority
- CN
- China
- Prior art keywords
- temporary point
- point
- terminal device
- temporary
- parameter
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及区块链技术领域,公开了基于区块链网络的数据生成方法、设备、节点及存储介质,该方法包括:获取第一终端设备发送的第一临时点,第一临时点是第一终端设备根据第一秘密参数确定的椭圆曲线中的一点;获取第二终端设备发送的第二临时点,第二临时点是第二终端设备根据第二秘密参数确定的椭圆曲线中的一点;获取第二终端设备发送的验证公钥,验证公钥是第二终端设备根据第二秘密参数和椭圆曲线的***参数计算得到的;当根据第一临时点、第二临时点、验证公钥以及***参数,第二临时点验证成功时,确定第二临时点为公共参数。通过引入双线性对在区块链网络中生成可信的公共参数,可以防止秘密参数泄露,提高数据的安全性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链网络的数据生成方法、设备、节点及存储介质。
背景技术
在区块链网络的隐私计算领域中,几乎所有的算法,都会要求设置椭圆曲线加密(Elliptic Curves Cryptography,ECC)算法下的公共参数点,目前计算公共参数的方式主要有两种,一种是通过多个终端设备各自根据各自生成的私密参数确定公共参数的一部分,并将各个终端设备各自确定的公共参数的一部分进行合并,得到最终的公共参数,通过这种方式生成公共参数,私密参数容易被终端设备获取,造成私密参数泄露,影响数据的安全性;另一种是采用乘法的形式生成公共参数,将公共参数发送给区块链网络,这种方式区块链网络无法确保获取到的公共参数的可靠性。因此,如何确定出可靠的公共参数以及提高私密参数的安全性非常重要。
发明内容
本发明实施例提供了一种基于区块链网络的数据生成方法、设备、节点及存储介质,通过引入双线性对在区块链网络中生成可信的公共参数,可以实现对各终端设备的秘密参数进行保护,防止秘密参数泄露,提高数据的安全性。
第一方面,本发明实施例提供了一种基于区块链网络的数据生成方法,应用于区块链网络的节点,所述方法包括:
获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点;
获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据所述随机生成的第二秘密参数确定的椭圆曲线中的一点;
获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的;
根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证;
当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。
进一步地,所述获取第一终端设备发送的第一临时点之前,还包括:
获取所述第一终端设备发送的查询请求,所述查询请求用于查询所述区块链网络中是否存在临时点;
响应所述查询请求查询所述区块链网络中是否存在临时点;
将查询结果发送给所述第一终端设备。
进一步地,所述***参数包括基点,所述第一临时点是所述第一终端设备在从所述区块链网络中获取到无临时点的查询结果时,根据随机生成的第一秘密参数和所述椭圆曲线的基点计算得到的。
进一步地,所述获取第二终端设备发送的第二临时点之前,还包括:
获取所述第二终端设备发送的查询请求,所述查询请求用于查询所述区块链网络中是否存在所述第一临时点;
响应所述查询请求查询所述区块链网络中是否存在所述第一临时点;
当查询结果为所述区块链网络中存在所述第一临时点时,将所述存在所述第一临时点的查询结果发送给所述第二终端设备。
进一步地,所述第二临时点是所述第二终端设备在从所述区块链网络中获取到存在所述第一临时点的查询结果时,根据随机生成的第二秘密参数和所述第一临时点计算得到的。
进一步地,所述***参数包括基点,所述验证公钥是所述第二终端设备在从所述区块链网络中获取到存在所述第一临时点的查询结果时,根据随机生成的第二秘密参数和所述椭圆曲线的基点计算得到的。
进一步地,所述***参数包括基点;所述根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证,包括:
将所述第一临时点、所述第二临时点、所述验证公钥以及所述基点输入所述预设的双线性对等式进行计算;
当计算结果为所述预设的双线性对等式成立时,确定对所述第二临时点验证成功。
第二方面,本发明实施例提供了一种数据生成设备,包括:
第一获取单元,获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点;
第二获取单元,获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据所述随机生成的第二秘密参数确定的椭圆曲线中的一点;
第三获取单元,获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的;
验证单元,根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证;
确定单元,当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。
第三方面,本发明实施例提供了一种节点,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持数据生成设备执行上述方法的计算机程序,所述计算机程序包括程序,所述处理器被配置用于调用所述程序,执行上述第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述第一方面的方法。
本发明实施例,节点可以获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点;并获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据所述随机生成的第二秘密参数确定的椭圆曲线中的一点;以及获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的。节点可以根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证,当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。通过这种引入双线性对在区块链网络中生成可信的公共参数的方式,可以实现对各终端设备的秘密参数进行保护,防止秘密参数泄露,提高数据的安全性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据生成***的结构示意图;
图2是本发明实施例提供的一种基于区块链网络的数据生成方法的示意流程图;
图3是本发明实施例提供的一种数据生成设备的示意框图;
图4是本发明实施例提供的一种节点的示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在传统的隐私计算算法中,现有的生成公共参数的方法主要有两种,一种是利用多个参与的终端设备各自生成公共参数的一部分,并对其进行合并得到公共参数。例如,假设终端设备1、终端设备2、终端设备3参与生成公共参数,其中,终端设备1生成秘密参数a,并计算终端设备1提供的参数Ha=a*G,终端设备1将参数Ha发送给区块链网络的节点,终端设备2生成秘密参数b,并计算终端设备2提供的参数Hb=b*G,终端设备2将参数Hb发送给区块链网络的节点,以使节点计算H'=Ha+Hb,终端设备3生成秘密参数c,并计算终端设备3提供的参数Hc=c*G,终端设备3将参数Hc发送给区块链网络的节点,区块链网络的节点计算公共参数H为:H=Hc+H'=(a+b+c)*G。
可见,这种方式终端设备3在计算自己的秘密参数c时,并不知道(a+b)的值,但是终端设备3查询区块链网络可以知道当前的H',因此可以很容易构造出Hc=c*G-H',当终端设备3将Hc发送给区块链网络,区块链网络计算H=Hc+H'=c*G-H'+H'=c*G,因此,终端设备3便可以获取到最终的秘密参数,从而导致秘密参数泄露,降低数据的安全性。
另一种方式是采用乘法的形式来生成公共参数。例如,假设终端设备1和终端设备2参与生成公共参数,终端设备1生成秘密参数a,并计算终端设备1提供的参数Ha=a*G,终端设备1将参数Ha发送给区块链网络的节点,将Ha作为临时节点H1,终端设备2生成秘密参数b,并从区块链网络上查询到H1,终端设备2计算H2=b*H1,终端设备2将H2发送给区块链网络的节点,以使节点确认H2=Hb。
可见通过这种方式,区块链网络并不能知晓终端设备2生成的H2是否真的是有H1经过计算得来的,无法保证H2的可靠性,例如,终端设备2可以直接生成Hb=b*G,并将Hb作为H2发送给区块链网络,从而影响数据的可靠性。
针对上述问题,本发明实施例提供了一种基于区块链网络的数据生成方法,通过引入双线性对能够在区块链环境下生成可信的公共参数,而且又能使得秘密参数不为任何一个参与的终端设备所获取,提高了数据的安全性。
在介绍本发明实施例之前,先对双线性对进行说明,所述双线性对的性质如下:
假设(G1,+)、(G2,+)和(GT,·)是三个循环群,G1、G2和GT的阶均为素数p,P1是G1的生成元,P2是G2的生成元;双线性对e是G1×G2→GT的映射,满足如下条件:
a)双线性性:对任意的g∈G1,h∈G2,a,b∈Zp,有e(ag,bh)=e(g,h)ab;
b)非退化性:e(g,h)≠1GT;
c)可计算性:对任意的P∈G1,Q∈G2,存在有效的算法计算e(P,Q)。其中,双线性性:对于任意的g,g1,g2∈G1,h,h1,h2∈G2,均有
e(g1+g2,h)=e(g1,h)e(g2,h)
e(g,h1+h2)=e(g,h1)e(g,h2)
在有了双线性对以后,区块链网络的节点可以验证乘法同态下,终端设备生成的参数的合法性。
例如,终端设备1生成秘密参数a,计算终端设备1提供的参数Ha=a*G,终端设备1将参数Ha发送给区块链网络的节点,将Ha作为临时节点H1,终端设备2生成秘密参数b,并从区块链网络上查询到H1,终端设备2计算H2=b*H1,终端设备2将H2发送给区块链网络的节点,节点可以根据H2=b*H1;Hb=b*G计算e(H2,G)=e(x1*x2*G,G)=e(x1*G,x2*G)=e(H1,Hb)这个双线性对的等式是否成立,如果成立,则确定参数H2为可信的参数。
本发明实施例提供的基于区块链网络的数据生成方法可以应用于一种数据生成***,在某些实施例中,所述数据生成***包括第一终端设备、第二终端设备和区块链平台(即区块链网络)。在某些实施例中,所述第一终端设备可以与区块链平台建立通信连接。在某些实施例中,所述第二终端设备可以与区块链平台建立通信连接。在某些实施例中,所述通信连接的方式可以包括但不限于Wi-Fi、蓝牙、近场通信(Near Field Communication,NFC)等。在某些实施例中,本发明实施例提供的基于区块链网络的数据生成方法可以应用于由多个终端设备和区块链平台组成的数据生成***,其中,所述多个终端设备不限定两个,可以是两个以上的终端设备,在此,对终端设备的数量不做具体限定。
下面结合附图1对本发明实施例提供的数据生成***进行示意性说明。
请参见图1,图1是本发明实施例提供的一种数据生成***的结构示意图。所述数据生成***包括:区块链平台11、第一终端设备12和第二终端设备13。在某些实施例中,区块链平台11与第一终端设备12可以通过无线通信连接方式建立通信连接;其中,在某些场景下,所述区块链平台11与第一终端设备12之间也可以通过有线通信连接方式建立通信连接。在某些实施例中,区块链平台11与第二终端设备13可以通过无线通信连接方式建立通信连接;其中,在某些场景下,所述区块链平台11与第二终端设备13之间也可以通过有线通信连接方式建立通信连接。在某些实施例中,所述第一终端设备12和所述第二终端设备13可以包括但不限于智能手机、平板电脑、笔记本电脑、台式电脑、车载智能终端、智能手表等智能终端设备。
在一个实施例中,所述区块链平台11是指用于进行节点与节点之间数据共享的网络,区块链平台中可以包括多个节点111。每个节点111在进行正常工作可以接收到第一终端设备12和/或第二终端设备13发送的输入数据,并基于接收到的输入数据维护区块链平台内的共享数据(即区块链)。为了保证区块链平台内的信息互通,每个节点之间可以存在信息连接,任意两个节点之间可以实现点对点(Peer To Peer,P2P)通信,具体可以通过有线通信链路或无线通信链路进行P2P通信。例如,当区块链平台中的任意节点接收到输入数据时,其他节点便根据共识算法获取该输入数据,将该输入数据作为共享数据中的数据进行存储,使得区块链平台中全部节点上存储的数据均一致。
在一个实施例中,第一终端设备12可以接入该区块链平台11,并可以与区块链平台11中的节点进行通信。第二终端设备13可以接入该区块链平台11,并可以与区块链平台11中的节点进行通信。需要说明的是,图1中所示的节点的数目仅仅是示意性的,根据实际需要,可以部署任意数目的节点。
其中,对于区块链平台11中的每个节点,均具有与其对应的节点标识,而且区块链平台11中的每个节点均可以存储有区块链平台中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链平台中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为互联网协议(Internet Protocol,IP)地址以及其他任一种能够用于标识该节点的信息。
其中,区块链平台11中的每个节点均存储一条相同的区块链。区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入数据特征值、版本号、时间戳和难度值,区块主体中存储有输入数据;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入数据特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入数据的安全性。
下面结合附图2-附图4对本发明实施例提供的基于区块链网络的数据生成方法进行示意性说明。
请参见图2,图2是本发明实施例提供的一种基于区块链网络的数据生成方法的示意流程图,如图2所示,该方法可以由数据生成设备执行,所述数据生成设备设置于区块链网络的节点中,所述节点的具体解释如前所述,此处不再赘述。具体地,本发明实施例的所述方法包括如下步骤。
S201:获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点。
本发明实施例中,数据生成设备可以获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点。
在某些实施例中,所述第一秘密参数可以是第一终端设备采用随机数生成的方式生成的随机数。在某些实施例中,所述随机生成第一秘密参数的生成器应当保证是密码学意义上安全的。在某些实施例中,可以采用SPRNG(cryptographically secure pseudorandom number generator)作为第一秘密参数的生成器,该SPRNG生成器的算法方案非常多,最常见的是使用硬件的随机发生器来生成。在某些实施例中,衡量一个随机数是否足够安全,通常会计算随机数的熵值,熵值越大,说明随机数的随机性越强,安全性越高。随机数的长度通常是为256bit的数,且该数不能大于椭圆曲线加密算法的阶数N。
在一个实施例中,数据生成设备在获取第一终端设备发送的第一临时点之前,可以获取所述第一终端设备发送的查询请求,所述查询请求用于查询所述区块链网络中是否存在临时点,并响应所述查询请求查询所述区块链网络中是否存在临时点,以及将查询结果发送给所述第一终端设备。
在一个实施例中,所述椭圆曲线的***参数包括基点,所述第一临时点是所述第一终端设备在从所述区块链网络中获取到无临时点的查询结果时,根据随机生成的第一秘密参数和所述椭圆曲线的基点计算得到的。在某些实施例中,所述第一临时点为根据所述第一秘密参数与所述椭圆曲线的基点的乘积确定的。
在一个实施例中,以椭圆曲线加密算法为例对基点G进行说明,在椭圆曲线中,采用y2=x3+ax+b mod p,作为加密曲线,而当实际进行加密的时候,参数:a,b,p都是事先固定下来的,同时椭圆曲线并不是直接利用曲线加密,而是在曲线上取N个离散的点,组成一个离散的循环数域,利用离散的循环数域的数学性质进行加密;比如:假设G是椭圆曲线上的一个点,取:[G,2*G,…,N*G]为组成数域;而这里的G称为G点(基点),是椭圆曲线的***参数之一,这个G点是公开的。
例如,第一终端设备可以向区块链网络的节点发送查询请求,以查询区块链网络中是否存在临时点,第一终端设备如果获取到区块链网络的节点发送的无临时点的查询结果,则可以随机生成第一秘密参数X1,并根据随机生成的第一秘密参数X1和椭圆曲线的基点G计算第一临时点H1为:H1=X1*G。
通过这种方式计算得到第一临时点,有助于其他终端设备(如第二终端设备)利用第一临时点计算第二临时点。
在一个实施例中,区块链网络的节点在获取到第一终端设备发送的第一临时点后,可以将所述第一临时点存储在所述区块链网络中,以使在区块链网络中的其他各个节点对所述第一临时点进行共识验证,并在共识验证之后方便其他终端设备查询。
S202:获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据所述随机生成的第二秘密参数确定的椭圆曲线中的一点。
本发明实施例中,数据生成设备可以获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据所述随机生成的第二秘密参数确定的椭圆曲线中的一点。
在一个实施例中,数据生成设备在获取第二终端设备发送的第二临时点之前,可以获取所述第二终端设备发送的查询请求,所述查询请求用于查询所述区块链网络中是否存在所述第一临时点,并响应所述查询请求查询所述区块链网络中是否存在所述第一临时点,当查询结果为所述区块链网络中存在所述第一临时点时,将所述存在所述第一临时点的查询结果发送给所述第二终端设备。
在一个实施例中,所述第二临时点是所述第二终端设备在从所述区块链网络中获取到存在所述第一临时点的查询结果时,根据随机生成的第二秘密参数和所述第一临时点计算得到的。在某些实施例中,所述第二临时点为根据所述第二秘密参数与所述第一临时点的乘积确定的。
例如,第二终端设备可以向区块链网络的节点发送查询请求,以查询区块链网络中是否存在第一临时点H1,第二终端设备如果获取到区块链网络的节点发送的存在第一临时点H1的查询结果,则可以随机生成第二秘密参数X2,并根据随机生成的第二秘密参数X2和第一临时点H1计算第二临时点H2为:H2=X2*H1。
通过这种利用第一临时点和第二秘密参数确定第二临时点的方式,可以避免秘密参数泄露,提高秘密参数的安全性。
在一个实施例中,区块链网络的节点在获取到第二终端设备发送的第二临时点后,可以将所述第二临时点存储在所述区块链网络中,以使在区块链网络中的其他各个节点对所述第二临时点进行共识验证,并在共识验证之后方便其他终端设备查询。
S203:获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的。
本发明实施例中,数据生成设备可以获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的。
在一个实施例中,所述***参数包括基点,所述验证公钥是所述第二终端设备在从所述区块链网络中获取到存在所述第一临时点的查询结果时,根据随机生成的第二秘密参数和所述椭圆曲线的基点计算得到的。在某些实施例中,所述验证公钥为根据所述第二秘密参数与所述椭圆曲线的基点的乘积确定的。
例如,第二终端设备在获取到区块链网络的节点发送的存在第一临时点H1的查询结果时,可以随机生成第二秘密参数X2,并根据随机生成的第二秘密参数X2和椭圆曲线的基点G计算验证公钥HX2为:HX2=X2*G。
通过确定验证公钥,有助于后续对第二临时点的可靠性进行验证。
在一个实施例中,区块链网络的节点在获取到第二终端设备发送的验证公钥后,可以将所述验证公钥存储在所述区块链网络中,以使在区块链网络中的其他各个节点对所述验证公钥进行共识验证,并在共识验证之后方便其他终端设备查询。
S204:根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证。
本发明实施例中,数据生成设备可以根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证。
在一个实施例中,所述***参数包括基点,数据生成设备可以将所述第一临时点、所述第二临时点、所述验证公钥以及所述基点输入所述预设的双线性对等式进行计算,当计算结果为所述预设的双线性对等式成立时,确定对所述第二临时点验证成功。在某些实施例中,所述预设的双线性对等式可以为e(H2,G)=e(H1,Hx2)。
例如,假设区块链网络的节点获取到第一临时点H1,第二临时点H2,验证公钥Hx2,椭圆曲线的基点G,则节点可以将第一临时点H1,第二临时点H2,验证公钥Hx2,椭圆曲线的基点G输入预设的双线性对等式可以为e(H2,G)=e(H1,Hx2)进行计算,如果该预设的双线性对等式成立,则确定H2为可靠的公共参数。
通过利用双线性对等式,利用验证公钥可以验证第二终端设备发送的第二临时点H2是否是根据第一临时点H1计算得到的,当验证成功时,确定第二临时点H2是否是根据第一临时点H1计算得到的,并将第二临时点确定为公共参数,有助于确保第二临时点的可靠性以及合法性。
S205:当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。
本发明实施例中,数据生成设备可以当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。
本发明实施例中,数据生成设备可以获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点;并获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据所述随机生成的第二秘密参数确定的椭圆曲线中的一点;以及获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的。数据生成设备可以根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,对所述第二临时点进行验证,当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。通过这种实施方式,可以在区块链网络中生成可信的公共参数,以实现对各终端设备的秘密参数进行保护,防止秘密参数泄露,提高数据的安全性。
本发明实施例还提供了一种数据生成设备,该数据生成设备用于执行前述任一项所述的方法的单元。具体地,参见图3,图3是本发明实施例提供的一种数据生成设备的示意框图。本实施例的数据生成设备包括:第一获取单元301、第二获取单元302、第三获取单元303、验证单元304以及确定单元305。
第一获取单元301,获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点;
第二获取单元302,获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据所述随机生成的第二秘密参数确定的椭圆曲线中的一点;
第三获取单元303,获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的;
验证单元304,根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证;
确定单元305,当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。
进一步地,所述第一获取单元301获取第一终端设备发送的第一临时点之前,还用于:
获取所述第一终端设备发送的查询请求,所述查询请求用于查询所述区块链网络中是否存在临时点;
响应所述查询请求查询所述区块链网络中是否存在临时点;
将查询结果发送给所述第一终端设备。
进一步地,所述***参数包括基点,所述第一临时点是所述第一终端设备在从所述区块链网络中获取到无临时点的查询结果时,根据随机生成的第一秘密参数和所述椭圆曲线的基点计算得到的。
进一步地,所述第二获取单元302获取第二终端设备发送的第二临时点之前,还用于:
获取所述第二终端设备发送的查询请求,所述查询请求用于查询所述区块链网络中是否存在所述第一临时点;
响应所述查询请求查询所述区块链网络中是否存在所述第一临时点;
当查询结果为所述区块链网络中存在所述第一临时点时,将所述存在所述第一临时点的查询结果发送给所述第二终端设备。
进一步地,所述第二临时点是所述第二终端设备在从所述区块链网络中获取到存在所述第一临时点的查询结果时,根据随机生成的第二秘密参数和所述第一临时点计算得到的。
进一步地,所述***参数包括基点,所述验证公钥是所述第二终端设备在从所述区块链网络中获取到存在所述第一临时点的查询结果时,根据随机生成的第二秘密参数和所述椭圆曲线的基点计算得到的。
进一步地,所述***参数包括基点;所述验证单元304根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证时,具体用于:
将所述第一临时点、所述第二临时点、所述验证公钥以及所述基点输入所述预设的双线性对等式进行计算;
当计算结果为所述预设的双线性对等式成立时,确定对所述第二临时点验证成功。
本发明实施例中,数据生成设备可以获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点;并获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据所述随机生成的第二秘密参数确定的椭圆曲线中的一点;以及获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的。节点可以根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,对所述第二临时点进行验证,当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。通过这种实施方式,可以在区块链网络中生成可信的公共参数,以对各终端设备的秘密参数进行保护,防止秘密参数泄露,提高数据的安全性。
参见图4,图4是本发明实施例提供的一种节点的示意框图。如图所示的本实施例中的节点可以包括:一个或多个处理器401;一个或多个输入设备402,一个或多个输出设备403和存储器404。上述处理器401、输入设备402、输出设备403和存储器404通过总线405连接。存储器404用于存储计算机程序,所述计算机程序包括程序,处理器401用于执行存储器404存储的程序。其中,处理器401被配置用于调用所述程序执行:
获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点;
获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据所述随机生成的第二秘密参数确定的椭圆曲线中的一点;
获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的;
根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证;
当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。
进一步地,所述处理器401获取第一终端设备发送的第一临时点之前,还用于:
获取所述第一终端设备发送的查询请求,所述查询请求用于查询所述区块链网络中是否存在临时点;
响应所述查询请求查询所述区块链网络中是否存在临时点;
将查询结果发送给所述第一终端设备。
进一步地,所述***参数包括基点,所述第一临时点是所述第一终端设备在从所述区块链网络中获取到无临时点的查询结果时,根据随机生成的第一秘密参数和所述椭圆曲线的基点计算得到的。
进一步地,所述处理器401获取第二终端设备发送的第二临时点之前,还用于:
获取所述第二终端设备发送的查询请求,所述查询请求用于查询所述区块链网络中是否存在所述第一临时点;
响应所述查询请求查询所述区块链网络中是否存在所述第一临时点;
当查询结果为所述区块链网络中存在所述第一临时点时,将所述存在所述第一临时点的查询结果发送给所述第二终端设备。
进一步地,所述第二临时点是所述第二终端设备在从所述区块链网络中获取到存在所述第一临时点的查询结果时,根据随机生成的第二秘密参数和所述第一临时点计算得到的。
进一步地,所述***参数包括基点,所述验证公钥是所述第二终端设备在从所述区块链网络中获取到存在所述第一临时点的查询结果时,根据随机生成的第二秘密参数和所述椭圆曲线的基点计算得到的。
进一步地,所述***参数包括基点;所述处理器401根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证时,具体用于:
将所述第一临时点、所述第二临时点、所述验证公钥以及所述基点输入所述预设的双线性对等式进行计算;
当计算结果为所述预设的双线性对等式成立时,确定对所述第二临时点验证成功。
本发明实施例中,节点可以获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点;并获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据所述随机生成的第二秘密参数确定的椭圆曲线中的一点;以及获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的。节点可以根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,对所述第二临时点进行验证,当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。通过这种实施方式,可以在区块链网络中生成可信的公共参数,以对各终端设备的秘密参数进行保护,防止秘密参数泄露,提高数据的安全性。
应当理解,在本发明实施例中,所称处理器401可以是中央处理单元(CenSralProcessing UniS,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigiSalSignal Processor,DSP)、专用集成电路(ApplicaSion Specific InSegraSed CircuiS,ASIC)、现成可编程门阵列(Field-Programmable GaSe Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备402可以包括触控板、麦克风等,输出设备403可以包括显示器(LCD等)、扬声器等。
该存储器404可以包括只读存储器和随机存取存储器,并向处理器401提供指令和数据。存储器404的一部分还可以包括非易失性随机存取存储器。例如,存储器404还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器401、输入设备402、输出设备403可执行本发明实施例提供的图2所述的方法实施例中所描述的实现方式,也可执行本发明实施例图3所描述的数据生成设备的实现方式,在此不再赘述。
本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现图2所对应实施例中描述的数据生成方法,也可实现本发明图3所对应实施例的数据生成设备,在此不再赘述。
所述计算机可读存储介质可以是前述任一实施例所述的数据生成设备的内部存储单元,例如数据生成设备的硬盘或内存。所述计算机可读存储介质也可以是所述数据生成设备的外部存储设备,例如所述数据生成设备上配备的插接式硬盘,智能存储卡(SmarSMedia Card,SMC),安全数字(Secure DigiSal,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述数据生成设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述数据生成设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的部分实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种基于区块链网络的数据生成方法,其特征在于,应用于区块链网络的节点,所述方法包括:
获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点;
获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据随机生成的第二秘密参数确定的椭圆曲线中的一点;
所述获取第二终端设备发送的第二临时点之前,还包括:
获取所述第二终端设备发送的查询请求,所述查询请求用于查询所述区块链网络中是否存在临时点;
响应所述查询请求查询所述区块链网络中是否存在临时点;
当查询结果为所述区块链网络中存在所述第一临时点时,将所述存在所述第一临时点的查询结果发送给所述第二终端设备;
所述第二临时点是所述第二终端设备在从所述区块链网络中获取到存在所述第一临时点的查询结果时,根据随机生成的第二秘密参数和所述第一临时点计算得到的;
获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的;
根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证;
当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。
2.根据权利要求1所述的方法,其特征在于,所述获取第一终端设备发送的第一临时点之前,还包括:
获取所述第一终端设备发送的查询请求,所述查询请求用于查询所述区块链网络中是否存在临时点;
响应所述查询请求查询所述区块链网络中是否存在临时点;
将查询结果发送给所述第一终端设备。
3.根据权利要求2所述的方法,其特征在于,所述***参数包括基点,所述第一临时点是所述第一终端设备在从所述区块链网络中获取到无临时点的查询结果时,根据随机生成的第一秘密参数和所述椭圆曲线的基点计算得到的。
4.根据权利要求1所述的方法,其特征在于,所述***参数包括基点,所述验证公钥是所述第二终端设备在从所述区块链网络中获取到存在所述第一临时点的查询结果时,根据随机生成的第二秘密参数和所述椭圆曲线的基点计算得到的。
5.根据权利要求1所述的方法,其特征在于,所述***参数包括基点;所述根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证,包括:
将所述第一临时点、所述第二临时点、所述验证公钥以及所述基点输入所述预设的双线性对等式进行计算;
当计算结果为所述预设的双线性对等式成立时,确定对所述第二临时点验证成功。
6.一种数据生成设备,其特征在于,包括:
第一获取单元,用于获取第一终端设备发送的第一临时点,所述第一临时点是所述第一终端设备根据随机生成的第一秘密参数确定的椭圆曲线中的一点;
第二获取单元,用于获取第二终端设备发送的第二临时点,所述第二临时点是所述第二终端设备根据随机生成的第二秘密参数确定的椭圆曲线中的一点;
所述第二获取单元在获取第二终端设备发送的第二临时点之前,还用于获取所述第二终端设备发送的查询请求,所述查询请求用于查询区块链网络中是否存在临时点;响应所述查询请求查询所述区块链网络中是否存在临时点;当查询结果为所述区块链网络中存在所述第一临时点时,将所述存在所述第一临时点的查询结果发送给所述第二终端设备;所述第二临时点是所述第二终端设备在从所述区块链网络中获取到存在所述第一临时点的查询结果时,根据随机生成的第二秘密参数和所述第一临时点计算得到的;
第三获取单元,用于获取所述第二终端设备发送的验证公钥,所述验证公钥是所述第二终端设备根据所述第二秘密参数和所述椭圆曲线的***参数计算得到的;
验证单元,用于根据所述第一临时点、所述第二临时点、所述验证公钥以及所述***参数,利用预设的双线性对等式对所述第二临时点进行验证;
确定单元,用于当验证成功时,确定所述第二临时点为所述椭圆曲线的公共参数。
7.一种计算机设备,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序,所述处理器被配置用于调用所述程序,执行如权利要求1-5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010877031.0A CN112015814B (zh) | 2020-08-26 | 2020-08-26 | 基于区块链网络的数据生成方法、设备、节点及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010877031.0A CN112015814B (zh) | 2020-08-26 | 2020-08-26 | 基于区块链网络的数据生成方法、设备、节点及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112015814A CN112015814A (zh) | 2020-12-01 |
CN112015814B true CN112015814B (zh) | 2022-10-04 |
Family
ID=73502631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010877031.0A Active CN112015814B (zh) | 2020-08-26 | 2020-08-26 | 基于区块链网络的数据生成方法、设备、节点及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015814B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306734A (zh) * | 2017-12-28 | 2018-07-20 | 飞天诚信科技股份有限公司 | 一种通信链路保护方法及装置 |
CN108712261A (zh) * | 2018-05-10 | 2018-10-26 | 杭州智块网络科技有限公司 | 一种基于区块链的密钥生成方法、装置及介质 |
CN109547206A (zh) * | 2018-10-09 | 2019-03-29 | 深圳壹账通智能科技有限公司 | 数字证书的处理方法及相关装置 |
CN110311776A (zh) * | 2019-06-21 | 2019-10-08 | 矩阵元技术(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN111245611A (zh) * | 2020-01-21 | 2020-06-05 | 南京如般量子科技有限公司 | 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及*** |
CN111314076A (zh) * | 2020-03-31 | 2020-06-19 | 四川九强通信科技有限公司 | 一种支持双向认证的无证书密钥协商方法 |
CN111526015A (zh) * | 2020-04-26 | 2020-08-11 | 昆明大棒客科技有限公司 | 数据采集上链方法、装置、设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111861433B (zh) * | 2018-03-30 | 2024-04-02 | 创新先进技术有限公司 | 基于区块链的业务执行方法及装置、电子设备 |
CN110383311A (zh) * | 2018-11-07 | 2019-10-25 | 阿里巴巴集团控股有限公司 | 监管区块链机密交易 |
-
2020
- 2020-08-26 CN CN202010877031.0A patent/CN112015814B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108306734A (zh) * | 2017-12-28 | 2018-07-20 | 飞天诚信科技股份有限公司 | 一种通信链路保护方法及装置 |
CN108712261A (zh) * | 2018-05-10 | 2018-10-26 | 杭州智块网络科技有限公司 | 一种基于区块链的密钥生成方法、装置及介质 |
CN109547206A (zh) * | 2018-10-09 | 2019-03-29 | 深圳壹账通智能科技有限公司 | 数字证书的处理方法及相关装置 |
CN110311776A (zh) * | 2019-06-21 | 2019-10-08 | 矩阵元技术(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN111245611A (zh) * | 2020-01-21 | 2020-06-05 | 南京如般量子科技有限公司 | 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及*** |
CN111314076A (zh) * | 2020-03-31 | 2020-06-19 | 四川九强通信科技有限公司 | 一种支持双向认证的无证书密钥协商方法 |
CN111526015A (zh) * | 2020-04-26 | 2020-08-11 | 昆明大棒客科技有限公司 | 数据采集上链方法、装置、设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
基于区块链且支持验证的属性基搜索加密方案;闫玺玺 等;《通信学报》;20200229;第41卷(第2期);第187页-第198页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112015814A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9853816B2 (en) | Credential validation | |
CN112564912B (zh) | 建立安全连接的方法、***、装置和电子设备 | |
KR20170129549A (ko) | 패스워드와 id 기반 서명을 이용한 인증 키 합의 방법 및 장치 | |
CN113691502B (zh) | 通信方法、装置、网关服务器、客户端及存储介质 | |
JP2020509695A (ja) | 楕円曲線の同種に基づくキー合意プロトコル | |
US11374910B2 (en) | Method and apparatus for effecting a data-based activity | |
US20210167963A1 (en) | Decentralised Authentication | |
US9923720B2 (en) | Network device configured to derive a shared key | |
KR20130077171A (ko) | 서버와 디바이스간 인증방법 | |
CN111654481B (zh) | 一种身份认证方法、装置和存储介质 | |
US20220385642A1 (en) | Method and apparatus for effecting a data-based activity | |
JP6758476B2 (ja) | デバイス間の共通セッション鍵を取得するシステムおよび方法 | |
US20240064011A1 (en) | Identity authentication method and apparatus, device, chip, storage medium, and program | |
WO2022166214A1 (zh) | 一种密接数据验证方法、客户端、服务器及存储介质 | |
CN117560150A (zh) | 密钥确定方法、装置、电子设备和计算机可读存储介质 | |
CN116170144B (zh) | 智能电网匿名认证方法、电子设备及存储介质 | |
CN117040765A (zh) | 智能电网终端认证方法、装置、存储介质及计算机设备 | |
CN112015814B (zh) | 基于区块链网络的数据生成方法、设备、节点及存储介质 | |
CN111600704B (zh) | 基于sm2的秘钥交换方法、***、电子设备及存储介质 | |
CN110572788B (zh) | 基于非对称密钥池和隐式证书的无线传感器通信方法和*** | |
CN112035573A (zh) | 基于区块链网络的数据处理方法、设备、节点及存储介质 | |
CN111552736A (zh) | 加密数据对等关系比对方法、装置及存储介质 | |
US20240064024A1 (en) | Identity authentication method and apparatus, and device, chip, storage medium and program | |
CN117978408B (zh) | 协同签名算法的检测方法、协同签名设备及可读存储介质 | |
CN116318738B (zh) | 签名方法、***、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Applicant after: ONECONNECT FINANCIAL TECHNOLOGY Co.,Ltd. (SHANGHAI) Address before: Room 201, Building A, No. 1 Qianwan Road, Qianhaisheng Cooperation Zone, Shenzhen City, Guangdong Province, 518000 Applicant before: ONECONNECT FINANCIAL TECHNOLOGY Co.,Ltd. (SHANGHAI) |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |