CN115688185A - 多方隐私求和方法、装置、电子设备和存储介质 - Google Patents

多方隐私求和方法、装置、电子设备和存储介质 Download PDF

Info

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
Application number
CN202211715224.1A
Other languages
English (en)
Other versions
CN115688185B (zh
Inventor
陆阳
涂锟
柯琪锐
王�琦
陈艳晶
张曙光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengfang Financial Technology Co ltd
Original Assignee
Chengfang Financial Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengfang Financial Technology Co ltd filed Critical Chengfang Financial Technology Co ltd
Priority to CN202211715224.1A priority Critical patent/CN115688185B/zh
Publication of CN115688185A publication Critical patent/CN115688185A/zh
Application granted granted Critical
Publication of CN115688185B publication Critical patent/CN115688185B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在风险预测领域,通过对历史数据的观测,往往可以得到某些分析预警模型,例如,观察多家银行在预设时间范围内的开户情况/办卡情况,从而汇总得出预设时间范围内在多家银行中的办卡总数符合预警条件的用户,并将其标记为中/高风险用户:
Figure 211057DEST_PATH_IMAGE001
如上表所示,通过对多家银行在预设时间范围内的新办卡用户数据集的观测,可以预测出中/高风险用户,其中,7天内新开立账户数符合预警条件“1周新开立账户数≥10”的用户,标记为高风险用户;对应地,7天内新开立账户数符合预警条件“5≤1周新开立账户数<10”的用户,被标记为高风险用户。
而若要使用分析预警模型筛选出风险用户,则需在各家银行在预设时间范围内的新办卡用户数据集上进行多方求和,从而汇总得到所有办卡用户在对应时间范围内在所有银行的中的办卡总数,而于各家银行而言,新办卡用户数据集中的数据均为隐私数据,又考虑到传统的求和方法会泄露各家银行的隐私数据,因而,如何在保证各家银行的隐私数据的安全性的前提下,实现风险预测成了亟待解决的问题。
针对这一情况,目前常使用MPC(SecureMulti-Party Computation,安全多方计算)的多方隐私求和协议来解决安全性的问题,MPC针对的是无可信第三方的情况下,如何安全地计算一个约定函数的问题。然而,在工程落地上当下的两方隐私求和协议和三方隐私求和协议虽然相对成熟,但是多方(三方以上)的场景协议较少,且存在效率不高,工程落地难度较大。
对此,本发明提供一种基于单一值的多方隐私求和方法,旨在将两方隐私求和安全高效扩展到多方(三方以上)隐私求和,从而在保证各参与方的本地数据的安全性(隐私性)的前提下,实现多方隐私求和。图1是本发明提供的基于单一值的多方隐私求和方法的流程示意图之一,如图1所示,该方法应用于控制中心,该方法包括:
步骤110,对各参与方进行分组配对,得到互不相同的各分组,各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
步骤120,接收各分组中两个数块的数块和,数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;
步骤130,基于各分组的数块和,确定求和结果;数块由对应参与方的本地数据拆分得到,本地数据为隐私数据。
具体地,在进行单一值的多方隐私求和之前,首先需要确定参与多方隐私求和计 算的各参与方,此处的参与方可以理解为接入控制中心的计算节点,计算节点有多个,可以 表示为
Figure 276096DEST_PATH_IMAGE002
;各计算节点携带有本地数据
Figure 785706DEST_PATH_IMAGE003
,本发明 实施例中,基于单一值的多方隐私求和的最终目的是求得各计算节点所携带的本地数据
Figure 961604DEST_PATH_IMAGE004
的加总
Figure 404217DEST_PATH_IMAGE005
,即
Figure 171316DEST_PATH_IMAGE006
值得注意的是,此处各计算节点所携带的本地数据多为对应参与方的隐私数据,例如,可以是用户的办卡数据、开户数据等。
在确定各参与方之后,可进行数据准备,即各参与方可对各自携带的本地数据进 行拆分,以得到各自的两个数块,具体可以是,各参与方对各自所辖的本地数据进行随机的 拆分,以将其拆分为两块,从而得到各参与方的两个数块,可以表示为
Figure 902643DEST_PATH_IMAGE007
;值得注意 的是,此处针对于本地数据的拆分需满足一定条件,即
Figure 876372DEST_PATH_IMAGE008
在这之后,即可转至控制中心,以进行分组工作,即执行步骤110,控制中心对各参 与方进行分组配对,以得到互不相同的各分组,并且各分组需由两个不同的参与方组成,且 每一参与方需分布于两个分组中,具体过程可以是,控制中心随机分组配对,以将各参与方 分成由两两组成的分组,共得到不重复的
Figure 173492DEST_PATH_IMAGE009
对分组,并确保每个参与方在两个分组中。
同时,每一分组选出一个上报参与方(上报节点),此时要求每一参与方(每一计算 节点)仅能担任其所在两个分组中任一分组的上报参与方。若
Figure 845913DEST_PATH_IMAGE010
,则控制中心 对各参与方进行分组配对得到的各分组可以表示为:
Figure 595695DEST_PATH_IMAGE011
,令
Figure 113395DEST_PATH_IMAGE012
为分组
Figure 999442DEST_PATH_IMAGE013
的上报参与方,此时分组
Figure 108344DEST_PATH_IMAGE014
中的两个参与方
Figure 79842DEST_PATH_IMAGE015
Figure 418811DEST_PATH_IMAGE016
各自拥有的本地数据
Figure 424944DEST_PATH_IMAGE017
Figure 173589DEST_PATH_IMAGE018
分别对 应两个拆分数块,可以表示为
Figure 632383DEST_PATH_IMAGE019
Figure 288623DEST_PATH_IMAGE020
而在确定各分组之后,即可进行分组计算,即对各分组中参与两方隐私求和的两 个数块进行求和,从而得到各分组的数块和,具体可以是,各分组
Figure 618105DEST_PATH_IMAGE021
执行两方隐私求和协议
Figure 68809DEST_PATH_IMAGE022
并由上报参与方得到对应分组的求和结果,即数块和
Figure 14899DEST_PATH_IMAGE023
需要说明的是,此处的两方隐私求和协议
Figure 209251DEST_PATH_IMAGE024
有两方参与,通过密码学的方 式保证在不暴露两方各自拥有的数据
Figure 918538DEST_PATH_IMAGE025
的前提下完成求和,并且协议指定的一方可以 得到求和结果,另一方则无法获知求和结果。
此处,使用安全多方计算的两方隐私求和协议,进行底层的数块求和,能够在极大程度上保证两个参与方求和过程的安全性,即两方在求得中间结果的过程中没有数据泄露风险;并且,两方求得的仅是各自数块的和值,据此也只能反推出对方的数块,而无法得知对方的本地数据,保证了数据的隐私性。
在得到各分组的求和结果之后,即可转至控制中心进行汇总工作,以对各分组的 数块和进行汇总,具体可以是,各分组的上报参与方可将对应分组的数块和发送至控制中 心,控制中心则执行步骤120,即接收各分组的数块和,并可在接收到各分组的数块和之后 执行步骤130,利用各分组的数块和,确定最终的求和结果,即对各分组的数块和进行加总, 从而得到
Figure 274564DEST_PATH_IMAGE026
Figure 707951DEST_PATH_IMAGE027
本发明实施例中,对各参与方进行分组,且选用上报参与方上报对应分组的中间结果(数块和)的方式,使得该方法能够抗合谋,即即使两方合谋,由于合谋方仅提供分组的另一半的数块,因而也仅能反推出对方的数块,而无法求得对方的本地数据。
进一步地,即使在底层求和结果,即
Figure 440414DEST_PATH_IMAGE028
条数块和均暴露的情况下,得到的也仅是
Figure 744488DEST_PATH_IMAGE029
个方程,
Figure 802574DEST_PATH_IMAGE030
个未知数,而于各参与方而言,共有
Figure 192098DEST_PATH_IMAGE031
个未知数(假定半诚实模型下,上 报参与方反推了对端数块),
Figure 462673DEST_PATH_IMAGE032
,即
Figure 146553DEST_PATH_IMAGE033
的情况下方程没有确定解,各参与方的 本地数据也未泄露,保证了数据的隐私性。
本发明提供的基于单一值的多方隐私求和方法,对各参与方进行分组配对,得到互不相同的各分组,各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个数块的数块和,数块和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的数块不同,且每一参与方仅为一个分组的上报参与方;基于各分组的数块和,确定求和结果;数块由对应参与方的本地数据拆分得到,本地数据为隐私数据,实现了安全高效的多方隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,能够在保证各参与方的本地数据的安全性的前提下,实现多方隐私求和。
本发明还提供一种基于单一值的多方隐私求和方法,图2是本发明提供的基于单一值的多方隐私求和方法的流程示意图之二,如图2所示,该方法应用于参与方,该方法包括:
步骤210,对各参与方的本地数据进行拆分,得到各参与方的两个数块,本地数据为隐私数据;
步骤220,对各分组中的两个数块进行求和,得到各分组的数块和,各分组由控制中心对各参与方进行分组配对得到,各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的数块不同;
步骤230,将各分组的数块和发送至控制中心,以使控制中心基于各分组的数块和,确定求和结果;数块和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
具体地,在进行单一值的多方隐私求和之前,首先需要确定参与多方隐私求和计 算的各参与方,此处的参与方实际上是接入控制中心的计算节点,计算节点有多个,可以表 示为
Figure 844381DEST_PATH_IMAGE034
;各计算节点携带有本地数据
Figure 252360DEST_PATH_IMAGE035
, 本发明实施例中,基于单一值的多方隐私求和的最终目的是求得各计算节点所携带的本地 数据
Figure 326626DEST_PATH_IMAGE036
的加总
Figure 136450DEST_PATH_IMAGE037
,即
Figure 270760DEST_PATH_IMAGE038
值得注意的是,此处各计算节点所携带的本地数据多为对应参与方的隐私数据,例如,可以是用户的办卡数据、开户数据等。
确定各参与方后,即可进行数据准备,即执行步骤210,对各参与方的本地数据进 行拆分,以得到各参与方的两个数块,具体可以是,各参与方对各自携带的本地数据进行拆 分,以得到两个数块,即各参与方对各自所辖的本地数据进行随机的拆分,以将其拆分为两 块,从而得到各参与方的两个数块,可以表示为
Figure 634876DEST_PATH_IMAGE039
;值得注意的是,此处针对于本地 数据的拆分需满足一定条件,即
Figure 247254DEST_PATH_IMAGE040
而完成数据准备工作之后,即可转至控制中心以进行分组工作,即控制中心对各 参与方进行分组配对,以得到互不相同的各分组,并且各分组需由两个不同的参与方组成, 且每一参与方需分布于两个分组中,具体可以是,控制中心随机分组配对,以将各参与方分 成由两两组成的分组,共得到不重复的
Figure 640146DEST_PATH_IMAGE041
对分组,并确保每个参与方(计算节点)在两个分 组中。
同时,每一分组选出一个上报参与方,并且每一参与方仅能担任其所在两个分组 中任一分组的上报参与方。若
Figure 945357DEST_PATH_IMAGE042
,则控制中心对各参与方进行分组配对得到 的各分组可以表示为:
Figure 327928DEST_PATH_IMAGE043
,令
Figure 478417DEST_PATH_IMAGE044
为分组
Figure 997255DEST_PATH_IMAGE045
的上报参与方,此时分组
Figure 207787DEST_PATH_IMAGE046
中的两个参与方
Figure 77654DEST_PATH_IMAGE047
Figure 297414DEST_PATH_IMAGE048
各自拥有的本地数据
Figure 422757DEST_PATH_IMAGE049
Figure 335349DEST_PATH_IMAGE050
分别对应两个拆分数块,可以表示 为
Figure 161354DEST_PATH_IMAGE051
Figure 184804DEST_PATH_IMAGE052
完成分组之后,即可进行分组计算,即执行步骤220,对各分组中参与两方隐私求 和的两个数块进行求和,从而得到各分组的数块和,具体可以是,各分组
Figure 678234DEST_PATH_IMAGE053
执行两方隐私求和协议
Figure 496148DEST_PATH_IMAGE054
并由上报参与方得到对应分组的求和结果,即数块和
Figure 340607DEST_PATH_IMAGE055
需要说明的是,两方隐私求和协议
Figure 636591DEST_PATH_IMAGE056
有两方参与,通过密码学的方式保证 在不暴露两方各自的数据
Figure 984527DEST_PATH_IMAGE057
的前提下完成求和,并且协议指定的一方可以得到求和结 果,另一方则无法获知求和结果。
此处,使用安全多方计算的两方隐私求和协议,进行底层的数块求和,能够在极大程度上保证两个参与方求和过程的安全性,即两方在求得中间结果的过程中没有数据泄露风险;并且,两方求得的仅是各自数块的和值,据此也只能反推出对方的数块,而无法得知对方的本地数据,保证了数据的隐私性。
而得到各分组的求和结果之后,即可转至控制中心进行汇总工作,以对各分组的 数块和进行汇总,即执行步骤230,各分组的上报参与方将数块和发送至控制中心,以请求 控制中心据此各分组的数块和,确定最终的求和结果,即控制中心接收各分组的数块和,并 对各分组的数块和进行加总,从而得到最终的求和结果
Figure 233062DEST_PATH_IMAGE058
Figure 33659DEST_PATH_IMAGE059
本发明实施例中,对各参与方进行分组,且选用上报参与方上报对应分组的中间结果(数块和)的方式,使得该方法能够抗合谋,即即使两方合谋,由于合谋方仅提供分组的另一半的数块,因而也仅能反推出对方的数块,而无法求得对方的本地数据。
进一步地,即使在底层求和结果,即
Figure 398912DEST_PATH_IMAGE028
条数块和均暴露的情况下,得到的也仅是
Figure 335776DEST_PATH_IMAGE060
个方程,
Figure 761072DEST_PATH_IMAGE061
个未知数,而于各参与方而言,共有
Figure 48965DEST_PATH_IMAGE062
个未知数(假定半诚实模型下,上报 参与方反推了对端数块),
Figure 952330DEST_PATH_IMAGE063
,即
Figure 274858DEST_PATH_IMAGE064
的情况下方程没有确定解,各参与方的本地 数据也未泄露,保证了数据的隐私性。
本发明提供的基于单一值的多方隐私求和方法,对各参与方的本地数据进行拆分,得到各参与方的两个数块;对各分组中的两个数块进行求和,得到各分组的数块和,各分组由控制中心对各参与方进行分组配对得到,各分组互不相同且每一分组由两个不同的参与方组成,每一参与方位于两个分组中;将各分组的数块和发送至控制中心,以使控制中心基于各分组的数块和,确定求和结果;数块和由对应分组中的上报参与方发送且每一参与方仅为一个分组的上报参与方,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,能够在保证各参与方的本地数据的安全性的前提下,实现高效的多方隐私求和。
图3是本发明提供的基于单一值的多方隐私求和方法的总体框架图,如图3可知, 以计算某用户在
Figure 334038DEST_PATH_IMAGE028
家银行过去7天内办卡总和为例,对基于单一值的多方隐私求和过程, 进行实例说明:
此处,
Figure 374806DEST_PATH_IMAGE065
家银行为参与此多方隐私求和的
Figure 816283DEST_PATH_IMAGE065
个参与方,
Figure 258897DEST_PATH_IMAGE029
家银行可以表示为:
Figure 494837DEST_PATH_IMAGE066
,此时各家银行携带的本地数据为该用户在对应银行的办卡数目, 可以表示为
Figure 288481DEST_PATH_IMAGE067
)。
首先,各家银行进行数据准备,即各家银行
Figure 533648DEST_PATH_IMAGE068
对其携带的办卡数目
Figure 299610DEST_PATH_IMAGE036
进行随机 的拆分,以将其拆分为两块,分别为
Figure 237610DEST_PATH_IMAGE069
,且满足
Figure 715953DEST_PATH_IMAGE008
,得到各家银行的办卡 数块,可以表示为:
Figure 30391DEST_PATH_IMAGE070
随即,控制中心可以进行分组调度,即控制中心
Figure 916438DEST_PATH_IMAGE071
随机分组配对,以得到互不相同 的
Figure 697444DEST_PATH_IMAGE072
个分组,并确保每家银行在两个分组中,同时,每个分组选出一个上报银行,而每家银 行仅能作为其所在分组中任一分组的上报银行;
Figure 934521DEST_PATH_IMAGE073
进行分组,此处令各分 组中前一家银行(加粗的银行)为上报银行;
随后,各家银行进行分组计算,即每一分组
Figure 521491DEST_PATH_IMAGE074
执行两方隐 私求和协议
Figure 262045DEST_PATH_IMAGE075
,并由上报银行对应分组的求和结果,例如
Figure 541848DEST_PATH_IMAGE076
,计算
Figure 18220DEST_PATH_IMAGE077
,得到办卡数块和
Figure 408882DEST_PATH_IMAGE078
,并由
Figure 269521DEST_PATH_IMAGE079
得到求和结果
Figure 720225DEST_PATH_IMAGE080
, 以此类推,即可得到各分组的求和结果,分别为
Figure 931895DEST_PATH_IMAGE081
此后,即可进行上报汇总,即各分组
Figure 860668DEST_PATH_IMAGE045
的上报银行将办卡数块和
Figure 841393DEST_PATH_IMAGE082
发送至控制中 心
Figure 197420DEST_PATH_IMAGE083
,控制节点则可接收各分组的办卡数块和,并可对各分组的办卡数块和进行加总,从而 得到该用户过去7天在
Figure 890526DEST_PATH_IMAGE029
家银行的办卡总和
Figure 357410DEST_PATH_IMAGE084
Figure 192642DEST_PATH_IMAGE085
本发明实施例中,对各家银行进行分组,且选用上报银行上报对应分组的办卡数块和的方式,使得该方法能够抗合谋,即使两方合谋,由于合谋方仅提供分组的另一半的办卡数块,因而也仅能反推出对方的办卡数块,而无法求得对方的办卡数目。
进一步地,即使在底层的
Figure 985149DEST_PATH_IMAGE065
条办卡数块和均暴露的情况下,得到的也仅是
Figure 905832DEST_PATH_IMAGE029
个方 程,
Figure 441986DEST_PATH_IMAGE086
个未知数,而于各家银行而言,共有
Figure 866146DEST_PATH_IMAGE087
个未知数(假定半诚实模型下,上报银行 反推了对端办卡数块),
Figure 95133DEST_PATH_IMAGE088
,即
Figure 237532DEST_PATH_IMAGE064
的情况下方程没有确定解,各家银行的办卡数 目也未泄露,保证了数据的隐私性。
本发明实施例中,通过针对于各家银行的分组配对,以及上报银行将办卡数块和上报至控制中心的方式,实现了针对于某一用户一定时间范围内在各家银行中办卡数目的安全高效的隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,能够在保证各家银行办卡数目的隐私性的前提下,实现办卡数目的汇总。
本发明还提供一种基于数据组的多方隐私求和方法,图4是本发明提供的基于数据组的多方隐私求和方法的流程示意图之一,如图4所示,该方法应用于控制中心,该方法包括:
步骤410,对各参与方进行分组配对,得到互不相同的各分组,各分组由两个不同的参与方组成,且每一参与方位于两个分组中;
步骤420,接收各分组中两个向量碎片的向量碎片和,向量碎片和由对应分组中的上报参与方发送,每一参与方在不同分组中参与计算的向量碎片不同,且每一参与方仅为一个分组的上报参与方;
步骤430,基于各分组的向量碎片和,确定求和结果;
向量碎片由对应参与方的第一维度向量拆分得到,第一维度向量由对应参与方的各数据组进行单向映射得到,数据组为隐私数据,数据组包括键值及其对应的数值。
具体地,在进行数据组的多方隐私求和之前,首先需要确定参与多方隐私求和计 算的各参与方,此处的参与方可以理解为接入控制中心的计算节点,计算节点有多个,可以 表示为
Figure 305939DEST_PATH_IMAGE089
;各计算节点携带有多个由键值及其对应的数值组成的数 据组
Figure 850184DEST_PATH_IMAGE090
,其中
Figure 984493DEST_PATH_IMAGE091
为键值,
Figure 145347DEST_PATH_IMAGE092
为对应于
Figure 757725DEST_PATH_IMAGE093
的数值,数据组为对应参与方的隐私数据。本发 明实施例中,隐私保护的范围包括数据组的键值及其对应的数值。
此处,键值及其对应的数值均为隐私数据,键值可以理解为身份数据(如身份标识号),数值则可以理解为开户数据、办卡数据等。
此处,各参与方所携带的各数据组中的键值可能存在交集,也可能交集为空集,即 键值间不存在重叠。例如,参与方
Figure 156477DEST_PATH_IMAGE094
所携带的数据组包括
Figure 727267DEST_PATH_IMAGE095
Figure 578679DEST_PATH_IMAGE096
Figure 988889DEST_PATH_IMAGE097
所携带的数 据组包括
Figure 773305DEST_PATH_IMAGE098
Figure 983838DEST_PATH_IMAGE099
Figure 853705DEST_PATH_IMAGE100
Figure 807885DEST_PATH_IMAGE101
所携带的数据组包括
Figure 181229DEST_PATH_IMAGE102
Figure 828242DEST_PATH_IMAGE103
Figure 919826DEST_PATH_IMAGE104
, 此时
Figure 208856DEST_PATH_IMAGE105
所辖的键值与
Figure 454284DEST_PATH_IMAGE106
所辖的键值存在交集。
在确定各参与方后,可进行数据准备,即各参与方使用相同方法(如哈希函数),对 其所携带的各数据组进行单向映射,以将数值组中的所有键值
Figure 272199DEST_PATH_IMAGE107
单向映射至
Figure 851079DEST_PATH_IMAGE108
的整数 域上,并将各键值对应的数值
Figure 881483DEST_PATH_IMAGE109
填到对应位置上,从而得到各参与方的
Figure 760577DEST_PATH_IMAGE110
维向量(第一维度 向量),可以表示为:
Figure 483814DEST_PATH_IMAGE111
对应
Figure 549990DEST_PATH_IMAGE112
;此处,通过单向映射可以对 数据组中的键值进行隐藏,使得仅有各参与方能知晓各自的键值,保证了数据的隐私性;
然后,各参与方可对各自的第一维度向量进行拆分,以得到各自的两个向量碎片, 具体可以是,各参与方按照单一值的多方隐私求和方法中的拆分方式,对各自的第一维度 向量进行随机的拆分,以将其拆分为两个碎片,从而得到各参与方的两个向量碎片
Figure 649664DEST_PATH_IMAGE113
之后,控制中心对各参与方进行分组配对,即执行步骤410,控制中心对各参与方 进行分组配对,以得到互不相同的各分组,并且各分组需由两个不同的参与方组成,且每一 参与方需分布于两个分组中,具体可以是,控制中心按照单一值的多方隐私求和方法中的 分组方式进行随机分组配对,以将各参与方分成由两两组成的分组,共得到互不相同的
Figure 846247DEST_PATH_IMAGE114
对 分组,并确保每个参与方(计算节点)在两个分组中。
同时,每一分组选出一个上报参与方(上报节点),此时要求每一参与方(每一计算 节点)仅能担任其所在两个分组中任一分组的上报参与方。若
Figure 537122DEST_PATH_IMAGE115
,则控制中心 对各参与方进行分组配对得到的各分组可以表示为:
Figure 559436DEST_PATH_IMAGE116
,令
Figure 728380DEST_PATH_IMAGE044
为分组
Figure 785329DEST_PATH_IMAGE117
的上报参与方,此时分组
Figure 115948DEST_PATH_IMAGE117
中的两个参与方
Figure 891137DEST_PATH_IMAGE118
Figure 598193DEST_PATH_IMAGE119
各自的第一维度向量
Figure 509648DEST_PATH_IMAGE120
Figure 5308DEST_PATH_IMAGE121
分别 对应两个向量碎片,可以表示为
Figure 533373DEST_PATH_IMAGE122
Figure 247382DEST_PATH_IMAGE123
确定各分组后,即可进行分组计算,即对各分组中参与此分组求和计算(中间结果 计算)的向量碎片进行求和,从而得到各分组的向量碎片和,具体可以是,各分组按照单一 值的多方隐私求和方法中的求和方式,对组内两个向量碎片中每个维度的值进行求和,并 由上报参与方得到求和结果,即向量碎片和
Figure 278923DEST_PATH_IMAGE124
,之后,各分组的上报参与方可将对 应分组的向量碎片和发送至控制中心。
此处,按照单一值的多方隐私求和方法中的方式,进行向量碎片求和,能够在极大程度上保证组内的两个参与方求和过程的安全性,即两方在求得中间结果的过程中没有数据泄露风险;并且,两方求得的仅是各自向量碎片的和值,据此也只能反推出对方的向量碎片,而无法得知对方的第一维度向量,保证了数据的隐私性。
本发明实施例中,使用两两分组配对的分布式并行计算方式,求取中间结果,可在极大程度上提升计算效率,并且,分布式的计算方式能够使得容错性更强,即在某一分组故障无法完成运算时,其对于最终的求和结果不造成根本性的影响,原因在于:控制中心在未接收到所有分组的中间结果的情况下,仍可进行汇总求和,并筛选出符合筛选条件的数值,简而言之,控制中心即使未能获得所有分组的向量碎片和,最终也能求解出符合条件的数值。
而在得到各分组的求和结果之后,控制中心即可进行汇总工作,即执行步骤420,控制中心接收各分组的向量碎片和,接着可执行步骤430,利用各分组的向量碎片和,确定最终的求和结果,即对各分组的向量进行加总,从而得到求和结果,此处的求和结果可以是向量和,由于向量中包含多个映射键值,因此求和结果也可以是各映射键值对应数值的数值和,此处的映射键值即对应数据组中的键值进行单向映射所得的键值。
本发明实施例中,对各参与方进行分组,且选用上报参与方上报对应分组的中间结果(向量碎片和)的方式,使得该方法能够抗合谋,即即使两方合谋,由于合谋方仅提供分组的另一半的向量碎片,因而也仅能反推出对方的向量碎片,而无法求得对方的第一维度向量,保证了数据的隐私性。
本发明提供的基于数据组的多方隐私求和方法,对各参与方进行分组配对,得到互不相同的各分组,各分组由两个不同的参与方组成,且每一参与方位于两个分组中;接收各分组中两个向量碎片的向量碎片和,向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方;基于各分组的向量碎片和,确定求和结果;向量碎片由对应参与方的第一维度向量拆分得到,第一维度向量由对应参与方的各数据组进行单向映射得到,实现了安全高效的多方隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,拓宽了隐私求和协议的应用场景,从多个角度保障了各参与方数据组的安全性,并且两两分组配对的分布式计算方式,不仅提升了计算效率,还增强了容错性,同时有益于校验和故障定位,应用效果极佳。
基于上述实施例,步骤430中,基于各分组的向量碎片和,确定求和结果,之后还包括:
基于求和结果,确定各映射键值对应数值的数值和,映射键值基于对应数据组中的键值进行单向映射得到;
基于各映射键值对应数值的数值和,确定目标映射键值列表,并将目标映射键值列表发送至各参与方,以使各参与方基于单向映射的映射关系,以及目标映射键值列表,从对应数据组的键值中确定目标键值。
具体地,步骤430中,在通过各分组的向量碎片和,确定最终的求和结果之后,可据此求和结果,确定各映射键值对应数值的数值和,此处的映射键值即对应数据组中的键值进行单向映射所得的键值,而各映射键值对应数值即各键值在对应数据组中对应的数值。
然后,可依据各映射键值对应数值的数值和,从各映射键值中筛选出目标映射键值,并可根据筛选出的各目标映射键值构建目标映射键值列表,具体可以是,以各映射键值对应数值的数值和为基准,选取数值和符合筛选条件的映射键值,作为目标映射键值,并生成目标映射键值列表。
例如,在键值为用户的身份标识号,其对应的数值为办卡数目的情况下,可以在各映射身份标识号对应的办卡总数的基础上,利用预警条件筛选出目标映射身份标识号,即将符合预警条件的映射身份标识号,从各映射身份标识号中筛选出来,作为目标映射身份标识号。若预警条件为“新开立账户数≥10”,则从各映射身份标识号中选取办卡总数大于等于10的映射身份标识号;若预警条件为“5≤新开立账户数<10”,则从各映射身份标识号中选取办卡总数大于等于5且小于10的映射身份标识号,并将其作为目标映射身份标识号。
随后,可将目标映射键值列表发送至各参与方,即将目标映射键值列表反向同步至各参与方,各参与方在接收到目标映射键值列表后,即可借助单向映射的映射关系,从目标映射键值列表中确定目标键值,具体可以是,各参与方利用前述对各数据组进行单向映射时的映射关系,从目标映射键值列表中确定匹配于其所辖键值的键值,该键值即为对应参与方的目标键值。
此处的目标键值可以理解为风险预测场景中,符合预警条件的中/高风险用户的身份标识号,而由于前述在对各数据组进行映射时,进行的是单向映射,即各参与方仅知晓的自身所辖的键值与映射关系,因而也仅能从目标映射键值列表中推断出对应于其所辖键值的目标键值,最大程度上保证了各参与方的数据组的隐私性。
例如,风险预测场景中,由于单向映射因而各银行仅知晓自家的用户的身份标识号和映射关系,因此也仅能推断出本银行中办卡总数符合预警条件的身份标识号,如此即可使得各银行的用户的身份标识号不被其他方知晓,保证了用户的身份信息的安全性。
基于上述实施例,步骤430包括:
接收各分组中两个向量碎片的加密向量碎片,加密向量碎片基于对应向量碎片的偏移向量碎片进行加密隐藏得到,偏移向量碎片通过对应分组的随机偏移量,对对应向量碎片进行偏移得到;
基于各分组的两个加密向量碎片,确定各分组的第一加密向量碎片和,对各分组的向量碎片和进行加密隐藏,得到各分组的第二加密向量碎片和;
基于各分组的第一加密向量碎片和和第二加密向量碎片和,进行一致性校验,并在各分组校验通过的情况下,基于各分组的向量碎片和,确定求和结果。
具体地,步骤430中,根据各分组的向量碎片和,确定最终的求和结果的过程,具体包括如下步骤:
控制中心在完成分组工作之后,各分组可随机生成随机偏移量
Figure 951344DEST_PATH_IMAGE125
,此处分组与分 组间的随机偏移量互不相关,然后,各分组可依据其随机偏移量
Figure 435546DEST_PATH_IMAGE126
,对组内参与此分组求和 计算(中间结果计算)的两个向量碎片进行偏移,从而得到各分组的两个偏移向量碎片。
接着,各参与方可对各自的两个偏移向量碎片进行加密隐藏,从而得到各分组的两个加密向量碎片,具体可以是,使用同态隐藏参数,对各分组的两个偏移向量碎片进行加密隐藏,以得到各分组的两个加密向量碎片,之后,可将各分组的两个加密向量碎片发送至控制中心。
控制中心则可接收到各分组中参与中间结果计算的两个向量碎片的加密向量碎片,然后可对各分组的两个加密向量碎片进行求和,从而得到各分组的加密向量碎片和,为便于区分将此处的加密向量碎片和称为第一加密向量碎片和,同时可对各分组的向量碎片和进行加密隐藏,以得到各分组的加密向量碎片和,此处的加密向量碎片和称为第二加密向量碎片和,具体可以是,使用同态隐藏函数,对各分组的向量碎片和进行加密隐藏,从而得到各分组的第二加密向量碎片和。
此后,控制中心即可利用各分组的第一加密向量碎片和,以及各分组的第二加密向量碎片和,进行一致性校验,即验证各分组的第一加密向量碎片和与第二加密向量碎片和之间的一致性,若两者一致,则对应分组的一致性校验通过,反之若不一致,则对应分组的一致性校验不通过。
此处,一致性校验能够验证数据的完整性和真实性,即验证向量碎片,以及向量碎片和是否被篡改,校验通过则说明未被篡改,反之则说明数据发生变化,已被篡改。
图5是本发明提供的一致性校验过程的框架示意图,如图5所示,由于同态隐藏函 数的特性,在未发生篡改的情况下,利用其进行加密隐藏所得的两个加密向量碎片的第一 加密向量碎片和,必定与利用其对向量碎片和进行加密隐藏所得的第二加密向量碎片和相 同,即图5中
Figure 15563DEST_PATH_IMAGE127
。若
Figure 901611DEST_PATH_IMAGE128
,则可以确定数据发生了篡改。
进一步地,可在各分组的一致性校验通过的情况下,利用各分组的向量碎片和,确定最终的求和结果,即对各分组的向量进行加总,从而得到求和结果。
本发明还提供一种基于数据组的多方隐私求和方法,图6是本发明提供的基于数据组的多方隐私求和方法的流程示意图之二,如图6所示,该方法应用于参与方,该方法包括:
步骤610,基于任一参与方的各数据组进行单向映射,得到该参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到各参与方的两个向量碎片,数据组为隐私数据,数据组包括键值及其对应的数值;
步骤620,对各分组中的两个向量碎片进行求和,得到各分组的向量碎片和,各分组由控制中心对各参与方进行分组配对得到,各分组互不相同,且每一分组由两个不同的参与方组成,每一参与方位于两个分组中,且每一参与方在不同分组中参与计算的向量碎片不同;
步骤630,将各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果;向量碎片和由对应分组中的上报参与方发送,且每一参与方仅为一个分组的上报参与方。
具体地,在进行数据组的多方隐私求和之前,首先需要确定参与多方隐私求和计 算的各参与方,此处的参与方可以理解为接入控制中心的计算节点,计算节点有多个,可以 表示为
Figure 739073DEST_PATH_IMAGE129
;各计算节点携带有多个由键值及其对应的数值组成的数据 组
Figure 976151DEST_PATH_IMAGE130
,其中
Figure 297542DEST_PATH_IMAGE131
为键值,
Figure 303675DEST_PATH_IMAGE109
为对应于
Figure 317899DEST_PATH_IMAGE093
的数值,数据组为对应参与方的隐私数据。本发明实 施例中,隐私保护的范围包括数据组的键值及其对应的数值。
此处,键值及其对应的数值均为隐私数据,键值可以理解为身份数据(如身份标识号),数值则可以理解为开户数据、办卡数据等。
此处,各参与方所携带的各数据组中的键值可能存在交集,也可能交集为空集,即 键值间不存在重叠。例如,参与方
Figure 42272DEST_PATH_IMAGE132
所携带的数据组包括
Figure 432933DEST_PATH_IMAGE133
Figure 293573DEST_PATH_IMAGE134
Figure 496276DEST_PATH_IMAGE135
所携带的数 据组包括
Figure 707946DEST_PATH_IMAGE136
Figure 636719DEST_PATH_IMAGE137
Figure 351865DEST_PATH_IMAGE138
Figure 973470DEST_PATH_IMAGE101
所携带的数据组包括
Figure 141277DEST_PATH_IMAGE139
Figure 873741DEST_PATH_IMAGE140
Figure 708973DEST_PATH_IMAGE141
,此 时
Figure 235901DEST_PATH_IMAGE142
所辖的键值与
Figure 416303DEST_PATH_IMAGE106
所辖的键值存在交集。
在确定各参与方后,可进行数据准备,即执行步骤610,各参与方使用相同方法(如 哈希函数),对其所携带的各数据组中的所有键值
Figure 686878DEST_PATH_IMAGE143
单向映射至
Figure 642196DEST_PATH_IMAGE144
的整数域上,并将各 键值对应的数值
Figure 605604DEST_PATH_IMAGE145
填到对应位置上,从而得到各参与方的
Figure 748004DEST_PATH_IMAGE146
维向量(第一维度向量),可以 表示为:
Figure 556691DEST_PATH_IMAGE147
对应
Figure 366515DEST_PATH_IMAGE148
此处,通过单向映射可以对数据组中的键值进行隐藏,使得仅有各参与方能知晓各自的键值,保证了数据的隐私性。
然后,各参与方可对各自的第一维度向量进行拆分,以得到各自的两个向量碎片, 具体可以是,各参与方按照单一值的多方隐私求和方法中的拆分方式,对各自的第一维度 向量进行随机的拆分,以将其拆分为两个碎片,从而得到各参与方的两个向量碎片
Figure 500824DEST_PATH_IMAGE149
之后,控制中心对各参与方进行分组配对,以得到互不相同的各分组,并且各分组 需由两个不同的参与方组成,且每一参与方需分布于两个分组中,具体可以是,控制中心按 照单一值的多方隐私求和方法中的分组方式进行随机分组配对,以将各参与方分成由两两 组成的分组,共得到互不相同的
Figure 124660DEST_PATH_IMAGE060
对分组,并确保每个参与方(计算节点)在两个分组中。
同时,每一分组选出一个上报参与方(上报节点),此时要求每一参与方(每一计算 节点)仅能担任其所在两个分组中任一分组的上报参与方。若
Figure 268197DEST_PATH_IMAGE150
,则控制中心 对各参与方进行分组配对得到的各分组可以表示为:
Figure 666948DEST_PATH_IMAGE151
,令
Figure 972159DEST_PATH_IMAGE152
为分组
Figure 89150DEST_PATH_IMAGE014
的上报参与方,此时分组
Figure 770799DEST_PATH_IMAGE153
中的两个参与方
Figure 24057DEST_PATH_IMAGE152
Figure 765748DEST_PATH_IMAGE016
各自的第一维度向量
Figure 104456DEST_PATH_IMAGE154
Figure 583936DEST_PATH_IMAGE155
分别对应 两个向量碎片,可以表示为
Figure 957280DEST_PATH_IMAGE156
Figure 338714DEST_PATH_IMAGE157
确定各分组后,即可进行分组计算,即执行步骤620,对各分组中参与此分组求和 计算(中间结果计算)的两个向量碎片进行求和,从而得到各分组的向量碎片和,具体可以 是,各分组按照单一值的多方隐私求和方法中的求和方式,对组内两个向量碎片中每个维 度的值进行求和,并由上报参与方得到求和结果,即向量碎片和
Figure 695877DEST_PATH_IMAGE158
此处,按照单一值的多方隐私求和方法中的方式,进行向量碎片求和,能够在极大程度上保证组内的两个参与方求和过程的安全性,即两方在求得中间结果的过程中没有数据泄露风险;并且,两方求得的仅是各自向量碎片的和值,据此也只能反推出对方的向量碎片,而无法得知对方的第一维度向量,保证了数据的隐私性。
本发明实施例中,使用两两分组配对的分布式并行计算方式,求取中间结果,可在极大程度上提升计算效率,并且,分布式的计算方式能够使得容错性更强,即在某一分组故障无法完成运算时,其对于最终的求和结果不造成根本性的影响,原因在于:控制中心在未接收到所有分组的中间结果的情况下,仍可进行汇总求和,并筛选出符合筛选条件的数值,简而言之,控制中心即使未能获得所有分组的向量碎片和,最终也能求解出符合条件的数值。
之后,即可进行汇总工作,即执行步骤630,各分组的上报参与方将对应分组的向量碎片和发送至控制中心,控制中心则可利用接收到各分组的向量碎片和,确定最终的求和结果,即对各分组的向量进行加总,从而得到求和结果,此处的求和结果可以是向量和,由于向量中包含多个映射键值,因此求和结果也可以是各映射键值对应数值的数值和,映射键值即对应数据组中的键值进行单向映射所得的键值。
本发明实施例中,对各参与方进行分组,且选用上报参与方上报对应分组的中间结果(向量碎片和)的方式,使得该方法能够抗合谋,即即使两方合谋,由于合谋方仅提供分组的另一半的向量碎片,因而也仅能反推出对方的向量碎片,而无法求得对方的第一维度向量,保证了数据的隐私性。
本发明提供的基于数据组的多方隐私求和方法,基于任一参与方的各数据组进行单向映射,得到该参与方的第一维度向量,对各参与方的第一维度向量进行拆分,得到各参与方的两个向量碎片;对各分组中的两个向量碎片进行求和,得到各分组的向量碎片和,各分组由控制中心对各参与方进行分组配对得到;将各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果;向量碎片和由对应分组中的上报参与方发送,实现了安全高效的多方隐私求和,克服了传统方案中多方求和效率不高,工程落地难度大的缺陷,拓宽了隐私求和协议的应用场景,从多个角度保障了各参与方数据组的安全性,并且两两分组配对的分布式计算方式,不仅提升了计算效率,还增强了容错性,有益于校验和故障定位,应用效果极佳。
基于上述实施例,步骤630中,将各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果,之后还包括:
将各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果,并基于求和结果,确定各映射键值对应数值的数值和,基于各映射键值对应数值的数值和,确定目标映射键值列表,并将目标映射键值列表发送至各参与方,映射键值基于对应数据组中的键值进行单向映射得到;
接收控制中心发送的目标映射键值列表,并基于目标映射键值列表,以及单向映射的映射关系,从对应数据组的键值中确定目标键值。
具体地,步骤430中,在各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果之后,控制中心可据此求和结果,确定各映射键值对应数值的数值和,此处的映射键值即对应数据组中的键值进行单向映射所得的键值,而各映射键值对应数值即各键值在对应数据组中对应的数值。
然后,控制中心可依据各映射键值对应数值的数值和,从各映射键值中筛选出目标映射键值,并可根据筛选出的各目标映射键值构建目标映射键值列表,具体可以是,控制中心以各映射键值对应数值的数值和为基准,选取数值和符合筛选条件的映射键值,作为目标映射键值,并生成目标映射键值列表。
例如,在键值为用户的身份标识号,其对应的数值为办卡数目的情况下,可以在各映射身份标识号对应的办卡总数的基础上,利用预警条件筛选出目标映射身份标识号,即将符合预警条件的映射身份标识号,从各映射身份标识号中筛选出来,作为目标映射身份标识号。若预警条件为“新开立账户数≥10”,则从各映射身份标识号中选取办卡总数大于等于10的映射身份标识号;若预警条件为“5≤新开立账户数<10”,则从各映射身份标识号中选取办卡总数大于等于5且小于10的映射身份标识号,并将其作为目标映射身份标识号。
随后,控制中心可将目标映射键值列表发送至各参与方,即将目标映射键值列表反向同步至各参与方,而各参与方在接收到目标映射键值列表后,即可借助单向映射的映射关系,从目标映射键值列表中确定目标键值,具体可以是,各参与方利用前述对各数据组进行单向映射时的映射关系,从目标映射键值列表中确定匹配于其所辖键值的键值,该键值即为对应参与方的目标键值。
此处的目标键值可以理解为风险预测场景中,符合预警条件的中/高风险用户的身份标识号,而由于前述在对各数据组进行映射时,进行的是单向映射,即各参与方仅知晓的自身所辖的键值与映射关系,因而也仅能从目标映射键值列表中推断出对应于其所辖键值的目标键值,最大程度上保证了各参与方的数据组的隐私性。
例如,风险预测场景中,由于单向映射因而各银行仅知晓自家的用户的身份标识号和映射关系,因此也仅能推断出本银行中办卡总数符合预警条件的身份标识号,如此即可使得各银行的用户的身份标识号不被其他方知晓,保证了用户的身份信息的安全性。
基于上述实施例,步骤630包括:
基于各分组的随机偏移量,对各分组中两个向量碎片进行偏移,得到各分组的两个偏移向量碎片;对各分组的两个偏移向量碎片进行加密隐藏,得到各分组的两个加密向量碎片;
将各分组的两个加密向量碎片,以及各分组的向量碎片和发送至控制中心,以使控制中心对各分组的向量碎片和进行加密隐藏,得到各分组的第二加密向量碎片和,以及基于各分组的两个加密向量碎片,确定各分组的第一加密向量碎片和,并基于各分组的第一加密向量碎片和和第二加密向量碎片和,进行一致性校验,在各分组校验通过的情况下,基于各分组的向量碎片和,确定求和结果。
具体地,步骤630中,将各分组的向量碎片和发送至控制中心,以使控制中心基于各分组的向量碎片和,确定求和结果的过程,具体包括如下步骤:
控制中心在完成分组工作之后,各分组可随机生成随机偏移量
Figure 453748DEST_PATH_IMAGE125
,此处分组与分 组间的随机偏移量互不相关,然后,各分组可依据其随机偏移量
Figure 947178DEST_PATH_IMAGE159
,对组内参与此分组求和 计算(中间结果计算)的两个向量碎片进行偏移,从而得到各分组的两个偏移向量碎片。
接着,各参与方可对各自的两个偏移向量碎片进行加密隐藏,从而得到各分组的两个加密向量碎片,具体可以是,使用同态隐藏参数,对各分组的两个偏移向量碎片进行加密隐藏,以得到各分组的两个加密向量碎片,之后,可将各分组的两个加密向量碎片发送至控制中心。
控制中心则可接收到各分组中参与中间结果计算的两个向量碎片的加密向量碎片,然后可对各分组的两个加密向量碎片进行求和,从而得到各分组的加密向量碎片和,为便于区分将此处的加密向量碎片和称为第一加密向量碎片和,同时可对各分组的向量碎片和进行加密隐藏,以得到各分组的加密向量碎片和,此处的加密向量碎片和称为第二加密向量碎片和,具体可以是,使用同态隐藏函数,对各分组的向量碎片和进行加密隐藏,从而得到各分组的第二加密向量碎片和。
此后,控制中心即可利用各分组的第一加密向量碎片和,以及各分组的第二加密向量碎片和,进行一致性校验,即验证各分组的第一加密向量碎片和与第二加密向量碎片和之间的一致性,若两者一致,则对应分组的一致性校验通过,反之若不一致,则对应分组的一致性校验不通过。
此处,一致性校验能够验证数据的完整性和真实性,即验证向量碎片,以及向量碎片和是否被篡改,校验通过则说明未被篡改,反之则说明数据发生变化,已被篡改。
由于同态隐藏函数的特性,在未发生篡改的情况下,利用其进行加密隐藏所得的 两个加密向量碎片的第一加密向量碎片和,必定与利用其对向量碎片和进行加密隐藏所得 的第二加密向量碎片和相同,即图5中
Figure 765092DEST_PATH_IMAGE160
。若
Figure 78393DEST_PATH_IMAGE161
,则可以确定数据发生了篡改。
进一步地,控制中心可在各分组的一致性校验通过的情况下,利用各分组的向量碎片和,确定最终的求和结果,即对各分组的向量进行加总,从而得到求和结果。
基于上述实施例,步骤610中,基于任一参与方的各数据组进行单向映射,得到该参与方的第一维度向量,包括:
将任一参与方的各数据组中的键值单向映射至第一维度的整数域,得到各数据组中的键值在整数域上的映射键值;
基于各数据组中的键值在整数域上的映射键值,以及各数据组中键值对应的数值,确定该参与方的第一维度向量。
具体地,步骤610中,基于任一参与方的各数据组进行单向映射,得到该参与方的第一维度向量的过程,具体可以包括:
首先,任一参与方可将其所携带的各数据组中的所有键值
Figure 470033DEST_PATH_IMAGE093
单向映射至
Figure 552390DEST_PATH_IMAGE162
的整 数域上,从而得到该参与方的各数据组中的键值在
Figure 806785DEST_PATH_IMAGE163
的整数域上的映射键值;
随即,可在各数据组中的键值在
Figure 607382DEST_PATH_IMAGE144
的整数域上的映射键值的基础上,结合各数 据组中键值对应的数值,确定该参与方的
Figure 238214DEST_PATH_IMAGE164
维向量(第一维度向量),具体可以是,以各数据 组中的键值在
Figure 175078DEST_PATH_IMAGE165
的整数域上的映射键值为基准,将各键值对应的数值
Figure 600374DEST_PATH_IMAGE166
填到对应位置 上,从而得到各参与方的第一维度向量,可以表示为:
Figure 622688DEST_PATH_IMAGE167
对应
Figure 526053DEST_PATH_IMAGE112
本发明实施例中,通过单向映射可以对数据组中的键值进行隐藏,使得仅有各参与方能知晓各自的键值,保证了数据的隐私性。
基于上述实施例,各分组中的两个向量碎片的偏移方向相反;
各分组的两个加密向量碎片是使用同态隐藏函数对各分组的两个偏移向量碎片进行加密隐藏得到的;
各分组的第二加密向量碎片和是使用同态隐藏函数对各分组的向量碎片和进行加密隐藏得到的。
具体地,上述过程中,各分组在商议得出随即偏移量
Figure 842721DEST_PATH_IMAGE168
之后,使用随机偏移量
Figure 173340DEST_PATH_IMAGE169
,对 组内参与此分组求和(中间结果计算)的两个向量碎片进行偏移时,此两个向量碎片的偏移 方向相反,如图5所示,对于分组
Figure 214108DEST_PATH_IMAGE170
,在对其进行偏移时,对于
Figure 593268DEST_PATH_IMAGE171
Figure 973565DEST_PATH_IMAGE172
的偏移方向相 反,而两者偏移方向相反则可以使得,
Figure 475084DEST_PATH_IMAGE173
,有利于一致 性校验过程。
此外,考虑到同态隐藏函数
Figure 206411DEST_PATH_IMAGE174
的特性,即其满足:
Figure 445719DEST_PATH_IMAGE175
Figure 477261DEST_PATH_IMAGE176
不同,则利用同态隐藏函数对其进行加密隐藏所得的
Figure 149681DEST_PATH_IMAGE177
Figure 633884DEST_PATH_IMAGE178
也不 同;并且给定
Figure 417163DEST_PATH_IMAGE179
难以反推出
Figure 568790DEST_PATH_IMAGE180
对应地,若给定
Figure 412112DEST_PATH_IMAGE177
Figure 914769DEST_PATH_IMAGE181
,则可以很容易的计算出关于
Figure 501739DEST_PATH_IMAGE182
Figure 767592DEST_PATH_IMAGE183
的加密函数值, 例如,通过
Figure 781815DEST_PATH_IMAGE184
Figure 975030DEST_PATH_IMAGE185
求和可以得到
Figure 631271DEST_PATH_IMAGE186
,且满足
Figure 226331DEST_PATH_IMAGE187
因而,为便于一致性校验,本发明实施例中,各参与方在对各自的两个偏移向量碎片进行加密隐藏时,以及控制中心在对各分组的向量碎片和进行加密隐藏时,使用的均是同态隐藏函数。
本发明实施例中,使用同态隐藏函数,进行加密隐藏,能够为后续的一致性校验提供数据支撑,为数据的完整性和真实性的验证过程提供了关键性的助力。
下面以计算多个用户在
Figure 942615DEST_PATH_IMAGE028
家银行过去7天内办卡总和为例,对基于数据组的多方 隐私求和过程,进行实例说明:
此处,
Figure 623126DEST_PATH_IMAGE188
家银行为参与此多方隐私求和的
Figure 551899DEST_PATH_IMAGE060
个参与方,
Figure 550202DEST_PATH_IMAGE029
家银行可以表示为:
Figure 640649DEST_PATH_IMAGE189
,此时各参与方携带的各数据组中的键值及其对应的数值可以理 解为用户的身份标识号和办卡数目。
每家银行携带过去7天内有新办卡记录的用户的ID(Identity Document,身份标识号),以及办卡数目,例如:
银行
Figure 605194DEST_PATH_IMAGE190
:ID1(1),ID2(2),ID3(3)
银行
Figure 72079DEST_PATH_IMAGE191
:ID2(1),ID3(2),ID4(3)
银行
Figure 907311DEST_PATH_IMAGE192
:ID4(1),ID5(2),ID6(3)
银行
Figure 699817DEST_PATH_IMAGE193
:ID6(1),ID7(2),ID8(3)
最终需要求得每一用户的办卡总和,ID1(1),ID2(3),…,ID8(3),并且需每家银行仅能得知本银行办卡总数符合预警条件的用户的ID。
首先,各家银行进行数据准备,即每家银行使用同样的方法(例如,哈希函数)将7 天内有新办卡记录的所有键值(ID值)单向映射至
Figure 354921DEST_PATH_IMAGE194
的整数域上,并将各键值对应的数 值(办卡数目)填到对应的维度上,从而得到各家银行的
Figure 891075DEST_PATH_IMAGE195
维向量(第一维度向量);
随即,各家银行按照单一值的多方隐私求和方法中的拆分方式,对各自的第一维度向量进行随机的拆分,以将其拆分为两个碎片,从而得到各家银行的两个向量碎片,可以表示为:
Figure 574954DEST_PATH_IMAGE196
接着,各组随机生成随机偏移量
Figure 538362DEST_PATH_IMAGE197
,并使用
Figure 680762DEST_PATH_IMAGE198
对参与分组求和计算的两个向量碎片 进行偏移,从而得到各分组的两个偏移向量碎片;并使用同态隐藏参数,对各分组的两个偏 移向量碎片进行加密隐藏,以得到各分组的两个加密向量碎片;之后可将各分组的两个加 密向量碎片发送至控制中心;
随后,控制中心按照单一值的多方隐私求和方法中的分组方式进行随机分组配 对,以将各家银行分成由两两组成的分组,共得到互不相同的
Figure 20607DEST_PATH_IMAGE199
对分组,并确保每家银行 在两个分组中;
同时,每一分组选出一个上报银行,此时要求每一银行仅能担任其所在两个分组中任一分组的上报银行;
之后,各分组可按照单一值的多方隐私求和方法中的求和方式,对参与此分组求和计算的两个向量碎片进行求和,即对组内两个向量碎片中每个维度的值进行求和,并由上报银行得到求和结果,即向量碎片和,接着上报银行将对应分组的向量碎片和发送至控制中心;
此处,按照单一值的多方隐私求和方法中的方式,进行向量碎片求和,能够在极大程度上保证组内的两个银行求和过程的安全性,即两方在求得中间结果的过程中没有数据泄露风险;并且,两方求得的仅是各自向量碎片的和值,据此也只能反推出对方的向量碎片,而无法得知对方的第一维度向量,保证了数据的隐私性。
本发明实施例中,使用两两分组配对的分布式并行计算方式,求取中间结果,可在极大程度上提升计算效率,并且,分布式的计算方式能够使得容错性更强,即在某一分组故障无法完成运算时,其对于最终的求和结果不造成根本性的影响,原因在于:控制中心在未接收到所有分组的中间结果的情况下,仍可进行汇总求和,并筛选出符合筛选条件的数值,简而言之,控制中心即使未能获得所有分组的向量碎片和,也能求解出符合预警条件的目标映射身份标识号,从而使得各家银行可以知晓自家中满足预警条件的风险用户。
然后,控制中心可接收到各分组的两个加密向量碎片,以及各分组的向量碎片和,并可对各分组的两个加密向量碎片进行求和,从而得到各分组的第一加密向量碎片和,同时可使用同态隐藏函数,对各分组的向量碎片和进行加密隐藏,得到各分组的第二加密向量碎片和。
此后,控制中心即可利用各分组的第一加密向量碎片和,以及各分组的第二加密向量碎片和,进行一致性校验,即验证各分组的第一加密向量碎片和与第二加密向量碎片和之间的一致性,若两者一致,则对应分组的一致性校验通过,反之若不一致,则对应分组的一致性校验不通过。
此处,一致性校验能够验证数据的完整性和真实性,即验证向量碎片,以及向量碎片和是否被篡改,校验通过则说明未被篡改,反之则说明数据发生变化,已被篡改。
进一步地,可在各分组的一致性校验通过的情况下,利用各分组的向量碎片和,确定最终的求和结果,并可根据求和结果,确定各映射键值对应数值的数值和,即各映射身份标识号对应的办卡总数;
接着,控制中心可依据各映射键值对应数值的数值和,从各映射键值中筛选出目标映射键值,并根据各目标映射键值构建目标映射键值列表,即以各映射身份标识号对应的办卡总数为基准,从各映射身份标识号中选取符合预警条件的映射身份标识号,作为目标映射身份标识号,并生成目标映射身份标识号列表;
例如,在预警条件为“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任一项所述的基于数据组的多方隐私求和方法。
CN202211715224.1A 2022-12-30 2022-12-30 多方隐私求和方法、装置、电子设备和存储介质 Active CN115688185B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 北京九章云极科技有限公司 一种多方安全计算方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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