CN114329578A - 数据处理方法、装置及系统 - Google Patents
数据处理方法、装置及系统 Download PDFInfo
- Publication number
- CN114329578A CN114329578A CN202111415690.3A CN202111415690A CN114329578A CN 114329578 A CN114329578 A CN 114329578A CN 202111415690 A CN202111415690 A CN 202111415690A CN 114329578 A CN114329578 A CN 114329578A
- Authority
- CN
- China
- Prior art keywords
- data
- vector
- data set
- result
- acquiring
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据处理方法、装置及系统,适用于过滤器生成节点,包括以下步骤:获取所述过滤器生成节点的第一数据集;根据所述第一数据集,获取第一向量发送至被过滤节点,以使所述被过滤节点根据所述第一向量对所述被过滤节点的数据集进行预筛选;获取数据划分策略,并根据所述数据划分策略对所述第一数据集进行预分块,以获取至少两个第一数据子集。由此,本申请在半诚实假设的前提下,基于布隆过滤器对数据集进行预筛选,并基于数据划分策略对筛选后的第一数据集进行预分块,极大地提升了运算性能,从而在降低了对计算机的内存需求的基础上,提高了数据处理过程中的效率、安全性及可靠性。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理方法、装置及系统。
背景技术
隐私保护集合求交(Private Set Intersection,简称PSI),作为安全多方计算领域的一个特定的应用问题,不仅具有重要的理论意义,也具有很强的应用价值。目前,随着用户数据的隐私保护越来越受到重视,如何在享受各类依赖个人信息的业务的便利性的同时最大程度保护个人信息的私密性,为研究的主要方向之一。特别地,隐私保护集合求交的应用场景往往涉及大批量数据(亿级、十亿级)。
然而,相关技术中的集合求交方法,在速度与运算复杂度上通常不能符合业务需求。也就是说,相关技术中的集合求交方法,往往存在因对计算机的内存需求极大而导致的安全性无法保证、运算效率低等技术问题。
由此,如何提高数据处理过程中的效率及安全性,并降低对计算机内存的需求,已成为了亟待解决的问题。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种数据处理方法,用于解决现有数据处理方法中存在的无法提高数据处理过程中的效率及安全性,并降低对计算机内存的需求的技术问题。
本发明的第二个目的在于提出另一种数据处理方法。
本发明的第三个目的在于提出一种数据处理装置。
本发明的第四个目的在于提出另一种数据处理装置。
本发明的第五个目的在于提出又一种数据处理方法。
本发明的第六个目的在于提出一种数据处理系统。
本发明的第七个目的在于提出一种电子设备。
本发明的第八个目的在于提出一种计算机可读存储介质。
为了实现上述目的,本申请第一方面实施例提供了一种数据处理方法,适用于过滤器生成节点,包括以下步骤:获取所述过滤器生成节点的第一数据集;根据所述第一数据集,获取第一向量发送至被过滤节点,以使所述被过滤节点根据所述第一向量对所述被过滤节点的数据集进行预筛选;获取数据划分策略,并根据所述数据划分策略对所述第一数据集进行预分块,以获取至少两个第一数据子集。
另外,根据本申请上述实施例的数据处理方法还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述根据所述第一数据集,获取第一向量,包括:获取目标函数以及所述目标函数对应的预设数量;根据所述目标函数和所述预设数量,对所述第一数据集进行哈希散列处理,以获取所述第一向量。
根据本申请的一个实施例,所述根据所述目标函数和所述预设数量,对所述第一数据集进行哈希散列处理,以获取所述第一向量,包括:根据所述目标函数和所述预设数量,获取所述第一数据集的目标函数输出值;对所述目标函数输出值进行模处理,以获取模处理结果;根据所述模处理结果,获取所述第一向量。
根据本申请的一个实施例,所述根据所述模处理结果,获取所述第一向量,包括:获取所述第一数据集的初始向量,并根据所述模处理结果,从所述初始向量中确定至少一个第一目标位置;将所述初始向量中所有的所述第一目标位置置为预设数值,并将置为所述预设数值后的所述初始向量作为所述第一向量。
根据本申请的一个实施例,所述获取数据划分策略之前,还包括:接收所述被过滤节点发送的筛选后的数据集的数量;获取分块阈值,并根据所述分块阈值和所述筛选后的数据集的数量,获取所述数据划分策略。
根据本申请的一个实施例,所述方法还包括:获取第一干扰信息发送至所述被过滤节点;接收所述被过滤节点发送的根据所述第一干扰信息加密得到的第一加密结果;获取第二干扰信息,并根据所述第二干扰信息,对所述第一加密结果和所述第一向量进行加密;将加密后的第一加密结果和加密后的第一向量发送至所述被过滤节点,以使所述被过滤节点根据加密后的第一加密结果和加密后的第一向量获取集合求交结果,并接收所述被过滤节点发送的所述集合求交结果。
本申请第一方面实施例提供的数据处理方法,能够在半诚实假设的前提下,基于布隆过滤器对第一数据集进行预筛选,使得在后续过滤器生成节点和被过滤节点进行隐私保护集合求交时,需要处理的数据量得以降低。同时,基于数据划分策略对筛选后的第一数据集进行预分块,以获取至少两个第一数据子集,能够降低数据处理过程中每次处理的数据量以及最终求交集时的计算复杂度。进一步地,针对预分块后得到的第一数据子集能够并行计算,极大地提升了运算性能,从而在降低了对计算机的内存需求的基础上,提高了数据处理过程中的效率、安全性及可靠性。
为了实现上述目的,本申请第二方面实施例提供了另一种数据处理方法,适用于被过滤节点,包括以下步骤:获取所述被过滤节点的第二数据集;接收过滤器生成节点发送的第一向量,并根据所述第一向量,对所述第二数据集进行预筛选;接收所述过滤器生成节点发送的数据划分策略,并根据所述数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集;针对每个所述第二数据子集进行集合求交,以获取集合求交结果。
另外,根据本申请上述实施例的数据处理方法还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述根据所述第一向量,对所述第二数据集进行预筛选,包括:获取目标函数以及所述目标函数对应的预设数量;根据所述目标函数和所述预设数量,对所述第二数据集进行哈希散列处理,以获取第二向量;根据所述第一向量和所述第二向量,对所述第二数据集进行预筛选。
根据本申请的一个实施例,所述根据所述目标函数和所述预设数量,对所述第二数据集进行哈希散列处理,以获取第二向量,包括:根据所述目标函数和所述预设数量,获取所述第二数据集的目标函数输出值;对所述目标函数输出值进行模处理,以获取模处理结果;根据所述模处理结果,获取所述第二向量。
根据本申请的一个实施例,所述根据所述模处理结果,获取所述第二向量,包括:获取所述第二数据集的初始向量,并根据所述模处理结果,从所述初始向量中确定至少一个第二目标位置;将所述初始向量中所有的所述第二目标位置置为预设数值,并将置为所述预设数值后的所述初始向量作为所述第二向量。
根据本申请的一个实施例,所述根据所述第一向量和所述第二向量,对所述第二数据集进行预筛选,包括:根据所述第一向量,获取所述第一向量中被置为所述预设数值的第一目标位置;响应于所述第二数据集中存在所述第一目标位置与所述第二目标位置一致的目标数据,则将所有的所述目标数据作为所述筛选后的第二数据集。
根据本申请的一个实施例,所述对所述第二数据集进行预筛选之后,还包括:获取所述过滤器生成节点的数据集的数据的第一数量;获取所述筛选后的第二数据集的数据的第二数量;获取所述第一数量和所述第二数量之间的差值,响应于所述差异大于预设差值阈值,则重新对所述筛选后的第二数据集进行预筛选。
根据本申请的一个实施例,所述方法还包括:接收所述过滤器生成节点发送的第一干扰信息;根据所述第一干扰信息,对所述第二向量进行加密,以得到第一加密结果发送至所述过滤器生成节点;接收所述过滤器生成节点发送的加密后的第一加密结果和加密后的第一向量,并根据所述加密后的第一加密结果和所述加密后的第一向量,获取所述集合求交结果;将所述集合求交结果发送至所述过滤器生成节点。
根据本申请的一个实施例,所述根据所述加密后的第一加密结果和所述加密后的第一向量,获取所述集合求交结果,包括:根据所述第二干扰信息,对所述加密后的第一加密结果进行解密,以获取第一解密结果;对所述第一解密结果进行哈希散列处理,并根据进行哈希散列处理后的第一解密结果和所述加密后的第一向量,获取所述集合求交结果。
本申请第二方面实施例提供了联邦学习模型的训练方法,能够在半诚实假设的前提下,基于布隆过滤器对第一数据集进行预筛选,使得在后续过滤器生成节点和被过滤节点进行隐私保护集合求交时,需要处理的数据量得以降低。同时,基于数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集,能够降低数据处理过程中每次处理的数据量以及最终求交集时的计算复杂度。进一步地,针对预分块后得到的第二数据子集能够并行计算,极大地提升了运算性能,从而在降低了对计算机的内存需求的基础上,提高了数据处理过程中的效率、安全性及可靠性。
为了实现上述目的,本申请第三方面实施例提供了一种数据处理装置,包括:第一获取模块,用于获取所述过滤器生成节点的第一数据集;第二获取模块,用于根据所述第一数据集,获取第一向量发送至被过滤节点,以使所述被过滤节点根据所述第一向量对所述被过滤节点的数据集进行预筛选;预分块模块,用于获取数据划分策略,并根据所述数据划分策略对所述第一数据集进行预分块,以获取至少两个第一数据子集。
另外,根据本申请上述实施例的数据处理装置还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述第二获取模块,还用于:获取目标函数以及所述目标函数对应的预设数量;根据所述目标函数和所述预设数量,对所述第一数据集进行哈希散列处理,以获取所述第一向量。
根据本申请的一个实施例,所述第二获取模块,还用于:根据所述目标函数和所述预设数量,获取所述第一数据集的目标函数输出值;对所述目标函数输出值进行模处理,以获取模处理结果;根据所述模处理结果,获取所述第一向量。
根据本申请的一个实施例,所述第二获取模块,还用于:获取所述第一数据集的初始向量,并根据所述模处理结果,从所述初始向量中确定至少一个第一目标位置;将所述初始向量中所有的所述第一目标位置置为预设数值,并将置为所述预设数值后的所述初始向量作为所述第一向量。
根据本申请的一个实施例,所述预分块模块,还用于:接收所述被过滤节点发送的筛选后的数据集的数量;获取分块阈值,并根据所述分块阈值和所述筛选后的数据集的数量,获取所述数据划分策略。
根据本申请的一个实施例,还包括,加密模块,用于:获取第一干扰信息发送至所述被过滤节点;接收所述被过滤节点发送的根据所述第一干扰信息加密得到的第一加密结果;获取第二干扰信息,并根据所述第二干扰信息,对所述第一加密结果和所述第一向量进行加密;将加密后的第一加密结果和加密后的第一向量发送至所述被过滤节点,以使所述被过滤节点根据加密后的第一加密结果和加密后的第一向量获取集合求交结果,并接收所述被过滤节点发送的所述集合求交结果。
本申请第三方面实施例提供了联邦学习模型的训练装置,能够在半诚实假设的前提下,基于布隆过滤器对第一数据集和第二数据集进行预筛选,使得在后续过滤器生成节点和被过滤节点进行隐私保护集合求交时,需要处理的数据量得以降低。同时,基于数据划分策略对筛选后的第一数据集和筛选后的第二数据集进行预分块,并对分块后的数据进行并行计算,以降低数据处理过程中的数据量以及最终求交集时的计算复杂度,同时极大地提升了运算性能,从而在降低了对计算机的内存需求的基础上,提高了数据处理过程中的效率、安全性及可靠性。
为了实现上述目的,本申请第四方面实施例提供了一种数据处理装置,包括:获取模块,用于获取所述被过滤节点的第二数据集;预筛选模块,用于接收过滤器生成节点发送的第一向量,并根据所述第一向量,对所述第二数据集进行预筛选;预分块模块,用于接收所述过滤器生成节点发送的数据划分策略,并根据所述数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集;集合求交模块,用于针对每个所述第二数据子集进行集合求交,以获取集合求交结果。
另外,根据本申请上述实施例的数据处理装置还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述预筛选模块,还用于:获取目标函数以及所述目标函数对应的预设数量;根据所述目标函数和所述预设数量,对所述第二数据集进行哈希散列处理,以获取第二向量;根据所述第一向量和所述第二向量,对所述第二数据集进行预筛选。
根据本申请的一个实施例,所述预筛选模块,还用于:根据所述目标函数和所述预设数量,获取所述第二数据集的目标函数输出值;对所述目标函数输出值进行模处理,以获取模处理结果;根据所述模处理结果,获取所述第二向量。
根据本申请的一个实施例,所述预筛选模块,还用于:获取所述第二数据集的初始向量,并根据所述模处理结果,从所述初始向量中确定至少一个第二目标位置;将所述初始向量中所有的所述第二目标位置置为预设数值,并将置为所述预设数值后的所述初始向量作为所述第二向量。
根据本申请的一个实施例,所述预筛选模块,还用于:根据所述第一向量,获取所述第一向量中被置为所述预设数值的第一目标位置;响应于所述第二数据集中存在所述第一目标位置与所述第二目标位置一致的目标数据,则将所有的所述目标数据作为所述筛选后的第二数据集。
根据本申请的一个实施例,所述预筛选模块,还用于:获取所述过滤器生成节点的数据集的数据的第一数量;获取所述筛选后的第二数据集的数据的第二数量;获取所述第一数量和所述第二数量之间的差值,响应于所述差异大于预设差值阈值,则重新对所述筛选后的第二数据集进行预筛选。
根据本申请的一个实施例,所述预筛选模块,还用于:获取所述过滤器生成节点的数据集的数据的第一数量;获取所述筛选后的第二数据集的数据的第二数量;获取所述第一数量和所述第二数量之间的差值,响应于所述差异大于预设差值阈值,则重新对所述筛选后的第二数据集进行预筛选。
根据本申请的一个实施例,所述加密模块,还用于:根据所述第二干扰信息,对所述加密后的第一加密结果进行解密,以获取第一解密结果;对所述第一解密结果进行哈希散列处理,并根据进行哈希散列处理后的第一解密结果和所述加密后的第一向量,获取所述集合求交结果。
本申请第四方面实施例提供了联邦学习模型的训练装置,能够在半诚实假设的前提下,基于布隆过滤器对第一数据集进行预筛选,使得在后续过滤器生成节点和被过滤节点进行隐私保护集合求交时,需要处理的数据量得以降低。同时,基于数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集,能够降低数据处理过程中每次处理的数据量以及最终求交集时的计算复杂度。进一步地,针对预分块后得到的第二数据子集能够并行计算,极大地提升了运算性能,从而在降低了对计算机的内存需求的基础上,提高了数据处理过程中的效率、安全性及可靠性。
为了实现上述目的,本申请第五方面实施例提供了又一种数据处方法,包括以下步骤:过滤器生成节点获取第一数据集,并根据所述第一数据集,获取第一向量发送至被过滤节点;所述被过滤节点获取第二数据集,并接收所述第一向量,以根据所述第一向量,对所述第二数据集进行预筛选;所述过滤器生成节点获取数据划分策略,并将所述数据划分策略发送至所述被过滤节点;所述被过滤节点接收所述数据划分策略,并根据所述数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集;所述被过滤节点针对每个所述第二数据子集进行集合求交,以获取集合求交结果。
为了实现上述目的,本申请第六方面实施例提供了一种数据处理系统,所述系统包括:如本申请第三方面实施例所述的数据处理装置以及如本申请第四方面实施例所述的数据处理装置。
为了实现上述目的,本申请第七方面实施例提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本申请第一方面实施例中任一项所述的数据处理方法,或者实现如本申请第二方面实施例中任一项所述的数据处理方法,或者实现如本申请第五方面实施例所述的数据处理方法。
为了实现上述目的,本申请第八方面实施例提供了一种计算机可读存储介质,该程序被处理器执行时实现如本申请第一方面实施例中任一项所述的数据处理方法,或者实现如本申请第二方面实施例中任一项所述的数据处理方法,或者实现如本申请第五方面实施例所述的数据处理方法。
附图说明
图1为本申请一个实施例公开的数据处理方法的流程示意图;
图2为本申请一个实施例公开的布隆过滤器工作的流程示意图;
图3为本申请另一个实施例公开的数据处理方法的流程示意图;
图4为本申请另一个实施例公开的数据处理方法的流程示意图;
图5为本申请另一个实施例公开的数据处理方法的流程示意图;
图6为本申请另一个实施例公开的数据处理方法的流程示意图;
图7为本申请另一个实施例公开的数据处理方法的流程示意图;
图8为本申请另一个实施例公开的数据处理方法的流程示意图;
图9为本申请另一个实施例公开的数据处理方法的流程示意图;
图10为本申请另一个实施例公开的数据处理方法的流程示意图;
图11为本申请另一个实施例公开的数据处理方法的流程示意图;
图12为本申请另一个实施例公开的数据处理方法的流程示意图;
图13为本申请另一个实施例公开的数据处理方法的流程示意图;
图14为本申请另一个实施例公开的数据处理方法的流程示意图;
图15为本申请另一个实施例公开的数据处理方法的流程示意图;
图16为本申请另一个实施例公开的数据处理方法的流程示意图;
图17为本申请另一个实施例公开的数据处理方法的流程示意图;
图18为本申请一个实施例公开的数据处理装置的示意图;
图19为本申请一个实施例公开的数据处理装置的示意图;
图20为本申请一个实施例公开的数据处理装置的示意图;
图21为本申请一个实施例公开的数据处理装置的示意图;
图22为本申请一个实施例公开的云平台的架构图;
图23为本申请实施例提供的一种数据处理系统的结构示意图;
图24为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面参照附图描述根据本申请实施例提出的数据处理方法、装置及系统。
图1为本申请一个实施例公开的数据处理方法的流程示意图。
如图1所示,以过滤器生成节点作为执行主体,对本申请实施例提出的数据处理方法进行解释说明,具体包括以下步骤:
S101、获取过滤器生成节点的第一数据集。
需要说明的是,隐私保护集合求交(Private Set Intersection,简称PSI)能够保护集合的隐私性,且保护集合的隐私性在很多场景下是自然甚至是必要的需求。
举例而言,当集合是某用户的通讯录或是某基因诊断服务用户的基因组时,此种情况下,输入(通讯录、基因组等)则须通过密码学的手段进行保护后,再参与运算。
由此,实际应用中,在进行隐私保护集合求交时,主要包括以下方式:基于公钥加密机制(不经意多项式计算、不经意伪随机函数、盲签名)的隐私保护集合求交、基于混淆电路的隐私保护集合求交、基于不经意传输协议的隐私保护集合求交等。
其中,隐私保护集合求交,允许持有各自集合的两方来共同计算两个集合的交集运算。在协议交互的最后,其中一方或是两方应该得到正确的交集,而且不会得到交集以外另一方集合中的任何信息。
然而,相关技术中的集合求交方法无法在不增加对计算机内存的需求的基础上,有效、可靠地处理大批量数据(亿级、十亿级)。由此,本申请提出一种数据处理方法,以基于散列函数预分块技术以及布隆过滤器预筛选技术,进行隐私保护集合求交。
需要说明的是,本申请提供的数据处理方法,在半诚实假设的前提下,进行隐私保护集合求交。
其中,半诚实假设,指的是在数据处理的过程中,各参与节点(过滤器生成节点以及被过滤节点)均将准确地按照协议进行计算,但是,同时也将记录下所有中间结果,用以推导额外信息。也就是说,各参与节点均按照协议进行计算。
需要说明的是,如图2所示,由于布隆过滤器的时间效率和空间效率都优于其它数据结构,且不需要存储元素本身,因此,在样本数较少的一方生成过滤器,并将其应用到样本数较多的一方,能够使得双方后续处理中样本数能够尽可能达到一致;尤其在双方交集较小的情况下,两次布隆过滤器可以有效减少后续需要对齐的样本数。
然而,布隆过滤器存在一定的假阳性率,也即,不能剔除所有的非交集数据;所以,还需要配合其它PSI方法后续处理。以5000w vs 15w为例,整个PSI过程即为15w数据方生成过滤器,并从5000w数据方过滤出~15w量级的数据,后续只需要进行15w量级数据的PSI。
由于双方本地对各自集合进行分块,则在最后一步求交集时,能大大降低所需的内存;由于分块方式确保了各块之间不存在交集,因此各块可以并行处理。以5000w vs5000w为例,可以将双方拆分为100块,每块~50w的数据,在内存有限的境况下可以串行处理,若内存与带宽足够,也可并行处理;而最终的结果是100次50w量级的数据求交集,远少于一次5000w量级的数据求交集所需的内存与运算量。
需要说明的是,本申请中,数据处理过程主要涉及两方之间的信息交互。由此,在开始对双方数据进行处理前,可以对服务器与客户端、过滤器生成节点与被过滤节点进行约定。
需要说明的是,本申请对于对服务器与客户端、过滤器生成节点与被过滤节点进行约定的方式不作限定,可以根据实际情况进行设定。
作为一种可能的实现方式,针对两方参与集合求交的应用场景,可以随机选取任意一方作为服务器方,并将另一方作为客户端方。
进一步地,为了缩短数据处理过程的耗时,可以获取服务器方对应的集合元素以及客户端方对应的集合元素,并将两方对应的集合元素数量进行比较,以将集合元素较少的一方作为过滤器生成节点,并将另一方作为被过滤节点。
进一步地,若服务器方对应的集合元素以及客户端方对应的集合元素数量相等,则可以将服务器方作为过滤器生成节点,并将客户端方作为被过滤节点。
举例而言,针对参与隐私保护集合求交的A、B两方,可以将A作为服务器方,并将B作为客户端方;进一步地,若获取到A方对应的集合元素为a个、B方对应的集合元素为b个,且a>b,则可以将B方作为过滤器生成节点,并将A方作为被过滤节点;若获取到A方对应的集合元素为a个、B方对应的集合元素为b个,且a=b,则可以将A方作为过滤器生成节点,并将B方作为被过滤节点。
此种情况下,过滤器生成节点,即服务器对应的集合元素即为第一数据集。
需要说明的是,针对多于两方参与的集合求交应用场景,可以参照上述描述进行类推。
S102、根据第一数据集,获取第一向量发送至被过滤节点,以使被过滤节点根据第一向量对被过滤节点的数据集进行预筛选。
本申请实施例中,在过滤器生成节点获取第一数据集之后,可以根据第一数据集,获取第一向量。
需要说明的是,本申请中对于根据第一数据集,获取第一向量的具体方式不作限定,可以根据实际情况进行选取。
作为一种可能的实现方式,可以对第一数据集进行处理,以生成布隆过滤器,进而将布隆过滤器对应的第一向量发送至被过滤节点,以使被过滤节点根据第一向量对被过滤节点的数据集进行预筛选。
其中,布隆过滤器(Bloom Filter),实际上是一个较长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是具有一定的假阳性率。
需要说明的是,本申请中,针对被过滤节点,可以根据第一向量对被过滤节点的数据集(数据量较大)进行预筛选,从而降低了最终参与求交的运算量,进而也降低了对计算机内存的需求。
S103、获取数据划分策略,并根据数据划分策略对第一数据集进行预分块,以获取至少两个第一数据子集。
本申请实施例中,过滤器生成节点可以获取数据划分策略,并根据数据划分策略对第一数据集进行预分块,以获取至少两个第一数据子集。同时,可以将数据划分策略发送至被过滤节点。
其中,数据划分策略,即为针对第一数据集的预分块策略。
可选地,数据划分策略,至少包括分块阈值(N_thres)和分块划分点(split_list),进而可以根据分块阈值和分块划分点,对第一数据集进行预分块。其中,分块阈值通常与机器的运行参数相关,例如,分块阈值与机器能处理的数字数量相关。
举例而言,若第一数据集包括100个元素、机器能处理的数字数量为20,且分块划分点分别为第20、第40、第60、第80以及第100个数字处,此种情况下,则可以根据数据划分策略,对第一数据集进行预分块,以获取5个第一数据子集。
需要说明的是,本申请中,针对过滤器生成节点,可以根据数据划分策略对第一数据集进行预分块,使得预分块后得到的第一数据子集能够并行计算,以极大地提升运算性能。
由此,本申请能够在半诚实假设的前提下,基于布隆过滤器对第一数据集进行预筛选,使得在后续过滤器生成节点和被过滤节点进行隐私保护集合求交时,需要处理的数据量得以降低。同时,基于数据划分策略对筛选后的第一数据集进行预分块,以获取至少两个第一数据子集,能够降低数据处理过程中每次处理的数据量以及最终求交集时的计算复杂度。进一步地,针对预分块后得到的第一数据子集能够并行计算,极大地提升了运算性能,从而在降低了对计算机的内存需求的基础上,提高了数据处理过程中的效率、安全性及可靠性。
需要说明的是,本申请中,在试图获取第一向量时,可以对第一数据集进行哈希散列处理。
作为一种可能的实现方式,如图3所示,上述步骤S102中,根据第一数据集,获取第一向量的过程,具体包括以下步骤:
S201、获取目标函数以及目标函数对应的预设数量。
需要说明的是,在进行数据处理之前,参与集合求交的所有节点(针对两方参与的集合求交,则至包括过滤器生成节点和被过滤节点),可以预先对目标函数以及目标函数对应的预设数量进行设定。
举例而言,过滤器生成节点和被过滤节点可以约定假阳性率Epsilon,并根据以下公式获取布隆过滤器的长度(bitmap长度)m:
m=-1.44*log2(Epsilon)*sample_num
其中,m为bitmap长度、Epsilon为假阳性率、sample_num为元素较少的一方(过滤器生成节点)对应的元素(第一数据集)的数量。
其中,假阳性率可以根据实际情况进行设定,例如,可以设定假阳性率的取值范围为1%~5%。
进一步地,可以通过以下公式获取所需的哈希函数的个数k,即目标函数对应的预设数量:
K=-log2(Epsilon)
进一步地,过滤器生成节点和被过滤节点可以约定所需使用的哈希函数,即目标函数。
其中,哈希函数(Hash Function),指的是将哈希表中元素的关键键值映射为元素存储位置的函数。
S202、根据目标函数和预设数量,对第一数据集进行哈希散列处理,以获取第一向量。
作为一种可能的实现方式,如图4所示,上述步骤S202中,根据目标函数和预设数量,对第一数据集进行哈希散列处理,以获取第一向量的过程,具体包括以下步骤:
S301、根据目标函数和预设数量,获取第一数据集的目标函数输出值。
本申请实施例中,针对第一数据集,在获取目标函数和预设数量k后,可以根据目标函数和预设数量k,计算k个目标函数的目标函数输出值,即获取计算k个哈希函数的输出值。
其中,目标函数输出值为整数。
S302、对目标函数输出值进行模处理,以获取模处理结果。
本申请实施例中,在获取第一数据集的目标函数输出值后,可以对第一数据集的目标函数输出值进行模处理,以获取模处理结果。
其中,模处理,即取模运算,指的是求两个数相除的余数的处理方式。相应地,模处理结果为数字。
S303、根据模处理结果,获取第一向量。
作为一种可能的实现方式,如图5所示,上述步骤S303中,根据模处理结果,获取第一向量的过程,具体包括以下步骤:
S401、获取第一数据集的初始向量,并根据模处理结果,从初始向量中确定至少一个第一目标位置。
举例而言,针对一个m维的向量,可以将未进行哈希处理前的向量作为第一数据集的初始向量。进一步地,在进行模处理后,在m维的向量上进行了映射,即留下了对应的痕迹,此种情况下,可以将被映射的初始向量的位置作为第一目标位置。
S402、将初始向量中所有的目标位置置为预设数值,并将置为预设数值后的初始向量作为第一向量。
其中,预设数值,可以根据实际情况进行设定,例如,可以将预设数值设定为1,此种情况下,其余位置则默认置0;又例如,可以将预设数值设定为0,此种情况下,其余位置则默认置1。
由此,本申请提出的数据处理方法,可以通过获取目标函数以及目标函数对应的预设数量,进而根据目标函数和预设数量,对第一数据集进行哈希散列处理,以获取第一向量,为准确地基于布隆过滤器对第一数据集进行预筛选奠定了基础,进一步提高了数据处理过程中的效率、安全性及可靠性。
进一步地,可以将获取到的第一向量发送至被过滤节点,以使被过滤节点根据第一向量对被过滤节点的数据集进行预筛选。
相应地,被过滤节点在进行预筛选后,将发送筛选后的数据集的数量,此种情况下,过滤器生成节点在试图获取数据划分策略之前,可以接收被过滤节点发送的筛选后的数据集的数量。
作为一种可能的实现方式,如图6所示,在获取数据划分策略之前的过程,具体包括以下步骤:
S501、接收被过滤节点发送的筛选后的数据集的数量。
本申请实施例中,在被过滤节点接收到布隆过滤器对应的第一向量之后,可以对其拥有的各集合元素,同样计算k个哈希函数的输出值,并进行膜处理后,将结果与布隆过滤器对应的第一向量进行比较,并将位置置为预设数值的元素进行保留,将位置未被置为预设数值的元素进行丢弃或拒绝,从而得到筛选后的数据集的数量并发送至过滤器生成节点。
相应地,过滤器生成节点可以接收被过滤节点发送的筛选后的数据集的数量。
S502、获取分块阈值,并根据分块阈值和筛选后的数据集的数量,获取数据划分策略。
本申请实施例中,在接收被过滤节点发送的筛选后的数据集的数量之后,可以获取预先设定的分块阈值,并根据分块阈值和筛选后的数据集的数量,获取数据划分策略。
其中,数据划分策略,包括:过滤器生成节点当前的数据集包括的元素的数量、被过滤节点当前的数据集包括的元素的数量、分块阈值、分块划分点(split_list),可选地,可以根据过滤器生成节点当前的数据集包括的元素的数量、被过滤节点当前的数据集包括的元素的数量和分块阈值,获取应分的块数,即预分块对应的块数。
需要说明的是,本申请中,对于数据划分策略的获取方式不作限定,可以根据实际情况进行设定。
举例而言,可以根据以下公式获取应分的块数:
N=MaxSampleCount//N_thres
其中,N为应分的块数、MaxSampleCount为双方当前的数据集包括的元素的数量的较大值、N_thres为分块阈值。
进一步地,可以遍历0-63以找到最小的n,使得16^n>N,则后续取散列后的集合元素的前n位进行分块。
进一步地,可以依据如下规则确定分块划分点:令所划分的N个区间均有16^n//N个数,并将余数r=16^n%N逐一分配给前r个区间,则可确定各分块划分点。
由此,本申请提出的数据处理方法,可以通过接收被过滤节点发送的筛选后的数据集的数量,进而获取分块阈值,并根据分块阈值和筛选后的数据集的数量,获取数据划分策略,使得过滤器生成节点和被过滤节点能够根据所确定的分块划分点,将本地集合划分成N块,以针对划分后得到的所有的块,进行并行计算,以进行集合求交,进一步缩短了数据处理过程的耗时,进一步提高了数据处理过程中的效率、安全性及可靠性。
需要说明的是,本申请中,还可以基于干扰信息对处理过程中涉及到的数据进行加密,以进一步提高数据安全性及隐私性。
下面以一种两方基于RSA加密算法(RSA algorithm)盲签名的隐私保护集合求交为例,对本申请提出的数据处理方法进行解释说明。
作为一种可能的实现方式,如图7所示,具体包括以下步骤:
S601、获取第一干扰信息发送至被过滤节点。
需要说明的是,通常可以将服务器方作为第一干扰信息的生成方,也就是说,本申请中,可以将过滤器生成节点作为第一干扰信息的生成方,以生成第一干扰信息,进而将第一干扰信息发送至被过滤节点(客户端)。
其中,第一干扰信息,可以为任一干扰信息。可选地,可以将公钥e作为第一干扰信息并发送至被过滤节点。
S602、接收被过滤节点发送的根据第一干扰信息加密得到的第一加密结果。
本申请实施例中,被过滤节点在接收到第一干扰信息后,可以根据第一干扰信息,通过以下公式对哈希散列后的元素使用随机数组R进行盲化处理:
zi=H(xi)*(Ri)e,
其中,zi为第一加密结果、H(xi)为哈希散列后的元素、(Ri)为随机数组、e为公钥(第一干扰信息)。
进一步地,可以将盲化处理后的第一加密结果发送至过滤器生成节点。相应地,过滤器生成节点可以接收被过滤节点发送的根据第一干扰信息加密得到的第一加密结果。
S603、获取第二干扰信息,并根据第二干扰信息,对第一加密结果和第一向量进行加密。
本申请实施例中,过滤器生成节点在接收到第一加密结果后,可以获取第二干扰信息,并根据第二干扰信息,对第一加密结果和第一向量进行加密。
其中,第二干扰信息,可以为任一用于盲签名(Blind Signature)的数据。
针对第一加密结果,可选地,过滤器生成节点可以对收到的各zi(第一加密结果)进行盲签名,即通过以下公式进行盲签名:
ti=(zi)d=H(xi)d*((Ri)e)d=H(xi)d*Ri
其中,ti为对第一加密结果进行加密后的结果、d为第二干扰信息。
针对第一向量,可选地,过滤器生成节点可以对自身集合的各元素xj的哈希散列值进行盲签名后再哈希散列一次,即通过以下公式进行盲签名及哈希散列处理:
dj=H(H(xj)d)
其中,dj为对第一向量进行加密后的结果。
S604、将加密后的第一加密结果和加密后的第一向量发送至被过滤节点,以使被过滤节点根据加密后的第一加密结果和加密后的第一向量获取集合求交结果,并接收被过滤节点发送的集合求交结果。
本申请实施例中,在获取到ti和dj后,可以将ti和dj发送至被过滤节点,以使被过滤节点根据加密后的第一加密结果和加密后的第一向量获取集合求交结果,并接收被过滤节点发送的集合求交结果。
由此,本申请提出的数据处理方法,可以通过获取第一干扰信息发送至被过滤节点,并接收被过滤节点发送的根据第一干扰信息加密得到的第一加密结果,然后获取第二干扰信息,并根据第二干扰信息,对第一加密结果和第一向量进行加密,进而将加密后的第一加密结果和加密后的第一向量发送至被过滤节点,以使被过滤节点根据加密后的第一加密结果和加密后的第一向量获取集合求交结果,并接收被过滤节点发送的集合求交结果,从而能够在半诚实假设的前提下,基于RSA盲签名进行数据交互,确保了数据信息交互和计算过程中的数据安全。
图8为本申请另一个实施例公开的数据处理方法的流程示意图。
如图8所示,以被过滤节点作为执行主体,对本申请实施例提出的数据处理方法进行解释说明,具体包括以下步骤:
S701、获取被过滤节点的第二数据集。
需要说明的是,在过滤器生成节点为服务器时,被过滤节点则为客户端,此种情况下,被过滤节点,即客户端对应的集合元素即为第二数据集。
S702、接收过滤器生成节点发送的第一向量,并根据第一向量,对第二数据集进行预筛选。
本申请实施例中,过滤器生成节点获取第一数据集之后,可以根据第一数据集,获取第一向量发送至被过滤节点。相应地,被过滤节点可以接收过滤器生成节点发送的第一向量,并根据第一向量,对第二数据集进行预筛选。
需要说明的是,本申请中对于根据第一向量,对第二数据集进行预筛选的具体方式不作限定,可以根据实际情况进行选取。
作为一种可能的实现方式,可以对第二数据集进行处理,并将处理后的第二数据对应的向量与过滤器生成节点发送的布隆过滤器对应的第一向量进行比较,以判断第二数据集与第一数据集是否存在交集,从而实现对被过滤节点的数据集(第二数据集)进行预筛选。
需要说明的是,本申请中,针对被过滤节点,可以根据第一向量对被过滤节点的第二数据集(数据量较大)进行预筛选,从而降低了最终参与求交的运算量,进而也降低了对计算机内存的需求。
S703、接收过滤器生成节点发送的数据划分策略,并根据数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集。
本申请实施例中,过滤器生成节点获取数据划分策略后,可以将数据划分策略发送至被过滤节点。相应地,被过滤节点可以接收数据划分策略,并根据数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集。
需要说明的是,被过滤节点进行预分块的方式与过滤器生成节点进行预分块的方式一致,此处不再赘述。其中,过滤器生成节点和被过滤节点均对本地集合(数据集)进行预分块。
S704、针对每个第二数据子集进行集合求交,以获取集合求交结果。
本申请实施例中,在获取至少两个第二数据子集后,被过滤节点可以针对每个第二数据子集进行并行计算,以获取集合求交结果。
由此,本申请能够在半诚实假设的前提下,基于布隆过滤器对第一数据集进行预筛选,使得在后续过滤器生成节点和被过滤节点进行隐私保护集合求交时,需要处理的数据量得以降低。同时,基于数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集,能够降低数据处理过程中每次处理的数据量以及最终求交集时的计算复杂度。进一步地,针对预分块后得到的第二数据子集能够并行计算,极大地提升了运算性能,从而在降低了对计算机的内存需求的基础上,提高了数据处理过程中的效率、安全性及可靠性。
需要说明的是,本申请中,在试图对第二数据集进行预筛选时,可以对第二数据集进行哈希散列处理。
作为一种可能的实现方式,如图9所示,上述步骤S702中,根据第一向量,对第二数据集进行预筛选的过程,具体包括以下步骤:
S801、获取目标函数以及目标函数对应的预设数量。
需要说明的是,被过滤节点与过滤器生成节点对应的目标函数以及目标函数对应的预设数量一致。
S802、根据目标函数和预设数量,对第二数据集进行哈希散列处理,以获取第二向量。
作为一种可能的实现方式,如图10所示,上述步骤S802中,根据目标函数和预设数量,对第二数据集进行哈希散列处理,以获取第二向量的过程,具体包括以下步骤:
S901、根据目标函数和预设数量,获取第二数据集的目标函数输出值。
本申请实施例中,针对第二数据集,在获取目标函数和预设数量k后,可以根据目标函数和预设数量k,计算k个目标函数的目标函数输出值,即获取计算k个哈希函数的输出值。
其中,目标函数输出值为整数。
S902、对目标函数输出值进行模处理,以获取模处理结果。
本申请实施例中,在获取第二数据集的目标函数输出值后,可以对第二数据集的目标函数输出值进行模处理,以获取模处理结果。
S903、根据模处理结果,获取第二向量。
作为一种可能的实现方式,如图11所示,上述步骤S903中,根据模处理结果,获取第二向量的过程,具体包括以下步骤:
S1001、获取第二数据集的初始向量,并根据模处理结果,从初始向量中确定至少一个第二目标位置。
举例而言,针对一个m维的向量,可以将未进行哈希处理前的向量作为第二数据集的初始向量。进一步地,在进行模处理后,在m维的向量上进行了映射,即留下了对应的痕迹,此种情况下,可以将被映射的初始向量的位置作为第二目标位置。
S1002、将初始向量中所有的第二目标位置置为预设数值,并将置为预设数值后的初始向量作为第二向量。
其中,预设数值,可以根据实际情况进行设定,例如,可以将预设数值设定为1,此种情况下,其余位置则默认置0;又例如,可以将预设数值设定为0,此种情况下,其余位置则默认置1。
S803、根据第一向量和第二向量,对第二数据集进行预筛选。
作为一种可能的实现方式,如图12所示,上述步骤S803中,根据第一向量和第二向量,对第二数据集进行预筛选的过程,具体包括以下步骤:
S1101、根据第一向量,获取第一向量中被置为预设数值的第一目标位置。
S1102、响应于第二数据集中存在第一目标位置与第二目标位置一致的目标数据,则将所有的目标数据作为筛选后的第二数据集。
本申请实施例中,在被过滤节点接收到布隆过滤器对应的第一向量之后,可以对其拥有的各集合元素,同样计算k个哈希函数的输出值,并进行膜处理后,将结果与布隆过滤器对应的第一向量进行比较,并将位置置为预设数值的元素进行保留以作为目标数据,将位置未被置为预设数值的元素进行丢弃或拒绝。
进一步地,在对第二数据集进行预筛选之后,可以对过滤器生成节点筛选后的第一数据集对应的数据数量,以及被过滤器节点筛选后的第二数据集对应的数据数量进行比较。
作为一种可能的实现方式,如图13所示,具体包括以下步骤:
S1201、获取过滤器生成节点的数据集的数据的第一数量。
其中,第一数量,为过滤器生成节点的第一数据集筛选后的数据的数量。
S1202、获取筛选后的第二数据集的数据的第二数量。
其中,第二数量,为被过滤器节点的第二数据集筛选后的数据的数量。
S1203、获取第一数量和第二数量之间的差值,响应于差异大于预设差值阈值,则重新对筛选后的第二数据集进行预筛选。
可选地,若第一数量和第二数量之间的差值大于预设差值阈值,说明过滤器生成节点和被过滤器节点之间数据量较为悬殊,则被过滤器节点可以重新对筛选后的第二数据集进行预筛选,相应地,过滤器生成节点可以重新对筛选后的第一数据集进行预筛选;若第一数量和第二数量之间的差值小于或者等于预设差值阈值,说明过滤器生成节点和被过滤器节点之间数据量较为相近,则无需进行重新筛选。
由此,本申请提出的数据处理方法,可以通过获取目标函数以及目标函数对应的预设数量,并根据目标函数和预设数量,对第二数据集进行哈希散列处理,以获取第二向量,进而根据第一向量和第二向量,对第二数据集进行预筛选,为准确地基于布隆过滤器对第二数据集进行预筛选奠定了基础,进一步提高了数据处理过程中的效率、安全性及可靠性。进一步地,通过获取第一数量和第二数量之间的差值,可以在确定差异大于预设差值阈值时,重新对筛选后的第二数据集进行预筛选,以确保筛选效果能够符合预期需求。
需要说明的是,本申请中,还可以基于干扰信息对处理过程中涉及到的数据进行加密,以进一步提高数据安全性及隐私性。
下面以一种两方基于RSA加密算法(RSA algorithm)盲签名的隐私保护集合求交为例,对本申请提出的数据处理方法进行解释说明。
作为一种可能的实现方式,如图14所示,具体包括以下步骤:
S1301、接收过滤器生成节点发送的第一干扰信息。
本申请实施例中,可以将过滤器生成节点作为第一干扰信息的生成方,以生成第一干扰信息,进而将第一干扰信息发送至被过滤节点(客户端)。可选地,可以将公钥e作为第一干扰信息并发送至被过滤节点。
相应地,被过滤节点可以接收过滤器生成节点发送的第一干扰信息。
S1302、根据第一干扰信息,对第二向量进行加密,以得到第一加密结果发送至过滤器生成节点。
本申请实施例中,被过滤节点在接收到第一干扰信息后,可以根据第一干扰信息,通过以下公式对哈希散列后的元素使用随机数组R进行盲化处理:
zi=H(xi)*(Ri)e,
其中,zi为第一加密结果、H(xi)为哈希散列后的元素、(Ri)为随机数组、e为公钥(第一干扰信息)。
进一步地,可以将盲化处理后的第一加密结果发送至过滤器生成节点。
S1303、接收过滤器生成节点发送的加密后的第一加密结果和加密后的第一向量,并根据加密后的第一加密结果和加密后的第一向量,获取集合求交结果。
本申请实施例中,过滤器生成节点在获取到ti和tj后,可以将ti和tj发送至被过滤节点。相应地,被过滤节点可以接收过滤器生成节点发送的加密后的第一加密结果和加密后的第一向量,并根据加密后的第一加密结果和加密后的第一向量,获取集合求交结果。其中,ti为对第一加密结果进行加密后的结果、tj为对第一向量进行加密后的结果。
作为一种可能的实现方式,如图15所示,上述步骤S1303中,根据加密后的第一加密结果和加密后的第一向量,获取集合求交结果的过程,具体包括以下步骤:
S1401、根据第二干扰信息,对加密后的第一加密结果进行解密,以获取第一解密结果。
本申请实施例中,被过滤节点在获取第二干扰信息后,可以对第一加密结果进行去除盲化因子处理,即去除随机数组R的处理,以获取第一解密结果di。
S1402、对第一解密结果进行哈希散列处理,并根据进行哈希散列处理后的第一解密结果和加密后的第一向量,获取集合求交结果。
本申请实施例中,被过滤节点在获取后,可以对第一解密结果进行哈希散列处理,并根据进行哈希散列处理后的第一解密结果和加密后的第一向量,通过以下公式获取集合求交结果:
I=di∩dj
其中,di为第一解密结果、dj为加密后的第一向量。
S1304、将集合求交结果发送至过滤器生成节点。
需要说明的是,本申请中,过滤器生成节点和被过滤节点均针对分块后的数据进行并行处理,由此,可以得到至少一个集合求交子结果。由此,在进行并行处理后,可以将所有的集合求交子结果进行合并,以得到集合求交结果。
由此,本申请提出的数据处理方法,可以通过接收过滤器生成节点发送的第一干扰信息,并根据第一干扰信息,对第二向量进行加密,以得到第一加密结果发送至过滤器生成节点,然后接收过滤器生成节点发送的加密后的第一加密结果和加密后的第一向量,并根据加密后的第一加密结果和加密后的第一向量,获取集合求交结果,进而将集合求交结果发送至过滤器生成节点,从而能够在半诚实假设的前提下,基于RSA盲签名进行数据交互,确保了数据信息交互和计算过程中的数据安全。
图16为本申请另一个实施例公开的数据处理方法的流程示意图。
如图16所示,以过滤器生成节点和被过滤节点进行数据处理的整体流程,对本申请实施例提出的数据处理方法进行解释说明,具体包括以下步骤:
S1501、过滤器生成节点获取第一数据集,并根据第一数据集,获取第一向量发送至被过滤节点。
S1502、被过滤节点获取第二数据集,并接收第一向量,以根据第一向量,对第二数据集进行预筛选。
S1503、过滤器生成节点获取数据划分策略,并将数据划分策略发送至被过滤节点。
S1504、被过滤节点接收数据划分策略,并根据数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集。
S1505、被过滤节点针对每个第二数据子集进行集合求交,以获取集合求交结果。
由此,本申请能够在半诚实假设的前提下,基于布隆过滤器对第一数据集和第二数据集进行预筛选,使得在后续过滤器生成节点和被过滤节点进行隐私保护集合求交时,需要处理的数据量得以降低。同时,基于数据划分策略对筛选后的第一数据集和筛选后的第二数据集进行预分块,并对分块后的数据进行并行计算,以降低数据处理过程中的数据量以及最终求交集时的计算复杂度,同时极大地提升了运算性能,从而在降低了对计算机的内存需求的基础上,提高了数据处理过程中的效率、安全性及可靠性。
需要说明的是,本申请中,还可以基于干扰信息对处理过程中涉及到的数据进行加密,以进一步提高数据安全性及隐私性。
举例而言,如图17所示,以一种两方基于RSA加密算法(RSA algorithm)盲签名的隐私保护集合求交为例,将服务器方作为过滤器生成方,并将客户端方作为被过滤方,在半诚实假设的前提下,基于RSA盲签名进行数据交互,确保了数据信息交互和计算过程中的数据安全。
综上所述,本申请在多方隐私求交过程中,对所有集合元素进行散列脱敏、公钥加密,在确保数据隐私性的情况下令各方能够在计算量相似的情形下以更少的硬件消耗来完成大批量数据的隐私求交任务,符合各方只知道交集、而不知道非交集元素的硬性要求。
进一步地,本申请提出的数据处理方法能够明显地提升多项性能指标。如下表所示:
场景 | 相关技术求交内存&时间 | 本申请求交内存&时间 |
15w vs.15w | 8G,~30s | 8G,~30s |
600w vs.15w | 64G,~20min | 8G,~1min30s |
600w vs.600w | 64G,~30min | 8G,~30min |
5000w vs.15w | 128G内存不足 | 8G,~2min |
5000w vs.5000w | 128G内存不足 | 8G,~3.5hr |
表1
由上表可知,本申请提出的数据处理方法,能够通过在多个服务器上运行基于散列函数与布隆过滤器的隐私保护集合求交算法,内存占用约8G,达到产品级要求。
基于同一申请构思,本申请实施例还提供了一种数据处理方法对应的装置。
图18为本申请实施例提供的数据处理装置的结构示意图。如图18所示,该数据处理装置1000,包括:第一获取模块110、第二获取模块120和预分块模块130。其中,
第一获取模块110,用于获取所述过滤器生成节点的第一数据集;
第二获取模块120,用于根据所述第一数据集,获取第一向量发送至被过滤节点,以使所述被过滤节点根据所述第一向量对所述被过滤节点的数据集进行预筛选;
预分块模块130,用于获取数据划分策略,并根据所述数据划分策略对所述第一数据集进行预分块,以获取至少两个第一数据子集。
根据本申请的一个实施例,第二获取模块120,还用于:
获取目标函数以及所述目标函数对应的预设数量;
根据所述目标函数和所述预设数量,对所述第一数据集进行哈希散列处理,以获取所述第一向量。
根据本申请的一个实施例,第二获取模块120,还用于:
根据所述目标函数和所述预设数量,获取所述第一数据集的目标函数输出值;
对所述目标函数输出值进行模处理,以获取模处理结果;
根据所述模处理结果,获取所述第一向量。
根据本申请的一个实施例,第二获取模块120,还用于:
获取所述第一数据集的初始向量,并根据所述模处理结果,从所述初始向量中确定至少一个第一目标位置;
将所述初始向量中所有的所述第一目标位置置为预设数值,并将置为所述预设数值后的所述初始向量作为所述第一向量。
根据本申请的一个实施例,预分块模块130,还用于:
接收所述被过滤节点发送的筛选后的数据集的数量;
获取分块阈值,并根据所述分块阈值和所述筛选后的数据集的数量,获取所述数据划分策略。
根据本申请的一个实施例,如图19所示,该数据处理装置1000,还包括:加密模块140,用于:
获取第一干扰信息发送至所述被过滤节点;
接收所述被过滤节点发送的根据所述第一干扰信息加密得到的第一加密结果;
获取第二干扰信息,并根据所述第二干扰信息,对所述第一加密结果和所述第一向量进行加密;
将加密后的第一加密结果和加密后的第一向量发送至所述被过滤节点,以使所述被过滤节点根据加密后的第一加密结果和加密后的第一向量获取集合求交结果,并接收所述被过滤节点发送的所述集合求交结果。
由此,本申请能够在半诚实假设的前提下,基于布隆过滤器对第一数据集进行预筛选,使得在后续过滤器生成节点和被过滤节点进行隐私保护集合求交时,需要处理的数据量得以降低。同时,基于数据划分策略对筛选后的第一数据集进行预分块,以获取至少两个第一数据子集,能够降低数据处理过程中每次处理的数据量以及最终求交集时的计算复杂度。进一步地,针对预分块后得到的第一数据子集能够并行计算,极大地提升了运算性能,从而在降低了对计算机的内存需求的基础上,提高了数据处理过程中的效率、安全性及可靠性。
基于同一申请构思,本申请实施例还提供了另一种数据处理方法对应的装置。
图20为本申请实施例提供的数据处理装置的结构示意图。如图20所示,该联邦学习模型的训练装置2000,包括:获取模块210、预筛选模块220、预分块模块230和集合求交模块240。其中,
获取模块210,用于获取所述被过滤节点的第二数据集;
预筛选模块220,用于接收过滤器生成节点发送的第一向量,并根据所述第一向量,对所述第二数据集进行预筛选;
预分块模块230,用于接收所述过滤器生成节点发送的数据划分策略,并根据所述数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集;
集合求交模块240,用于针对每个所述第二数据子集进行集合求交,以获取集合求交结果。
根据本申请的一个实施例,预筛选模块220,还用于:
获取目标函数以及所述目标函数对应的预设数量;
根据所述目标函数和所述预设数量,对所述第二数据集进行哈希散列处理,以获取第二向量;
根据所述第一向量和所述第二向量,对所述第二数据集进行预筛选。
根据本申请的一个实施例,预筛选模块220,还用于:
根据所述目标函数和所述预设数量,获取所述第二数据集的目标函数输出值;
对所述目标函数输出值进行模处理,以获取模处理结果;
根据所述模处理结果,获取所述第二向量。
根据本申请的一个实施例,预筛选模块220,还用于:
获取所述第二数据集的初始向量,并根据所述模处理结果,从所述初始向量中确定至少一个第二目标位置;
将所述初始向量中所有的所述第二目标位置置为预设数值,并将置为所述预设数值后的所述初始向量作为所述第二向量。
根据本申请的一个实施例,预筛选模块220,还用于:
根据所述第一向量,获取所述第一向量中被置为所述预设数值的第一目标位置;
响应于所述第二数据集中存在所述第一目标位置与所述第二目标位置一致的目标数据,则将所有的所述目标数据作为所述筛选后的第二数据集。
根据本申请的一个实施例,预筛选模块220,还用于:
获取所述过滤器生成节点的数据集的数据的第一数量;
获取所述筛选后的第二数据集的数据的第二数量;
获取所述第一数量和所述第二数量之间的差值,响应于所述差异大于预设差值阈值,则重新对所述筛选后的第二数据集进行预筛选。
根据本申请的一个实施例,如图21所示,该数据处理装置2000,还包括:加密模块250,用于:
接收所述过滤器生成节点发送的第一干扰信息;
根据所述第一干扰信息,对所述第二向量进行加密,以得到第一加密结果发送至所述过滤器生成节点;
接收所述过滤器生成节点发送的加密后的第一加密结果和加密后的第一向量,并根据所述加密后的第一加密结果和所述加密后的第一向量,获取所述集合求交结果;
将所述集合求交结果发送至所述过滤器生成节点。
根据本申请的一个实施例,加密模块250,还用于:
根据所述第二干扰信息,对所述加密后的第一加密结果进行解密,以获取第一解密结果;
对所述第一解密结果进行哈希散列处理,并根据进行哈希散列处理后的第一解密结果和所述加密后的第一向量,获取所述集合求交结果。
由此,本申请能够在半诚实假设的前提下,基于布隆过滤器对第一数据集进行预筛选,使得在后续过滤器生成节点和被过滤节点进行隐私保护集合求交时,需要处理的数据量得以降低。同时,基于数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集,能够降低数据处理过程中每次处理的数据量以及最终求交集时的计算复杂度。进一步地,针对预分块后得到的第二数据子集能够并行计算,极大地提升了运算性能,从而在降低了对计算机的内存需求的基础上,提高了数据处理过程中的效率、安全性及可靠性。
需要说明的是,如图22所示,由本申请提出的数据处理装置组成的训练系统,能够与至少一个数据管理系统及辅助系统组成云平台的业务应用层,进而结合数据层与基础支持层建立应用程序,以在消除中间结果泄漏风险、避免最终计算结果被非需求节点获取、确保数据安全的基础上,实现应用程序的功能。
其中,MySQL为一种关系型数据库管理系统、远程字典服务(Remote DictionaryServer,简称Redis)属于一种数据库;云间联邦学习计算引擎包括:加密算法、联邦学习应用程序接口(Federated Learning Application Programming Interface,简称FederatedLearning API)、联邦核心应用程序接口(Federated Core Application ProgrammingInterface,简称Federated Core API)和编译器(Compiler)。
基于同一申请构思,本申请实施例还提供了一种数据处理方法对应的系统。
图23为本申请实施例提供的数据处理系统的结构示意图。如图23所示,该数据处理系统3000,包括数据处理装置1000以及数据处理装置2000。
基于同一申请构思,本申请实施例还提供了一种电子设备。
图24为本申请实施例提供的电子设备的结构示意图。如图24所示,该电子设备4000,包括存储器401、处理器402及存储在存储器401上并可在处理器402上运行的计算机程序,处理器执行程序时,实现前述的数据处理方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (32)
1.一种数据处理方法,其特征在于,适用于过滤器生成节点,包括以下步骤:
获取所述过滤器生成节点的第一数据集;
根据所述第一数据集,获取第一向量发送至被过滤节点,以使所述被过滤节点根据所述第一向量对所述被过滤节点的数据集进行预筛选;
获取数据划分策略,并根据所述数据划分策略对所述第一数据集进行预分块,以获取至少两个第一数据子集。
2.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述第一数据集,获取第一向量,包括:
获取目标函数以及所述目标函数对应的预设数量;
根据所述目标函数和所述预设数量,对所述第一数据集进行哈希散列处理,以获取所述第一向量。
3.根据权利要求2所述的数据处理方法,其特征在于,所述根据所述目标函数和所述预设数量,对所述第一数据集进行哈希散列处理,以获取所述第一向量,包括:
根据所述目标函数和所述预设数量,获取所述第一数据集的目标函数输出值;
对所述目标函数输出值进行模处理,以获取模处理结果;
根据所述模处理结果,获取所述第一向量。
4.根据权利要求3所述的数据处理方法,其特征在于,所述根据所述模处理结果,获取所述第一向量,包括:
获取所述第一数据集的初始向量,并根据所述模处理结果,从所述初始向量中确定至少一个第一目标位置;
将所述初始向量中所有的所述第一目标位置置为预设数值,并将置为所述预设数值后的所述初始向量作为所述第一向量。
5.根据权利要求1所述的数据处理方法,其特征在于,所述获取数据划分策略之前,还包括:
接收所述被过滤节点发送的筛选后的数据集的数量;
获取分块阈值,并根据所述分块阈值和所述筛选后的数据集的数量,获取所述数据划分策略。
6.根据权利要求1-5中任一项所述的数据处理方法,其特征在于,所述方法还包括:
获取第一干扰信息发送至所述被过滤节点;
接收所述被过滤节点发送的根据所述第一干扰信息加密得到的第一加密结果;
获取第二干扰信息,并根据所述第二干扰信息,对所述第一加密结果和所述第一向量进行加密;
将加密后的第一加密结果和加密后的第一向量发送至所述被过滤节点,以使所述被过滤节点根据加密后的第一加密结果和加密后的第一向量获取集合求交结果,并接收所述被过滤节点发送的所述集合求交结果。
7.一种数据处理方法,其特征在于,适用于被过滤节点,包括以下步骤:
获取所述被过滤节点的第二数据集;
接收过滤器生成节点发送的第一向量,并根据所述第一向量,对所述第二数据集进行预筛选;
接收所述过滤器生成节点发送的数据划分策略,并根据所述数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集;
针对每个所述第二数据子集进行集合求交,以获取集合求交结果。
8.根据权利要求7所述的数据处理方法,其特征在于,所述根据所述第一向量,对所述第二数据集进行预筛选,包括:
获取目标函数以及所述目标函数对应的预设数量;
根据所述目标函数和所述预设数量,对所述第二数据集进行哈希散列处理,以获取第二向量;
根据所述第一向量和所述第二向量,对所述第二数据集进行预筛选。
9.根据权利要求8所述的数据处理方法,其特征在于,所述根据所述目标函数和所述预设数量,对所述第二数据集进行哈希散列处理,以获取第二向量,包括:
根据所述目标函数和所述预设数量,获取所述第二数据集的目标函数输出值;
对所述目标函数输出值进行模处理,以获取模处理结果;
根据所述模处理结果,获取所述第二向量。
10.根据权利要求9所述的数据处理方法,其特征在于,所述根据所述模处理结果,获取所述第二向量,包括:
获取所述第二数据集的初始向量,并根据所述模处理结果,从所述初始向量中确定至少一个第二目标位置;
将所述初始向量中所有的所述第二目标位置置为预设数值,并将置为所述预设数值后的所述初始向量作为所述第二向量。
11.根据权利要求10所述的数据处理方法,其特征在于,所述根据所述第一向量和所述第二向量,对所述第二数据集进行预筛选,包括:
根据所述第一向量,获取所述第一向量中被置为所述预设数值的第一目标位置;
响应于所述第二数据集中存在所述第一目标位置与所述第二目标位置一致的目标数据,则将所有的所述目标数据作为所述筛选后的第二数据集。
12.根据权利要求11所述的数据处理方法,其特征在于,所述对所述第二数据集进行预筛选之后,还包括:
获取所述过滤器生成节点的数据集的数据的第一数量;
获取所述筛选后的第二数据集的数据的第二数量;
获取所述第一数量和所述第二数量之间的差值,响应于所述差异大于预设差值阈值,则重新对所述筛选后的第二数据集进行预筛选。
13.根据权利要求8-10中任一项所述的数据处理方法,其特征在于,所述方法还包括:
接收所述过滤器生成节点发送的第一干扰信息;
根据所述第一干扰信息,对所述第二向量进行加密,以得到第一加密结果发送至所述过滤器生成节点;
接收所述过滤器生成节点发送的加密后的第一加密结果和加密后的第一向量,并根据所述加密后的第一加密结果和所述加密后的第一向量,获取所述集合求交结果;
将所述集合求交结果发送至所述过滤器生成节点。
14.根据权利要求13所述的数据处理方法,其特征在于,所述根据所述加密后的第一加密结果和所述加密后的第一向量,获取所述集合求交结果,包括:
根据所述第二干扰信息,对所述加密后的第一加密结果进行解密,以获取第一解密结果;
对所述第一解密结果进行哈希散列处理,并根据进行哈希散列处理后的第一解密结果和所述加密后的第一向量,获取所述集合求交结果。
15.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取所述过滤器生成节点的第一数据集;
第二获取模块,用于根据所述第一数据集,获取第一向量发送至被过滤节点,以使所述被过滤节点根据所述第一向量对所述被过滤节点的数据集进行预筛选;
预分块模块,用于获取数据划分策略,并根据所述数据划分策略对所述第一数据集进行预分块,以获取至少两个第一数据子集。
16.根据权利要求15所述的数据处理装置,其特征在于,所述第二获取模块,还用于:
获取目标函数以及所述目标函数对应的预设数量;
根据所述目标函数和所述预设数量,对所述第一数据集进行哈希散列处理,以获取所述第一向量。
17.根据权利要求16所述的数据处理装置,其特征在于,所述第二获取模块,还用于:
根据所述目标函数和所述预设数量,获取所述第一数据集的目标函数输出值;
对所述目标函数输出值进行模处理,以获取模处理结果;
根据所述模处理结果,获取所述第一向量。
18.根据权利要求17所述的数据处理装置,其特征在于,所述第二获取模块,还用于:
获取所述第一数据集的初始向量,并根据所述模处理结果,从所述初始向量中确定至少一个第一目标位置;
将所述初始向量中所有的所述第一目标位置置为预设数值,并将置为所述预设数值后的所述初始向量作为所述第一向量。
19.根据权利要求15所述的数据处理装置,其特征在于,所述预分块模块,还用于:
接收所述被过滤节点发送的筛选后的数据集的数量;
获取分块阈值,并根据所述分块阈值和所述筛选后的数据集的数量,获取所述数据划分策略。
20.根据权利要求15-19中任一项所述的数据处理装置,其特征在于,还包括,加密模块,用于:
获取第一干扰信息发送至所述被过滤节点;
接收所述被过滤节点发送的根据所述第一干扰信息加密得到的第一加密结果;
获取第二干扰信息,并根据所述第二干扰信息,对所述第一加密结果和所述第一向量进行加密;
将加密后的第一加密结果和加密后的第一向量发送至所述被过滤节点,以使所述被过滤节点根据加密后的第一加密结果和加密后的第一向量获取集合求交结果,并接收所述被过滤节点发送的所述集合求交结果。
21.一种数据处理装置,其特征在于,包括:
获取模块,用于获取所述被过滤节点的第二数据集;
预筛选模块,用于接收过滤器生成节点发送的第一向量,并根据所述第一向量,对所述第二数据集进行预筛选;
预分块模块,用于接收所述过滤器生成节点发送的数据划分策略,并根据所述数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集;
集合求交模块,用于针对每个所述第二数据子集进行集合求交,以获取集合求交结果。
22.根据权利要求21所述的数据处理装置,其特征在于,所述预筛选模块,还用于:
获取目标函数以及所述目标函数对应的预设数量;
根据所述目标函数和所述预设数量,对所述第二数据集进行哈希散列处理,以获取第二向量;
根据所述第一向量和所述第二向量,对所述第二数据集进行预筛选。
23.根据权利要求22所述的数据处理装置,其特征在于,所述预筛选模块,还用于:
根据所述目标函数和所述预设数量,获取所述第二数据集的目标函数输出值;
对所述目标函数输出值进行模处理,以获取模处理结果;
根据所述模处理结果,获取所述第二向量。
24.根据权利要求23所述的数据处理装置,其特征在于,所述预筛选模块,还用于:
获取所述第二数据集的初始向量,并根据所述模处理结果,从所述初始向量中确定至少一个第二目标位置;
将所述初始向量中所有的所述第二目标位置置为预设数值,并将置为所述预设数值后的所述初始向量作为所述第二向量。
25.根据权利要求24所述的数据处理装置,其特征在于,所述预筛选模块,还用于:
根据所述第一向量,获取所述第一向量中被置为所述预设数值的第一目标位置;
响应于所述第二数据集中存在所述第一目标位置与所述第二目标位置一致的目标数据,则将所有的所述目标数据作为所述筛选后的第二数据集。
26.根据权利要求25所述的数据处理装置,其特征在于,所述预筛选模块,还用于:
获取所述过滤器生成节点的数据集的数据的第一数量;
获取所述筛选后的第二数据集的数据的第二数量;
获取所述第一数量和所述第二数量之间的差值,响应于所述差异大于预设差值阈值,则重新对所述筛选后的第二数据集进行预筛选。
27.根据权利要求22-24中任一项所述的数据处理装置,其特征在于,还包括,加密模块,用于:
接收所述过滤器生成节点发送的第一干扰信息;
根据所述第一干扰信息,对所述第二向量进行加密,以得到第一加密结果发送至所述过滤器生成节点;
接收所述过滤器生成节点发送的加密后的第一加密结果和加密后的第一向量,并根据所述加密后的第一加密结果和所述加密后的第一向量,获取所述集合求交结果;
将所述集合求交结果发送至所述过滤器生成节点。
28.根据权利要求27所述的数据处理装置,其特征在于,所述加密模块,还用于:
根据所述第二干扰信息,对所述加密后的第一加密结果进行解密,以获取第一解密结果;
对所述第一解密结果进行哈希散列处理,并根据进行哈希散列处理后的第一解密结果和所述加密后的第一向量,获取所述集合求交结果。
29.一种数据处理方法,其特征在于,包括以下步骤:
过滤器生成节点获取第一数据集,并根据所述第一数据集,获取第一向量发送至被过滤节点;
所述被过滤节点获取第二数据集,并接收所述第一向量,以根据所述第一向量,对所述第二数据集进行预筛选;
所述过滤器生成节点获取数据划分策略,并将所述数据划分策略发送至所述被过滤节点;
所述被过滤节点接收所述数据划分策略,并根据所述数据划分策略对预筛选后的第二数据集进行预分块,以获取至少两个第二数据子集;
所述被过滤节点针对每个所述第二数据子集进行集合求交,以获取集合求交结果。
30.一种数据处理系统,其特征在于,包括:
如权利要求15所述的数据处理装置以及如权利要求21所述的数据处理装置。
31.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-6中任一项所述的数据处理方法,或者实现如权利要求7-14中任一项所述的数据处理方法,或者实现如权利要求29所述的数据处理方法。
32.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的数据处理方法,或者实现如权利要求7-14中任一项所述的数据处理方法,或者实现如权利要求29所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111415690.3A CN114329578A (zh) | 2021-11-25 | 2021-11-25 | 数据处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111415690.3A CN114329578A (zh) | 2021-11-25 | 2021-11-25 | 数据处理方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114329578A true CN114329578A (zh) | 2022-04-12 |
Family
ID=81046793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111415690.3A Pending CN114329578A (zh) | 2021-11-25 | 2021-11-25 | 数据处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114329578A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840866A (zh) * | 2022-07-01 | 2022-08-02 | 北京融数联智科技有限公司 | 基于盲签名数据混淆的数据查询方法、装置和系统 |
CN114978512A (zh) * | 2022-07-18 | 2022-08-30 | 华控清交信息科技(北京)有限公司 | 一种隐私求交方法、装置和可读存储介质 |
CN114969830A (zh) * | 2022-07-18 | 2022-08-30 | 华控清交信息科技(北京)有限公司 | 一种隐私求交方法、系统和可读存储介质 |
CN117724851A (zh) * | 2024-02-07 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及设备 |
CN117728965A (zh) * | 2023-06-30 | 2024-03-19 | 荣耀终端有限公司 | 一种获取信息安全程度的方法及服务器 |
-
2021
- 2021-11-25 CN CN202111415690.3A patent/CN114329578A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840866A (zh) * | 2022-07-01 | 2022-08-02 | 北京融数联智科技有限公司 | 基于盲签名数据混淆的数据查询方法、装置和系统 |
CN114840866B (zh) * | 2022-07-01 | 2022-10-11 | 北京融数联智科技有限公司 | 基于盲签名数据混淆的数据查询方法、装置和系统 |
CN114978512A (zh) * | 2022-07-18 | 2022-08-30 | 华控清交信息科技(北京)有限公司 | 一种隐私求交方法、装置和可读存储介质 |
CN114969830A (zh) * | 2022-07-18 | 2022-08-30 | 华控清交信息科技(北京)有限公司 | 一种隐私求交方法、系统和可读存储介质 |
CN114969830B (zh) * | 2022-07-18 | 2022-09-30 | 华控清交信息科技(北京)有限公司 | 一种隐私求交方法、系统和可读存储介质 |
CN117728965A (zh) * | 2023-06-30 | 2024-03-19 | 荣耀终端有限公司 | 一种获取信息安全程度的方法及服务器 |
CN117724851A (zh) * | 2024-02-07 | 2024-03-19 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及设备 |
CN117724851B (zh) * | 2024-02-07 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114329578A (zh) | 数据处理方法、装置及系统 | |
Rathee et al. | Cryptflow2: Practical 2-party secure inference | |
CN113557512B (zh) | 安全的多方到达率和频率估算 | |
Lai et al. | Result pattern hiding searchable encryption for conjunctive queries | |
Rindal et al. | Improved private set intersection against malicious adversaries | |
CN111641603B (zh) | 基于同态加密的隐私集合交集数据交互方法和系统 | |
Abadi et al. | O-PSI: delegated private set intersection on outsourced datasets | |
Cooper et al. | The power of two choices in distributed voting | |
Van Liesdonk et al. | Computationally efficient searchable symmetric encryption | |
US8533489B2 (en) | Searchable symmetric encryption with dynamic updating | |
US20170063534A1 (en) | Generating Cryptographic Function Parameters From Compact Source Code | |
WO2018211446A1 (en) | Cryptographic key-generation with application to data deduplication | |
Liu et al. | Practical-oriented protocols for privacy-preserving outsourced big data analysis: Challenges and future research directions | |
Min et al. | A privacy protection-oriented parallel fully homomorphic encryption algorithm in cyber physical systems | |
EP4226260A1 (en) | Secure and scalable private set intersection for large datasets | |
US20190319783A1 (en) | Generating Cryptographic Function Parameters Based on an Observed Astronomical Event | |
Abadi et al. | Feather: Lightweight multi-party updatable delegated private set intersection | |
US10079675B2 (en) | Generating cryptographic function parameters from a puzzle | |
Cerulli et al. | Nothing refreshes like a repsi: Reactive private set intersection | |
Gai et al. | An optimal fully homomorphic encryption scheme | |
CN116488814A (zh) | 一种基于fpga的数据加密的安全计算方法 | |
KR20170122048A (ko) | 블룸 필터와 이진 트리를 이용한 암호 데이터 검색 시스템 및 그 방법 | |
WO2022015403A1 (en) | Private inference in deep neural network | |
Tu et al. | Fast Unbalanced Private Set Union from Fully Homomorphic Encryption | |
Attrapadung et al. | Adaptively single-key secure constrained PRFs for |
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 |