CN115688185A - 多方隐私求和方法、装置、电子设备和存储介质 - Google Patents
多方隐私求和方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115688185A CN115688185A CN202211715224.1A CN202211715224A CN115688185A CN 115688185 A CN115688185 A CN 115688185A CN 202211715224 A CN202211715224 A CN 202211715224A CN 115688185 A CN115688185 A CN 115688185A
- Authority
- CN
- China
- Prior art keywords
- group
- participant
- vector
- sum
- 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.)
- Granted
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及计算机技术领域,提供了一种多方隐私求和方法、装置、电子设备和存储介质,方法包括:对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个数块的数块和,所述数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;基于所述各分组的数块和,确定求和结果;所述数块由对应参与方的本地数据拆分得到,所述本地数据为隐私数据,实现了安全高效的多方隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,能够在保证各参与方本地数据的安全性的前提下,实现多方隐私求和。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种多方隐私求和方法、装置、电子设备和存储介质。
背景技术
在风险预测领域,通常可以通过对历史数据的观测,得到某些预警规律,例如,观察多家银行在预设时间范围内的开户情况/办卡情况,从而预测出风险用户,而筛选风险用户的过程需借助于各家银行的隐私数据,即需在各家银行在预设时间范围内的新办卡用户数据集上进行多方求和,从而汇总得到对应时间范围内所有办卡用户的办卡总数,但是传统求和方法往往会泄露各家银行的隐私数据,因而如何在保证隐私数据的安全性的前提下,实现风险预测成了亟待解决的问题。
针对这一情况,目前常使用MPC(SecureMulti-Party Computation,安全多方计算)的多方隐私求和协议解决安全性的问题,但是,在工程落地上,当下的两方和三方隐私求和协议相对成熟,而多方的场景协议较少,且存在效率不高,工程落地难度较大。
发明内容
本发明提供一种多方隐私求和方法、装置、电子设备和存储介质,用以解决现有技术中多方求和效率不高,工程落地难度大的缺陷,实现了安全高效的多方隐私求和。
本发明提供一种基于单一值的多方隐私求和方法,所述方法应用于控制中心,包括:
对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
接收各分组中两个数块的数块和,所述数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;
基于所述各分组的数块和,确定求和结果;所述数块由对应参与方的本地数据拆分得到,所述本地数据为隐私数据。
本发明还提供一种基于单一值的多方隐私求和方法,所述方法应用于参与方,包括:
对各参与方的本地数据进行拆分,得到所述各参与方的两个数块,所述本地数据为隐私数据;
对各分组中的两个数块进行求和,得到所述各分组的数块和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的数块不同;
将所述各分组的数块和发送至控制中心,以使控制中心基于所述各分组的数块和,确定求和结果;所述数块和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
本发明还提供一种基于数据组的多方隐私求和方法,所述方法应用于控制中心,包括:
对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
接收各分组中两个向量碎片的向量碎片和,所述向量碎片和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的向量碎片不同,且每一参与方仅为一个分组的上报参与方;
基于所述各分组的向量碎片和,确定求和结果;
所述向量碎片由对应参与方的第一维度向量拆分得到,所述第一维度向量由对应参与方的各数据组进行单向映射得到,数据组为隐私数据,所述数据组包括键值及其对应的数值。
根据本发明提供的一种基于数据组的多方隐私求和方法,所述基于所述各分组的向量碎片和,确定求和结果,之后还包括:
基于所述求和结果,确定各映射键值对应数值的数值和,映射键值基于对应数据组中的键值进行单向映射得到;
基于所述各映射键值对应数值的数值和,确定目标映射键值列表,并将所述目标映射键值列表发送至所述各参与方,以使各参与方基于单向映射的映射关系,以及所述目标映射键值列表,从对应数据组的键值中确定目标键值。
根据本发明提供的一种基于数据组的多方隐私求和方法,所述基于所述各分组的向量碎片和,确定求和结果,包括:
接收所述各分组中两个向量碎片的加密向量碎片,所述加密向量碎片基于对应向量碎片的偏移向量碎片进行加密隐藏得到,所述偏移向量碎片通过对应分组的随机偏移量,对对应向量碎片进行偏移得到;
基于所述各分组的两个加密向量碎片,确定所述各分组的第一加密向量碎片和,对所述各分组的向量碎片和进行加密隐藏,得到所述各分组的第二加密向量碎片和;
基于所述各分组的第一加密向量碎片和和第二加密向量碎片和,进行一致性校验,并在各分组校验通过的情况下,基于所述各分组的向量碎片和,确定求和结果。
本发明还提供一种基于数据组的多方隐私求和方法,所述方法应用于参与方,包括:
基于任一参与方的各数据组进行单向映射,得到所述任一参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到所述各参与方的两个向量碎片,数据组为隐私数据,所述数据组包括键值及其对应的数值;
对各分组中的两个向量碎片进行求和,得到所述各分组的向量碎片和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的向量碎片不同;
将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果;所述向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
根据本发明提供的一种基于数据组的多方隐私求和方法,所述将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果,之后还包括:
将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果,并基于所述求和结果,确定各映射键值对应数值的数值和,基于所述各映射键值对应数值的数值和,确定目标映射键值列表,并将所述目标映射键值列表发送至所述各参与方,映射键值基于对应数据组中的键值进行单向映射得到;
接收所述控制中心发送的所述目标映射键值列表,并基于所述目标映射键值列表,以及单向映射的映射关系,从对应数据组的键值中确定目标键值。
根据本发明提供的一种基于数据组的多方隐私求和方法,所述将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果,包括:
基于所述各分组的随机偏移量,对所述各分组中两个向量碎片进行偏移,得到所述各分组的两个偏移向量碎片;对所述各分组的两个偏移向量碎片进行加密隐藏,得到所述各分组的两个加密向量碎片;
将所述各分组的两个加密向量碎片,以及所述各分组的向量碎片和发送至所述控制中心,以使所述控制中心对所述各分组的向量碎片和进行加密隐藏,得到所述各分组的第二加密向量碎片和,以及基于所述各分组的两个加密向量碎片,确定所述各分组的第一加密向量碎片和,并基于所述各分组的第一加密向量碎片和和第二加密向量碎片和,进行一致性校验,在各分组校验通过的情况下,基于所述各分组的向量碎片和,确定求和结果。
根据本发明提供的一种基于数据组的多方隐私求和方法,所述基于任一参与方的各数据组进行单向映射,得到所述任一参与方的第一维度向量,包括:
将任一参与方的各数据组中的键值单向映射至第一维度的整数域,得到所述各数据组中的键值在所述整数域上的映射键值;
基于所述各数据组中的键值在所述整数域上的映射键值,以及所述各数据组中键值对应的数值,确定所述任一参与方的第一维度向量。
根据本发明提供的一种基于数据组的多方隐私求和方法,所述各分组中的两个向量碎片的偏移方向相反;
所述各分组的两个加密向量碎片是使用同态隐藏函数对所述各分组的两个偏移向量碎片进行加密隐藏得到的;
所述各分组的第二加密向量碎片和是使用同态隐藏函数对所述各分组的向量碎片和进行加密隐藏得到的。
本发明还提供一种基于单一值的多方隐私求和装置,所述装置应用于控制中心,包括:
分组模块,用于对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
接收模块,用于接收各分组中两个数块的数块和,所述数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;
求和模块,用于基于所述各分组的数块和,确定求和结果;所述数块由对应参与方的本地数据拆分得到,所述本地数据为隐私数据。
本发明还提供一种基于单一值的多方隐私求和装置,所述装置应用于参与方,包括:
数据拆分模块,用于对各参与方的本地数据进行拆分,得到所述各参与方的两个数块,所述本地数据为隐私数据;
数块求和模块,用于对各分组中的两个数块进行求和,得到所述各分组的数块和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的数块不同;
和值发送模块,用于将所述各分组的数块和发送至控制中心,以使控制中心基于所述各分组的数块和,确定求和结果;所述数块和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
本发明还提供一种基于数据组的多方隐私求和装置,所述装置应用于控制中心,包括:
分组模块,用于对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
接收模块,用于接收各分组中两个向量碎片的向量碎片和,所述向量碎片和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的向量碎片不同,且每一参与方仅为一个分组的上报参与方;
求和模块,用于基于所述各分组的向量碎片和,确定求和结果;
所述向量碎片由对应参与方的第一维度向量拆分得到,所述第一维度向量由对应参与方的各数据组进行单向映射得到,数据组为隐私数据,所述数据组包括键值及其对应的数值。
本发明还提供一种基于数据组的多方隐私求和装置,其特征在于,所述装置应用于参与方,包括:
向量拆分模块,用于基于任一参与方的各数据组进行单向映射,得到所述任一参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到所述各参与方的两个向量碎片,数据组为隐私数据,所述数据组包括键值及其对应的数值;
碎片求和模块,用于对各分组中的两个向量碎片求和,得到所述各分组的向量碎片和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的向量碎片不同;
和值发送模块,用于将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果;所述向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的任一项所述的基于单一值的多方隐私求和方法,或如上述任一项所述的基于数据组的多方隐私求和方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的基于单一值的多方隐私求和方法,或如上述任一项所述的基于数据组的多方隐私求和方法。
本发明提供的多方隐私求和方法、装置、电子设备和存储介质,对各参与方进行分组配对,得到互不相同的各分组,各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个数块的数块和,数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;基于各分组的数块和,确定求和结果;数块由对应参与方的本地数据拆分得到,本地数据为隐私数据,实现了安全高效的多方隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,能够在保证各参与方的本地数据的安全性的前提下,实现多方隐私求和。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于单一值的多方隐私求和方法的流程示意图之一;
图2是本发明提供的基于单一值的多方隐私求和方法的流程示意图之二;
图3是本发明提供的基于单一值的多方隐私求和方法的总体框架图;
图4是本发明提供的基于数据组的多方隐私求和方法的流程示意图之一;
图5是本发明提供的一致性校验过程的框架示意图;
图6是本发明提供的基于数据组的多方隐私求和方法的流程示意图之二;
图7是本发明提供的基于单一值的多方隐私求和装置的结构示意图之一;
图8是本发明提供的基于单一值的多方隐私求和装置的结构示意图之二;
图9是本发明提供的基于数据组的多方隐私求和装置的结构示意图之一;
图10是本发明提供的基于数据组的多方隐私求和装置的结构示意图之二;
图11是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在风险预测领域,通过对历史数据的观测,往往可以得到某些分析预警模型,例如,观察多家银行在预设时间范围内的开户情况/办卡情况,从而汇总得出预设时间范围内在多家银行中的办卡总数符合预警条件的用户,并将其标记为中/高风险用户:
如上表所示,通过对多家银行在预设时间范围内的新办卡用户数据集的观测,可以预测出中/高风险用户,其中,7天内新开立账户数符合预警条件“1周新开立账户数≥10”的用户,标记为高风险用户;对应地,7天内新开立账户数符合预警条件“5≤1周新开立账户数<10”的用户,被标记为高风险用户。
而若要使用分析预警模型筛选出风险用户,则需在各家银行在预设时间范围内的新办卡用户数据集上进行多方求和,从而汇总得到所有办卡用户在对应时间范围内在所有银行的中的办卡总数,而于各家银行而言,新办卡用户数据集中的数据均为隐私数据,又考虑到传统的求和方法会泄露各家银行的隐私数据,因而,如何在保证各家银行的隐私数据的安全性的前提下,实现风险预测成了亟待解决的问题。
针对这一情况,目前常使用MPC(SecureMulti-Party Computation,安全多方计算)的多方隐私求和协议来解决安全性的问题,MPC针对的是无可信第三方的情况下,如何安全地计算一个约定函数的问题。然而,在工程落地上当下的两方隐私求和协议和三方隐私求和协议虽然相对成熟,但是多方(三方以上)的场景协议较少,且存在效率不高,工程落地难度较大。
对此,本发明提供一种基于单一值的多方隐私求和方法,旨在将两方隐私求和安全高效扩展到多方(三方以上)隐私求和,从而在保证各参与方的本地数据的安全性(隐私性)的前提下,实现多方隐私求和。图1是本发明提供的基于单一值的多方隐私求和方法的流程示意图之一,如图1所示,该方法应用于控制中心,该方法包括:
步骤110,对各参与方进行分组配对,得到互不相同的各分组,各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
步骤120,接收各分组中两个数块的数块和,数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;
步骤130,基于各分组的数块和,确定求和结果;数块由对应参与方的本地数据拆分得到,本地数据为隐私数据。
具体地,在进行单一值的多方隐私求和之前,首先需要确定参与多方隐私求和计
算的各参与方,此处的参与方可以理解为接入控制中心的计算节点,计算节点有多个,可以
表示为;各计算节点携带有本地数据,本发明
实施例中,基于单一值的多方隐私求和的最终目的是求得各计算节点所携带的本地数据的加总,即。
值得注意的是,此处各计算节点所携带的本地数据多为对应参与方的隐私数据,例如,可以是用户的办卡数据、开户数据等。
在确定各参与方之后,可进行数据准备,即各参与方可对各自携带的本地数据进
行拆分,以得到各自的两个数块,具体可以是,各参与方对各自所辖的本地数据进行随机的
拆分,以将其拆分为两块,从而得到各参与方的两个数块,可以表示为;值得注意
的是,此处针对于本地数据的拆分需满足一定条件,即。
在这之后,即可转至控制中心,以进行分组工作,即执行步骤110,控制中心对各参
与方进行分组配对,以得到互不相同的各分组,并且各分组需由两个不同的参与方组成,且
每一参与方需分布于两个分组中,具体过程可以是,控制中心随机分组配对,以将各参与方
分成由两两组成的分组,共得到不重复的对分组,并确保每个参与方在两个分组中。
同时,每一分组选出一个上报参与方(上报节点),此时要求每一参与方(每一计算
节点)仅能担任其所在两个分组中任一分组的上报参与方。若,则控制中心
对各参与方进行分组配对得到的各分组可以表示为:,令为分组
的上报参与方,此时分组中的两个参与方和各自拥有的本地数据和分别对
应两个拆分数块,可以表示为和。
此处,使用安全多方计算的两方隐私求和协议,进行底层的数块求和,能够在极大程度上保证两个参与方求和过程的安全性,即两方在求得中间结果的过程中没有数据泄露风险;并且,两方求得的仅是各自数块的和值,据此也只能反推出对方的数块,而无法得知对方的本地数据,保证了数据的隐私性。
在得到各分组的求和结果之后,即可转至控制中心进行汇总工作,以对各分组的
数块和进行汇总,具体可以是,各分组的上报参与方可将对应分组的数块和发送至控制中
心,控制中心则执行步骤120,即接收各分组的数块和,并可在接收到各分组的数块和之后
执行步骤130,利用各分组的数块和,确定最终的求和结果,即对各分组的数块和进行加总,
从而得到,。
本发明实施例中,对各参与方进行分组,且选用上报参与方上报对应分组的中间结果(数块和)的方式,使得该方法能够抗合谋,即即使两方合谋,由于合谋方仅提供分组的另一半的数块,因而也仅能反推出对方的数块,而无法求得对方的本地数据。
进一步地,即使在底层求和结果,即条数块和均暴露的情况下,得到的也仅是个方程,个未知数,而于各参与方而言,共有个未知数(假定半诚实模型下,上
报参与方反推了对端数块),,即的情况下方程没有确定解,各参与方的
本地数据也未泄露,保证了数据的隐私性。
本发明提供的基于单一值的多方隐私求和方法,对各参与方进行分组配对,得到互不相同的各分组,各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个数块的数块和,数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;基于各分组的数块和,确定求和结果;数块由对应参与方的本地数据拆分得到,本地数据为隐私数据,实现了安全高效的多方隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,能够在保证各参与方的本地数据的安全性的前提下,实现多方隐私求和。
本发明还提供一种基于单一值的多方隐私求和方法,图2是本发明提供的基于单一值的多方隐私求和方法的流程示意图之二,如图2所示,该方法应用于参与方,该方法包括:
步骤210,对各参与方的本地数据进行拆分,得到各参与方的两个数块,本地数据为隐私数据;
步骤220,对各分组中的两个数块进行求和,得到各分组的数块和,各分组由控制中心对各参与方进行分组配对得到,各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的数块不同;
步骤230,将各分组的数块和发送至控制中心,以使控制中心基于各分组的数块和,确定求和结果;数块和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
具体地,在进行单一值的多方隐私求和之前,首先需要确定参与多方隐私求和计
算的各参与方,此处的参与方实际上是接入控制中心的计算节点,计算节点有多个,可以表
示为;各计算节点携带有本地数据,
本发明实施例中,基于单一值的多方隐私求和的最终目的是求得各计算节点所携带的本地
数据的加总,即。
值得注意的是,此处各计算节点所携带的本地数据多为对应参与方的隐私数据,例如,可以是用户的办卡数据、开户数据等。
确定各参与方后,即可进行数据准备,即执行步骤210,对各参与方的本地数据进
行拆分,以得到各参与方的两个数块,具体可以是,各参与方对各自携带的本地数据进行拆
分,以得到两个数块,即各参与方对各自所辖的本地数据进行随机的拆分,以将其拆分为两
块,从而得到各参与方的两个数块,可以表示为;值得注意的是,此处针对于本地
数据的拆分需满足一定条件,即。
而完成数据准备工作之后,即可转至控制中心以进行分组工作,即控制中心对各
参与方进行分组配对,以得到互不相同的各分组,并且各分组需由两个不同的参与方组成,
且每一参与方需分布于两个分组中,具体可以是,控制中心随机分组配对,以将各参与方分
成由两两组成的分组,共得到不重复的对分组,并确保每个参与方(计算节点)在两个分
组中。
同时,每一分组选出一个上报参与方,并且每一参与方仅能担任其所在两个分组
中任一分组的上报参与方。若,则控制中心对各参与方进行分组配对得到
的各分组可以表示为:,令为分组的上报参与方,此时分组
中的两个参与方和各自拥有的本地数据和分别对应两个拆分数块,可以表示
为和。
此处,使用安全多方计算的两方隐私求和协议,进行底层的数块求和,能够在极大程度上保证两个参与方求和过程的安全性,即两方在求得中间结果的过程中没有数据泄露风险;并且,两方求得的仅是各自数块的和值,据此也只能反推出对方的数块,而无法得知对方的本地数据,保证了数据的隐私性。
而得到各分组的求和结果之后,即可转至控制中心进行汇总工作,以对各分组的
数块和进行汇总,即执行步骤230,各分组的上报参与方将数块和发送至控制中心,以请求
控制中心据此各分组的数块和,确定最终的求和结果,即控制中心接收各分组的数块和,并
对各分组的数块和进行加总,从而得到最终的求和结果,。
本发明实施例中,对各参与方进行分组,且选用上报参与方上报对应分组的中间结果(数块和)的方式,使得该方法能够抗合谋,即即使两方合谋,由于合谋方仅提供分组的另一半的数块,因而也仅能反推出对方的数块,而无法求得对方的本地数据。
进一步地,即使在底层求和结果,即条数块和均暴露的情况下,得到的也仅是
个方程,个未知数,而于各参与方而言,共有个未知数(假定半诚实模型下,上报
参与方反推了对端数块),,即的情况下方程没有确定解,各参与方的本地
数据也未泄露,保证了数据的隐私性。
本发明提供的基于单一值的多方隐私求和方法,对各参与方的本地数据进行拆分,得到各参与方的两个数块;对各分组中的两个数块进行求和,得到各分组的数块和,各分组由控制中心对各参与方进行分组配对得到,各分组互不相同且每一分组由两个不同的参与方组成,每一参与方位于两个分组中;将各分组的数块和发送至控制中心,以使控制中心基于各分组的数块和,确定求和结果;数块和由对应分组中的上报参与方发送且每一参与方仅为一个分组的上报参与方,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,能够在保证各参与方的本地数据的安全性的前提下,实现高效的多方隐私求和。
本发明实施例中,对各家银行进行分组,且选用上报银行上报对应分组的办卡数块和的方式,使得该方法能够抗合谋,即使两方合谋,由于合谋方仅提供分组的另一半的办卡数块,因而也仅能反推出对方的办卡数块,而无法求得对方的办卡数目。
进一步地,即使在底层的条办卡数块和均暴露的情况下,得到的也仅是个方
程,个未知数,而于各家银行而言,共有个未知数(假定半诚实模型下,上报银行
反推了对端办卡数块),,即的情况下方程没有确定解,各家银行的办卡数
目也未泄露,保证了数据的隐私性。
本发明实施例中,通过针对于各家银行的分组配对,以及上报银行将办卡数块和上报至控制中心的方式,实现了针对于某一用户一定时间范围内在各家银行中办卡数目的安全高效的隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,能够在保证各家银行办卡数目的隐私性的前提下,实现办卡数目的汇总。
本发明还提供一种基于数据组的多方隐私求和方法,图4是本发明提供的基于数据组的多方隐私求和方法的流程示意图之一,如图4所示,该方法应用于控制中心,该方法包括:
步骤410,对各参与方进行分组配对,得到互不相同的各分组,各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
步骤420,接收各分组中两个向量碎片的向量碎片和,向量碎片和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的向量碎片不同,且每一参与方仅为一个分组的上报参与方;
步骤430,基于各分组的向量碎片和,确定求和结果;
向量碎片由对应参与方的第一维度向量拆分得到,第一维度向量由对应参与方的各数据组进行单向映射得到,数据组为隐私数据,数据组包括键值及其对应的数值。
具体地,在进行数据组的多方隐私求和之前,首先需要确定参与多方隐私求和计
算的各参与方,此处的参与方可以理解为接入控制中心的计算节点,计算节点有多个,可以
表示为;各计算节点携带有多个由键值及其对应的数值组成的数
据组,其中为键值,为对应于的数值,数据组为对应参与方的隐私数据。本发
明实施例中,隐私保护的范围包括数据组的键值及其对应的数值。
此处,键值及其对应的数值均为隐私数据,键值可以理解为身份数据(如身份标识号),数值则可以理解为开户数据、办卡数据等。
此处,各参与方所携带的各数据组中的键值可能存在交集,也可能交集为空集,即
键值间不存在重叠。例如,参与方所携带的数据组包括和,所携带的数
据组包括、和,所携带的数据组包括、和,
此时所辖的键值与所辖的键值存在交集。
在确定各参与方后,可进行数据准备,即各参与方使用相同方法(如哈希函数),对
其所携带的各数据组进行单向映射,以将数值组中的所有键值单向映射至的整数
域上,并将各键值对应的数值填到对应位置上,从而得到各参与方的维向量(第一维度
向量),可以表示为:对应;此处,通过单向映射可以对
数据组中的键值进行隐藏,使得仅有各参与方能知晓各自的键值,保证了数据的隐私性;
然后,各参与方可对各自的第一维度向量进行拆分,以得到各自的两个向量碎片,
具体可以是,各参与方按照单一值的多方隐私求和方法中的拆分方式,对各自的第一维度
向量进行随机的拆分,以将其拆分为两个碎片,从而得到各参与方的两个向量碎片。
之后,控制中心对各参与方进行分组配对,即执行步骤410,控制中心对各参与方
进行分组配对,以得到互不相同的各分组,并且各分组需由两个不同的参与方组成,且每一
参与方需分布于两个分组中,具体可以是,控制中心按照单一值的多方隐私求和方法中的
分组方式进行随机分组配对,以将各参与方分成由两两组成的分组,共得到互不相同的对
分组,并确保每个参与方(计算节点)在两个分组中。
同时,每一分组选出一个上报参与方(上报节点),此时要求每一参与方(每一计算
节点)仅能担任其所在两个分组中任一分组的上报参与方。若,则控制中心
对各参与方进行分组配对得到的各分组可以表示为:,令为分组的上报参与方,此时分组中的两个参与方和各自的第一维度向量和分别
对应两个向量碎片,可以表示为和。
确定各分组后,即可进行分组计算,即对各分组中参与此分组求和计算(中间结果
计算)的向量碎片进行求和,从而得到各分组的向量碎片和,具体可以是,各分组按照单一
值的多方隐私求和方法中的求和方式,对组内两个向量碎片中每个维度的值进行求和,并
由上报参与方得到求和结果,即向量碎片和,之后,各分组的上报参与方可将对
应分组的向量碎片和发送至控制中心。
此处,按照单一值的多方隐私求和方法中的方式,进行向量碎片求和,能够在极大程度上保证组内的两个参与方求和过程的安全性,即两方在求得中间结果的过程中没有数据泄露风险;并且,两方求得的仅是各自向量碎片的和值,据此也只能反推出对方的向量碎片,而无法得知对方的第一维度向量,保证了数据的隐私性。
本发明实施例中,使用两两分组配对的分布式并行计算方式,求取中间结果,可在极大程度上提升计算效率,并且,分布式的计算方式能够使得容错性更强,即在某一分组故障无法完成运算时,其对于最终的求和结果不造成根本性的影响,原因在于:控制中心在未接收到所有分组的中间结果的情况下,仍可进行汇总求和,并筛选出符合筛选条件的数值,简而言之,控制中心即使未能获得所有分组的向量碎片和,最终也能求解出符合条件的数值。
而在得到各分组的求和结果之后,控制中心即可进行汇总工作,即执行步骤420,控制中心接收各分组的向量碎片和,接着可执行步骤430,利用各分组的向量碎片和,确定最终的求和结果,即对各分组的向量进行加总,从而得到求和结果,此处的求和结果可以是向量和,由于向量中包含多个映射键值,因此求和结果也可以是各映射键值对应数值的数值和,此处的映射键值即对应数据组中的键值进行单向映射所得的键值。
本发明实施例中,对各参与方进行分组,且选用上报参与方上报对应分组的中间结果(向量碎片和)的方式,使得该方法能够抗合谋,即即使两方合谋,由于合谋方仅提供分组的另一半的向量碎片,因而也仅能反推出对方的向量碎片,而无法求得对方的第一维度向量,保证了数据的隐私性。
本发明提供的基于数据组的多方隐私求和方法,对各参与方进行分组配对,得到互不相同的各分组,各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个向量碎片的向量碎片和,向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方;基于各分组的向量碎片和,确定求和结果;向量碎片由对应参与方的第一维度向量拆分得到,第一维度向量由对应参与方的各数据组进行单向映射得到,实现了安全高效的多方隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,拓宽了隐私求和协议的应用场景,从多个角度保障了各参与方数据组的安全性,并且两两分组配对的分布式计算方式,不仅提升了计算效率,还增强了容错性,同时有益于校验和故障定位,应用效果极佳。
基于上述实施例,步骤430中,基于各分组的向量碎片和,确定求和结果,之后还包括:
基于求和结果,确定各映射键值对应数值的数值和,映射键值基于对应数据组中的键值进行单向映射得到;
基于各映射键值对应数值的数值和,确定目标映射键值列表,并将目标映射键值列表发送至各参与方,以使各参与方基于单向映射的映射关系,以及目标映射键值列表,从对应数据组的键值中确定目标键值。
具体地,步骤430中,在通过各分组的向量碎片和,确定最终的求和结果之后,可据此求和结果,确定各映射键值对应数值的数值和,此处的映射键值即对应数据组中的键值进行单向映射所得的键值,而各映射键值对应数值即各键值在对应数据组中对应的数值。
然后,可依据各映射键值对应数值的数值和,从各映射键值中筛选出目标映射键值,并可根据筛选出的各目标映射键值构建目标映射键值列表,具体可以是,以各映射键值对应数值的数值和为基准,选取数值和符合筛选条件的映射键值,作为目标映射键值,并生成目标映射键值列表。
例如,在键值为用户的身份标识号,其对应的数值为办卡数目的情况下,可以在各映射身份标识号对应的办卡总数的基础上,利用预警条件筛选出目标映射身份标识号,即将符合预警条件的映射身份标识号,从各映射身份标识号中筛选出来,作为目标映射身份标识号。若预警条件为“新开立账户数≥10”,则从各映射身份标识号中选取办卡总数大于等于10的映射身份标识号;若预警条件为“5≤新开立账户数<10”,则从各映射身份标识号中选取办卡总数大于等于5且小于10的映射身份标识号,并将其作为目标映射身份标识号。
随后,可将目标映射键值列表发送至各参与方,即将目标映射键值列表反向同步至各参与方,各参与方在接收到目标映射键值列表后,即可借助单向映射的映射关系,从目标映射键值列表中确定目标键值,具体可以是,各参与方利用前述对各数据组进行单向映射时的映射关系,从目标映射键值列表中确定匹配于其所辖键值的键值,该键值即为对应参与方的目标键值。
此处的目标键值可以理解为风险预测场景中,符合预警条件的中/高风险用户的身份标识号,而由于前述在对各数据组进行映射时,进行的是单向映射,即各参与方仅知晓的自身所辖的键值与映射关系,因而也仅能从目标映射键值列表中推断出对应于其所辖键值的目标键值,最大程度上保证了各参与方的数据组的隐私性。
例如,风险预测场景中,由于单向映射因而各银行仅知晓自家的用户的身份标识号和映射关系,因此也仅能推断出本银行中办卡总数符合预警条件的身份标识号,如此即可使得各银行的用户的身份标识号不被其他方知晓,保证了用户的身份信息的安全性。
基于上述实施例,步骤430包括:
接收各分组中两个向量碎片的加密向量碎片,加密向量碎片基于对应向量碎片的偏移向量碎片进行加密隐藏得到,偏移向量碎片通过对应分组的随机偏移量,对对应向量碎片进行偏移得到;
基于各分组的两个加密向量碎片,确定各分组的第一加密向量碎片和,对各分组的向量碎片和进行加密隐藏,得到各分组的第二加密向量碎片和;
基于各分组的第一加密向量碎片和和第二加密向量碎片和,进行一致性校验,并在各分组校验通过的情况下,基于各分组的向量碎片和,确定求和结果。
具体地,步骤430中,根据各分组的向量碎片和,确定最终的求和结果的过程,具体包括如下步骤:
控制中心在完成分组工作之后,各分组可随机生成随机偏移量,此处分组与分
组间的随机偏移量互不相关,然后,各分组可依据其随机偏移量,对组内参与此分组求和
计算(中间结果计算)的两个向量碎片进行偏移,从而得到各分组的两个偏移向量碎片。
接着,各参与方可对各自的两个偏移向量碎片进行加密隐藏,从而得到各分组的两个加密向量碎片,具体可以是,使用同态隐藏参数,对各分组的两个偏移向量碎片进行加密隐藏,以得到各分组的两个加密向量碎片,之后,可将各分组的两个加密向量碎片发送至控制中心。
控制中心则可接收到各分组中参与中间结果计算的两个向量碎片的加密向量碎片,然后可对各分组的两个加密向量碎片进行求和,从而得到各分组的加密向量碎片和,为便于区分将此处的加密向量碎片和称为第一加密向量碎片和,同时可对各分组的向量碎片和进行加密隐藏,以得到各分组的加密向量碎片和,此处的加密向量碎片和称为第二加密向量碎片和,具体可以是,使用同态隐藏函数,对各分组的向量碎片和进行加密隐藏,从而得到各分组的第二加密向量碎片和。
此后,控制中心即可利用各分组的第一加密向量碎片和,以及各分组的第二加密向量碎片和,进行一致性校验,即验证各分组的第一加密向量碎片和与第二加密向量碎片和之间的一致性,若两者一致,则对应分组的一致性校验通过,反之若不一致,则对应分组的一致性校验不通过。
此处,一致性校验能够验证数据的完整性和真实性,即验证向量碎片,以及向量碎片和是否被篡改,校验通过则说明未被篡改,反之则说明数据发生变化,已被篡改。
图5是本发明提供的一致性校验过程的框架示意图,如图5所示,由于同态隐藏函
数的特性,在未发生篡改的情况下,利用其进行加密隐藏所得的两个加密向量碎片的第一
加密向量碎片和,必定与利用其对向量碎片和进行加密隐藏所得的第二加密向量碎片和相
同,即图5中。若,则可以确定数据发生了篡改。
进一步地,可在各分组的一致性校验通过的情况下,利用各分组的向量碎片和,确定最终的求和结果,即对各分组的向量进行加总,从而得到求和结果。
本发明还提供一种基于数据组的多方隐私求和方法,图6是本发明提供的基于数据组的多方隐私求和方法的流程示意图之二,如图6所示,该方法应用于参与方,该方法包括:
步骤610,基于任一参与方的各数据组进行单向映射,得到该参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到各参与方的两个向量碎片,数据组为隐私数据,数据组包括键值及其对应的数值;
步骤620,对各分组中的两个向量碎片进行求和,得到各分组的向量碎片和,各分组由控制中心对各参与方进行分组配对得到,各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的向量碎片不同;
步骤630,将各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果;向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
具体地,在进行数据组的多方隐私求和之前,首先需要确定参与多方隐私求和计
算的各参与方,此处的参与方可以理解为接入控制中心的计算节点,计算节点有多个,可以
表示为;各计算节点携带有多个由键值及其对应的数值组成的数据
组,其中为键值,为对应于的数值,数据组为对应参与方的隐私数据。本发明实
施例中,隐私保护的范围包括数据组的键值及其对应的数值。
此处,键值及其对应的数值均为隐私数据,键值可以理解为身份数据(如身份标识号),数值则可以理解为开户数据、办卡数据等。
此处,各参与方所携带的各数据组中的键值可能存在交集,也可能交集为空集,即
键值间不存在重叠。例如,参与方所携带的数据组包括和,所携带的数
据组包括、和,所携带的数据组包括、和,此
时所辖的键值与所辖的键值存在交集。
在确定各参与方后,可进行数据准备,即执行步骤610,各参与方使用相同方法(如
哈希函数),对其所携带的各数据组中的所有键值单向映射至的整数域上,并将各
键值对应的数值填到对应位置上,从而得到各参与方的维向量(第一维度向量),可以
表示为:对应;
此处,通过单向映射可以对数据组中的键值进行隐藏,使得仅有各参与方能知晓各自的键值,保证了数据的隐私性。
然后,各参与方可对各自的第一维度向量进行拆分,以得到各自的两个向量碎片,
具体可以是,各参与方按照单一值的多方隐私求和方法中的拆分方式,对各自的第一维度
向量进行随机的拆分,以将其拆分为两个碎片,从而得到各参与方的两个向量碎片。
之后,控制中心对各参与方进行分组配对,以得到互不相同的各分组,并且各分组
需由两个不同的参与方组成,且每一参与方需分布于两个分组中,具体可以是,控制中心按
照单一值的多方隐私求和方法中的分组方式进行随机分组配对,以将各参与方分成由两两
组成的分组,共得到互不相同的对分组,并确保每个参与方(计算节点)在两个分组中。
同时,每一分组选出一个上报参与方(上报节点),此时要求每一参与方(每一计算
节点)仅能担任其所在两个分组中任一分组的上报参与方。若,则控制中心
对各参与方进行分组配对得到的各分组可以表示为:,令为分组
的上报参与方,此时分组中的两个参与方和各自的第一维度向量和分别对应
两个向量碎片,可以表示为和。
确定各分组后,即可进行分组计算,即执行步骤620,对各分组中参与此分组求和
计算(中间结果计算)的两个向量碎片进行求和,从而得到各分组的向量碎片和,具体可以
是,各分组按照单一值的多方隐私求和方法中的求和方式,对组内两个向量碎片中每个维
度的值进行求和,并由上报参与方得到求和结果,即向量碎片和。
此处,按照单一值的多方隐私求和方法中的方式,进行向量碎片求和,能够在极大程度上保证组内的两个参与方求和过程的安全性,即两方在求得中间结果的过程中没有数据泄露风险;并且,两方求得的仅是各自向量碎片的和值,据此也只能反推出对方的向量碎片,而无法得知对方的第一维度向量,保证了数据的隐私性。
本发明实施例中,使用两两分组配对的分布式并行计算方式,求取中间结果,可在极大程度上提升计算效率,并且,分布式的计算方式能够使得容错性更强,即在某一分组故障无法完成运算时,其对于最终的求和结果不造成根本性的影响,原因在于:控制中心在未接收到所有分组的中间结果的情况下,仍可进行汇总求和,并筛选出符合筛选条件的数值,简而言之,控制中心即使未能获得所有分组的向量碎片和,最终也能求解出符合条件的数值。
之后,即可进行汇总工作,即执行步骤630,各分组的上报参与方将对应分组的向量碎片和发送至控制中心,控制中心则可利用接收到各分组的向量碎片和,确定最终的求和结果,即对各分组的向量进行加总,从而得到求和结果,此处的求和结果可以是向量和,由于向量中包含多个映射键值,因此求和结果也可以是各映射键值对应数值的数值和,映射键值即对应数据组中的键值进行单向映射所得的键值。
本发明实施例中,对各参与方进行分组,且选用上报参与方上报对应分组的中间结果(向量碎片和)的方式,使得该方法能够抗合谋,即即使两方合谋,由于合谋方仅提供分组的另一半的向量碎片,因而也仅能反推出对方的向量碎片,而无法求得对方的第一维度向量,保证了数据的隐私性。
本发明提供的基于数据组的多方隐私求和方法,基于任一参与方的各数据组进行单向映射,得到该参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到各参与方的两个向量碎片;对各分组中的两个向量碎片进行求和,得到各分组的向量碎片和,各分组由控制中心对各参与方进行分组配对得到;将各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果;向量碎片和由对应分组中的上报参与方发送,实现了安全高效的多方隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,拓宽了隐私求和协议的应用场景,从多个角度保障了各参与方数据组的安全性,并且两两分组配对的分布式计算方式,不仅提升了计算效率,还增强了容错性,有益于校验和故障定位,应用效果极佳。
基于上述实施例,步骤630中,将各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果,之后还包括:
将各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果,并基于求和结果,确定各映射键值对应数值的数值和,基于各映射键值对应数值的数值和,确定目标映射键值列表,并将目标映射键值列表发送至各参与方,映射键值基于对应数据组中的键值进行单向映射得到;
接收控制中心发送的目标映射键值列表,并基于目标映射键值列表,以及单向映射的映射关系,从对应数据组的键值中确定目标键值。
具体地,步骤430中,在各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果之后,控制中心可据此求和结果,确定各映射键值对应数值的数值和,此处的映射键值即对应数据组中的键值进行单向映射所得的键值,而各映射键值对应数值即各键值在对应数据组中对应的数值。
然后,控制中心可依据各映射键值对应数值的数值和,从各映射键值中筛选出目标映射键值,并可根据筛选出的各目标映射键值构建目标映射键值列表,具体可以是,控制中心以各映射键值对应数值的数值和为基准,选取数值和符合筛选条件的映射键值,作为目标映射键值,并生成目标映射键值列表。
例如,在键值为用户的身份标识号,其对应的数值为办卡数目的情况下,可以在各映射身份标识号对应的办卡总数的基础上,利用预警条件筛选出目标映射身份标识号,即将符合预警条件的映射身份标识号,从各映射身份标识号中筛选出来,作为目标映射身份标识号。若预警条件为“新开立账户数≥10”,则从各映射身份标识号中选取办卡总数大于等于10的映射身份标识号;若预警条件为“5≤新开立账户数<10”,则从各映射身份标识号中选取办卡总数大于等于5且小于10的映射身份标识号,并将其作为目标映射身份标识号。
随后,控制中心可将目标映射键值列表发送至各参与方,即将目标映射键值列表反向同步至各参与方,而各参与方在接收到目标映射键值列表后,即可借助单向映射的映射关系,从目标映射键值列表中确定目标键值,具体可以是,各参与方利用前述对各数据组进行单向映射时的映射关系,从目标映射键值列表中确定匹配于其所辖键值的键值,该键值即为对应参与方的目标键值。
此处的目标键值可以理解为风险预测场景中,符合预警条件的中/高风险用户的身份标识号,而由于前述在对各数据组进行映射时,进行的是单向映射,即各参与方仅知晓的自身所辖的键值与映射关系,因而也仅能从目标映射键值列表中推断出对应于其所辖键值的目标键值,最大程度上保证了各参与方的数据组的隐私性。
例如,风险预测场景中,由于单向映射因而各银行仅知晓自家的用户的身份标识号和映射关系,因此也仅能推断出本银行中办卡总数符合预警条件的身份标识号,如此即可使得各银行的用户的身份标识号不被其他方知晓,保证了用户的身份信息的安全性。
基于上述实施例,步骤630包括:
基于各分组的随机偏移量,对各分组中两个向量碎片进行偏移,得到各分组的两个偏移向量碎片;对各分组的两个偏移向量碎片进行加密隐藏,得到各分组的两个加密向量碎片;
将各分组的两个加密向量碎片,以及各分组的向量碎片和发送至控制中心,以使控制中心对各分组的向量碎片和进行加密隐藏,得到各分组的第二加密向量碎片和,以及基于各分组的两个加密向量碎片,确定各分组的第一加密向量碎片和,并基于各分组的第一加密向量碎片和和第二加密向量碎片和,进行一致性校验,在各分组校验通过的情况下,基于各分组的向量碎片和,确定求和结果。
具体地,步骤630中,将各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果的过程,具体包括如下步骤:
控制中心在完成分组工作之后,各分组可随机生成随机偏移量,此处分组与分
组间的随机偏移量互不相关,然后,各分组可依据其随机偏移量,对组内参与此分组求和
计算(中间结果计算)的两个向量碎片进行偏移,从而得到各分组的两个偏移向量碎片。
接着,各参与方可对各自的两个偏移向量碎片进行加密隐藏,从而得到各分组的两个加密向量碎片,具体可以是,使用同态隐藏参数,对各分组的两个偏移向量碎片进行加密隐藏,以得到各分组的两个加密向量碎片,之后,可将各分组的两个加密向量碎片发送至控制中心。
控制中心则可接收到各分组中参与中间结果计算的两个向量碎片的加密向量碎片,然后可对各分组的两个加密向量碎片进行求和,从而得到各分组的加密向量碎片和,为便于区分将此处的加密向量碎片和称为第一加密向量碎片和,同时可对各分组的向量碎片和进行加密隐藏,以得到各分组的加密向量碎片和,此处的加密向量碎片和称为第二加密向量碎片和,具体可以是,使用同态隐藏函数,对各分组的向量碎片和进行加密隐藏,从而得到各分组的第二加密向量碎片和。
此后,控制中心即可利用各分组的第一加密向量碎片和,以及各分组的第二加密向量碎片和,进行一致性校验,即验证各分组的第一加密向量碎片和与第二加密向量碎片和之间的一致性,若两者一致,则对应分组的一致性校验通过,反之若不一致,则对应分组的一致性校验不通过。
此处,一致性校验能够验证数据的完整性和真实性,即验证向量碎片,以及向量碎片和是否被篡改,校验通过则说明未被篡改,反之则说明数据发生变化,已被篡改。
由于同态隐藏函数的特性,在未发生篡改的情况下,利用其进行加密隐藏所得的
两个加密向量碎片的第一加密向量碎片和,必定与利用其对向量碎片和进行加密隐藏所得
的第二加密向量碎片和相同,即图5中。若,则可以确定数据发生了篡改。
进一步地,控制中心可在各分组的一致性校验通过的情况下,利用各分组的向量碎片和,确定最终的求和结果,即对各分组的向量进行加总,从而得到求和结果。
基于上述实施例,步骤610中,基于任一参与方的各数据组进行单向映射,得到该参与方的第一维度向量,包括:
将任一参与方的各数据组中的键值单向映射至第一维度的整数域,得到各数据组中的键值在整数域上的映射键值;
基于各数据组中的键值在整数域上的映射键值,以及各数据组中键值对应的数值,确定该参与方的第一维度向量。
具体地,步骤610中,基于任一参与方的各数据组进行单向映射,得到该参与方的第一维度向量的过程,具体可以包括:
随即,可在各数据组中的键值在的整数域上的映射键值的基础上,结合各数
据组中键值对应的数值,确定该参与方的维向量(第一维度向量),具体可以是,以各数据
组中的键值在的整数域上的映射键值为基准,将各键值对应的数值填到对应位置
上,从而得到各参与方的第一维度向量,可以表示为:对应。
本发明实施例中,通过单向映射可以对数据组中的键值进行隐藏,使得仅有各参与方能知晓各自的键值,保证了数据的隐私性。
基于上述实施例,各分组中的两个向量碎片的偏移方向相反;
各分组的两个加密向量碎片是使用同态隐藏函数对各分组的两个偏移向量碎片进行加密隐藏得到的;
各分组的第二加密向量碎片和是使用同态隐藏函数对各分组的向量碎片和进行加密隐藏得到的。
具体地,上述过程中,各分组在商议得出随即偏移量之后,使用随机偏移量,对
组内参与此分组求和(中间结果计算)的两个向量碎片进行偏移时,此两个向量碎片的偏移
方向相反,如图5所示,对于分组,在对其进行偏移时,对于和的偏移方向相
反,而两者偏移方向相反则可以使得,,有利于一致
性校验过程。
因而,为便于一致性校验,本发明实施例中,各参与方在对各自的两个偏移向量碎片进行加密隐藏时,以及控制中心在对各分组的向量碎片和进行加密隐藏时,使用的均是同态隐藏函数。
本发明实施例中,使用同态隐藏函数,进行加密隐藏,能够为后续的一致性校验提供数据支撑,为数据的完整性和真实性的验证过程提供了关键性的助力。
每家银行携带过去7天内有新办卡记录的用户的ID(Identity Document,身份标识号),以及办卡数目,例如:
最终需要求得每一用户的办卡总和,ID1(1),ID2(3),…,ID8(3),并且需每家银行仅能得知本银行办卡总数符合预警条件的用户的ID。
首先,各家银行进行数据准备,即每家银行使用同样的方法(例如,哈希函数)将7
天内有新办卡记录的所有键值(ID值)单向映射至的整数域上,并将各键值对应的数
值(办卡数目)填到对应的维度上,从而得到各家银行的维向量(第一维度向量);
随即,各家银行按照单一值的多方隐私求和方法中的拆分方式,对各自的第一维度向量进行随机的拆分,以将其拆分为两个碎片,从而得到各家银行的两个向量碎片,可以表示为:
接着,各组随机生成随机偏移量,并使用对参与分组求和计算的两个向量碎片
进行偏移,从而得到各分组的两个偏移向量碎片;并使用同态隐藏参数,对各分组的两个偏
移向量碎片进行加密隐藏,以得到各分组的两个加密向量碎片;之后可将各分组的两个加
密向量碎片发送至控制中心;
同时,每一分组选出一个上报银行,此时要求每一银行仅能担任其所在两个分组中任一分组的上报银行;
之后,各分组可按照单一值的多方隐私求和方法中的求和方式,对参与此分组求和计算的两个向量碎片进行求和,即对组内两个向量碎片中每个维度的值进行求和,并由上报银行得到求和结果,即向量碎片和,接着上报银行将对应分组的向量碎片和发送至控制中心;
此处,按照单一值的多方隐私求和方法中的方式,进行向量碎片求和,能够在极大程度上保证组内的两个银行求和过程的安全性,即两方在求得中间结果的过程中没有数据泄露风险;并且,两方求得的仅是各自向量碎片的和值,据此也只能反推出对方的向量碎片,而无法得知对方的第一维度向量,保证了数据的隐私性。
本发明实施例中,使用两两分组配对的分布式并行计算方式,求取中间结果,可在极大程度上提升计算效率,并且,分布式的计算方式能够使得容错性更强,即在某一分组故障无法完成运算时,其对于最终的求和结果不造成根本性的影响,原因在于:控制中心在未接收到所有分组的中间结果的情况下,仍可进行汇总求和,并筛选出符合筛选条件的数值,简而言之,控制中心即使未能获得所有分组的向量碎片和,也能求解出符合预警条件的目标映射身份标识号,从而使得各家银行可以知晓自家中满足预警条件的风险用户。
然后,控制中心可接收到各分组的两个加密向量碎片,以及各分组的向量碎片和,并可对各分组的两个加密向量碎片进行求和,从而得到各分组的第一加密向量碎片和,同时可使用同态隐藏函数,对各分组的向量碎片和进行加密隐藏,得到各分组的第二加密向量碎片和。
此后,控制中心即可利用各分组的第一加密向量碎片和,以及各分组的第二加密向量碎片和,进行一致性校验,即验证各分组的第一加密向量碎片和与第二加密向量碎片和之间的一致性,若两者一致,则对应分组的一致性校验通过,反之若不一致,则对应分组的一致性校验不通过。
此处,一致性校验能够验证数据的完整性和真实性,即验证向量碎片,以及向量碎片和是否被篡改,校验通过则说明未被篡改,反之则说明数据发生变化,已被篡改。
进一步地,可在各分组的一致性校验通过的情况下,利用各分组的向量碎片和,确定最终的求和结果,并可根据求和结果,确定各映射键值对应数值的数值和,即各映射身份标识号对应的办卡总数;
接着,控制中心可依据各映射键值对应数值的数值和,从各映射键值中筛选出目标映射键值,并根据各目标映射键值构建目标映射键值列表,即以各映射身份标识号对应的办卡总数为基准,从各映射身份标识号中选取符合预警条件的映射身份标识号,作为目标映射身份标识号,并生成目标映射身份标识号列表;
例如,在预警条件为“1周内新开立账户数≥10”,且该预警条件对应的风险等级为“高”的情况下,可以从各映射身份标识号中选取办卡总数大于等于10的映射身份标识号;在预警条件为“5≤1周内新开立账户数<10”,且该预警条件对应的风险等级为“中”的情况下,可以从各映射身份标识号中选取办卡总数大于等于5且小于10的映射身份标识号,并将其作为目标映射身份标识号。
而后,控制中心即可将目标映射身份标识号列表反向同步至各家银行,各家银行在接收到目标映射身份标识号列表后,可利用前述对身份标识号进行单向映射时的映射关系,从目标映射身份标识号列表中确定匹配于其携带的身份标识号的目标身份标识号,该目标身份标识号对应的用户即为过去7天内在对应银行中有新办卡记录,且符合预警条件的中/高风险用户。
需要说明的是,由于前述在对身份标识号进行映射时,进行的是单向映射,即各家银行仅知晓的自身携带的身份表示号与映射关系,因而也仅能从目标映射身份标识号列表中推断出对应于其所携带的身份标识号的目标身份标识号,可以使各家银行的所携带的身份标识号不被其他银行知晓,最大程度上保证了各家银行隐私数据的安全性。
本发明实施例中,通过针对于各家银行的分组配对,以及上报银行将办卡数块和上报至控制中心的方式,实现了针对于多个用户一定时间范围内在各家银行中办卡数目的安全高效的隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,从多个角度保障了各家银行的隐私数据的安全性,并且两两分组配对的分布式计算方式,不仅提升了计算效率,还增强了容错性,有益于故障定位。
下面对本发明提供的基于单一值的多方隐私求和装置进行描述,下文描述的基于单一值的多方隐私求和装置与上文描述的基于单一值的多方隐私求和方法可相互对应参照。
图7是本发明提供的基于单一值的多方隐私求和装置的结构示意图之一,如图7所示,该装置应用于控制中心,该装置包括:
分组模块710,用于对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
接收模块720,用于接收各分组中两个数块的数块和,所述数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;
求和模块730,用于基于所述各分组的数块和,确定求和结果;所述数块由对应参与方的本地数据拆分得到,所述本地数据为隐私数据。
本发明提供的基于单一值的多方隐私求和装置,对各参与方进行分组配对,得到互不相同的各分组,各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个数块的数块和,数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;基于各分组的数块和,确定求和结果;数块由对应参与方的本地数据拆分得到,本地数据为隐私数据,实现了安全高效的多方隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,能够在保证各参与方的本地数据的安全性的前提下,实现多方隐私求和。
图8是本发明提供的基于单一值的多方隐私求和装置的结构示意图之二,如图8所示,该装置应用于参与方,该装置包括:
数据拆分模块810,用于对各参与方的本地数据进行拆分,得到所述各参与方的两个数块,所述本地数据为隐私数据;
数块求和模块820,用于对各分组中的两个数块进行求和,得到所述各分组的数块和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的数块不同;
和值发送模块830,用于将所述各分组的数块和发送至控制中心,以使控制中心基于所述各分组的数块和,确定求和结果;所述数块和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
本发明提供的基于单一值的多方隐私求和装置,对各参与方的本地数据进行拆分,得到各参与方的两个数块;对各分组中的两个数块进行求和,得到各分组的数块和,各分组由控制中心对各参与方进行分组配对得到,各分组互不相同且每一分组由两个不同的参与方组成,每一参与方位于两个分组中;将各分组的数块和发送至控制中心,以使控制中心基于各分组的数块和,确定求和结果;数块和由对应分组中的上报参与方发送且每一参与方仅为一个分组的上报参与方,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,能够在保证各参与方的本地数据的安全性的前提下,实现高效的多方隐私求和。
下面对本发明提供的基于数据组的多方隐私求和装置进行描述,下文描述的基于数据组的多方隐私求和装置与上文描述的基于数据组的多方隐私求和方法可相互对应参照。
图9是本发明提供的基于数据组的多方隐私求和装置的结构示意图之一,如图9所示,该装置应用于控制中心,该装置包括:
分组模块910,用于对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
接收模块920,用于接收各分组中两个向量碎片的向量碎片和,所述向量碎片和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的向量碎片不同,且每一参与方仅为一个分组的上报参与方;
求和模块930,用于基于所述各分组的向量碎片和,确定求和结果;
所述向量碎片由对应参与方的第一维度向量拆分得到,所述第一维度向量由对应参与方的各数据组进行单向映射得到,数据组为隐私数据,所述数据组包括键值及其对应的数值。
本发明提供的基于数据组的多方隐私求和装置,对各参与方进行分组配对,得到互不相同的各分组,各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个向量碎片的向量碎片和,向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方;基于各分组的向量碎片和,确定求和结果;向量碎片由对应参与方的第一维度向量拆分得到,第一维度向量由对应参与方的各数据组进行单向映射得到,实现了安全高效的多方隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,拓宽了隐私求和协议的应用场景,从多个角度保障了各参与方数据组的安全性,并且两两分组配对的分布式计算方式,不仅提升了计算效率,还增强了容错性,同时有益于校验和故障定位,应用效果极佳。
基于上述实施例,所述装置还包括目标筛选模块,用于:
基于所述求和结果,确定各映射键值对应数值的数值和,映射键值基于对应数据组中的键值进行单向映射得到;
基于所述各映射键值对应数值的数值和,确定目标映射键值列表,并将所述目标映射键值列表发送至所述各参与方,以使各参与方基于单向映射的映射关系,以及所述目标映射键值列表,从对应数据组的键值中确定目标键值。
基于上述实施例,所述装置还包括校验模块,用于:
接收所述各分组中两个向量碎片的加密向量碎片,所述加密向量碎片基于对应向量碎片的偏移向量碎片进行加密隐藏得到,所述偏移向量碎片通过对应分组的随机偏移量,对对应向量碎片进行偏移得到;
基于所述各分组的两个加密向量碎片,确定所述各分组的第一加密向量碎片和,对所述各分组的向量碎片和进行加密隐藏,得到所述各分组的第二加密向量碎片和;
基于所述各分组的第一加密向量碎片和和第二加密向量碎片和,进行一致性校验,并在各分组校验通过的情况下,基于所述各分组的向量碎片和,确定求和结果。
图10是本发明提供的基于数据组的多方隐私求和装置的结构示意图之二,如图10所示,该装置应用于参与方,该装置包括:
向量拆分模块1010,用于基于任一参与方的各数据组进行单向映射,得到该参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到所述各参与方的两个向量碎片,数据组为隐私数据,所述数据组包括键值及其对应的数值;
碎片求和模块1020,用于对各分组中的两个向量碎片求和,得到所述各分组的向量碎片和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的向量碎片不同;
和值发送模块1030,用于将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果;所述向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
本发明提供的基于数据组的多方隐私求和装置,基于任一参与方的各数据组进行单向映射,得到该参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到各参与方的两个向量碎片;对各分组中的两个向量碎片进行求和,得到各分组的向量碎片和,各分组由控制中心对各参与方进行分组配对得到;将各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果;向量碎片和由对应分组中的上报参与方发送,实现了安全高效的多方隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,拓宽了隐私求和协议的应用场景,从多个角度保障了各参与方数据组的安全性,并且两两分组配对的分布式计算方式,不仅提升了计算效率,还增强了容错性,有益于校验和故障定位,应用效果极佳。
基于上述实施例,所述装置还包括目标确定模块,用于:
将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果,并基于所述求和结果,确定各映射键值对应数值的数值和,基于所述各映射键值对应数值的数值和,确定目标映射键值列表,并将所述目标映射键值列表发送至所述各参与方,映射键值基于对应数据组中的键值进行单向映射得到;
接收所述控制中心发送的所述目标映射键值列表,并基于所述目标映射键值列表,以及单向映射的映射关系,从对应数据组的键值中确定目标键值。
基于上述实施例,所述装置还包括偏移加密模块,用于:
基于所述各分组的随机偏移量,对所述各分组中两个向量碎片进行偏移,得到所述各分组的两个偏移向量碎片;对所述各分组的两个偏移向量碎片进行加密隐藏,得到所述各分组的两个加密向量碎片;
将所述各分组的两个加密向量碎片,以及所述各分组的向量碎片和发送至所述控制中心,以使所述控制中心对所述各分组的向量碎片和进行加密隐藏,得到所述各分组的第二加密向量碎片和,以及基于所述各分组的两个加密向量碎片,确定所述各分组的第一加密向量碎片和,并基于所述各分组的第一加密向量碎片和和第二加密向量碎片和,进行一致性校验,在各分组校验通过的情况下,基于所述各分组的向量碎片和,确定求和结果。
基于上述实施例,所述装置还包括数据映射模块,用于:
将任一参与方的各数据组中的键值单向映射至第一维度的整数域,得到所述各数据组中的键值在所述整数域上的映射键值;
基于所述各数据组中的键值在所述整数域上的映射键值,以及所述各数据组中键值对应的数值,确定该参与方的第一维度向量。
基于上述实施例,所述各分组中的两个向量碎片的偏移方向相反;
所述各分组的两个加密向量碎片是使用同态隐藏函数对所述各分组的两个偏移向量碎片进行加密隐藏得到的;
所述各分组的第二加密向量碎片和是使用同态隐藏函数对所述各分组的向量碎片和进行加密隐藏得到的。
图11示例了一种电子设备的实体结构示意图,如图11所示,该电子设备可以包括:处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory)1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信。处理器1110可以调用存储器1130中的逻辑指令,以执行基于单一值的多方隐私求和方法或基于数据组的多方隐私求和方法,其中基于单一值的多方隐私求和方法包括:对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个数块的数块和,所述数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;基于所述各分组的数块和,确定求和结果;所述数块由对应参与方的本地数据拆分得到,所述本地数据为隐私数据;或者包括:对各参与方的本地数据进行拆分,得到所述各参与方的两个数块,所述本地数据为隐私数据;对各分组中的两个数块进行求和,得到所述各分组的数块和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的数块不同;将所述各分组的数块和发送至控制中心,以使控制中心基于所述各分组的数块和,确定求和结果;所述数块和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。基于数据组的多方隐私求和方法包括:对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个向量碎片的向量碎片和,所述向量碎片和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的向量碎片不同,且每一参与方仅为一个分组的上报参与方;基于所述各分组的向量碎片和,确定求和结果;所述向量碎片由对应参与方的第一维度向量拆分得到,所述第一维度向量由对应参与方的各数据组进行单向映射得到,数据组为隐私数据,所述数据组包括键值及其对应的数值;或者包括:基于任一参与方的各数据组进行单向映射,得到所述任一参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到所述各参与方的两个向量碎片,数据组为隐私数据,所述数据组包括键值及其对应的数值;对各分组中的两个向量碎片进行求和,得到所述各分组的向量碎片和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的向量碎片不同;将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果;所述向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
此外,上述的存储器1130中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于单一值的多方隐私求和方法或基于数据组的多方隐私求和方法,其中基于单一值的多方隐私求和方法包括:对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个数块的数块和,所述数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;基于所述各分组的数块和,确定求和结果;所述数块由对应参与方的本地数据拆分得到,所述本地数据为隐私数据;或者包括:对各参与方的本地数据进行拆分,得到所述各参与方的两个数块,所述本地数据为隐私数据;对各分组中的两个数块进行求和,得到所述各分组的数块和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的数块不同;将所述各分组的数块和发送至控制中心,以使控制中心基于所述各分组的数块和,确定求和结果;所述数块和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。基于数据组的多方隐私求和方法包括:对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个向量碎片的向量碎片和,所述向量碎片和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的向量碎片不同,且每一参与方仅为一个分组的上报参与方;基于所述各分组的向量碎片和,确定求和结果;所述向量碎片由对应参与方的第一维度向量拆分得到,所述第一维度向量由对应参与方的各数据组进行单向映射得到,数据组为隐私数据,所述数据组包括键值及其对应的数值;或者包括:基于任一参与方的各数据组进行单向映射,得到所述任一参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到所述各参与方的两个向量碎片,数据组为隐私数据,所述数据组包括键值及其对应的数值;对各分组中的两个向量碎片进行求和,得到所述各分组的向量碎片和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的向量碎片不同;将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果;所述向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法所提供的基于单一值的多方隐私求和方法或基于数据组的多方隐私求和方法,其中基于单一值的多方隐私求和方法包括:对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个数块的数块和,所述数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;基于所述各分组的数块和,确定求和结果;所述数块由对应参与方的本地数据拆分得到,所述本地数据为隐私数据;或者包括:对各参与方的本地数据进行拆分,得到所述各参与方的两个数块,所述本地数据为隐私数据;对各分组中的两个数块进行求和,得到所述各分组的数块和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的数块不同;将所述各分组的数块和发送至控制中心,以使控制中心基于所述各分组的数块和,确定求和结果;所述数块和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。基于数据组的多方隐私求和方法包括:对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个向量碎片的向量碎片和,所述向量碎片和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的向量碎片不同,且每一参与方仅为一个分组的上报参与方;基于所述各分组的向量碎片和,确定求和结果;所述向量碎片由对应参与方的第一维度向量拆分得到,所述第一维度向量由对应参与方的各数据组进行单向映射得到,数据组为隐私数据,所述数据组包括键值及其对应的数值;或者包括:基于任一参与方的各数据组进行单向映射,得到所述任一参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到所述各参与方的两个向量碎片,数据组为隐私数据,所述数据组包括键值及其对应的数值;对各分组中的两个向量碎片进行求和,得到所述各分组的向量碎片和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的向量碎片不同;将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果;所述向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (16)
1.一种基于单一值的多方隐私求和方法,其特征在于,所述方法应用于控制中心,包括:
对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
接收各分组中两个数块的数块和,所述数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;
基于所述各分组的数块和,确定求和结果;所述数块由对应参与方的本地数据拆分得到,所述本地数据为隐私数据。
2.一种基于单一值的多方隐私求和方法,其特征在于,所述方法应用于参与方,包括:
对各参与方的本地数据进行拆分,得到所述各参与方的两个数块,所述本地数据为隐私数据;
对各分组中的两个数块进行求和,得到所述各分组的数块和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的数块不同;
将所述各分组的数块和发送至控制中心,以使控制中心基于所述各分组的数块和,确定求和结果;所述数块和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
3.一种基于数据组的多方隐私求和方法,其特征在于,所述方法应用于控制中心,包括:
对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
接收各分组中两个向量碎片的向量碎片和,所述向量碎片和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的向量碎片不同,且每一参与方仅为一个分组的上报参与方;
基于所述各分组的向量碎片和,确定求和结果;
所述向量碎片由对应参与方的第一维度向量拆分得到,所述第一维度向量由对应参与方的各数据组进行单向映射得到,数据组为隐私数据,所述数据组包括键值及其对应的数值。
4.根据权利要求3所述的基于数据组的多方隐私求和方法,其特征在于,所述基于所述各分组的向量碎片和,确定求和结果,之后还包括:
基于所述求和结果,确定各映射键值对应数值的数值和,映射键值基于对应数据组中的键值进行单向映射得到;
基于所述各映射键值对应数值的数值和,确定目标映射键值列表,并将所述目标映射键值列表发送至所述各参与方,以使各参与方基于单向映射的映射关系,以及所述目标映射键值列表,从对应数据组的键值中确定目标键值。
5.根据权利要求3所述的基于数据组的多方隐私求和方法,其特征在于,所述基于所述各分组的向量碎片和,确定求和结果,包括:
接收所述各分组中两个向量碎片的加密向量碎片,所述加密向量碎片基于对应向量碎片的偏移向量碎片进行加密隐藏得到,所述偏移向量碎片通过对应分组的随机偏移量,对对应向量碎片进行偏移得到;
基于所述各分组的两个加密向量碎片,确定所述各分组的第一加密向量碎片和,对所述各分组的向量碎片和进行加密隐藏,得到所述各分组的第二加密向量碎片和;
基于所述各分组的第一加密向量碎片和和第二加密向量碎片和,进行一致性校验,并在各分组校验通过的情况下,基于所述各分组的向量碎片和,确定求和结果。
6.一种基于数据组的多方隐私求和方法,其特征在于,所述方法应用于参与方,包括:
基于任一参与方的各数据组进行单向映射,得到所述任一参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到所述各参与方的两个向量碎片,数据组为隐私数据,所述数据组包括键值及其对应的数值;
对各分组中的两个向量碎片进行求和,得到所述各分组的向量碎片和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的向量碎片不同;
将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果;所述向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
7.根据权利要求6所述的基于数据组的多方隐私求和方法,其特征在于,所述将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果,之后还包括:
将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果,并基于所述求和结果,确定各映射键值对应数值的数值和,基于所述各映射键值对应数值的数值和,确定目标映射键值列表,并将所述目标映射键值列表发送至所述各参与方,映射键值基于对应数据组中的键值进行单向映射得到;
接收所述控制中心发送的所述目标映射键值列表,并基于所述目标映射键值列表,以及单向映射的映射关系,从对应数据组的键值中确定目标键值。
8.根据权利要求6所述的基于数据组的多方隐私求和方法,其特征在于,所述将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果,包括:
基于所述各分组的随机偏移量,对所述各分组中两个向量碎片进行偏移,得到所述各分组的两个偏移向量碎片;对所述各分组的两个偏移向量碎片进行加密隐藏,得到所述各分组的两个加密向量碎片;
将所述各分组的两个加密向量碎片,以及所述各分组的向量碎片和发送至所述控制中心,以使所述控制中心对所述各分组的向量碎片和进行加密隐藏,得到所述各分组的第二加密向量碎片和,以及基于所述各分组的两个加密向量碎片,确定所述各分组的第一加密向量碎片和,并基于所述各分组的第一加密向量碎片和和第二加密向量碎片和,进行一致性校验,在各分组校验通过的情况下,基于所述各分组的向量碎片和,确定求和结果。
9.根据权利要求6至8中任一项所述的基于数据组的多方隐私求和方法,其特征在于,所述基于任一参与方的各数据组进行单向映射,得到所述任一参与方的第一维度向量,包括:
将任一参与方的各数据组中的键值单向映射至第一维度的整数域,得到所述各数据组中的键值在所述整数域上的映射键值;
基于所述各数据组中的键值在所述整数域上的映射键值,以及所述各数据组中键值对应的数值,确定所述任一参与方的第一维度向量。
10.根据权利要求8所述的基于数据组的多方隐私求和方法,其特征在于,所述各分组中的两个向量碎片的偏移方向相反;
所述各分组的两个加密向量碎片是使用同态隐藏函数对所述各分组的两个偏移向量碎片进行加密隐藏得到的;
所述各分组的第二加密向量碎片和是使用同态隐藏函数对所述各分组的向量碎片和进行加密隐藏得到的。
11.一种基于单一值的多方隐私求和装置,其特征在于,所述装置应用于控制中心,包括:
分组模块,用于对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
接收模块,用于接收各分组中两个数块的数块和,所述数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;
求和模块,用于基于所述各分组的数块和,确定求和结果;所述数块由对应参与方的本地数据拆分得到,所述本地数据为隐私数据。
12.一种基于单一值的多方隐私求和装置,其特征在于,所述装置应用于参与方,包括:
数据拆分模块,用于对各参与方的本地数据进行拆分,得到所述各参与方的两个数块,所述本地数据为隐私数据;
数块求和模块,用于对各分组中的两个数块进行求和,得到所述各分组的数块和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的数块不同;
和值发送模块,用于将所述各分组的数块和发送至控制中心,以使控制中心基于所述各分组的数块和,确定求和结果;所述数块和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
13.一种基于数据组的多方隐私求和装置,其特征在于,所述装置应用于控制中心,包括:
分组模块,用于对各参与方进行分组配对,得到互不相同的各分组,所述各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
接收模块,用于接收各分组中两个向量碎片的向量碎片和,所述向量碎片和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的向量碎片不同,且每一参与方仅为一个分组的上报参与方;
求和模块,用于基于所述各分组的向量碎片和,确定求和结果;
所述向量碎片由对应参与方的第一维度向量拆分得到,所述第一维度向量由对应参与方的各数据组进行单向映射得到,数据组为隐私数据,所述数据组包括键值及其对应的数值。
14.一种基于数据组的多方隐私求和装置,其特征在于,所述装置应用于参与方,包括:
向量拆分模块,用于基于任一参与方的各数据组进行单向映射,得到所述任一参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到所述各参与方的两个向量碎片,数据组为隐私数据,所述数据组包括键值及其对应的数值;
碎片求和模块,用于对各分组中的两个向量碎片求和,得到所述各分组的向量碎片和,所述各分组由控制中心对所述各参与方进行分组配对得到,所述各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的向量碎片不同;
和值发送模块,用于将所述各分组的向量碎片和发送至控制中心,以使控制中心基于所述各分组的向量碎片和,确定求和结果;所述向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
15.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1或2所述的基于单一值的多方隐私求和方法,或如权利要求3至10任一项所述的基于数据组的多方隐私求和方法。
16.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1或2所述的基于单一值的多方隐私求和方法,或如权利要求3至10任一项所述的基于数据组的多方隐私求和方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211715224.1A CN115688185B (zh) | 2022-12-30 | 2022-12-30 | 多方隐私求和方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211715224.1A CN115688185B (zh) | 2022-12-30 | 2022-12-30 | 多方隐私求和方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115688185A true CN115688185A (zh) | 2023-02-03 |
CN115688185B CN115688185B (zh) | 2023-04-28 |
Family
ID=85057441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211715224.1A Active CN115688185B (zh) | 2022-12-30 | 2022-12-30 | 多方隐私求和方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115688185B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108494A (zh) * | 2023-04-12 | 2023-05-12 | 蓝象智联(杭州)科技有限公司 | 一种保护隐私的多方联合数据统计方法 |
CN116204909A (zh) * | 2023-04-17 | 2023-06-02 | 北京数牍科技有限公司 | 向量元素映射方法、电子设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233826A (zh) * | 2019-05-08 | 2019-09-13 | 西安电子科技大学 | 基于用户间数据混淆的隐私保护方法、终端数据聚合系统 |
WO2021237437A1 (zh) * | 2020-05-26 | 2021-12-02 | 云图技术有限公司 | 基于安全多方计算的数据处理方法、装置及电子设备 |
CN114513304A (zh) * | 2022-04-19 | 2022-05-17 | 浙商银行股份有限公司 | 去中心化安全多方隐私求和计算方法及系统 |
CN114548418A (zh) * | 2021-12-30 | 2022-05-27 | 天翼电子商务有限公司 | 一种基于秘密分享的横向联邦iv算法 |
CN114615282A (zh) * | 2022-05-10 | 2022-06-10 | 富算科技(上海)有限公司 | 多方安全计算方法、电子设备及可读存储介质 |
CN114692201A (zh) * | 2022-03-31 | 2022-07-01 | 北京九章云极科技有限公司 | 一种多方安全计算方法及系统 |
-
2022
- 2022-12-30 CN CN202211715224.1A patent/CN115688185B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233826A (zh) * | 2019-05-08 | 2019-09-13 | 西安电子科技大学 | 基于用户间数据混淆的隐私保护方法、终端数据聚合系统 |
WO2021237437A1 (zh) * | 2020-05-26 | 2021-12-02 | 云图技术有限公司 | 基于安全多方计算的数据处理方法、装置及电子设备 |
CN114548418A (zh) * | 2021-12-30 | 2022-05-27 | 天翼电子商务有限公司 | 一种基于秘密分享的横向联邦iv算法 |
CN114692201A (zh) * | 2022-03-31 | 2022-07-01 | 北京九章云极科技有限公司 | 一种多方安全计算方法及系统 |
CN114513304A (zh) * | 2022-04-19 | 2022-05-17 | 浙商银行股份有限公司 | 去中心化安全多方隐私求和计算方法及系统 |
CN114615282A (zh) * | 2022-05-10 | 2022-06-10 | 富算科技(上海)有限公司 | 多方安全计算方法、电子设备及可读存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116108494A (zh) * | 2023-04-12 | 2023-05-12 | 蓝象智联(杭州)科技有限公司 | 一种保护隐私的多方联合数据统计方法 |
CN116204909A (zh) * | 2023-04-17 | 2023-06-02 | 北京数牍科技有限公司 | 向量元素映射方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115688185B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495465B (zh) | 基于智能合约的隐私集合交集方法 | |
Ziegeldorf et al. | Coinparty: Secure multi-party mixing of bitcoins | |
CN115688185B (zh) | 多方隐私求和方法、装置、电子设备和存储介质 | |
CN110266482A (zh) | 一种基于区块链的非对称群组密钥协商方法 | |
CN109309569A (zh) | 基于sm2算法的协同签名的方法、装置及存储介质 | |
Le et al. | Two-party private set intersection with an untrusted third party | |
CN105187425B (zh) | 面向云计算通信系统安全的无证书门限解密方法 | |
CN104754570B (zh) | 一种基于移动互联网络的密钥分发和重构方法与装置 | |
CN114157427A (zh) | 基于sm2数字签名的门限签名方法 | |
CN112597542B (zh) | 目标资产数据的聚合方法及装置、存储介质、电子装置 | |
CN112417489B (zh) | 数字签名的生成方法、装置和服务器 | |
CN112765631B (zh) | 一种基于区块链的安全多方计算方法 | |
CN112436938B (zh) | 数字签名的生成方法、装置和服务器 | |
CN109104410B (zh) | 一种信息的匹配方法及装置 | |
CN116049897A (zh) | 基于线性同态哈希和签密的可验证隐私保护联邦学习方法 | |
Alwen et al. | Collusion-free multiparty computation in the mediated model | |
CN115442050A (zh) | 一种基于sm9算法的隐私保护的联邦学习方法 | |
CN117171779B (zh) | 基于交集保护的数据处理装置 | |
Wang et al. | Information privacy protection based on verifiable (t, n)-Threshold multi-secret sharing scheme | |
Farley et al. | BADGER-blockchain auditable distributed (RSA) key GEneRation | |
CN116702209A (zh) | 一种面向医疗数据的可验证隐私保护集合求交方法 | |
Steinwandt et al. | Attribute-based group key establishment | |
CN112911018A (zh) | 一种基于区块链的网络社区征信管理方法 | |
CN113656829A (zh) | 一种基于格密码与联盟链的医疗数据安全共享方法 | |
Huang et al. | How to protect privacy in Optimistic Fair Exchange of digital signatures |
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 |