CN116975935B - 数据比较方法、存储介质及电子设备 - Google Patents
数据比较方法、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116975935B CN116975935B CN202311227047.7A CN202311227047A CN116975935B CN 116975935 B CN116975935 B CN 116975935B CN 202311227047 A CN202311227047 A CN 202311227047A CN 116975935 B CN116975935 B CN 116975935B
- Authority
- CN
- China
- Prior art keywords
- participants
- index
- indexes
- ciphertext
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 54
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 26
- 238000011156 evaluation Methods 0.000 claims abstract description 25
- 238000012163 sequencing technique Methods 0.000 claims abstract description 11
- 238000004364 calculation method Methods 0.000 claims description 32
- 238000012795 verification Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 239000013598 vector Substances 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000012797 qualification Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供了一种数据比较方法、存储介质及电子设备,涉及数据安全领域。该数据比较方法应用于数据处理平台,该方法包括:确定目标事务的P个参与方各自的指标密文,指标密文是利用全同态加密算法对参与方提供的多个指标执行加密运算生成的,多个指标分别从不同维度表征参与方针对目标事务所贡献的参数值,指标密文包含N位数,N位数划分得到的多个数据组分别表征多个指标;基于P个参与方各自的指标密文,确定指标密文未被篡改的Q个参与方,Q为大于1的正整数;对Q个参与方各自的指标密文进行比较,得到Q个参与方的排序结果;基于Q个参与方的排序结果以及目标评价规则,从Q个参与方中确定满足目标评价规则的参与方。
Description
技术领域
本申请涉及数据安全技术领域,具体涉及一种数据比较方法、存储介质及电子设备。
背景技术
数据比较及其衍生的数据最值与数据排序一直是数据库管理中的常用操作。明文形式下的数据比较方法可以高效地实现,但是对于密文数据集的处理场景,对密文数据比较技术提出了新的挑战。首先,密文数据具有高度的安全性,任何能够访问密文数据的人无法给出关于其对应的明文数据的各种计算,包括明文数据的大小比较;其次,密文数据通常具备多指标的性质,在对密文数据进行比较时,需要同时考虑多个指标的排序问题。
发明内容
有鉴于此,本申请实施例提供了一种数据比较方法、存储介质及电子设备。
第一方面,本申请一实施例提供了一种数据比较方法,包括:应用于数据处理平台。该数据比较方法包括:确定目标事务的P个参与方各自的指标密文,指标密文是利用全同态加密算法对参与方提供的多个指标执行加密运算生成的,多个指标分别从不同维度表征参与方针对目标事务所贡献的参数值,指标密文包含N位数,N位数划分得到的多个数据组分别表征多个指标;基于P个参与方各自的指标密文,确定指标密文未被篡改的Q个参与方,Q为大于1的正整数;对Q个参与方各自的指标密文进行比较,得到Q个参与方的排序结果;基于Q个参与方的排序结果以及目标评价规则,从Q个参与方中确定满足目标评价规则的参与方。
结合第一方面,在第一方面的某些实现方式中,基于P个参与方各自的指标密文,确定指标密文未被篡改的Q个参与方,包括:获取P个参与方各自对应的零知识证明文件,零知识证明文件基于参与方提供的多个指标中非公开的指标生成;基于P个参与方各自对应的指标密文,对P个参与方各自对应的零知识证明文件进行验证;将验证通过的零知识证明文件对应的参与方确定为指标密文未被篡改的参与方,得到Q个参与方。
结合第一方面,在第一方面的某些实现方式中,参与方的零知识证明文件的生成方法包括:确定参与方对应的多个指标和指标密文、以及指标密文对应的全同态加密方案;将参与方对应的多个指标和指标密文、以及全同态加密方案输入预先构建的零知识证明电路;在零知识证明电路内,对参与方的多个指标执行线性化计算,得到多个指标对应的综合指标;利用全同态加密方案对综合指标进行加密,生成参与方的指标密文;将零知识证明电路内生成的指标密文和零知识证明电路外输入的指标密文进行比较;若比较结果相同,则生成参与方的零知识证明文件。
结合第一方面,在第一方面的某些实现方式中,基于P个参与方各自的指标密文,确定指标密文未被篡改的Q个参与方,包括:获取针对目标事务设定的多个指标各自对应的范围证明;基于多个指标各自对应的范围证明,确定多个指标对应的指标密文的理论二进制长度;确定P个参与方各自的指标密文的实际二进制长度;将指标密文的实际二进制长度与理论二进制长度一致的指标密文对应的参与方确定为指标密文未被篡改的参与方,得到Q个参与方。
结合第一方面,在第一方面的某些实现方式中,确定目标事务的P个参与方各自的指标密文,包括:针对P个参与方中的每个参与方,获取参与方发送的多个指标各自对应的密文,每个指标对应的密文是利用全同态加密算法得到的;确定多个指标各自对应的预设二进制长度;确定多个指标的排列顺序以及基于排列顺序确定的多个指标各自的序列号;基于多个指标各自的序列号和预设二进制长度,对多个指标各自对应的密文进行线性化计算,得到P个参与方各自的指标密文。
结合第一方面,在第一方面的某些实现方式中,线性化计算的公式包括:
表示参与方的指标密文,/>表示序列号为j的指标对应的密文,/>表示序列号为l的指标对应的预设二进制长度,k表示指标的个数。
结合第一方面,在第一方面的某些实现方式中,确定多个指标各自对应的预设二进制长度,包括:获取针对目标事务设定的多个指标各自对应的范围证明;基于针对目标事务设定的多个指标各自对应的范围证明,确定多个指标各自对应的预设二进制长度。
结合第一方面,在第一方面的某些实现方式中,对Q个参与方各自的指标密文进行比较,得到Q个参与方的排序结果,包括:获取多个指标对应的比较优先级;基于多个指标对应的比较优先级,对Q个参与方各自的指标密文中的第一数据组进行比较,第一数据组表征优先级最高的指标;若至少两个参与方的第一数据组相同,则对至少两个参与方各自的指标密文中的第二数据组进行比较,直至得到Q个参与方各自的指标密文的排列顺序,第二数据组表征优先级次高的指标;基于Q个参与方各自的指标密文的排列顺序,确定Q个参与方的排列结果。
第二方面,本申请一实施例提供了一种数据比较方法,应用于数据提供平台。该数据比较方法包括:接收目标事务的P个参与方各自提供的多个指标,多个指标分别从不同维度表征参与方针对目标事务所贡献的参数值;分别对P个参与方各自提供的多个指标执行线性化计算,得到P个参与方各自的综合指标;利用全同态加密算法,分别对P个参与方各自的综合指标进行加密运算,得到P个参与方各自的指标密文;将P个参与方各自的指标密文发送至数据处理平台,以便数据处理平台接收P个参与方各自的指标密文后,对P个参与方的指标密文进行比较。
结合第二方面,在第一方面的某些实现方式中,分别对Q个参与方各自提供的多个指标执行线性化计算的公式包括:
m表示参与方关于目标事务的综合指标,表示在由多个指标组成的排列中、序列号为j的指标,/>表示序列号为l的指标对应的预设二进制长度,k表示指标的个数。
第三方面,本申请一实施例提供了一种数据比较装置,应用于数据处理平台。该数据处理装置包括:第一确定模块,用于确定目标事务的P个参与方各自的指标密文,指标密文是利用全同态加密算法对参与方提供的多个指标执行加密运算生成的,多个指标分别从不同维度表征参与方针对目标事务所贡献的参数值,指标密文包含N位数,N位数划分得到的多个数据组分别表征多个指标;第二确定模块,用于基于P个参与方各自的指标密文,确定指标密文未被篡改的Q个参与方,Q为大于1的正整数;比较模块,用于对Q个参与方各自的指标密文进行比较,得到Q个参与方的排序结果;第三确定模块,用于基于Q个参与方的排序结果以及目标评价规则,从Q个参与方中确定满足目标评价规则的参与方。
第四方面,本申请一实施例提供了一种数据比较装置,应用于数据提供平台。该数据处理装置包括:接收模块,用于接收目标事务的P个参与方各自提供的多个指标,多个指标分别从不同维度表征参与方针对目标事务所贡献的参数值;计算模块,用于分别对P个参与方各自提供的多个指标执行线性化计算,得到P个参与方各自的综合指标;加密模块,用于利用全同态加密算法,分别对P个参与方各自的综合指标进行加密运算,得到P个参与方各自的指标密文;发送模块,用于将P个参与方的指标密文发送至数据处理平台,以便数据处理平台接收P个参与方各自的指标密文后,对P个参与方的指标密文进行比较。
第四方面,本申请一实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序用于执行第一方面和第二方面所述的方法。
第五方面,本申请一实施例提供了一种电子设备,该电子设备包括:处理器;用于存储处理器可执行指令的存储器;该处理器用于执行第一方面和第二方面所述的方法。
在本实施例中,指标密文是基于全同态加密的方案得到的,一方面保证了参与方的多个指标的隐私数据安全性,另一方面,本申请改进了只能处理单指标比较的全同态加密方案,通过线性化的方式将多指标比较事件转化为单指标比较,也即对指标密文进行比较,且保证了线性化前后的指标的明文信息可以相互导出。因此,本申请既保证了指标等隐私数据比较时的语义安全性,同时又解决了多指标的隐私数据的比较问题。
附图说明
通过结合附图对本申请实施例进行更详细地描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1所示为本申请一示例性实施例提供的数据比较方法的应用场景示意图。
图2所示为本申请一示例性实施例提供的数据比较方法的流程示意图。
图3所示为本申请一示例性实施例提供的确定Q个参与方的流程示意图。
图4所示为本申请一示例性实施例提供的确定P个参与方各自的指标密文的流程示意图。
图5所示为本申请一示例性实施例提供的得到Q个参与方的排序结果的流程示意图。
图6所示为本申请一示例性实施例提供的数据比较装置的结构示意图。
图7所示为本申请另一示例性实施例提供的数据比较装置的结构示意图。
图8所示为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
通过数据比较方法,可以高效地对被整理的数据进行有序的操作,例如,对被整理的数据依照某种给定的组织顺序进行最值计算或排列。数据比较方法可以应用于各种处理场景,例如,在买方出价的拍卖系统中,要求拍卖平台整理各报价方的报价值,并依照条件筛选后找出报价数据的最高值,此时,需要通过数据比较方法进行数据最值的计算。或者,会员系统根据会员等级或贡献分,匹配相应的奖励时,会员系统对等级或贡献分进行数据比较,得到所有会员的数据集排序结果。
数据比较在明文形式下很容易进行,但是,密文数据比较对传统数据比较技术提出了新的挑战,尤其是对具有多指标性质的密文数据的比较。
目前,对于密文数据比较的算法有如下几种:第一,基于保序加密及其衍生的揭序加密等加密算法的性质,直接通过密文本身的大小关系反映明文的大小关系。第二,基于安全多方计算,通过待比较密文生成不泄露明文的加密信息,通过与私钥持有方交互获得比较反馈。第三,基于全同态加密算法,对两个密文进行对应明文较大值的密文计算,获得最值密文以及对应明文序号的密文。
基于保序加密、揭序加密和安全多方计算的密文比较方案并不满足密文的语义安全性,这意味着能够访问密文数据库的攻击者能够进行一定的关于明文数据的计算,比如直接根据密文判断明文的相对大小,这就造成了一定程度上的隐私泄露。从某种意义上说,在一个多方提供明文数据的环境中(比如投票系统、拍卖系统),密文数据条目往往直接与其消息来源方的身份挂钩,如果攻击者可以直接根据密文判断明文相对大小,那么在这样的系统中攻击者将直接得知对应密文的消息来源方所给出的明文消息相对大小。因此攻击者能够做出的关于明文数据的计算将直接威胁到投票系统和拍卖系统的安全性。尤其,如果保序加密(揭序加密)的明文空间过小或密文空间过小,或者在安全多方计算方案中私钥持有方不对计算方给予严格的问询限制,那么攻击者甚至能够直接通过主动生成一些猜测值的密文,并根据密文结果逼近给定密文,从而直接根据自己的猜测值得到明文的精准估计,这在安全多方计算中这在已知的应用场景中是十分危险的。
另一方面,基于全同态加密算法获得最值密文以及对应明文序号的密文虽然具备了语义安全,可以避免前两种方案中的隐私泄露问题,但是该方案难以处理多指标数据的比较问题。究其原因,是由于该方案输出的最值密文并不一定与相应明文最值在数据库存储的密文一致,且对应序号是以密文形式计算出来的;而在多指标数据比较时,也只能根据一定的顺序对单个指标逐一比较,这就导致下一个指标在排序时无法跟踪上一个指标的排序原则。
图1所示为本申请一示例性实施例提供的数据比较方法的应用场景示意图。本申请实施例提出的数据比较方法可由电子设备执行,该电子设备可以是终端,比如智能手机、平板电脑、台式计算机、智能语音交互设备或者车载终端等等;或者该电子设备还可以是服务器,比如独立的物理服务器、由多个服务器组成的服务器集群,或者能够进行云计算的云服务器。
基于本申请实施例提出的数据处理方法,假设电子设备为服务器。如图1所示,本实施环境包括数据提供平台10和数据处理平台20,数据提供平台10和数据处理平台20之间通信连接,并且,数据提供平台10和数据处理平台20对应的服务器可以是实体机,也可以是虚拟机,数量可以是一个或多个,本申请实施例对服务器的类型和数量不作限定。
示例性地,数据提供平台10应用于会员系统,会员系统中记录有一年中所有在某购物店铺消费过的用户,以及用户对应的消费总金额、消费品类、总订单数量等消费指标。数据提供平台10根据记录的用户的多个消费指标,生成每个用户对应的消费指标密文,并将其发送至数据处理平台20。同时,数据处理平台20获取会员系统的设定的目标评价规则,例如,目标评价规则为确定消费总金额大于第一预设额度的会员,或者,目标评价规则为消费总金额大于第二预设额度,同时总订单数量大于第一预设数量的会员。需要说明的是,本实施例不限制目标评价规则的具体内容,具体地,可根据实际应用情况而定。
进一步地,数据处理平台20根据目标评价规则,设置排序规则,并根据排序规则,对会员的消费指标密文进行排序,得到会员的排列结果。根据会员的排序结果和目标评价规则,从所有的会员中确定满足目标评价规则的会员,将这些会员的信息发送给会员系统。
上述实施例是将数据比较方法应用于会员系统的示例,此外,本申请实施例中的数据比较方法还可应用于拍卖系统,此时,数据提供平台10可视为买方平台,数据处理平台20可视为交易平台。数据处理平台在确定满足目标评价规则的参与方之后,可将其发送至卖方平台,供卖方查看和选择。数据比较方法在拍卖系统中更具体地应用,此处不再详细举例。
图2所示为本申请一示例性实施例提供的数据比较方法的流程示意图。如图2所示,本申请实施例提供的数据比较方法涉及数据提供平台和数据处理平台。
如图2所示,针对数据提供平台,本申请实施例提供的数据比较方法包括如下步骤。
步骤S210,接收目标事务的P个参与方各自提供的多个指标。
多个指标分别从不同维度表征参与方针对目标事务所贡献的参数值,此处的多个指标表示的是指标明文,并且,多个指标的值应在约定的数值范围内。例如,针对目标事务,数据提供平台和数据处理平台共同约定了数据类型T,数据类型T可以通过若干有限集合的笛卡尔积表示,如T=,数据提供方根据约定以及自身需求,提供若干T中的数据向量(数据向量由多个指标构成)。
假设P个参与方组成集合的,数据处理平台和数据提供平台约定的数据向量的长度为k,数据向量各分量对应的编码集合为/>。
针对P个参与方中的每个参与方P,其提供的数据类型集合中的数据向量可表示为/>,同时,/>存储于/>的私人服务器中保证不会被泄露。
在本申请实施例中,目标事务为任意需要数据提供平台和数据处理平台交涉的业务。示例性地,目标事务为针对目标订单的拍卖事务,相应地,多个指标包括但不限于针对该目标订单的报价、交易量和报价时间等等。另一个示例,目标事务为商场甲的会员积分奖励事务,多个指标包括但不限于在商场甲内的消费金额、消费时间、消费品类等等。可以理解的是,本申请实施例不限制目标事务的具体类型,也不限制多个指标的具体表现形式,目标事务和多个指标均可根据具体的应用场景来确定。
步骤S220,分别对P个参与方各自提供的多个指标执行线性化计算,得到P个参与方各自的综合指标。
在本实施例中,对多个指标执行线性化计算的目的是将多个指标生成一个指标,方便用于数据比较。具体地,确定参与方提供的多个指标所组成的数据向量,确定数据向量/>中每个指标对应的预设二进制长度,以及每个指标在该数据向量中的序列号,也即指标所对应的j的值。进一步地,根据每个指标对应的预设二进制长度,以及每个指标在该数据向量中的序列号,对该数据向量中的多个指标执行线性化计算,得到综合指标。
示例性地,针对P个参与方中的每个参与方,数据提供平台对多个指标执行线性化计算,得到的综合指标可表示为
其中,表示参与方/>关于目标事务的综合指标,/>表示在由多个指标组成的排列(也即数据向量)中、序列号为j的指标,/>表示序列号为l的指标对应的预设二进制长度,k表示指标的个数。
公式的含义是指,将指标/>的二进制位数往前移指定位数,该指定位数根据/>到/>的值确定。举例来说,k=3,则/>的二进制位数需要往前移动位,/>的二进制位数需要往前移动/>位,/>的二进制位数不需要移位。假设参与方提供了三个指标,分别为A、B和C,其中,指标A的预设二进制长度为6位,指标B的预设二进制长度为7位,指标C的预设二进制长度为8位,则综合指标/>,/>的0至7位为C,8至14位为B,15至20位为A。
示例性地,可通过对下述实施例示出的公式解密之后得到。对/>按照一定的位数进行拆分,可以得到原始的多个指标各自的值。
步骤S230,利用全同态加密算法,分别对P个参与方各自的综合指标进行加密运算,得到P个参与方各自的指标密文。
示例性地,P个参与方各自的指标密文可以表示为,指标密文包含N位数,N位数划分得到的多个数据组分别表征多个指标。
步骤S240,将P个参与方各自的指标密文发送至数据处理平台。
步骤S240的目的是,便于数据处理平台接收P个参与方各自的指标密文后,对P个参与方的指标密文进行比较。
继续参考图2所示,针对数据处理平台,本申请实施例提供的数据比较方法包括如下步骤。
步骤S250,确定目标事务的P个参与方各自的指标密文。
指标密文是利用全同态加密算法对参与方提供的多个指标执行加密运算生成的,多个指标分别从不同维度表征参与方针对目标事务所贡献的参数值,指标密文包含N位数,N位数划分得到的多个数据组分别表征多个指标。
在本实施例中,数据处理平台接收数据提供平台发送的P个参与方各自的指标密文,以确定P个参与方各自对应的指标密文。
步骤S260,基于P个参与方各自的指标密文,确定指标密文未被篡改的Q个参与方。
在本实施例中,数据处理平台直接从数据提供平台获取P个参与方各自的指标密文,也即,参与方的指标密文是在数据提供平台生成的。因此,数据提供平台在生成参与方的指标密文之前,数据处理平台可以向数据提供平台发送验证信息,数据提供平台在生成参与方的指标密文之后,将验证信息和参与方的指标密文进行异或操作,将操作结果发送给数据处理平台。此时,数据处理平台将操作结果进行反异或操作,得到参与方的验证信息和指标密文。进一步地,验证与指标密文绑定的验证信息,进而确定指标密文未被篡改的Q个参与方。
步骤S270,对Q个参与方各自的指标密文进行比较,得到Q个参与方的排序结果。
具体地,针对参与方提供的多个指标,确定多个指标对应的优先级比较顺序。根据多个指标对应的优先级比较顺序,以及每个参与方的指标密文中分别表征该参与方的多个指标的数据组,对参与方的指标密文进行排序,进而得到Q个参与方的排序结果。
步骤S280,基于Q个参与方的排序结果以及目标评价规则,从Q个参与方中确定满足目标评价规则的参与方。
示例性地,目标评级规则为从Q个参与方中选择指标密文最大或最小的参与方,或者,目标评价规则为从Q个参与方中选择排列最靠前的Q个参与方。
在本实施例中,指标密文是基于全同态加密的方案得到的,一方面保证了参与方的多个指标的隐私数据安全性,另一方面,本申请改进了只能处理单指标比较的全同态加密方案,通过线性化的方式将多指标比较事件转化为单指标比较,也即对指标密文进行比较,且保证了线性化前后的指标的明文信息可以相互导出。因此,本申请既保证了指标等隐私数据比较时的语义安全性,同时又解决了多指标的隐私数据的比较问题。
在图2所示的实施例中,简单列举了两种从P个参与方中确定指标密文未被篡改的Q个参与方的方式,下面,再详细介绍两种确定指标密文是否被篡改的方法。
图3所示为本申请一示例性实施例提供的确定Q个参与方的流程示意图。图3从零知识证明的角度,阐述了如何确定指标密文未被篡改的Q个参与方。
如图3所示,在本申请实施例中,基于P个参与方各自的指标密文,确定指标密文未被篡改的Q个参与方,包括如下步骤。
步骤S310,获取P个参与方各自对应的零知识证明文件。
零知识证明文件基于参与方提供的多个指标中非公开的指标生成。示例性地,在拍卖系统中,企业资质可以用具体的数值(例如,1-100的数值)来评定,并且,企业资质视为公开的指标,所以,在生成参与方的零知识证明文件时,不能将企业资质打包进去。
零知识证明是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
示例性地,在本实施例中,P个参与方中的每个参与方的零知识证明文件的生成过程如下:
首先,获取参与方对应的指标密文、该参与方的多个指标以及指标密文对应的全同态加密方法,其中,指标密文是预先在一个可信环境中生成的,并作为公有输入,参与方的多个指标是私有输入。将参与方对应的多个指标和指标密文,以及全同态加密方案输入预先构建的零知识证明电路
进一步地,步骤一至步骤三在零知识证明电路内执行。
步骤一、对多个指标执行线性化计算,得到多个指标对应的综合指标;
步骤二、利用全同态加密方案对综合指标进行全同态加密运算,得到参与方的指标密文;
步骤三、将零知识证明电路内生成的指标密文和零知识证明电路外输入的指标密文进行比较。
若步骤三的执行结果是相同,则证明零知识证明电路执行成功,并生成参与方的零知识证明文件。
需要说明的是,在本实施例中,在零知识证明电路的生成过程中、所获取的参与方对应的指标密文对应的加密算法,与零知识证明电路内的步骤二所采用的加密方法是相同的。
步骤S320,基于P个参与方各自对应的指标密文,对P个参与方各自对应的零知识证明文件进行验证。
将P个参与方各自对应的指标密文输入到P个参与方各自生成的零知识证明文件中,若零知识证明文件能够运行成功,则表明其对应的参与方的指标密文未被篡改,否则,认为其对应的参与方的指标密文被篡改。
步骤S330,将验证通过的零知识证明文件对应的参与方确定为指标密文未被篡改的参与方,得到Q个参与方。
在本实施例中,数据处理平台利用零知识证明文件对指标密文未被篡改的Q个参与方进行确认,在保证验证结果准确的同时,数据处理平台并未获取任何参与方任何的私有信息。同时,参与方的零知识证明文件是基于未公开的指标生成的,避免了恶意用户能够通过公开的指标反推出参与方其他的私有指标,进一步保证了零知识证明文件的安全性。因此,通过图3中的方案,保证了恶意用户模型下用户提交隐私数据(指标密文)的合法性。
在另一实施例中,通过范围证明确定参与方的指标密文是否被篡改。具体地,基于P个参与方各自的指标密文,确定指标密文未被篡改的Q个参与方,包括:获取针对目标事务设定的多个指标各自对应的范围证明;基于多个指标各自对应的范围证明,确定多个指标对应的指标密文的理论二进制长度;确定P个参与方各自的指标密文的实际二进制长度;将指标密文的实际二进制长度与理论二进制长度一致的指标密文对应的参与方确定为指标密文未被篡改的参与方,得到Q个参与方。
如图2实施例中所述,数据提供平台和数据处理平台共同约定了数据类型,并且,约定了多个指标的值应在约定的数值范围内。示例性地,数据提供平台提供了指标1和指标2,指标1的范围证明是指标1的数值属于(0,128),指标2的范围证明是指标2的数值属于(0,256)。基于此,指标1的理论二进制长度是7,指标2的理论二进制长度是8。指标密文的二进制长度和原始指标的二进制长度存在预设的对应关系,因此,可以根据原始指标的理论二进制长度确定真实的指标密文所对应的理论二进制长度,若实际获取的指标密文的二进制长度与其理论二进制长度不一致,则说明该指标密文被篡改。
通过本实施例中的方案,同样保证了恶意用户模型下用户提交隐私数据(指标密文)的合法性。
在图2所示实施例中,指标密文是在数据提供平台生成,并发送给数据处理平台。下面,参考图4,阐述数据处理平台端如何生成指标密文。在该实施场景下,数据提供平台生成参与方的多个指标各自对应的密文,并将参与方的多个指标各自对应的密文发送至数据处理平台。
具体地,图4所示为本申请一示例性实施例提供的确定P个参与方各自的指标密文的流程示意图。如图4所示,在本申请实施例中,确定目标事务的P个参与方各自的指标密文,包括如下步骤。
步骤S410,针对P个参与方中的每个参与方,获取参与方发送的多个指标各自对应的密文。
每个指标对应的密文是利用全同态加密算法得到的。
示例性地,参与方提供的多个指标/>的密文记为。
步骤S420,确定多个指标各自对应的预设二进制长度。
示例性地,若是一个可编码为实数类型的集合,则/>中的指标对应的预设二进制长度为该指标对应的二进制表示的最大位数。若/>是一个分类指标集合,则/>中的指标对应的预设二进制长度为/>中指标个数的二进制表示位数。基于此,每个/>中的指标都可以被编码为不超过/>的二进制数。
另一个示例,可通过范围证明确定多个指标各自对应的预设二进制长度。详细的确定方法参见前述利用范围证明确定指标密文是否被篡改对应的实施例。
步骤S430,确定多个指标的排列顺序以及基于排列顺序确定的多个指标各自的序列号。
步骤S440,基于多个指标各自的序列号和预设二进制长度,对多个指标各自对应的密文进行线性化计算,得到P个参与方各自的指标密文。
具体地,线性化计算的公式包括:
表示所述参与方/>的指标密文,/>表示序列号为j的指标对应的密文,/>表示序列号为l的指标对应的预设二进制长度,k表示所述指标的个数。
从本申请提供的对多个指标各自对应的密文的线性化公式可以看到,当j等于一个具体值时,其实只进行了一次乘法运算,因此,除了利用全同态加密算法对指标进行加密之外,还可以利用单次乘法的同态加密算法,其相比于全同态加密算法,计算效率会更高。
传统的多指标数据比较,是通过对单一指标进行排序来实现,然而,单一指标排序存在一些问题。举例来说,存在三个参与方,其提供的指标及其排序结果如表1所示。
表1
如表1所示,三个参与方其各自的序号分别为1、2、3,其中,1提供的指标为3,其对应的密文为;2提供的指标为5,其对应的密文为/>;3提供的指标为/>,其对应的密文为/>。对三个参与方的指标的密文进行排序后的结果是:/>'/>、/>'、/>'/>,其中,/>是序号3的加密,/>和/>分别是序号2和序号1的加密。在这里可以看到,指标的密文/>在排序之后变成了/>',其他两个指标的密文也做了相同的变换,是因为如果指标的密文在排序前后不变化的话,数据处理平台可能会通过指标的密文,直接看出哪个参与方的密文最大,并基于此与合谋的参与方进行作弊。例如,若数据处理平台是拍卖平台,指标包括出价,该拍卖平台通过出价的密文获悉出价最高的参与方,那么,拍卖平台可以与合谋的参与方进行秘密通信,告知合谋的参与方出价一个数值,在拍卖平台知道加密方案的前提下,通过不断地试探,合谋的参与方可最终确定加密后的数值大于前述参与方提供的出价的密文的数值。
上述是对传统的单指标排序的举例,下面,结合上述举例以及图4所示实施例,详细地阐述将多指标进行线性化的意义,其中,序号为1、2、3的参与方分别提供的多个指标如表2所示。
表2
示例性地,序号1的参与方提供了两个指标,分别为3和4,序号2提供的俩指标分别为5和2,序号3的参与方提供的俩指标分别为7和10。根据指标1的值进行排序的第一次排序结果如表2所示,可以看出,根据指标1的值的大小把指标1排好之后,指标2是无法同步跟随到其对应的参与方的序号的,之后,在第一次排序结果的基础上,若根据指标2的值对指标2进行排序,指标2对应的参与方的序号的排列结果与最初始的对应结果存在不一致的可能性,因此,对于指标的密文的排序,会丢失原来的参与方的序号信息。
基于此,本申请实施例将参与方提供的多个指标的各自密文线性化为一个指标密文,并且,这个指标密文的N位数划分得到的多个数据组分别对应多个指标,实现了通过一个指标密文对多个参与方的多个指标进行比较的问题,便于得到多个参与方的排序结果。
在图4所示实施例阐述的情况下,若用零知识证明文件确定指标密文未被篡改的Q个参与方,其方法区别于图3所示实施例中的方法。具体地,与图4对应的证明方法如下。
获取P个参与方各自对应的零知识证明文件,零知识证明文件基于参与方提供的多个指标中非公开的指标生成;基于P个参与方的多个指标各自对应的密文,对P个参与方各自对应的零知识证明文件进行验证;将验证通过的零知识证明文件对应的参与方确定为指标密文未被篡改的参与方,得到Q个参与方。
具体地,在本实施例中,P个参与方的零知识证明文件的生成过程如下。
获取参与方的多个指标各自对应的密文和指标对应的密文的加密方案,以及参与方的多个指标。其中,每个指标对应的密文均是在一个可信环境中生成的,并作为公有输入,参与方的多个指标是私有输入。
进一步地,步骤一和步骤二在零知识证明电路内执行。
步骤一、利用输入到零知识证明电路内的加密方案对参与方的多个指标分别进行同态加密,得到多个指标各自对应的密文;
步骤二、将零知识证明电路内生成的多个指标各自对应的密文,和零知识证明电路我输入的多个指标各自对应的指标密文进行比较。
若步骤二的执行结果相同,则证明零知识证明电路执行成功,并生成参与方的零知识证明文件。
需要说明的是,在本实施例中,在零知识证明电路的生成过程中、所获取的参与方的多个指标各自对应的密文采用的加密算法,与零知识证明电路内的步骤一所采用的加密算法相同。
图5所示为本申请一示例性实施例提供的得到Q个参与方的排序结果的流程示意图。在图2所示实施例的基础上延伸出图5所示实施例,下面着重叙述图5所示实施例与图2所示实施例的不同之处,相同之处不再赘述。
如图5所示,在本申请实施例中,对Q个参与方各自的指标密文进行比较,得到Q个参与方的排序结果,包括如下步骤。
步骤S510,获取多个指标对应的比较优先级。
示例性地,参与方提供的多个指标对应的数据向量/>,这些分量在数据向量/>中的排列顺序可对应指标的比较优先级。例如,/>指标的比较优先级最大,/>指标的比较优先级最小,也就是说,优先根据/>指标的大小对Q个参与方的指标密文进行比较,其次是/>指标直至/>指标。……
步骤S520,基于多个指标对应的比较优先级,对Q个参与方各自的指标密文中的第一数据组进行比较,第一数据组表征优先级最高的指标。
示例性地,参与方的指标密文可以表示为/>,其中,分别与参与方的多个指标对应,也即,/>对应指标/>,/>对应指标/>,……,/>对应指标/>。其中/>表示优先级最高的第一数组,依次类推。
步骤S530,判断是否存在至少两个参与方的第一数据组相同。
在实际应用中,若步骤S530的判断结果为是,则执行步骤S540,否则,直接根据第一数据组的比较结果,得到Q个参与方的排列结果。
步骤S540,对至少两个参与方各自的指标密文中的第二数据组进行比较,直至得到Q个参与方各自的指标密文的排列顺序。
第二数据组表征优先级次高的指标。参照步骤S510中的示例,表示优先级次高的二数组。
步骤S550,基于Q个参与方各自的指标密文的排列顺序,确定Q个参与方的排列结果。
更具体地,数据处理平台整合所有来自Q个参与方的已存储的指标密文,并构造关于对应明文/>排序算法的同态电路,接着以/>作为同态电路的输入,得到/>的密态排序表/>。示例性地,密态排序表/>可以视作一个/>的矩阵,由两个长度为/>的列向量构成,第一个列向量/>是线性化明文/>的重加密的一个排列,第二个列向量/>是第一个列向量对应指标(即下标i)的重加密的同一排列。进一步地,根据密态排序表/>的最终排列结果,得到Q个参与方的排列结果。
在本实施例中,通过参与方的指标密文与该参与方的多个指标的对应关系,在确定多个指标对应的比较优先级,可以解决多指标数据在隐私状态下的数据比较问题,并且自适应实现了多样化的数据比较方案。
在一些实现方式中,数据比较方法还包括:将满足目标评价规则的参与方的指标密文发送至可信认证方,以便可信认证方对满足目标评价规则的参与方的指标密文进行解密,得到满足目标评价规则的参与方的指标明文,并基于指标明文得到参与方提供的多个指标。
沿用图5所示实施例,根据业务方式选择,如果要求最终披露多指标数据集的最值,那么数据处理平台在计算结束后,将密态排序表的第一行发往可信第三方解密得到对应的线性化明文及其指标,其形式是/>,/>是某个/>到/>之间的整数。接着可信第三方可以从线性化明文中恢复该最值数据,并重构每个/>的值。如果要求最终披露多指标数据集的排序,那么数据处理平台在计算结束后,将密态排序表/>的第二列/>发往可信第三方解密,以得到所有密文对应的序列号指标。
上文结合图2至图5,详细描述了本申请的数据比较方法实施例,下面结合图6和图7,详细描述本申请的数据比较装置实施例。应理解,数据比较方法实施例的描述与数据比较装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图6所示为本申请一示例性实施例提供的数据比较装置的结构示意图。示例性地,该数据比较装置应用于数据处理平台。如图6所示,本申请实施例提供的数据比较装置60包括:
第一确定模块610,用于确定目标事务的P个参与方各自的指标密文,指标密文是利用全同态加密算法对参与方提供的多个指标执行加密运算生成的,多个指标分别从不同维度表征参与方针对目标事务所贡献的参数值,指标密文包含N位数,N位数划分得到的多个数据组分别表征多个指标;
第二确定模块620,用于基于P个参与方各自的指标密文,确定指标密文未被篡改的Q个参与方,Q为大于1的正整数;
比较模块630,用于对Q个参与方各自的指标密文进行比较,得到Q个参与方的排序结果;
第三确定模块640,用于基于Q个参与方的排序结果以及目标评价规则,从Q个参与方中确定满足目标评价规则的参与方。
在本申请一实施例中,第二确定模块620还用于,获取P个参与方各自对应的零知识证明文件,零知识证明文件基于参与方提供的多个指标中非公开的指标生成;基于P个参与方各自对应的指标密文,对P个参与方各自对应的零知识证明文件进行验证;将验证通过的零知识证明文件对应的参与方确定为指标密文未被篡改的参与方,得到Q个参与方。
在本申请一实施例中,第二确定模块620还用于,确定参与方对应的多个指标和指标密文、以及指标密文对应的全同态加密方案;将参与方对应的多个指标和指标密文、以及全同态加密方案输入预先构建的零知识证明电路;在零知识证明电路内,对参与方的多个指标执行线性化计算,得到多个指标对应的综合指标;利用全同态加密方案对综合指标进行加密,生成参与方的指标密文;将零知识证明电路内生成的指标密文和零知识证明电路外输入的指标密文进行比较。若比较结果相同,则生成参与方的零知识证明文件。
在本申请一实施例中,第二确定模块620还用于,获取针对目标事务设定的多个指标各自对应的范围证明;基于多个指标各自对应的范围证明,确定多个指标对应的指标密文的理论二进制长度;确定P个参与方各自的指标密文的实际二进制长度;将指标密文的实际二进制长度与理论二进制长度一致的指标密文对应的参与方确定为指标密文未被篡改的参与方,得到Q个参与方。
在本申请一实施例中,第一确定模块610还用于,针对P个参与方中的每个参与方,获取参与方发送的多个指标各自对应的密文,每个指标对应的密文是利用全同态加密算法得到的;确定多个指标各自对应的预设二进制长度;确定多个指标的排列顺序以及基于排列顺序确定的多个指标各自的序列号;基于多个指标各自的序列号和预设二进制长度,对多个指标各自对应的密文进行线性化计算,得到P个参与方各自的指标密文。
在本申请一实施例中,线性化计算的公式包括:
表示参与方的指标密文,/>表示序列号为j的指标对应的密文,/>表示序列号为l的指标对应的预设二进制长度,k表示指标的个数。
在本申请一实施例中,第一确定模块610还用于,获取针对目标事务设定的多个指标各自对应的范围证明;基于针对目标事务设定的多个指标各自对应的范围证明,确定多个指标各自对应的预设二进制长度。
在本申请一实施例中,比较模块630还用于,获取多个指标对应的比较优先级;基于多个指标对应的比较优先级,对Q个参与方各自的指标密文中的第一数据组进行比较,第一数据组表征优先级最高的指标;若至少两个参与方的第一数据组相同,则对至少两个参与方各自的指标密文中的第二数据组进行比较,直至得到Q个参与方各自的指标密文的排列顺序,第二数据组表征优先级次高的指标;基于Q个参与方各自的指标密文的排列顺序,确定Q个参与方的排列结果。
图7所示为本申请另一示例性实施例提供的数据比较装置的结构示意图。示例性地,该数据比较装置应用于数据提供平台。如图7所示,本申请实施例提供的数据比较装置70包括:
接收模块710,用于接收目标事务的P个参与方各自提供的多个指标,多个指标分别从不同维度表征参与方针对目标事务所贡献的参数值;
计算模块720,用于分别对P个参与方各自提供的多个指标执行线性化计算,得到P个参与方各自的综合指标;
加密模块730,用于利用全同态加密算法,分别对P个参与方各自的综合指标进行加密运算,得到P个参与方各自的指标密文;
发送模块740,用于将P个参与方的指标密文发送至数据处理平台,以便数据处理平台接收P个参与方各自的指标密文后,对P个参与方的指标密文进行比较。
下面,参考图8来描述根据本申请实施例的电子设备。图8所示为本申请一示例性实施例提供的电子设备的结构示意图。
如图8所示,电子设备80包括一个或多个处理器801和存储器802。
处理器801可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备80中的其他组件以执行期望的功能。
存储器802可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器801可以运行所述程序指令,以实现上文所述的本申请的各个实施例的数据比较方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如包括P个参与方各自的指标密文、目标评价规则、每个参与方提供的多个指标、Q个参与方的排列结果等各种内容。
在一个示例中,电子设备80还可以包括:输入装置803和输出装置804,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
该输入装置803可以包括例如键盘、鼠标等等。
该输出装置804可以向外部输出各种信息,包括P个参与方各自的指标密文、目标评价规则、每个参与方提供的多个指标、Q个参与方的排列结果等。该输出装置804可以包括例如显示器、扬声器、打印机,以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备80中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备80还可以包括任何其他适当的组件。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述描述的根据本申请各种实施例的数据比较方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行,或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述描述的根据本申请各种实施例的数据比较方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种数据比较方法,其特征在于,应用于数据处理平台,所述方法包括:
确定目标事务的P个参与方各自的指标密文,所述指标密文是利用全同态加密算法对所述参与方提供的多个指标执行加密运算生成的,所述多个指标分别从不同维度表征所述参与方针对所述目标事务所贡献的参数值,所述指标密文包含N位数,所述N位数划分得到的多个数据组分别表征所述多个指标;
基于所述P个参与方各自的指标密文,确定指标密文未被篡改的Q个参与方,Q为大于1的正整数;
对所述Q个参与方各自的指标密文进行比较,得到所述Q个参与方的排序结果;
基于所述Q个参与方的排序结果以及目标评价规则,从所述Q个参与方中确定满足所述目标评价规则的参与方;
所述基于所述P个参与方各自的指标密文,确定指标密文未被篡改的所述Q个参与方,包括:
获取针对所述目标事务设定的多个指标各自对应的范围证明;
基于所述多个指标各自对应的范围证明,确定所述多个指标对应的指标密文的理论二进制长度;
确定所述P个参与方各自的指标密文的实际二进制长度;
将所述指标密文的实际二进制长度与所述理论二进制长度一致的指标密文对应的参与方确定为所述指标密文未被篡改的参与方,得到所述Q个参与方。
2.根据权利要求1所述的数据比较方法,其特征在于,所述确定目标事务的P个参与方各自的指标密文,包括:
针对所述P个参与方中的每个参与方,获取所述参与方发送的多个指标各自对应的密文,每个所述指标对应的密文是利用所述全同态加密算法得到的;
确定所述多个指标各自对应的预设二进制长度;
确定所述多个指标的排列顺序以及基于所述排列顺序确定的所述多个指标各自的序列号;
基于所述多个指标各自的序列号和预设二进制长度,对所述多个指标各自对应的密文进行线性化计算,得到所述P个参与方各自的指标密文。
3.根据权利要求2所述的数据比较方法,其特征在于,所述线性化计算的公式包括:
C表示所述参与方的指标密文,ej表示序列号为j的指标对应的密文,nl表示序列号为l的指标对应的预设二进制长度,k表示所述指标的个数。
4.根据权利要求2所述的数据比较方法,其特征在于,确定所述多个指标各自对应的预设二进制长度,包括:
获取针对所述目标事务设定的多个指标各自对应的范围证明;
基于针对所述目标事务设定的多个指标各自对应的范围证明,确定所述多个指标各自对应的预设二进制长度。
5.根据权利要求1至4任一项所述的数据比较方法,其特征在于,所述基于所述P个参与方各自的指标密文,确定指标密文未被篡改的所述Q个参与方,包括:
获取所述P个参与方各自对应的零知识证明文件,所述零知识证明文件基于所述参与方提供的多个指标中非公开的指标生成;
基于所述P个参与方各自对应的指标密文,对所述P个参与方各自对应的零知识证明文件进行验证;
将验证通过的零知识证明文件对应的参与方确定为所述指标密文未被篡改的参与方,得到所述Q个参与方。
6.根据权利要求5所述的方法,其特征在于,所述参与方的零知识证明文件的生成方法包括:
确定所述参与方对应的多个指标和指标密文、以及所述指标密文对应的全同态加密方案;
将所述参与方对应的多个指标和指标密文、以及所述全同态加密方案输入预先构建的零知识证明电路;
在所述零知识证明电路内,对所述参与方的多个指标执行线性化计算,得到所述多个指标对应的综合指标;
利用所述全同态加密方案对所述综合指标进行加密,生成所述参与方的指标密文;
将所述零知识证明电路内生成的指标密文和所述零知识证明电路外输入的指标密文进行比较;
若比较结果相同,则生成所述参与方的零知识证明文件。
7.根据权利要求1至4任一项所述的数据比较方法,其特征在于,所述对所述Q个参与方各自的指标密文进行比较,得到所述Q个参与方的排序结果,包括:
获取所述多个指标对应的比较优先级;
基于所述多个指标对应的比较优先级,对所述Q个参与方各自的指标密文中的第一数据组进行比较,所述第一数据组表征优先级最高的指标;
若至少两个参与方的第一数据组相同,则对所述至少两个参与方各自的指标密文中的第二数据组进行比较,直至得到所述Q个参与方各自的指标密文的排列顺序,所述第二数据组表征优先级次高的指标;
基于所述Q个参与方各自的指标密文的排列顺序,确定所述Q个参与方的排列结果。
8.一种数据比较方法,其特征在于,应用于数据提供平台,所述方法包括:
接收目标事务的P个参与方各自提供的多个指标,所述多个指标分别从不同维度表征所述参与方针对所述目标事务所贡献的参数值;
分别对所述P个参与方各自提供的多个指标执行线性化计算,得到所述P个参与方各自的综合指标;
利用全同态加密算法,分别对所述P个参与方各自的综合指标进行加密运算,得到所述P个参与方各自的指标密文;
将所述P个参与方各自的指标密文发送至数据处理平台,以便所述数据处理平台接收所述P个参与方各自的指标密文后,对所述P个参与方的指标密文进行比较;
所述分别对所述P个参与方各自提供的多个指标执行线性化计算的公式包括:
m表示所述参与方关于所述目标事务的综合指标,tj表示在由所述多个指标组成的排列中、序列号为j的指标,nl表示序列号为l的指标对应的预设二进制长度,k表示所述指标的个数。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1至8任一项所述的方法。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于执行上述权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311227047.7A CN116975935B (zh) | 2023-09-22 | 2023-09-22 | 数据比较方法、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311227047.7A CN116975935B (zh) | 2023-09-22 | 2023-09-22 | 数据比较方法、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116975935A CN116975935A (zh) | 2023-10-31 |
CN116975935B true CN116975935B (zh) | 2023-12-26 |
Family
ID=88476989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311227047.7A Active CN116975935B (zh) | 2023-09-22 | 2023-09-22 | 数据比较方法、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116975935B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150643A (zh) * | 2013-03-19 | 2013-06-12 | 天津市市政工程设计研究院 | 基于加权主成分分析的航空枢纽服务水平综合评价方法 |
CN113965331A (zh) * | 2021-12-22 | 2022-01-21 | 鹏城实验室 | 密态预测验证方法、装置、设备及存储介质 |
CN114168977A (zh) * | 2021-11-07 | 2022-03-11 | 西安电子科技大学 | 一种基于密文的数值安全排序方法及系统 |
CN114840568A (zh) * | 2022-07-04 | 2022-08-02 | 华控清交信息科技(北京)有限公司 | 一种密文排序方法、装置和用于密文排序的装置 |
CN115952526A (zh) * | 2023-03-06 | 2023-04-11 | 阿里云计算有限公司 | 密文排序方法、设备及存储介质 |
CN116150795A (zh) * | 2023-04-17 | 2023-05-23 | 粤港澳大湾区数字经济研究院(福田) | 基于同态加密的数据处理方法、系统及相关设备 |
CN116204912A (zh) * | 2023-04-28 | 2023-06-02 | 北京天润基业科技发展股份有限公司 | 基于全同态加密的数据处理方法和装置 |
CN116561789A (zh) * | 2023-07-07 | 2023-08-08 | 北京天润基业科技发展股份有限公司 | 隐私数据的处理方法、装置、电子设备及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4599194B2 (ja) * | 2005-03-08 | 2010-12-15 | 株式会社東芝 | 復号装置、復号方法、及びプログラム |
-
2023
- 2023-09-22 CN CN202311227047.7A patent/CN116975935B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150643A (zh) * | 2013-03-19 | 2013-06-12 | 天津市市政工程设计研究院 | 基于加权主成分分析的航空枢纽服务水平综合评价方法 |
CN114168977A (zh) * | 2021-11-07 | 2022-03-11 | 西安电子科技大学 | 一种基于密文的数值安全排序方法及系统 |
CN113965331A (zh) * | 2021-12-22 | 2022-01-21 | 鹏城实验室 | 密态预测验证方法、装置、设备及存储介质 |
CN114840568A (zh) * | 2022-07-04 | 2022-08-02 | 华控清交信息科技(北京)有限公司 | 一种密文排序方法、装置和用于密文排序的装置 |
CN115952526A (zh) * | 2023-03-06 | 2023-04-11 | 阿里云计算有限公司 | 密文排序方法、设备及存储介质 |
CN116150795A (zh) * | 2023-04-17 | 2023-05-23 | 粤港澳大湾区数字经济研究院(福田) | 基于同态加密的数据处理方法、系统及相关设备 |
CN116204912A (zh) * | 2023-04-28 | 2023-06-02 | 北京天润基业科技发展股份有限公司 | 基于全同态加密的数据处理方法和装置 |
CN116561789A (zh) * | 2023-07-07 | 2023-08-08 | 北京天润基业科技发展股份有限公司 | 隐私数据的处理方法、装置、电子设备及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
LWE上的全同态加密方案研究;吕海峰 等;信息网络安全(01);32-38 * |
Also Published As
Publication number | Publication date |
---|---|
CN116975935A (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Privacy-preserving machine learning with multiple data providers | |
CN111801910A (zh) | 基于证明验证的用于认证链外数据的系统和方法 | |
CN112152794A (zh) | 具有基于签名加入协议和无限签名的有效后量子匿名证明 | |
CN110637441A (zh) | 应用于数据重复数据删除的加密密钥生成 | |
Liu et al. | Secure multi-label data classification in cloud by additionally homomorphic encryption | |
CN116204912B (zh) | 基于全同态加密的数据处理方法和装置 | |
US11729000B2 (en) | Methods and systems for introducing self-contained intent functionality into decentralized computer networks | |
US20220131707A1 (en) | Digital Signature Method, Signature Information Verification Method, Related Apparatus and Electronic Device | |
US20230237437A1 (en) | Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing | |
US8594329B2 (en) | Non-interactive verifiable, delegated computation | |
CN115694822A (zh) | 基于零知识证明的验证方法、装置和系统、设备及介质 | |
CN114514550A (zh) | 将请求分区成区块链的交易 | |
CN116975935B (zh) | 数据比较方法、存储介质及电子设备 | |
WO2022110716A1 (zh) | 冷启动推荐方法、装置、计算机设备及存储介质 | |
CN115599959A (zh) | 数据共享方法、装置、设备及存储介质 | |
Tan et al. | Multi-party co-signature scheme based on SM2 | |
Shi et al. | A verifiable sealed-bid multi-qualitative-attribute based auction scheme in the semi-honest model | |
Rondelet | A note on anonymous credentials using BLS signatures | |
CN116896440B (zh) | 基于区块链的声明数据的验证方法和装置、设备和介质 | |
US11263063B1 (en) | Methods and systems for device-specific event handler generation | |
CN117155570B (zh) | 密文置换方法、存储介质及电子设备 | |
CN117728959B (zh) | 门限签名方法和装置、电子设备和存储介质 | |
Zhang et al. | A Blockchain-based Privacy-Preserving Scheme for Sealed-bid Auction | |
CN116975937B (zh) | 匿名证明方法、匿名验证方法 | |
CN116975936B (zh) | 金融资质证明方法、金融资质验证方法 |
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 |