CN113268750B - 数据处理方法、竞投节点设备和计算机可读介质 - Google Patents
数据处理方法、竞投节点设备和计算机可读介质 Download PDFInfo
- Publication number
- CN113268750B CN113268750B CN202110557481.6A CN202110557481A CN113268750B CN 113268750 B CN113268750 B CN 113268750B CN 202110557481 A CN202110557481 A CN 202110557481A CN 113268750 B CN113268750 B CN 113268750B
- Authority
- CN
- China
- Prior art keywords
- bidding
- node
- homomorphic
- data
- encryption
- 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
- 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
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/06—Asset management; Financial planning or analysis
Abstract
本公开提供了一种数据处理方法,应用于第一竞投节点,包括:基于第一同态公钥通过第一加密手段生成第一加密竞投数据,并将其广播至区块链网络中;获取第二竞投节点在区块链网络中广播的第二加密竞投数据;基于第二同态公钥通过第一加密手段生成第三加密竞投数据;获取第一随机数,根据第三加密竞投数据、第二加密竞投数据和第一随机数计算得到第一同态加密竞投差,并将其广播至区块链网络中;获取第二竞投节点在区块链网络中广播的第二同态加密竞投差;使用自身的同态私钥对第二同态加密竞投差进行解密,并根据解密后的第二同态加密竞投差确定第一竞投节点或第二竞投节点为备选竞投节点。本公开还提供了一种竞投节点设备和计算机可读介质。
Description
技术领域
本公开涉及通信技术领域,特别涉及一种数据处理方法、竞投节点设备和计算机可读介质。
背景技术
随着通信技术、网络技术的发展,拍卖、招投标等竞投项目的电子化、网络化需求日益增加。当前的电子化竞投系统难以实现对竞投方的信息进行保护,各竞投方的信息安全无法保障,历史报价以及历史案例中的隐私信息也成为可获取和可分析搜集的素材,但采用现有的保密方式又无法保证竞投过程的公平性和可靠性。
发明内容
本公开旨在至少解决现有技术中存在的技术问题之一,提出了一种数据处理方法、竞投节点设备和计算机可读介质。
为实现上述目的,第一方面,本公开实施例提供了一种数据处理方法,应用于第一竞投节点,所述竞投节点与资源发布节点以及第二竞投节点通过区块链网络连接,所述方法包括:
共享自身的第一同态公钥和第一节点公钥,并记录所述第二竞投节点共享的第二同态公钥和第二节点公钥;
基于所述第一同态公钥通过第一加密手段生成第一加密竞投数据,并将其广播至区块链网络中,其中,所述第一加密手段为竞投节点使用同态公钥对其自身的竞投数据进行全同态加密;
获取所述第二竞投节点在区块链网络中广播的第二加密竞投数据,其中,所述第二加密竞投数据由所述第二竞投节点基于所述第二同态公钥通过所述第一加密手段生成;
基于所述第二同态公钥通过所述第一加密手段生成第三加密竞投数据;获取第一随机数,根据所述第三加密竞投数据、所述第二加密竞投数据和所述第一随机数计算得到第一同态加密竞投差,并将其广播至区块链网络中;
获取所述第二竞投节点在区块链网络中广播的第二同态加密竞投差,其中,所述第二同态加密竞投差由所述第二竞投节点根据第四加密竞投数据、所述第一加密竞投数据和其获取到的第二随机数计算得到,所述第四加密竞投数据由所述第二竞投节点基于所述第一同态公钥通过所述第一加密手段生成;
使用自身的同态私钥对所述第二同态加密竞投差进行解密,并根据解密后的所述第二同态加密竞投差确定所述第一竞投节点或所述第二竞投节点为备选竞投节点;
以及,获取所述资源发布节点发送的第三随机数,基于所述第二节点公钥和所述第三随机数通过第二加密手段生成第五加密竞投数据,并将其广播至区块链网络中,其中,所述第二加密手段为竞投节点引入随机数并使用节点公钥对其自身的竞投数据进行加密;
获取所述第二竞投节点在区块链网络中广播的第六加密竞投数据,并使用自身的节点私钥对其进行解密,其中,所述第六加密竞投数据由所述第二竞投节点基于所述第一节点公钥和获取自所述资源发布节点的第四随机数通过所述第二加密手段生成;
根据解密后的所述第六加密竞投数据与自身的竞投数据计算得到第一加密竞投差,并将其广播至区块链网络中,以供所述资源发布节点根据下发的全部随机数以及各竞投节点广播的加密竞投差,对各竞投节点的竞投数据进行排序,并确定出目标竞投节点。
在一些实施例中,存在至少三个竞投节点,所述第一竞投节点和所述第二竞投节点为全部竞投节点中的任意两者。
在一些实施例中,所述使用自身的同态私钥对所述第二同态加密竞投差进行解密,并根据解密后的所述第二同态加密竞投差确定所述第一竞投节点或所述第二竞投节点为备选竞投节点的步骤,包括:
使用自身的同态私钥对接收到的各竞投节点发送的同态加密竞投差进行解密,并根据解密后的各同态加密竞投差确定全部竞投节点中的至少一者为所述备选竞投节点。
在一些实施例中,所述资源发布节点对各竞投节点的竞投数据进行排序,并将排序结果中位于首位或末位的一者确定为目标竞投节点;
在所述根据解密后的所述第六加密竞投数据与自身的竞投数据计算得到第一加密竞投差,并将其广播至区块链网络中的步骤,以及所述使用自身的同态私钥对接收到的各竞投节点发送的同态加密竞投差进行解密,并根据解密后的各同态加密竞投差确定全部竞投节点中的至少一者为所述备选竞投节点的步骤之后,还包括:
获取所述资源发布节点的排序结果,并与所述资源发布节点进行一致性验证;响应于确定出的全部所述备选竞投节点中包括所述资源发布节点确定出的一个目标竞投节点的情况,验证通过。
在一些实施例中,在验证通过之后,还包括:
响应于目标竞投节点为所述第一竞投节点的情况,与全部竞投节点中除所述第一竞投节点以外的全部其他竞投节点共享自身的同态私钥,以供其他竞投节点对所述第一加密竞投数据进行解密;
响应于目标竞投节点为其他竞投节点的情况,获取该其他竞投节点共享的同态私钥,并对该其他竞投节点对应的加密竞投数据进行解密。
在一些实施例中,所述资源发布节点包括:资源持有节点和中间节点;
所述第一竞投节点、所述中间节点和所述第二竞投节点通过区块链网络连接,且通过经各自节点私钥签名后的广播消息传输数据。
在一些实施例中,在所述共享自身的第一同态公钥和第一节点公钥,并记录所述第二竞投节点共享的第二同态公钥和第二节点公钥的步骤之前,还包括:
生成自身的同态公钥和同态私钥,将该同态公钥作为所述第一同态公钥,并根据是否已确定出目标竞投节点,配置自身的同态公钥和同态私钥的生命周期。
在一些实施例中,所述获取第一随机数,根据所述第三加密竞投数据、所述第二加密竞投数据和所述第一随机数计算得到第一同态加密竞投差,并将其广播至区块链网络中的步骤,包括:
使用所述第一同态公钥对所述第一随机数进行全同态加密;
根据所述第三加密竞投数据和所述第二加密竞投数据计算得出第一竞投差,并将所述第一竞投差和加密后的所述第一随机数的乘积作为所述第一同态加密竞投差;
所述使用自身的同态私钥对所述第二同态加密竞投差进行解密,并根据解密后的所述第二同态加密竞投差确定所述第一竞投节点或所述第二竞投节点为备选竞投节点的步骤,包括:
根据解密后的所述第二同态加密竞投差的正负性确定所述第一竞投节点或所述第二竞投节点为所述备选竞投节点。
第二方面,本公开实施例还提供了一种竞投节点设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述实施例中任一所述的数据处理方法。
第三方面,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如上述实施例中任一所述的数据处理方法中的步骤。
本公开具有以下有益效果:
本公开实施例提供了一种数据处理方法、竞投节点设备和计算机可读介质,可通过在区块链网络中,采用第一加密手段基于各竞投节点的竞投数据生成加密竞投数据,基于加密竞投数据和随机数生成同态加密竞投差,使得各竞投节点在不知晓竞投数据的具体内容的情况下,也能够对竞投结果进行感知;以及采用第二加密手段基于各竞投节点的竞投数据和随机数生成加密竞投差,使得资源发布节点在不知晓竞投数据的具体内容的情况下,也能够对竞投结果进行确定。由此,在对竞投节点信息安全进行保护的同时,提升了竞投流程的公平性和可靠性。
附图说明
图1为本公开实施例提供的一种数据处理方法的流程图;
图2为本公开实施例提供的另一种数据处理方法的流程图;
图3为本公开实施例提供的又一种数据处理方法的流程图;
图4为本公开实施例中步骤S5的一种具体实施方法流程图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的数据处理方法、竞投端设备和计算机可读介质进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
将理解的是,虽然本文可以使用术语第一、第二等来描述各种元件,但这些元件不应当受限于这些术语。这些术语仅用于区分一个元件和另一元件。因此,在不背离本公开的指教的情况下,下文讨论的第一元件、第一组件或第一模块可称为第二元件、第二组件或第二模块。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
本公开所提供的数据处理方法、竞投节点设备和计算机可读介质,可用于在区块链网络中,采用第一加密手段基于各竞投节点的竞投数据生成加密竞投数据,基于加密竞投数据和随机数生成同态加密竞投差,使得各竞投节点在不知晓竞投数据的具体内容的情况下,也能够对竞投结果进行感知;以及采用第二加密手段基于各竞投节点的竞投数据和随机数生成加密竞投差,使得资源发布节点在不知晓竞投数据的具体内容的情况下,也能够对竞投结果进行确定。由此,在对竞投节点信息安全进行保护的同时,提升了竞投流程的公平性和可靠性。该方法可应用于招投标、物品拍卖等场景供投标方和竞拍方等使用。
图1为本公开实施例提供的一种数据处理方法的流程图。如图1所示,应用于第一竞投节点,第一竞投节点与资源发布节点以及第二竞投节点通过区块链网络连接,该方法包括:
步骤S1、共享自身的第一同态公钥和第一节点公钥,并记录第二竞投节点共享的第二同态公钥和第二节点公钥。
其中,同态密钥对用于进行同态加密和解密,其包括同态公钥和同态私钥,在一些实施例中,第一竞投节点和第二竞投节点根据约定的同态加密算法在当前竞投过程开始之前配置各自仅针对该次竞投过程的同态密钥对,或者第一竞投节点和第二竞投节点预先配置有长生命周期的默认同态密钥对;竞投节点密钥对用于进行非对称加密和解密,其包括节点公钥和节点私钥,其为对应的竞投节点的默认密钥对。
在一些实施例中,资源发布节点包括资源持有节点和中间节点;第一竞投节点、中间节点和第二竞投节点通过区块链网络连接,且通过经各自节点私钥签名后的广播消息传输数据,其中,中间节点预先共享自身的节点公钥。由此,通过区块链网络架构的特性以及数字签名,验证通信端身份,提升安全性。
在一些实施例中,在资源发布节点,资源持有节点向中间节点发送竞投信息(如标书、拍卖品信息等),而资源发布节点的所有数据处理流程由中间节点进行,在一些实施例中,中间节点为中立第三方或第三方竞投平台。
步骤S2、基于第一同态公钥通过第一加密手段生成第一加密竞投数据,并将其广播至区块链网络中。
其中,第一加密手段为竞投节点使用同态公钥对自身的竞投数据进行全同态加密;针对全同态加密算法,其对应的加密函数同时满足加法同态和乘法同态。
在步骤S2中,第一竞投节点基于第一同态公钥通过第一加密手段,即,第一竞投节点通过使用第一同态公钥对自身的竞投数据进行全同态加密,生成第一加密竞投数据。
在一些实施例中,竞投数据包括报价、约束条款以及协商可选项等对应的数据。
步骤S3、获取第二竞投节点在区块链网络中广播的第二加密竞投数据。
其中,第二加密竞投数据由第二竞投节点基于第二同态公钥通过第一加密手段生成。
在步骤S3中,第二竞投节点基于第二同态公钥通过第一加密手段,即,第二竞投节点通过使用第二同态公钥对自身的竞投数据进行全同态加密,生成第二加密竞投数据。此时,第一竞投节点和第二竞投节点均共享了各自使用自身的同态公钥加密后的竞投数据。
步骤S4、基于第二同态公钥通过第一加密手段生成第三加密竞投数据。
其中,第一竞投节点基于第二同态公钥通过第一加密手段,即,第一竞投节点通过使用第二同态公钥对自身的竞投数据进行全同态加密,生成第三加密竞投数据。
步骤S5、获取第一随机数,根据第三加密竞投数据、第二加密竞投数据和第一随机数计算得到第一同态加密竞投差,并将其广播至区块链网络中。
其中,第三加密竞投数据和第二加密竞投数据均为基于第二同态公钥通过第一加密手段生成的加密竞投数据。
在一些实施例中,对第三加密竞投数据和第二加密竞投数据进行变换,并在变换结果中引入随机数,以得到第一同态加密竞投差,由此,基于全同态加密的算法原理,第二竞投节点使用自身的同态私钥对其进行解密后即可得到通过随机数加密的变换结果;基于该变换结果和自身的竞投数据,第二竞投节点由此可比较第一竞投节点的竞投数据和第二竞投节点自身的竞投数据,并确定出二者中的备选竞投节点。
在一些实施例中,竞投数据体现为报价、约束条款以及协商可选项等竞投流程相关数据对应的的量化指标,或者,竞投数据表征报价;在一些实施例中,对第三加密竞投数据和第二加密竞投数据基于减法进行变换,将得到的差值通过乘除法引入随机数以得到第一同态加密竞投差,由此,第二竞投节点使用自身的同态私钥对其进行解密后,可基于解密后的第一同态加密竞投差的正负性,确定第一竞投节点的竞投数据和第二竞投节点自身的竞投数据的大小,并根据相应的数值判断规则确定第一竞投节点或第二竞投节点为备选竞投节点;或者,在一些实施例中,对第三加密竞投数据和第二加密竞投数据基于除法进行变换,将得到的比值通过加减法引入随机数以得到第一同态加密竞投差,由此,第二竞投节点使用自身的同态私钥对其进行解密后,可基于解密后的第一同态加密竞投差与自然数1的大小关系,确定第一竞投节点的竞投数据和第二竞投节点自身的竞投数据的大小,并根据相应的数值判断规则确定第一竞投节点或第二竞投节点为备选竞投节点;数值判断规则如将对应的竞投数据最大的一者作为备选竞投节点以及将对应的竞投数据最小的一者作为备选竞投节点等,或者,在一些实施例中,存在至少三个竞投节点,备选竞投节点也可能存在多个,此时,数值判断规则如将对应的竞投数据大于等于预设阈值或者小于等于预设阈值的竞投节点作为备选竞投节点,以及将对应的竞投数据较大或较小的多个竞投节点作为备选竞投节点等。
在一些实施例中,存在至少三个竞投节点时,由于各竞投节点仅能获知自身对应的竞投差,各竞投节点确定出的备选竞投节点会存在不同,各竞投节点确定出的备选竞投节点的数量也可能不同。
在一些实施例中,第一随机数由第一竞投节点随机生成,或者第一随机数由资源发布节点生成并下发。
步骤S6、获取第二竞投节点在区块链网络中广播的第二同态加密竞投差。
其中,第二同态加密竞投差由第二竞投节点根据第四加密竞投数据、第一加密竞投数据和其获取到的第二随机数计算得到,第四加密竞投数据由第二竞投节点基于第一同态公钥通过第一加密手段生成。在步骤S6中,第一竞投节点获取第二竞投节点通过与步骤S4和步骤S5中相类似的方式得到的第二同态加密竞投差。
步骤S7、使用自身的同态私钥对第二同态加密竞投差进行解密,并根据解密后的第二同态加密竞投差确定第一竞投节点或第二竞投节点为备选竞投节点。
其中,第一竞投节点通过与步骤S5中所描述的第二竞投节点确定备选竞投节点相类似的方式,确定第一竞投节点或第二竞投节点为备选竞投节点。
步骤S8、获取资源发布节点发送的第三随机数,基于第二节点公钥和第三随机数通过第二加密手段生成第五加密竞投数据,并将其广播至区块链网络中。
其中,第二加密手段钥对自身的竞投数据进行加密,生成第五加密竞投数据。
需要说明的是,步骤S2至步骤S7中的加密竞投数据与步骤S8至步骤S10中的加密竞投数据并不相同,两个并行流程中的加密竞投数据分别为基于全同态加密得到和基于非对称加密得到。
步骤S9、获取第二竞投节点在区块链网络中广播的第六加密竞投数据,并使用自身的节点私钥对其进行解密。
其中,第六加密竞投数据由第二竞投节点基于第一节点公钥和获取自资源发布节点的第四随机数通过第二加密手段生成。在步骤S9中,第一竞投节点获取第二竞投节点通过与步骤S8相类似的方式得到的第六加密竞投数据。
步骤S10、根据解密后的第六加密竞投数据与自身的竞投数据计算得到第一加密竞投差,并将其广播至区块链网络中。
在步骤S10中,根据解密后的第六加密竞投数据与自身的竞投数据计算得到第一加密竞投差,并广播至区块链网络中,以供资源发布节点根据下发的全部随机数以及各竞投节点广播的加密竞投差,对各竞投节点的竞投数据进行排序,并确定出目标竞投节点。
其中,资源发布节点根据下发的全部随机数对各竞投节点广播的加密竞投差进行解密,即可得到各竞投节点之间对应的竞投差,由此对各竞投节点的竞投数据进行排序,并确定出目标竞投节点。
在一些实施例中,竞投数据体现为报价、约束条款以及协商可选项等竞投流程相关数据对应的量化指标,对各竞投节点的竞投数据进行排序即对竞投流程相关数据对应的的量化指标进行排序;或者,在一些实施例中,基于竞投差确定各竞投节点的报价之间的差异,并根据报价的大小对各竞投节点的竞投数据进行排序。
需要说明的是,附图中所示出的步骤S2~步骤S7与步骤S8~步骤S10并行执行的方案仅为本公开实施例提供的一种具体化可选实施方案,本公开的技术方案对步骤S2~步骤S7与步骤S8~步骤S10的执行顺序不作限定,即步骤S2~步骤S7可位于步骤S8~步骤S10之前执行,或步骤S2~步骤S7可位于步骤S8~步骤S10之后执行,或者步骤S2~步骤S7与步骤S8~步骤S10穿插执行。其均属于本公开的保护范围。
本公开实施例提供了一种数据处理方法,该方法可用于在区块链网络中,通过基于全同态加密的第一加密手段,根据各竞投节点的竞投数据生成加密竞投数据,基于加密竞投数据和随机数生成同态加密竞投差,使得各竞投节点在不知晓竞投数据的具体内容的情况下,也能够根据自身的竞投数据对竞投结果进行感知,确定备选竞投节点;以及采用第二加密手段基于各竞投节点的竞投数据和随机数生成加密竞投差,使得资源发布节点在不知晓竞投数据的具体内容的情况下,也能够对各竞投节点进行排序,对竞投结果进行确定。由此,在对竞投节点信息安全进行保护的同时,提升了竞投流程的公平性和可靠性。
图2为本公开实施例提供的另一种数据处理方法的流程图。如图2所示,该方法为基于图1所示方法的一种具体化可选实施方案。具体地,存在至少三个竞投节点,第一竞投节点和第二竞投节点为全部竞投节点中的任意两者;该方法不仅包括步骤S1至步骤S6,还包括步骤S701,步骤S701为步骤S7的一种具体实施方式;以及,在步骤S701和步骤S10之后,还包括步骤S11。下面仅对步骤S701和步骤S11进行详细描述。
具体地,步骤S7,使用自身的同态私钥对第二同态加密竞投差进行解密,并根据解密后的第二同态加密竞投差确定第一竞投节点或第二竞投节点为备选竞投节点的步骤,包括步骤S701。
步骤S701、使用自身的同态私钥对接收到的各竞投节点发送的同态加密竞投差进行解密,并根据解密后的各同态加密竞投差确定全部竞投节点中的至少一者为备选竞投节点。
在步骤S701中,第一竞投节点获取其他各竞投节点通过与步骤S4和步骤S5中相类似的方式得到的同态加密竞投差,各同态加密竞投差均为基于第一同态公钥通过第一加密手段生成,第一竞投节点此后根据解密后的各同态加密竞投差确定至少一个竞投节点为备选竞投节点,具体的确定方式可参见步骤S5中的相关描述。
以及,针对资源发布节点,其对各竞投节点的竞投数据进行排序,并将排序结果中位于首位或末位的一者确定为目标竞投节点;在此基础上,在步骤S701和步骤S10之后,还包括步骤S11。
步骤S11、获取资源发布节点的排序结果,并与资源发布节点进行一致性验证。
其中,第一竞投节点在确定出备选竞投节点的基础上,与资源发布节点针对备选竞投节点和目标竞投节点进行一致性验证。具体地,目标竞投节点仅为一者,其在不同应用场景中可体现为中标方、获拍方等;相应地,各竞投节点确定出的备选竞投节点可为多种情况,包括:确定出的备选竞投节点为自身;或者,确定出的备选竞投节点包含一个或多个除自身外的其他竞投节点。
在步骤S11中,响应于确定出的全部备选竞投节点中包括资源发布节点确定出的一个目标竞投节点的情况,验证通过。
其中,若确定出的全部备选竞投节点中包括目标竞投节点,即若自身为目标竞投节点,或者一个其他竞投节点既为备选竞投节点又为目标竞投节点,则验证通过。
在一些实施例中,在验证通过之后,该方法还包括:响应于目标竞投节点为第一竞投节点的情况,与全部竞投节点中除第一竞投节点以外的全部其他竞投节点共享自身的同态私钥,以供其他竞投节点对第一加密竞投数据进行解密;响应于目标竞投节点为其他竞投节点的情况,获取该其他竞投节点共享的同态私钥,并对该其他竞投节点对应的加密竞投数据进行解密。由此,在特定场景中,使得未成为目标竞投节点的其他竞投节点确定目标竞投节点的竞投数据,实现具体数据的验证。
图3为本公开实施例提供的又一种数据处理方法的流程图。如图3所示,该方法为基于图1所示方法的一种具体化可选实施方案。具体地,该方法不仅包括步骤S1至步骤S10,在步骤S1,共享自身的第一同态公钥和第一节点公钥,并记录第二竞投节点共享的第二同态公钥和第二节点公钥的步骤之前,还包括步骤S01。下面仅对步骤S01进行详细描述。
步骤S01、生成自身的同态公钥和同态私钥,将该同态公钥作为第一同态公钥,并根据是否已确定出目标竞投节点,配置自身的同态公钥和同态私钥的生命周期。
其中,在本实施例中,同态密钥对仅用于本次竞投流程,在确定出目标竞投节点后,在本端作废该同态密钥对。
图4为本公开实施例中步骤S5的一种具体实施方法流程图。具体地,如图4所示,步骤S5,获取第一随机数,根据第三加密竞投数据、第二加密竞投数据和第一随机数计算得到第一同态加密竞投差,并将其广播至区块链网络中的步骤,包括:
步骤S501、使用第一同态公钥对第一随机数进行全同态加密。
其中,第三加密竞投数据和第二加密竞投数据均基于第一同态公钥通过全同态加密生成,在步骤S501中,对第一随机数同样使用第一同态公钥进行全同态加密,使得第一随机数可直接加入第三加密竞投数据和第二加密竞投数据的变换过程。
步骤S502、根据第三加密竞投数据和第二加密竞投数据计算得出第一竞投差,并将第一竞投差和加密后的第一随机数的乘积作为第一同态加密竞投差。
在一些实施例中,竞投数据体现为报价、约束条款以及协商可选项等竞投流程相关数据对应的的量化指标,或者,竞投数据表征报价;具体对变换过程的描述可参见步骤S5。
基于上述步骤S5的具体实施方式,步骤S7,使用自身的同态私钥对第二同态加密竞投差进行解密,并根据解密后的第二同态加密竞投差确定第一竞投节点或第二竞投节点为备选竞投节点的步骤,包括:根据解密后的第二同态加密竞投差的正负性确定第一竞投节点或第二竞投节点为备选竞投节点。其中,根据解密后的第二同态加密竞投差的正负性即可判断相应量化指标或报价的大小,并根据该大小关系和相应的数值判断规则确定备选竞投节点。
下面对本公开提供的数据处理方法结合实际应用进行详细描述。具体地,应用于招投标场景,包括竞投节点A、竞投节点B、竞投节点C、中间节点D以及资源持有节点T,各端均通过区块链网络连接且数据传输通过经自身的节点私钥签名的广播消息进行。
首先,资源持有节点T向中间节点D发送竞投信息,该竞投信息为标书,其中包括限制要求、约束条款和协商可选项;各竞投节点和中间节点D分别共享自身的同态公钥和节点公钥。
此后,同步进行竞投节点确认流程和中间节点确认流程。
在竞投节点确认流程中,以竞投节点A为例,其使用自身的同态公钥HEna对自身的竞投数据a进行全同态加密,生成加密竞投数据HEna(a),并将加密竞投数据HEna(a)广播至区块链网络中,其中,竞投数据体现为报价、竞投节点确定的约束条款以及协商可选项对应的的量化指标。相应地,竞投节点B和竞投节点C使用类似的方式分别生成加密竞投数据HEnb(b)和加密竞投数据HEnc(c),并广播至区块链网络中。
竞投节点A获取加密竞投数据HEnb(b)和加密竞投数据HEnc(c),并分别使用竞投节点B的同态公钥HEnb和竞投节点C的同态公钥HEnc对自身的竞投数据a进行全同态加密,生成加密竞投数据HEnb(a)和加密竞投数据HEnc(a);基于相应的随机数选取算法随机生成随机数RANDa,分别使用竞投节点B的同态公钥HEnb和竞投节点C的同态公钥HEnc对随机数RANDa进行全同态加密,生成加密随机数HEnb(RANDa)和加密随机数HEnc(RANDa),其中,随机数RANDa为正;将运算[HEnb(b)-HEnb(a)]*HEnb(RANDa)的结果,即同态加密竞投差广播至区块链网络中,以及将运算[HEnc(c)-HEnc(a)]*HEnc(RANDa)的结果广播至区块链网络中。相应地,竞投节点B和竞投节点C使用类似的方式分别将其他竞投节点对应的同态加密竞投差发出。
竞投节点A获取自身对应的同态加密竞投差,包括竞投节点B基于加密竞投数据HEna(a)、加密竞投数据HEna(b)和随机数RANDb的运算[HEna(a)-HEna(b)]*HEna(RANDb)的结果和竞投节点C基于加密竞投数据HEna(a)、加密竞投数据HEna(c)和随机数RANDc的运算[HEna(a)-HEna(c)]*HEna(RANDc)的结果;使用自身的同态私钥对两个同态加密竞投差进行解密,得到(a-b)*RANDb以及(a-c)*RANDc,并根据两个值的正负性,确定备选竞投节点,在本实施例中,取(a-b)*RANDb为负,(a-c)*RANDc也为负,则竞投节点A确定出备选竞投节点为自身。相应地,竞投节点B使用类似的方式,得到的(b-a)*RANDa为正,(b-c)*RANDc也为正,其确定出备选竞投节点为竞投节点A和竞投节点C;竞投节点C使用类似的方式,得到的(c-a)*RANDa为正,(c-b)*RANDb为负,其确定出备选竞投节点为竞投节点A。
在中心节点确认流程中,以竞投节点A为例,其获取中心节点D发送的随机数Ra,并基于竞投节点B的节点公钥Eb和随机数Ra对自身的竞投数据进行加密,生成加密竞投数据Eb(a-Ra),并广播至区块链网络中;以及基于竞投节点C的节点公钥Ec和随机数Ra对自身的竞投数据进行加密,生成加密竞投数据Ec(a-Ra),并广播至区块链网络中。相应地,竞投节点B使用类似的方式,基于竞投节点A的节点公钥Ea、节点公钥Ec和随机数Rb,分别生成加密竞投数据Ea(b-Rb)和加密竞投数据Ec(b-Rb),并广播至区块链网络中;竞投节点C使用类似的方式,基于节点公钥Eb、节点公钥Ea和随机数Rc分别生成加密竞投数据Ea(c-Rc)和加密竞投数据Eb(c-Rc),并广播至区块链网络中。
竞投节点A获取加密竞投数据Ea(b-Rb)和加密竞投数据Ea(c-Rc),使用自身的节点私钥进行解密,与自身的竞投数据计算得到加密竞投差b-Rb-a和加密竞投差c-Rc-a,并广播至区块链网络中。相应地,竞投节点B使用类似的方式,将加密竞投差a-Ra-b和加密竞投差c-Rc-b广播至区块链网络中;竞投节点C使用类似的方式,将加密竞投差a-Ra-c和加密竞投差b-Rb-c广播至区块链网络中。
中心节点D根据下发的随机数Ra、随机数Rb和随机数Rc以及上述广播在区块链网络中的各加密竞投差,分别得到竞投数据a、竞投数据b和竞投数据c的大小关系,并按从大到小的顺序进行排序,在本实施例中,排序结果为b、c、a,其确定出竞投节点A为目标竞投节点。
中间节点D将排序结果广播至区块链网络中,竞投节点A、竞投节点B、竞投节点C分别与中间节点D进行一致性验证,在验证通过后,作为目标竞投节点的竞投节点A向其他竞投节点共享自身的同态私钥,其他竞投节点对加密竞投数据HEna(a)进行解密,获知竞投节点A的竞投数据a。
本公开实施例还提供了一种竞投节点设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当该一个或多个程序被该一个或多个处理器执行,使得该一个或多个处理器实现如上述实施例中任一的数据处理方法。
本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述实施例中任一的数据处理方法中的步骤。
可以理解的是,以上实施方式仅仅是为了说明本公开的原理而采用的示例性实施方式,然而本公开并不局限于此。对于本领域内的普通技术人员而言,在不脱离本公开的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本公开的保护范围。
Claims (10)
1.一种数据处理方法,其特征在于,应用于第一竞投节点,所述第一竞投节点与资源发布节点以及第二竞投节点通过区块链网络连接,所述方法包括:
共享自身的第一同态公钥和第一节点公钥,并记录所述第二竞投节点共享的第二同态公钥和第二节点公钥;
基于所述第一同态公钥通过第一加密手段生成第一加密竞投数据,并将其广播至区块链网络中,其中,所述第一加密手段为竞投节点使用同态公钥对其自身的竞投数据进行全同态加密;
获取所述第二竞投节点在区块链网络中广播的第二加密竞投数据,其中,所述第二加密竞投数据由所述第二竞投节点基于所述第二同态公钥通过所述第一加密手段生成;
基于所述第二同态公钥通过所述第一加密手段生成第三加密竞投数据;获取第一随机数,根据所述第三加密竞投数据、所述第二加密竞投数据和所述第一随机数计算得到第一同态加密竞投差,并将其广播至区块链网络中;
获取所述第二竞投节点在区块链网络中广播的第二同态加密竞投差,其中,所述第二同态加密竞投差由所述第二竞投节点根据第四加密竞投数据、所述第一加密竞投数据和其获取到的第二随机数计算得到,所述第四加密竞投数据由所述第二竞投节点基于所述第一同态公钥通过所述第一加密手段生成;
使用自身的同态私钥对所述第二同态加密竞投差进行解密,并根据解密后的所述第二同态加密竞投差确定所述第一竞投节点或所述第二竞投节点为备选竞投节点;
以及,获取所述资源发布节点发送的第三随机数,基于所述第二节点公钥和所述第三随机数通过第二加密手段生成第五加密竞投数据,并将其广播至区块链网络中,其中,所述第二加密手段为竞投节点引入随机数并使用节点公钥对其自身的竞投数据进行加密;
获取所述第二竞投节点在区块链网络中广播的第六加密竞投数据,并使用自身的节点私钥对其进行解密,其中,所述第六加密竞投数据由所述第二竞投节点基于所述第一节点公钥和获取自所述资源发布节点的第四随机数通过所述第二加密手段生成;
根据解密后的所述第六加密竞投数据与自身的竞投数据计算得到第一加密竞投差,并将其广播至区块链网络中,以供所述资源发布节点根据下发的全部随机数以及各竞投节点广播的加密竞投差,对各竞投节点的竞投数据进行排序,并确定出目标竞投节点。
2.根据权利要求1所述的数据处理方法,其特征在于,存在至少三个竞投节点,所述第一竞投节点和所述第二竞投节点为全部竞投节点中的任意两者。
3.根据权利要求2所述的数据处理方法,其特征在于,所述使用自身的同态私钥对所述第二同态加密竞投差进行解密,并根据解密后的所述第二同态加密竞投差确定所述第一竞投节点或所述第二竞投节点为备选竞投节点的步骤,包括:
使用自身的同态私钥对接收到的各竞投节点发送的同态加密竞投差进行解密,并根据解密后的各同态加密竞投差确定全部竞投节点中的至少一者为所述备选竞投节点。
4.根据权利要求3所述的数据处理方法,其特征在于,所述资源发布节点对各竞投节点的竞投数据进行排序,并将排序结果中位于首位或末位的一者确定为目标竞投节点;
在所述根据解密后的所述第六加密竞投数据与自身的竞投数据计算得到第一加密竞投差,并将其广播至区块链网络中的步骤,以及所述使用自身的同态私钥对接收到的各竞投节点发送的同态加密竞投差进行解密,并根据解密后的各同态加密竞投差确定全部竞投节点中的至少一者为所述备选竞投节点的步骤之后,还包括:
获取所述资源发布节点的排序结果,并与所述资源发布节点进行一致性验证;响应于确定出的全部所述备选竞投节点中包括所述资源发布节点确定出的一个目标竞投节点的情况,验证通过。
5.根据权利要求4所述的数据处理方法,其特征在于,在验证通过之后,还包括:
响应于目标竞投节点为所述第一竞投节点的情况,与全部竞投节点中除所述第一竞投节点以外的全部其他竞投节点共享自身的同态私钥,以供其他竞投节点对所述第一加密竞投数据进行解密;
响应于目标竞投节点为其他竞投节点的情况,获取该其他竞投节点共享的同态私钥,并对该其他竞投节点对应的加密竞投数据进行解密。
6.根据权利要求1所述的数据处理方法,其特征在于,所述资源发布节点包括:资源持有节点和中间节点;
所述第一竞投节点、所述中间节点和所述第二竞投节点通过区块链网络连接,且通过经各自节点私钥签名后的广播消息传输数据。
7.根据权利要求1所述的数据处理方法,其特征在于,在所述共享自身的第一同态公钥和第一节点公钥,并记录所述第二竞投节点共享的第二同态公钥和第二节点公钥的步骤之前,还包括:
生成自身的同态公钥和同态私钥,将该同态公钥作为所述第一同态公钥,并根据是否已确定出目标竞投节点,配置自身的同态公钥和同态私钥的生命周期。
8.根据权利要求1所述的数据处理方法,其特征在于,所述获取第一随机数,根据所述第三加密竞投数据、所述第二加密竞投数据和所述第一随机数计算得到第一同态加密竞投差,并将其广播至区块链网络中的步骤,包括:
使用所述第一同态公钥对所述第一随机数进行全同态加密;
根据所述第三加密竞投数据和所述第二加密竞投数据计算得出第一竞投差,并将所述第一竞投差和加密后的所述第一随机数的乘积作为所述第一同态加密竞投差;
所述使用自身的同态私钥对所述第二同态加密竞投差进行解密,并根据解密后的所述第二同态加密竞投差确定所述第一竞投节点或所述第二竞投节点为备选竞投节点的步骤,包括:
根据解密后的所述第二同态加密竞投差的正负性确定所述第一竞投节点或所述第二竞投节点为所述备选竞投节点。
9.一种竞投节点设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至8中任一所述的数据处理方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1至8中任一所述的数据处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110557481.6A CN113268750B (zh) | 2021-05-21 | 2021-05-21 | 数据处理方法、竞投节点设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110557481.6A CN113268750B (zh) | 2021-05-21 | 2021-05-21 | 数据处理方法、竞投节点设备和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113268750A CN113268750A (zh) | 2021-08-17 |
CN113268750B true CN113268750B (zh) | 2023-05-12 |
Family
ID=77232285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110557481.6A Active CN113268750B (zh) | 2021-05-21 | 2021-05-21 | 数据处理方法、竞投节点设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268750B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018136991A1 (en) * | 2017-01-30 | 2018-08-02 | EXO One Pty Ltd | Voting system and method |
CN110348231A (zh) * | 2019-06-18 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 实现隐私保护的数据同态加解密方法及装置 |
CN110830452A (zh) * | 2019-10-22 | 2020-02-21 | 全链通有限公司 | 基于区块链的电子投标方法、设备及存储介质 |
CN110827121A (zh) * | 2019-10-22 | 2020-02-21 | 全链通有限公司 | 基于区块链的电子投标方法、设备及存储介质 |
CN110958107A (zh) * | 2019-12-05 | 2020-04-03 | 全链通有限公司 | 基于区块链的电子投票方法、设备及存储介质 |
CN111130793A (zh) * | 2019-12-11 | 2020-05-08 | 浙江工商大学 | 一种基于区块链招投标系统的文件加密方法 |
CN112418862A (zh) * | 2019-06-26 | 2021-02-26 | 创新先进技术有限公司 | 采用环签名的机密区块链交易的实现方法及装置 |
CN113285798A (zh) * | 2021-05-21 | 2021-08-20 | 中国联合网络通信集团有限公司 | 数据处理方法、竞投端设备和计算机可读介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10715317B2 (en) * | 2017-12-12 | 2020-07-14 | International Business Machines Corporation | Protection of confidentiality, privacy and financial fairness in a blockchain based decentralized identity management system |
US11488433B2 (en) * | 2018-01-11 | 2022-11-01 | Mastercard International Incorporated | Method and system for public elections on a moderated blockchain |
-
2021
- 2021-05-21 CN CN202110557481.6A patent/CN113268750B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018136991A1 (en) * | 2017-01-30 | 2018-08-02 | EXO One Pty Ltd | Voting system and method |
CN110348231A (zh) * | 2019-06-18 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 实现隐私保护的数据同态加解密方法及装置 |
CN112418862A (zh) * | 2019-06-26 | 2021-02-26 | 创新先进技术有限公司 | 采用环签名的机密区块链交易的实现方法及装置 |
CN110830452A (zh) * | 2019-10-22 | 2020-02-21 | 全链通有限公司 | 基于区块链的电子投标方法、设备及存储介质 |
CN110827121A (zh) * | 2019-10-22 | 2020-02-21 | 全链通有限公司 | 基于区块链的电子投标方法、设备及存储介质 |
CN110958107A (zh) * | 2019-12-05 | 2020-04-03 | 全链通有限公司 | 基于区块链的电子投票方法、设备及存储介质 |
CN111130793A (zh) * | 2019-12-11 | 2020-05-08 | 浙江工商大学 | 一种基于区块链招投标系统的文件加密方法 |
CN113285798A (zh) * | 2021-05-21 | 2021-08-20 | 中国联合网络通信集团有限公司 | 数据处理方法、竞投端设备和计算机可读介质 |
Non-Patent Citations (3)
Title |
---|
Supporting Private Data on Hyperledger Fabric with Secure Multiparty Computation;Fabrice Benhamouda 等;2018 IEEE International Conference on Cloud Engineering (IC2E);357-363 * |
区块链在招标投标领域的应用探讨;公昊;张健;赵朋;;物流工程与管理(第04期);151 * |
安全多方计算在保密电子投票系统中的研究与应用;吴美;中国优秀硕士学位论文全文数据库(硕士)信息科技辑(01);I138-211 * |
Also Published As
Publication number | Publication date |
---|---|
CN113268750A (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111209334B (zh) | 基于区块链的电力终端数据安全管理方法 | |
CN108282333B (zh) | 工业云环境下多边缘节点协作模式下数据安全共享方法 | |
KR100857323B1 (ko) | 보안 통신 시스템에서 익명의 공개 키를 발생시키는 방법,장치 및 시스템 | |
RU2534944C2 (ru) | Способ обеспечения безопасности связи в сети, используемые для этого устройство связи, сеть и компьютерная программа | |
EP3535683B1 (en) | Data encryption control using multiple controlling authorities | |
CN106209739A (zh) | 云存储方法及系统 | |
CN112906030B (zh) | 基于多方全同态加密的数据共享方法和系统 | |
CN109768978B (zh) | 一种混淆数据的方法及相关装置 | |
CN113191863B (zh) | 投标方法、第三方设备、发标方设备及投标方设备 | |
CN113051590A (zh) | 一种数据处理方法和相关设备 | |
US20100005307A1 (en) | Secure approach to send data from one system to another | |
CN115277094A (zh) | 一种基于区块链的通信方法、终端、系统及存储介质 | |
CN113420321B (zh) | 电子投标方法、发标节点、第一投标节点、第三方节点 | |
CN113205399B (zh) | 电子投标方法、第一投标节点设备、中立第三方节点设备 | |
CN112380404B (zh) | 数据过滤方法、装置及系统 | |
CN113285798B (zh) | 数据处理方法、竞投端设备和计算机可读介质 | |
CN113268750B (zh) | 数据处理方法、竞投节点设备和计算机可读介质 | |
CN114465708B (zh) | 隐私数据处理方法及装置、系统、电子设备、存储介质 | |
CN113268749B (zh) | 投标信息的处理方法及模块、电子设备 | |
CN115828300A (zh) | 基于区块链的带隐私保护的政务信息处理方法及系统 | |
CN113268777B (zh) | 基于区块链的投标信息的处理方法及模块、电子设备 | |
Prasanthi et al. | Hybrid approach for securing the IoT devices | |
CN112637442B (zh) | 云服务器和本地端进行循环图像加密的方法及装置 | |
CN111984932B (zh) | 两方数据分组统计方法、装置及系统 | |
JP2018151620A (ja) | スターネットワークにおけるプライバシー保護順序統計の方法およびシステム |
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 |