掌桥专利:专业的专利平台
掌桥专利
首页

一种数据处理方法、装置、设备及计算机可读存储介质

文献发布时间:2023-06-19 11:35:49


一种数据处理方法、装置、设备及计算机可读存储介质

技术领域

本申请涉及计算机技术领域,具体涉及一种数据处理方法、装置、设备及计算机可读存储介质。

背景技术

随着计算机技术的不断发展,不同的用户之间可以通过各种各样的设备交互数据,例如个人用户之间通过智能手机、个人电脑等终端设备交互数据,企业用户之间通过服务器等设备交互数据。在数据交互的过程中,时常涉及到数据隐私性和数据安全性的问题。在某些场景中,双方用户既有数据交互的需求,但可能又存在某一方不希望将本方数据暴露给另外一方的情况。

以广告主和广告平台两方为例,广告主向广告平台投放了一批广告,广告平台将这一批广告推广给推广用户,并采集推广用户的数据(如用户ID),广告主统计一段时间内的有效用户(如在广告主的店铺完成了注册、消费等用户)后,需要获取广告平台的推广用户的数据进行核算,以确定哪些有效用户是由广告平台进行推广转换来的。此时,广告主就不希望有效用户的数据完全暴露给广告平台。当然还存在其他一些场景,比如招聘平台的招聘企业之间关于人才招聘相关数据的交互等等。如何进行数据处理以减小数据交互过程中数据被泄露的风险成为研究的热点问题。

发明内容

本申请实施例提供了一种数据处理方法、装置、设备及计算机可读存储介质,能够较好地降低数据被泄露的风险。

一方面,本申请实施例提供了一种数据处理方法,应用于第一节点,包括:

获取第一求交集合,所述第一求交集合包括N个第一求交数据,N为正整数;

获取第二求交集合,所述第二求交集合包括M个第二求交数据,M为正整数;

对所述第一求交集合和所述第二求交集合进行求交集处理,得到求交结果集合,所述求交结果集合包括所述第一求交数据和所述第二求交数据之间的交集部分;

对所述求交结果集合进行混淆处理,得到混淆集合,所述混淆集合包括:混淆数据和根据所述求交结果集合确定的交集数据集合,所述混淆数据是根据第二求交集合中的数据确定的,且所述混淆数据与所述交集数据集合中的数据没有关联关系。

另一方面,本申请实施例还提供了一种数据处理装置,包括:

处理单元,用于获取第一求交集合,所述第一求交集合包括N个第一求交数据,N为正整数;获取第二求交集合,所述第二求交集合包括M个第二求交数据,M为正整数;并用于对所述第一求交集合和所述第二求交集合进行求交集处理,得到求交结果集合,所述求交结果集合包括所述第一求交数据和所述第二求交数据之间的交集部分;对所述求交结果集合进行混淆处理,得到混淆集合,所述混淆集合包括:混淆数据和根据所述求交结果集合确定的交集数据集合,所述混淆数据是根据第二求交集合中的数据确定的,且所述混淆数据与所述交集数据集合中的数据没有关联关系;

输出单元,用于输出所述混淆集合。

相应地,本申请实施例还提供了一种智能设备,包括:存储装置和处理器;所述存储装置中存储有计算机程序;处理器,执行计算机程序,实现上述的数据处理方法。

相应地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,上述的数据处理方法被实现。

相应地,本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的图像处理方法。

在本申请实施例中,获取第一求交集合和第二求交集合,对第一求交集合和第二求交集合进行求交集处理,得到求交结果集合;对求交结果集合进行混淆处理,得到混淆集合。通过对由于数据交互或者其他方式产生的两个数据集合求交集,满足一方用户对求交集的需求,例如广告主用户可以通过求交集来确定某个广告平台的转换率,同时对得到的求交数据进行混淆,又能够保证最后输出的集合数据不会造成本地数据泄密的问题,例如应广告平台要求需要反馈给广告平台的数据为混淆后的数据,广告平台不能够通过混淆的数据找到原本属于广告主的数据,不会直接暴露原本属于广告主的数据,在很大程度上至少可以明显降低进行数据交集处理一方的数据泄露的风险。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a为本申请实施例提供的一种数据处理的场景图;

图1b为本申请提供的一种数据处理方法的第一实施例流程示意图;

图2为本申请实施例提供的一种数据处理的架构示意图;

图3为本申请提供的一种数据处理方法的第二实施例流程示意图;

图4为本申请提供的一种数据处理方法的第三实施例流程示意图;

图5为本申请实施例提供的一种应用场景架构示意图;

图6为本申请提供的一种数据处理方法的第四实施例流程示意图;

图7为本申请实施例提供的另一种数据处理的架构示意图;

图8为本申请提供的一种数据处理方法的第五实施例流程示意图;

图9为本申请实施例提供的又一种数据处理的架构示意图;

图10为本申请实施例提供的一种数据处理装置的结构示意图;

图11为本申请实施例提供的一种智能设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

本申请实施例可以针对广告平台和广告主、招聘平台和招聘企业等具有数据交互的需求、求数据交集的需求以及不希望数据泄密的需求的场景。本申请一方面能够获取到所需的数据集合,另一方面又能够自动地通过求交集的方式来确定一方用户所需的数据情报,再一方面能够自动地完成数据混淆,对于最终得到的混淆集合,即使直接反馈给对方用户也不会存在本地用户数据泄密的风险。

在一些实施例中,本申请所产生的数据,例如混淆数据集合等等,可以根据需要由人工智能云服务存储到云端服务器或者区块链(Blockchain)网络中,所谓人工智能云服务,一般也被称作是AIaaS(AI as a Service,中文为“AI即服务”)。这是目前主流的一种人工智能平台的服务方式,具体来说AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城:所有的开发者都可以通过API接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的AI框架和AI基础设施来部署和运维自已专属的云人工智能服务。在一些实施例中,本申请实施例还可以通过第三方协助平台(即人工智能云服务)协助数据交互的两方用户设备(第一节点和第二节点)完成联邦训练。

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。在本申请实施例中,第一节点和第二节点交互的数据均可以根据需要存储在区块链网络中;例如,本申请中的第一加密数据、第一签名数据、第二求交数据以及混淆集合等均可以存储至区块链网络中,以确保这些数据是可验证、可追溯的;进而提高数据的可信度。

请参阅图1a,图1a为本申请实施例提供的一种数据处理的场景图。如图1a所示,场景图包括了终端设备101(即第一节点),服务器102(即第二节点)。其中,终端设备101是用户所使用的设备,该用户为客参与方(如广告主)。终端设备101的数量可以为一个或多个,终端设备101的形态仅用于举例,终端设备101可以包括但不限于:智能手机(如Android手机、iOS手机等)、平板电脑、便携式个人计算机、移动互联网设备(Mobile InternetDevices,MID)等设备;终端设备往往配置有显示装置,显示装置也可为显示器、显示屏、触摸屏等等,触摸屏也可为触控屏、触控面板等等,本申请实施例不做限定。

服务器102是向用户提供服务的服务器,该服务器为主参与方(如广告平台)。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。此外,服务器102还可以是区块链网络中的网络节点,即终端设备101可以将加密后的数据上传至区块链,并从区块链中获取对端上传的密文数据。终端设备101和服务器102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

需要说明的是,图1a所示的数据处理的应用场景包括终端设备和服务器的情况仅为举例,本申请主要适用于两方的场景,因此,在其他一些实施例中,数据处理的应用场景也可以是两个终端用户之间进行数据处理的场景;也可以是由两方服务器交互的数据处理场景,比如一方服务器为广告平台服务器,另一方为某个广告主企业的企业服务器。

再请参见图1b,是本申请实施例的一种数据处理方法的第一实施例流程示意图,本申请实施例的所述方法应用于第一节点,该第一节点为一个智能设备,该智能设备例如可以是上述提及的某些用户所使用的终端设备,也可以是某些具有特殊功能的服务器。所述方法包括如下步骤。

S101:获取第一求交集合,所述第一求交集合包括N个第一求交数据,N为正整数;

S102:获取第二求交集合,所述第二求交集合包括M个第二求交数据,M为正整数;

所述第一求交集合中包括的第一求交数据、所述第二求交集合中包括的第二求交数据的数据类型相同但来源不同,例如数据类型可以是用户ID数据,而就来源而言,一个可以来源于第一节点中的第一待处理数据,另一个可以来源于第二节点的第二待处理数据。以广告场景为例,第一求交集合是根据广告主方记录的已经购买了广告主服务的用户ID得到的数据,比如经过哈希映射、公私钥加解密过程得到的密文数据,而第二求交数据则是根据为广告主打广告的广告平台记录的已经看过该广告主的产品服务广告的用户ID得到的数据,比如经过哈希映射、公私钥加解密过程得到的密文数据,通过后续的对第一求交集合和第二求交集合的求交处理,对于广告主而言,根据求交结果的数据可以进一步分析得出已经看过广告的用户ID和已经购买了广告主服务的用户ID可在交集的部分,交集的这部分用户ID可以认为是看过了广告平台的广告后,才购买广告主相关服务的用户的用户ID,如此可以根据交集部分的数据的数量和第二求加集合中的数据的数量计算一个转换率,从而完成对广告平台的评价。

S103:对所述第一求交集合和所述第二求交集合进行求交集处理,得到求交结果集合,所述求交结果集合包括所述第一求交数据和所述第二求交数据之间的交集部分。

S104:对所述求交结果集合进行混淆处理,得到混淆集合,所述混淆集合包括:混淆数据和根据所述求交结果集合确定的交集数据集合。所述混淆数据是根据第二求交集合中的数据确定的,且所述混淆数据与所述交集数据集合中的数据没有关联关系。所述混淆数据是根据第二求交集合中的数据确定的,例如所述混淆数据可以是直接从第二求交集合中选择出来的数据,一方面,选择出的混淆数据属于第二求交集合,另一方面,所述混淆数据与所述交集数据集合中的数据没有关联关系,比如该混淆数据不属于求交结果集合,任意一个混淆数据都与求交结果集合中的任意一个数据都不相同。在一个实施例中,所述交集数据集合可以与所述求交结果集合相同。在其他实施例中,所述交集数据集合也可以仅仅是所述求交结果集合的一部分。

混淆的目的是为了确保确定交集部分的一方,不会将自己的数据通知给另一方或者第三方,在得到交集部分后,输出的是混淆集合,对外展示的是一个混淆集合,该集合中除了包括交集数据集合之外,还包括一些混淆数据,在一个实施例中,该混淆数据可以是从所述第二求交集合筛选出的数据,且所述混淆数据不属于所述求交结果集合。这样一来,向其他人展示的均是混淆处理之后的混淆集合,不会暴露第一节点上记录的任何数据。

举例说明,在通过上述步骤,广告主通过交集部分确定了从广告平台引流过来的用户ID后,由于广告主并不希望让广告平台知道到底有哪些看过广告的用户购买了广告主提供的服务,所以在此情况下,广告主可以输出混淆集合,将混淆集合发送给广告平台,以确保广告主的相关数据的安全性,广告主的数据不会被泄露,因为混淆集合中交集数据集合包括的交集部分的数据在第二节点中,混淆数据的部分也属于第二节点,如此一来,第二节点根本就不知道混淆集合中的数据到底那部分属于交集,那部分是混淆用的数据。同时,对于广告平台而言,也可以通过混淆集合得到部分信息,方便进行其他处理,比如广告平台的用户可以从混淆集合出发进行联邦训练。

在一个实施例中,所述第一求交集合中包括的N个第一求交数据可以是诸如广告主的原始数据,比如原始的由广告主方记录的已经购买了广告主服务的用户ID,第二求交集合则可以是诸如广告平台的原始数据,比如原始的由广告平台记录的已经看过该广告主的产品服务广告的用户ID。由于处理过程是在广告主的设备端,可使得广告主得知广告平台的数据,但经过混淆后的数据返回给广告平台后,至少广告平台是不清楚广告主的原始数据,保证了广告主的信息没有泄露给广告平台。

在一个实施例中,所述第一求交集合中包括的N个第一求交数据可以是通过第一密文处理规则对第一原始数据进行处理后的密文数据,所述第二求交集合中包括的N个第二求交数据可以是通过第二密文处理规则对第二原始数据进行处理后的密文数据,其中,若第一原始数据和第二原始数据相同,则通过第一密文处理规则对第一原始数据进行处理后的密文数据、与通过第二密文处理规则对第二原始数据进行处理后的密文数据是相同的数据。若第一原始数据和第二原始数据不相同,则通过第一密文处理规则对第一原始数据进行处理后的密文数据、与通过第二密文处理规则对第二原始数据进行处理后的密文数据是不相同的数据。所述第一原始数据例如可以是原始的由广告主方记录的已经购买了广告主服务的用户ID等数据,所述第二原始数据例如可以是原始的由广告平台记录的已经看过该广告主的产品服务广告的用户ID等数据。

第一求交集合包括的是对应用户的经过密文处理后的数据,第二求交集合中包括的也是对对应用户经过密文处理后的数据,因此,在本申请实施例中,数据交互的双方都无法得到对方的原始数据,例如:由于广告主收到的密文数据是广告平台通过第二密文处理规则对第二原始数据进行处理后的密文数据,保证了广告平台的信息(即第二原始数据)没有泄露给广告主,广告主无法进行解密处理;同时,经过混淆后的数据返回给广告平台后,广告平台也不清楚混淆后的数据中哪些是广告主的信息(第一原始数据),保证了广告主的信息没有泄露给广告平台。也就是说,若第一求交数据是通过第一密文处理规则对第一原始数据进行处理后的密文数据,第二求交数据是通过第二密文处理规则对第二原始数据进行处理后的密文数据,则可以在交互双方互相不清楚对端原始数据的情况下,由广告主方确定交集数据,广告主无法知道广告平台的原始数据,广告平台方既不会获取到广告主的第一原始数据,也无法从混淆集合中确定交集数据。

在本申请实施例中,获取第一求交集合和第二求交集合,对第一求交集合和第二求交集合进行求交集处理,得到求交结果集合;对求交结果集合进行混淆处理,得到混淆集合。通过对由于数据交互或者其他方式产生的两个数据集合求交集,满足一方用户对求交集的需求,例如广告主用户可以通过求交集来确定某个广告平台的转换率,同时对得到的求交数据进行混淆,又能够保证最后输出的集合数据不会造成本地数据泄密的问题,例如应广告平台要求需要反馈给广告平台的数据,不会直接暴露原本属于广告主的数据。

下面结合图2和图3对本申请实施例的数据处理过程的其中一种情况进行描述。

图2为本申请实施例提供的一种数据处理的架构图。如图2所示,数据处理流程主要包括以下步骤:

(1)第一节点获取第一签名数据,第一签名数据(R*SK[H1(Y)])包括:采用第二节点的私钥(SK)对第一加密数据(PK[R]*H1(Y))进行签名后得到的数据,第一加密数据(PK[R]*H1(Y))是第一节点对第一待处理数据(Y)进行加密后得到的数据;例如,设第一待处理数据为Y,第一节点通过第一映射规则(H1)对第一待处理数据进行加密得到第一中间数据H1(Y),并采用第二节点的公钥对第一待处理数据关联的原始随机数R进行加密得到加密随机数PK[R],将第一中间数据H1(Y)与加密随机数PK[R]进行计算(如模运算)得到第一加密数据PK[R]*H1(Y);第二节点在收到第一加密数据后,采用第二节点的私钥SK对第一加密数据进行签名得到第一签名数据;具体地:第一签名数据=SK[PK[R]*H1(Y)]=R*SK[H1(Y)]。

(2)第一节点根据第一签名数据,计算第一签名数据对应的第一求交数据;具体地,第一节点根据原始随机数R和第一签名数据计算得到原始签名数据,原始签名数据与采用第二节点的私钥对第一中间数据进行签名得到的数据相匹配,再采用第二映射规则对原始签名数据进行映射,得到第一待处理数据对应的第一求交数据;例如,设原始随机数为R,第一签名数据为R*SK[H1(Y)],第二映射规则为H(X),则原始签名数据=MI(R*SK[H1(Y)],R)= SK[H1(Y)],其中,MI()是一个模逆函数,表示R*SK[H1(Y)]与R之间为模逆运算。采用第二映射规则对原始签名数据进行映射得到第一求交数据=H2(SK[H1(Y)])。

(3)第一节点获取第二求交数据;第二求交数据(H2(SK[H1(X)]))包括:对第二签名数据(SK[H1(X)])进行映射后得到的数据,第二签名数据(SK[H1(X)])包括:采用第二节点的私钥(SK)对映射数据(H1(X))进行签名后得到的数据,映射数据(H1(X))包括:对第二待处理数据(X)进行映射后得到的数据;例如,设第二待处理数据为X,第二节点通过第一映射规则(H1)对第二待处理数据进行映射得到映射数据H1(X),并采用第二节点的私钥SK对第二加密进行签名得到第二签名数据=SK[H1(X)],再通过第二映射规则(H2)对第二签名数据进行映射得到第二求交数据=H2(SK[H1(X)])。

(4)第一节点对第一求交数据和第二求交数据进行求交处理,得到求交结果集合;具体地,将第一求交数据(H2(SK[H1(Y)]))添加至第一求交集合,第一求交集合包括N个第一求交数据,N为正整数;将第二求交数据(H2(SK[H1(X)]))添加至第二求交集合,第二求交集合包括M个第二求交数据,M为正整数;对第一求交集合和第二求交集合进行求交处理,得到求交结果集合。可进一步地,第一节点获取混淆参数,并根据混淆参数从第二求交集合筛选出P个混淆数据,P个混淆数据不属于求交结果集合,P为正整数;将P个混淆数据添加至求交结果集合中,得到混淆集合。可更进一步地,第一节点根据混淆集合生成第一训练数据集,第二节点根据混淆集合生成第二训练数据集,并基于第一训练数据集和第二训练数据集对初始模型进行联邦训练,得到训练后的转换模型。

请参阅图3,图3为本申请提供的一种数据处理方法的第二实施例流程示意图。本申请实施例的所述方法应用于第一节点,该第一节点为一个智能设备,该智能设备例如可以是上述提及的某些用户所使用的终端设备,也可以是某些具有特殊功能的服务器。所述方法包括如下步骤。

S301:获取第一签名数据。第一签名数据(R*SK[H1(Y)])包括:采用第二节点的私钥(SK)对第一加密数据(PK[R]*H1(Y))进行签名后得到的数据,第一加密数据(PK[R]*H1(Y))是第一节点对第一待处理数据(Y)进行加密后得到的数据,第一待处理数据可以是第一节点的隐私数据,在一个实施例中,第一待处理数据为第一节点采集的用户ID数据,每一个用户ID数据作为一个第一待处理数据。

在一种实施方式中,第一节点与第二节点协商确定第一映射规则(H1)和第二映射规则(H2);第一映射规则和第二映射规则为不可逆的映射规则(即无法通过结果和映射规则反推原始数据),具体可以包括但不限于哈希算法(如SHA256)。

在一个实施例中,第一节点生成与第一待处理数据关联的原始随机数,并采用第一映射规则对第一待处理数据进行映射,得到第一中间数据(H1(Y));可以理解的是,根据第一待处理数据与原始随机数的关联关系,可以确定第一中间数据与原始随机数的关联关系;例如,与第一待处理数据D1关联的原始随机数为R1,与第一待处理数据D2关联的原始随机数为R2;采用第一映射规则分别对D1和D2进行映射得到第一中间数据H1(D1)和第一中间数据H1(D2);则与H1(D1)相关联的原始随机数为R1,与H1(D2)相关联的原始随机数为R2。需要说明的是,由于第一中间数据是采用不可逆的映射规则对第一待处理数据进行映射得到的,因此除了第一节点外的其他节点无法根据第一中间数据得到第一待处理数据。

进一步地,第一节点获取第二节点的公钥,第二节点的公钥是采用非对称密钥加密规则生成的;例如,第二节点通过RSA算法生成第二节点的公钥和私钥。第一节点在获取第二节点的公钥后,采用第二节点的公钥对第一中间数据关联的原始随机数进行加密,得到第一中间数据对应的加密随机数;并通过第一中间数据和该第一中间数据对应的加密随机数生成(计算)第一加密数据;例如,设第二节点的公钥为PK,第一中间数据为H1(D1),与第一中间数据关联的原始随机数为R1,则第一节点采用第二节点的公钥PK对第一中间数据关联的原始随机数R1进行加密,得到第一中间数据H1(D1)对应的加密随机数为PK[R1],通过第一中间数据H1(D1)与加密随机数PK[R1]进行模运算得到第一加密数据PK[R1]* H1(D1)。

第二节点在接收第一节点发送的第一加密数据后,采用第二节点的私钥对第一加密数据进行签名,得到第一签名数据,并向第一节点发送第一签名数据;例如,设第二节点的私钥为SK,第一加密数据为PK[R1]* H1(D1),则第一签名数据为:SK[PK[R1]* H1(D1)]=R1*SK[H1(D1)]。可以理解的是,原始签名数据SK[H1(D1)]对于第一节点来说是保密的,第一节点可以根据原始随机数R1与第一待处理数据D1的关联关系,确定第一待处理数据D1与原始签名数据SK[H1(D1)]的关联关系。

S302:根据第一签名数据,计算第一签名数据对应的第一求交数据。

在一种实施方式中,第一节点根据原始随机数和第一签名数据,计算第一签名数据(R*SK[H1(Y)])中包括的原始签名数据;例如,设原始随机数为R1,第一签名数据为R1*SK[H1(D1)],则原始签名数据为:MI(R1*SK[H1(D1)],R1)= SK[H1(D1)],MI()是一个模逆函数,表示R1*SK[H1(D1)]与R1之间为模逆运算。进一步地,第一节点采用第二映射规则对原始签名数据进行映射,得到第一签名数据对应的第一求交数据;例如,设第二映射规则对应的函数为H2(X),原始签名数据为SK[H1(D1)];则第一节点采用第二映射规则对原始签名数据进行映射,得到第一签名数据对应的第一求交数据为:H2(SK[H1(D1)])。

S303:获取第二求交数据。第二求交数据(H2(SK[H1(X)]))包括:对第二签名数据(SK[H1(X)])进行映射后得到的数据,第二签名数据(SK[H1(X)])包括:采用第二节点的私钥(SK)对映射数据(H1(X))进行签名后得到的数据,映射数据(H1(X))包括:对第二待处理数据(X)进行映射后得到的数据,第二待处理数据可以是第二节点的隐私数据,在一个实施例中,第二待处理数据为第二节点采集的用户ID数据,每一个用户ID数据作为一个第二待处理数据。

在一种实施方式中,第二节点采用第一映射规则对第二待处理数据进行映射,得到映射数据;由于映射数据是采用不可逆的映射规则对第二待处理数据进行映射得到的,因此除了第二节点外的其他节点无法根据第一中间数据得到第二待处理数据。进一步地,采用第二节点的私钥对映射数据进行签名,得到第二签名数据;例如,设映射数据为H1(D2),第二节点的私钥为SK,则采用第二节点的私钥对映射数据进行签名,得到的第二签名数据为:SK[H1(D2)]。更进一步地,采用第二映射规则对第二签名数据进行映射,得到第二求交数据;例如,设第二签名数据为:SK[H1(D2)],第二映射规则对应的函数为H2(X);则采用第二映射规则对第二签名数据进行映射,得到的第二求交数据为:H2(SK[H1(D2)])。

S304:对第一求交数据和第二求交数据进行求交处理,得到求交结果集合。求交结果集合包括第一求交数据(H2(SK[H1(Y)]))和第二求交数据(H2(SK[H1(X)]))的交集部分。

在一种实施方式中,若第一求交数据与第二求交数据相交(如第一求交数据与第二求交数据相同),则表明第一求交数据对应的第一待处理数据与第二求交数据对应的第二待处理数据相匹配,第一节点将第一求交数据添加至求交结果集合中。

在另一种实施方式中,将第一求交数据(H2(SK[H1(Y)]))添加至第一求交集合,第一求交集合包括N个第一求交数据,N为正整数;将第二求交数据(H2(SK[H1(X)]))添加至第二求交集合,第二求交集合包括M个第二求交数据,M为正整数;对第一求交集合和第二求交集合进行求交处理,得到求交结果集合;在一个实施例中,采用隐私集合求交(PSI)的方式来得到求交结果集合。可见,在确保数据隐私的前提下(第一节点无法根据第二求交数据获知第二节点中的第二待处理数据,且第二节点也无法根据第一加密数据获知第一节点中的第一待处理数据)根据M个第二待处理数据,从N个第一待处理数据中确定出与M个第二待处理数据相匹配的Q个第一待处理数据,Q为正整数,且Q小于等于N。

S305:对所述求交结果集合进行混淆处理,得到混淆集合,所述混淆集合包括:混淆数据和根据所述求交结果集合确定的交集数据集合。所述混淆数据是根据第二求交集合中的数据确定的,且所述混淆数据与所述交集数据集合中的数据没有关联关系。所述混淆数据是根据第二求交集合中的数据确定的,例如所述混淆数据可以是从第二求交集合中选择出来的数据,一方面,选择出的混淆数据属于第二求交集合,另一方面,所述混淆数据与所述交集数据集合中的数据没有关联关系,比如该混淆数据不属于求交结果集合,任意一个混淆数据都与求交结果集合中的任意一个数据都不相同。在本申请实施例中,所述交集数据集合与所述求交结果集合相同。

第一节点可以采用混淆数据D对求交结果集合I进行混淆后,将得到的混淆集合T发给第二节点,以便于第二节点进行相应的处理。在一些可能的实施例中,也可以将求交处理得到的求交结果集合I,直接发给第二节点;或者,第一节点根据混淆数据D以及求交结果集合I得到与混淆集合T对应的关联混淆集合T’,在混淆集合T与关联混淆集合T’中,第一节点记录的第一待处理数据Y和第二节点记录的第二待处理数据X中,相同的样本ID(即该样本ID既属于第一待处理数据Y,又属于第二待处理数据X)在混淆集合T与关联混淆集合T’中位置相同(具体可参考图5所示的训练样本(T),以及正-负样本(T’)),以便于后续进行进一步数据处理(如联邦训练)。

在一个实施例中,所述S305具体可以包括根据混淆参数从所述第二求交集合筛选出P个数据作为混淆数据,所述混淆数据不属于所述求交结果集合,P为正整数;最后将所述混淆数据添加至所述求交结果集合中,得到混淆集合。第一节点获取混淆参数,该混淆参数可以是由第一节点根据用户设置生成的,也可以是由第一节点和第二节点协商得到的;混淆参数可以是一个比例值(如第二求交数据的10%),也可以是具体的数量值(如100个第二求交数据)。第一节点根据混淆参数和第二求交集合对求交结果集合进行混淆处理,得到混淆集合。具体地,第一节点根据混淆参数从第二求交集合筛选出P个混淆数据,P个混淆数据不属于求交结果集合,P为正整数;将P个混淆数据添加至求交结果集合中,得到混淆集合(即确保混淆集合中包括至少一个不属于求交结果集合的第二求交数据);例如,混淆参数为20%,第二求交集合中第二求交数据的数量为100,则第一节点在得到求交结果集合后,从不属于求交结果集合的第二求交数据中随机选取20个第二求交数据添加至求交结果集合中。

更进一步地,第一节点根据混淆集合生成第一训练数据集,第二节点根据混淆集合生成第二训练数据集,并确保第一训练数据集和第二训练数据集中正样本(即求交结果集合中的数据)对齐(即同一个正样本在第一训练数据集和第二训练数据集中的位置相同)。在一种实施方式中,第三方协作平台将公钥发送给第一节点和第二节点,用以对第一训练数据集和第二训练数据集进行加密,第一节点和第二节点之间以密文形式交互用于计算梯度的中间结果;第一节点和第二节点分别基于加密的梯度值进行计算,同时第一节点根据求交结果集合计算损失,并把结果汇总给第三方协作平台;第三方协作平台通过汇总结果计算总梯度值并将其解密,并将解密后的梯度分别回传给第一节点和第二节点,第一节点和第二节点根据梯度更新各自初始模型的参数,得到训练后的转换模型。需要说明的是,联邦训练的过程,在部分场景下依赖第三方协作平台,但是在另一些场景也可以不依赖第三方协作平台:计算双方通过同态加密算法对数据进行保护,在密文空间更新模型参数。

设第一待处理数据和第二待处理数据为ID数据,由上述步骤S301-步骤S304可知:

参与计算的两个参与方为:第一节点(客参与方)和第二节点(主参与方),其中第一节点为获得准确交集的一方,第二节点获得交集的超集(即混淆集合),混淆集合中部分ID数据来自第二节点本地ID(即第二待处理数据)且不属于第一节点的本地ID(即第一待处理数据)。

在协议准备阶段,双方交换必要信息(如协商加密规则),并确定混淆参数(Dummy样本比例D,Dummy样本是指属于第二节点但是不属于求交结果集合的ID,用于保护求交结果集合中的ID)。

在协议计算阶段,通过一系列保护机制(通过加密规则即密钥对数据进行加密),双方将样本明文ID映射到求交空间(将ID通过一系列安全处理映射到密文空间,不可以反推或是通过撞库来破解ID明文),使ID受到保护,不可以被任意一方反推或是通过撞库来破解ID明文,第二节点将求交空间ID(即第二求交数据)发送到第一节点,由第一节点完成密文的求交(上述方法包括但不仅限于基于盲签名、Diffie-Hellman或不经意传输的PSI协议,任何对ID进行加密并在一方求交集的方法均适用于本申请)。随后根据混淆参数,第一节点从第二节点发送的第二求交数据中抽取部分作为混淆数据(DummyID)混入求交结果集合,得到混淆集合,并将混淆集合发送给第二节点。

第二节点获得的混淆集合中全部样本ID均来自于第二节点的本地集合,且混淆交集为实际交集的超集;第二节点无法从混淆集合中得知哪些ID属于第一节点的本地集合(即哪些ID属于实际交集)。

第一节点获得的混淆集合由实际交集的全部真实ID和部分第二节点的求交空间ID(即第二求交数据)构成;第一节点可以通过对比本地ID集合得知哪些ID是属于实际交集;混淆集合中不属于求交结果集合的ID(即DummyID),由于加密处理,第一节点无法获得其真实值。在诸如广告业务场景下,作为广告主的第一节点根据实际交集部分能够得知那些ID(比如在广告主的店铺中完成了交易)在第二节点例如目标广告平台出现过,广告主可以认为交集部分的ID为通过是因为看到目标广告平台推送的广告后到起店铺中挑选了商品完成了交易,第一节点可以据此计算关于广告的转换率等参数。

本申请实施例中,第一节点获取第一签名数据;根据第一签名数据,第一签名数据包括:采用第二节点的私钥对第一加密数据进行签名后得到的数据;计算第一签名数据对应的第一求交数据;获取第二求交数据,第二求交数据包括:对第二待处理数据进行加密后得到的数据,对第一求交数据和第二求交数据进行求交处理,得到求交结果集合。可见,通过对加密后得到的第一求交数据和第二求交数据进行求交处理,可以较好地提高数据交互的隐私性和安全性;通过对由于数据交互或者其他方式产生的两个数据集合求交集,满足一方用户对求交集的需求,例如广告主用户可以通过求交集来确定某个广告平台的转换率,同时对得到的求交数据进行混淆,又能够保证最后输出的集合数据不会造成本地数据泄密的问题,例如应广告平台要求需要反馈给广告平台的数据,不会直接暴露原本属于广告主的数据。

请参阅图4,图4为本申请实施例提供的另一种数据处理方法的流程图。该方法可以应用于第二节点,该第二节点可以为一个智能设备,该智能设备例如可以是智能终端,也可以是服务器,例如图1a中所示的服务器102,本申请实施例的方法可以包括如下步骤。

S401:获取第一加密数据。第一加密数据(PK[R]*H1(Y))是采用加密随机数和第一映射规则对第一待处理数据(Y)进行加密后得到的数据;加密随机数是采用第二节点的公钥对初始随机数进行加密得到的,初始随机数是根据第一待处理数据生成的,每个第一待处理数据关联一个初始随机数,第一映射规则是由第一节点和第二节点协商确定的;第一映射规则为不可逆的映射规则(即无法通过结果和映射规则反推原始数据),具体可以包括但不限于哈希算法(如SHA256);第一待处理数据可以是第一节点的隐私数据,在一个实施例中,第一待处理数据为第一节点采集的用户ID数据,每一个用户ID数据作为一个第一待处理数据。

S402:采用第二节点的私钥对第一加密数据进行签名,得到第一签名数据,并向第一节点发送第一签名数据。第二节点在接收第一节点发送的第一加密数据后,采用第二节点的私钥对第一加密数据进行签名,得到第一签名数据,并向第一节点发送第一签名数据;例如,设第二节点的私钥为SK,第一加密数据为PK[R1]* H1(D1),则第一签名数据为:SK[PK[R1]* H1(D1)]=R1*SK[H1(D1)]。可以理解的是,原始签名数据SK[H1(D1)]对于第一节点来说是保密的,第一节点可以根据原始随机数R1与第一待处理数据D1的关联关系,确定第一待处理数据D1与原始签名数据SK[H1(D1)]的关联关系。

S403:采用第一映射规则和第二映射规则对第二待处理数据进行映射,得到第二求交数据。第二待处理数据可以是第二节点的隐私数据,在一个实施例中,第二待处理数据为第二节点采集的用户ID数据,每一个用户ID数据作为一个第二待处理数据。

在一种实施方式中,第二节点采用第一映射规则对第二待处理数据进行映射,得到映射数据;由于映射数据是采用不可逆的映射规则对第二待处理数据进行映射得到的,因此除了第二节点外的其他节点无法根据第一中间数据得到第二待处理数据。

进一步地,采用第二节点的私钥对映射数据进行签名,得到第二签名数据;例如,设映射数据为H1(D2),第二节点的私钥为SK,则采用第二节点的私钥对映射数据进行签名,得到的第二签名数据为:SK[H1(D2)]。

更进一步地,采用第二映射规则对第二签名数据进行映射,得到第二求交数据;例如,设第二签名数据为:SK[H1(D2)],第二映射规则对应的函数为H2(X);则采用第二映射规则对第二签名数据进行映射,得到的第二求交数据为:H2(SK[H1(D2)])。

S404:向第一节点发送第二求交数据,并获取混淆集合。混淆集合是在求交结果集合中加入混淆数据后得到的集合,求交结果集合是采用第一求交数据和第二求交数据进行求交处理后得到的集合,混淆数据是根据混淆参数从第二求交数据中(随机)提取的。

进一步地,第一节点根据混淆集合生成第一训练数据集,第二节点根据混淆集合生成第二训练数据集,并确保第一训练数据集和第二训练数据集中正样本(即求交结果集合中的数据)对齐(即同一个正样本在第一训练数据集和第二训练数据集中的位置相同)。

在一种实施方式中,第三方协作平台将公钥发送给第一节点和第二节点,用以对第一训练数据集和第二训练数据集进行加密,第一节点和第二节点之间以密文形式交互用于计算梯度的中间结果;第一节点和第二节点分别基于加密的梯度值进行计算,同时第一节点根据求交结果集合计算损失,并把结果汇总给第三方协作平台;第三方协作平台通过汇总结果计算总梯度值并将其解密,并将解密后的梯度分别回传给第一节点和第二节点,第一节点和第二节点根据梯度更新各自初始模型的参数,得到训练后的转换模型。

本申请实施例中,第二节点获取第一加密数据,第一加密数据是对第一待处理数据进行加密得到的数据,采用第二节点的私钥对第一加密数据进行签名,得到第一签名数据,并向第一节点发送第一签名数据,采用第一映射规则和第二映射规则对第二待处理数据进行加密,得到第二求交数据,向第一节点发送第二求交数据,并获取混淆集合。由此可见,一方面在数据交互过程中,交互的数据均为加密后的数据,双方都无法直观地获取到明文数据,并数据传输过程中也基本不存在被非法进行数据截取操作而导致的数据泄密,可以较好地保证数据的隐私性和安全性。同时,对于第一节点来讲,最后输出的是混淆后的数据,也确保了第一节点数据不会被泄露,进一步地确保了第一节点上数据的隐私性。

图5为本申请实施例提供的一种应用场景架构图。如图5所示,参与方A和参与方B之间存在相关的数据交互需求,且参与方B(例如广告投放方)不希望本地的ID集合被参与方A(例如广告投放平台)所获取,通常是对于参与方B而言因为其对应的第一节点上的本地样本ID是私密性极强的数据(如用户ID数据),因此即便是属于交集的ID(由广告平台投放广告转换来的用户ID),也不可以被参与方A对应的第二节点所获取。本申请实施例中,明文空间到求交空间的映射函数为H2(SK[H1(ID)]),其中H1、H2为哈希函数。下面以图5所示的场景为例,结合图2对数据处理(PSI协议)流程进行说明:

1)协议准备阶段,第二节点(参与方A或者认为是Host方)生成非对称密钥(PK,SK),将PK分享给第一节点(参与方B或者认为是Guest方);双方协商两个数据映射规则,即哈希函数H1和H2(不失一般性,非对称密钥可以使用RSA密钥;哈希函数可以使用SHA256)。之后第一节点和第二节点协商一个混淆参数(dummy样本比例D),根据应用场景不同,也可以由第一节点确定混淆参数并对第二节点保密。

2)设第二节点中第二待处理数据(例如广告投放平台投放广告的对象用户的用户ID)为X,第一节点中第一待处理数据(实际进入了广告主的店铺的用户ID、在广告主的店铺完成了账号注册的用户ID、甚至在广告主的店铺中消费完成交易的用户ID,具体是根据实际情况可以是这三种合作更多种用户ID的部分或者全部)为Y。第一节点和第二节点分别使用第一映射规则(H1)对本地样本ID计算哈希值,得到H1(X)和H1(Y)。

3)第一节点为每一个本地ID生成原始随机数R,使用第二节点的公钥(PK)对原始随机数R进行加密后与第一中间数据H1(Y)进行计算(如模运算等),得到第一加密数据(盲化ID):PK[R]*H1(Y),第一节点将至少一个第一加密数据发送给第二节点。

4)第二网络节点接收第一节点发送的第一加密数据,并使用第二节点的私钥SK对每一个第一加密数据(盲化ID)进行签名,得到第一签名数据:SK[PK[R]*H1(Y)] = R*SK[H1(Y)](根据非对称密码性质,对密文PK[R]签名等价于解密)并发送给第一节点。第二节点对本地哈希ID签名后使用H2计算哈希值,得到第二求交数据H2(SK[H1(X)])发送给第一节点。

5)第一节点收到第二节点采用私钥签名后的第一签名数据R*SK[H1(Y)]后,消除初始随机数R,得到原始签名数据SK[H1(Y)],采用第二映射规则(H2)计算原始签名数据的哈希值得到第一求交数据:H2(SK[H1(Y)]),与第二节点发送的第二求交数据H2(SK[H1(X)])进行求交,得到求交结果集合(即精确交集I)。第一节点根据混淆参数,从第二求交集合H2(SK[H1(X)])中抽取部分加入求交结果集合,得到混淆集合,在一个实施例中,使得混淆集合/求交结果集合=混淆参数;例如,混淆参数为5,求交结果集合中包括10个ID,则混淆集合中包括50个ID,其中40个混淆数据是从第二求交结果集合中随机提取的。将混淆集合按照一定顺序发送给第二节点,以确保正样本ID在第一节点的混淆集合和第二节点的混淆集合中位于相同位置,以便于进行联邦训练。

可见,第二节点所获取的混淆集合中,所有ID均来自于第二节点的本地集合,且仅有部分ID是属于求交结果集合,因此第二节点无法判断哪些ID来自于第一节点;在一些场景下,第二节点得到的混淆集合可以和第二节点的本地集合完全一样,此时第二节点并不会从混淆集合中获得任何额外信息;在混淆集合中所有不属于求交结果集合的ID均进行过加密处理,第一节点得到混淆集合后,只能判断出被隐藏的ID(用于进行混淆ID)不属于求交结果集合,但是无法获得ID的具体数值,从而保护了第二节点的隐私数据。

通过本申请所提出隐私集合求交(Private Set Intersection,PSI)协议,使得参与双方通过协同计算,仅有其中一方获得准确交集(即求交结果集合),另一方只能获得求交结果集合的超集。在本实施例中,广告投放方获得正样本ID(即由广告平台转换来的用户ID)和加密的负样本(广告平台中点击广告但未转换的用户ID),广告投放方本地只有标签信息(即知道哪些用户是广告平台转换来的),广告平台有用户特征(即点击了广告的用户的特征,无标签是指不知道哪些用户转换成功),双方可以在互不泄露用户ID的情况下进行转化预测模型的联邦训练与推理。

下面再结合图6和图7来对本申请实施例的数据处理过程进行描述。

再请参见图6,图6是本申请提供的一种数据处理方法的第四实施例流程示意图,本申请实施例的所述数据处理方法可以由第一节点来执行,该第一节点可以是智能设备,该智能设备例如可以是智能终端、服务器等。例如第一节点可以是图1a所示的终端设备101,本申请实施例的方法可以包括如下步骤。

S601:基于加密算法通过第一节点的公钥对第二中间数据进行加密处理,得到第三加密数据,所述第二中间数据是根据第三映射规则对第一待处理数据进行映射处理后得到的。第三映射规则为不可逆的映射规则(即无法通过结果和第三映射规则反推原始数据),第三映射规则具体可以包括但不限于哈希算法(如SHA256)。

在一个实施例中,第三映射规则为哈希运算规则,第二中间数据可以是通过对记录在第一节点中的用户ID进行哈希运算后得到的,第二中间数据可以记为(H(Y))或者H(ID)。而利用第一节点的公钥加密得到的第三加密数据则可以记为(PK0[H(Y)])。

S602:将第三加密数据发送给第二节点。在一种实施方式中,第一节点将第三加密数据发送给第二节点,以便于第二节点基于其自身的公钥对第三加密数据进行进一步的加密,得到第一求交数据。

S603:接收第二节点返回的第一求交数据,以便于得到包括第一求交数据的第一求交集合;所述第一求交数据是基于加密算法通过第二节点的公钥对第三加密数据进行加密后得到的。此处的第一求交数据可以记为PK1[PK0[H(Y)]]。每一个第一待处理数据都会得到一个第一求交数据,基于所有的第一求交数据得到第一求交集合。

S604:接收第二节点的第四加密数据,第四加密数据是基于加密算法通过第二节点的公钥对第三中间数据进行加密后得到,第三中间数据是通过第三映射规则对第二节点的第二待处理数据进行映射后得到的。第四加密数据可以记为PK1[H(X)]或者PK1[H(ID)];第四加密数据所对应使用的加密算法和上述第一求交数据所对应使用的加密算法可以为相同的加密算法,并且为可交换加密算法,例如RSA算法(一种非对称的加密算法)。

S605:通过第一节点的公钥对第四加密数据进行加密,得到第二求交数据;以便于得到包括第二求交数据的第二求交集合。第二求交数据可以记为PK0[PK1[H(X)]]。

S606:对第一求交集合和第二求交集合进行求交集处理,得到求交结果集合,求交结果集合包括所述第一求交数据和所述第二求交数据之间的交集部分。在本申请实施例中,对所述第一求交集合和所述第二求交集合进行求交集处理,得到求交结果集合可以分为两个步骤,第一个步骤为,根据可交换加密算法的特性,将第一求交集合进行交换处理,得到新的第一求交集合,再将新的第一求交集合与第二求交集合进行求交处理,可交换加密算法的特性在于:PK0[PK1[data]] = PK1[PK0[data]],因此,对于第一求交集合中的各第一求交数据PK1[PK0[H(Y)]],可转换成新的第一求交数据PK0[PK1[H(Y)]],基于该新的第一求交数据得到新的第一求交集合,该新的第一求交集合即可与第二求交集合中的各第二求交数据PK0[PK1[H(X)]]进行比较,得到第一求交集合和第二求交集合之间的交集,得到求交结果集合。

当然,反过来也可以,即先将第二求交集合中的各个数据进行交换处理,得到新的第二求交集合,再将新的第二求交集合与第一求交集合进行求交处理。第二求交集合的第二求交数据PK0[PK1[H(X)]]进行交换处理后,得到的新的第二求交数据为PK1[PK0[H(X)]],将第二求交集合中的各个新的第二求交数据与第一求交集合中的第一求交数据PK1[PK0[H(Y)]]进行比较,即可得到交集部分,得到求交结果集合。

S607:对所述求交结果集合进行混淆处理,得到混淆集合,混淆集合包括:混淆数据和根据求交结果集合确定的交集数据集合。所述混淆数据是根据第二求交集合中的数据确定的,且所述混淆数据与所述交集数据集合中的数据没有关联关系。

在对第一求交集合进行交换处理、不对第二求交集合进行交换处理的情况下,所述混淆数据是根据第二求交集合中的数据确定的是指:所述混淆数据是直接从第二求交集合中选择出来的数据,该混淆数据属于第二求交集合,所述混淆数据与所述交集数据集合中的数据没有关联关系是指:该混淆数据不属于求交结果集合,即与求交结果集合中的数据均没有关联关系。

在对第一求交集合不进行交换处理、而对第二求交集合进行交换处理的情况下,所述混淆数据是根据第二求交集合中的数据确定的是指:所述混淆数据是从对所述第二求交集合中各个第二求交数据进行交换处理后得到的数据中筛选来的数据,所述混淆数据与所述交集数据集合中的数据没有关联关系是指:筛选处理的混淆数据,与第一求交集合中的任意一个第一求交数据都不相同。

需要说明的是,由于可交换加密算法的特性,交换处理前和交换处理后的相应数据(第二求交数据和新的第二求交数据)之间虽然表现形式不一样,但值实际是一样的,所以在任何情况下,都可以认为混淆数据是直接从第二求交集合中直接筛选出来的数据、但不属于求交结果集合的数据即可。

在一个实施例中,在混淆时,可以根据混淆参数从所述第二求交集合筛选出P个数据作为混淆数据,所述混淆数据不属于所述求交结果集合,P为正整数;将混淆数据添加至求交结果集合中,得到混淆集合。在本申请实施例中,可以是直接从第二求交集合中筛选出一些第二求交数据,筛选出的第二求交数据不属于求交结果集合或者说筛选出的第二求交数据所对应的新的第二求交数据不属于求交结果集合。

在得到混淆集合后,可以根据需要将混淆集合返回给第二节点,以便于第二节点执行相应的处理,例如基于混淆集合进行联邦训练等等。或者将混淆结果输出存储到诸如区块链网络等系统中。

本申请实施例中,一方面第一节点基于加密算法通过第一节点的公钥对第二中间数据进行加密处理,得到第三加密数据,将第三加密数据发送给第二节点,并接收第二节点返回的第一求交数据;另一方面第一节点接收第二节点的第四加密数据,通过第一节点的公钥对第四加密数据进行加密,得到第二求交数据;在得到第一求交集合和第二求交集合后,第一节点对第一求交集合和第二求交集合进行求交集处理,得到求交结果集合,对求交结果集合进行混淆处理,得到混淆集合。可见,通过对加密后得到的第一求交数据和第二求交数据进行求交处理,可以较好地提高数据交互的隐私性和安全性;通过对由于数据交互或者其他方式产生的两个数据集合求交集,满足一方用户对求交集的需求,例如广告主用户可以通过求交集来确定某个广告平台的转换率,同时对得到的求交数据进行混淆,又能够保证最后输出的集合数据不会造成本地数据泄密的问题,例如应广告平台要求需要反馈给广告平台的数据,不会直接暴露原本属于广告主的数据。

请参见图7,为本申请实施例提供的另一种数据处理的架构示意图,图7示出了第一节点和第二节点之间加密、映射、求交的过程。具体的,第一节点的密钥为(SK0,PK0),第一节点中记录了第一待处理数据Y,数据集合G中包括多个第一待处理数据,第二节点的密钥为(SK1,PK1),第二节点中记录了第二待处理数据X,数据集合H中包括多个第二待处理数据。

第一节点对G中的各个第一待处理数据Y进行哈希计算,得到各个第一待处理数据Y对应的第二中间数据(H(Y));

第一节点基于第一节点的公钥对第二中间(H(Y))进行加密处理,得到第三加密数据(PK0[H(Y)]),并将第三加密数据(PK0[H(Y)])发送给第二节点;数据集合G’中记录了多个第三加密数据(PK0[H(Y)]);

第二节点基于第二节点的公钥对各个第三加密数据(PK0[H(Y)])进行加密,得到各个第三加密数据对应的第一求交数据PK1[PK0[H(Y)]],构成第一求交集合,记为G’’;

第二节点对第二节点记录的各个第二待处理数据分别进行哈希计算,得到多个第三中间数据(H(X)),再通过第二节点的公钥对各个第三中间数据(H(X))进行加密,得到多个第四加密数据PK1[H(X)];数据集合H’中记录了多个第四加密数据(PK1[H(X)]);

第一节点通过第一节点的公钥对各个第四加密数据进行加密,得到各个第二求交数据,构成第二求交集合H’’。

第一节点间第一求交集合和第二求交集合进行求交处理,其中包括对第一求交集合或者第二求交集合中的数据进行数据交换的过程。

第一节点可以采用混淆数据D对求交结果集合I进行混淆后,将得到的混淆集合T发给第二节点,以便于第二节点进行相应的处理。在一些可能的实施例中,也可以将求交处理得到的求交结果集合I,直接发给第二节点;或者,第一节点根据混淆数据D以及求交结果集合I得到与混淆集合T对应的关联混淆集合T’,在混淆集合T与关联混淆集合T’中,第一节点记录的第一待处理数据Y和第二节点记录的第二待处理数据X中,相同的样本ID(即该样本ID既属于第一待处理数据Y,又属于第二待处理数据X)在混淆集合T与关联混淆集合T’中位置相同(具体可参考图5所示的训练样本(T),以及正-负样本(T’)),以便于后续进行进一步数据处理(如联邦训练)。

同样,在本申请实施例中,双方节点在进行数据传输都进行了加密处理,并且对于第一节点而言还进行了混淆处理,一方面在数据交互过程中,交互的数据均为加密后的数据,双方都无法直观地获取到明文数据,并数据传输过程中也基本不存在被非法进行数据截取操作而导致的数据泄密,可以较好地保证数据的隐私性和安全性。同时,对于第一节点来讲,最后输出的是混淆后的数据,也确保了第一节点数据不会被泄露,进一步地确保了第一节点上数据的隐私性。

下面再结合图8和图9来对本申请实施例的数据处理过程进行描述。

再请参见图8,是本申请提供的一种数据处理方法的第五实施例流程示意图,本申请实施例的所述数据处理方法可以有第一节点来执行,该第一节点可以是智能设备,该智能设备例如可以是智能终端、服务器等。例如第一节点可以是图1a所示的终端设备101,本申请实施例的方法可以包括如下步骤。

S801:对第一节点的多个第一待处理数据分别按照第四映射规则进行映射计算,并根据映射计算结果得到关于各第一待处理数据的不经意多项式,不经意多项式以映射计算结果为根;其中,第四映射规则为不可逆的映射规则(即无法通过结果和映射规则反推原始数据),具体可以包括但不限于哈希算法(如SHA256)。在一个实施例中,得到的不经意多项式的表达式如下:

P=(X-H(ID0))(X-H(ID1))…(X-H(IDn))

=X

其中的ID0、ID1、...、IDn分别对应第一节点中的n个不同的第一待处理数据Y。

S802:通过第一节点的公钥对不经意多项式进行系数加密处理,得到系数加密多项式;在一个实施例中,得到的系数加密多项式的表达式如下:

P’= X

其中,⊕为同态加法,⊙为同态数乘。

需要说明的是,对于将第二节点中的目标第二待处理数据而言,在按照第四映射规则得到值代入系数加密多项式计算时,若存在与目标第二待处理数据相同的第一待处理数据,则代入目标第二待处理数据后的系数加密多项式的计算结果为零,若不存在与目标第二待处理数据相同的第一待处理数据,则计算结果不为0。

第一节点将各个本端记录的ID等类型的数据(第一待处理数据),转换成多项式的根后,再通过公钥进行加密,将系数加密多项式或者说系数加密多项式各个根传递给第二节点后,由第二节点进行相应处理,得到中间交集集合(V’),在处理过程中,第二节点并不能从中还原得到各个第一待处理数据。对于第二节点而言,仅仅能够按照约定,将第二节点中记录的ID等对应类型的数据(第二待处理数据)按照要求代入到系数加密多项式中进行计算,然后再进行同态数乘和同态加法运算,输出各个第二待处理数据各自所对应的结果值。

S803:获取中间交集集合,该中间交集集合包括:多个结果值,中间交集集合中的一个结果值与第二节点的一个待处理数据对应,结果值是指:将按照第四映射规则对第二节点的第二待处理数据进行映射计算后得到的第四中间数据代入所述系数加密多项式进行计算得到中间值后、再利用同态运算规则对中间值进行同态计算后得到的值;在一个实施例中,利用同态运算规则对中间值进行同态计算包括:将中间值与一个随机数进行同态数乘之后,再和该中间值对应的第四中间数据所关联的第二待处理数据进行同态加法计算。该同态计算所使用的表达式如下:

R⊙ P’(H(ID))⊕ID式3;

其中的H(ID)具体为按照第四映射规则对相应的第二待处理数据(X)进行哈希映射后得到的第四中间数据,该表达式中的ID与第二节点的一个第二待处理数据(X)对应,该ID与上述提及的第四中间数据所关联的第二待处理数据对应。

也就是说,第二节点在将各个通过第四映射规则对相应的第二待处理数据X进行哈希映射后得到的数据代入到系数加密多项式后,均会得到一个结果值,在第二节点中可以自动建立第二待处理数据X与对应结果值之间的映射关系,以便于后续跟进该映射关系,对第一节点返回的混淆集合进行还原,确定混淆集合中的各个数据所对应的第二待处理数据X。

S804:通过第一节点的私钥对所述中间交集集合中的结果值进行解密,得到第二求交数据。前述S802中使用了公钥加密得到了多项式的根,此处使用第一节点的私钥对从第二节点反馈回来的中间交集集合进行解密,得到各个第二求交数据,最终得到包括各个第二求交数据的第二求交集合。

对于S801至S804获取第一求交数据以便于得到的第一求交集合的过程,举例说明如下:

对于第一节点中记录的第一待处理数据a、b,按照(X-H(a))(X- H(b))展开得到不经意多项式:X

对c1、c2、c3分别利用第一节点的公钥PK加密,得到PK[c1]、PK[c2]、PK[c3],得到加密多项式,即:PK[c1]*X

第二节点接收到PK[c1]、PK[c2]、PK[c3],从多个第二待处理数据中确定一个数据,例如ID1,通过第四映射规则对该ID1进行映射计算(哈希计算)得到H(ID1),记为d。将d带入系数加密多项式得到:PK[c1]⊙d

V’=R⊙(PK[c1]⊙d

其中,如果ID1 = a 或ID1 = b,则V’ = PK[hash(ID1)]。基于不同的第二待处理数据,比如第二待处理数据ID2、ID3、ID4、……、IDm等等,均会得到一个V’,多个V’构成中间交集集合。

对于诸如中间交集集合中各个结果值,第一节点可以通过私钥进行解密,例如V’= PK[hash(ID1)]通过私钥解密后会得到hash(ID1)。而对于那些无法正确解密的结果值V’,例如当ID2≠a、且ID2≠b,ID2代入系数加密多项式后,会得到一个无法识别或者无法有效解密、但与ID2对应的值即PK[对应值],第一节点即使通过私钥对其解密后,也会得到一个无法识别或者无效的数值记为“对应值”,无法识别或者无效的数值是指该值与任意一个第一待处理数据都不相同,但是第二节点能够基于该“对应值”的PK[对应值]通过上述S803中提及的映射关系确定原始的第二待处理数据ID2。

S805:将按照第四映射规则对第一节点记录的第一待处理数据进行映射计算后得到第一求交数据。基于多个第一求交数据即可得到第一求交集合。

S806:对所述第一求交集合和所述第二求交集合进行求交集处理,得到求交结果集合,所述求交结果集合包括所述第一求交数据和所述第二求交数据之间的交集部分。如上所述,通过第一节点的私钥对结果值进行解密后,可以得到hash(ID1)等对第二待处理数据进行哈希映射后的数据,并得到一些无法识别或者无效的数据。在第二求交集合中,也存在一些对第一待处理数据经过哈希映射后的第二求交数据,当第一待处理数据与某个第二待处理数据相同时,对应的第一求交数据和第二求交数据是相同的,由此可以得到求交结果集合。

S807:对所述求交结果集合进行混淆处理,得到混淆集合,所述混淆集合包括:混淆数据和根据所述求交结果集合确定的交集数据集合。所述混淆数据是根据第二求交集合中的数据确定的,且所述混淆数据与所述交集数据集合中的数据没有关联关系。

在本申请实施例中,所述混淆数据是根据第二求交集合中的数据确定的,其是指:从第二求交集合所对应的中间交集集合中筛选出结果值作为混淆数据;根据所述求交结果集合确定的交集数据集合是指:交集数据集合包括所述求交结果集合中各个数据所对应的结果值。所述混淆数据与所述交集数据集合中的数据没有关联关系是指:从中间交集集合中筛选出来的作为混淆数据的结果值,与所述求交结果集合中各个数据所对应的结果值均不相同。

在一个实施例中,在混淆时,可以根据混淆参数从所述第二求交集合对应的中间交集集合中筛选出P个数据(即P个结果值),P为正整数,并将该P个数据所对应的结果值作为混淆数据。这P个结果值与所述求交结果集合中各个数据所对应的结果值均不相同。

第一节点可以将混淆集合发送给第二节点,对于第二节点而言,能够通过混淆集合中的各个结果值,按照映射关系确定出各个第二待处理数据,基于确定出的各个第二待处理数据,可以进行诸如联邦训练等数据处理。

本申请实施例中,一方面第一节点对第一节点的多个第一待处理数据分别按照第四映射规则进行映射计算,并根据映射计算结果得到关于各第一待处理数据的不经意多项式,通过第一节点的公钥对不经意多项式进行系数加密处理,得到系数加密多项式,获取中间交集集合,通过第一节点的私钥对所述中间交集集合中的结果值进行解密,得到第二求交数据;另一方面第一节点将按照第四映射规则对第一节点记录的第一待处理数据进行映射计算后得到第一求交数据;在得到第一求交集合和第二求交集合后,第一节点对所述第一求交集合和所述第二求交集合进行求交集处理,得到求交结果集合,对所述求交结果集合进行混淆处理,得到混淆集合。可见,通过对加密后得到的第一求交数据和第二求交数据进行求交处理,可以较好地提高数据交互的隐私性和安全性;通过对由于数据交互或者其他方式产生的两个数据集合求交集,满足一方用户对求交集的需求,例如广告主用户可以通过求交集来确定某个广告平台的转换率,同时对得到的求交数据进行混淆,又能够保证最后输出的集合数据不会造成本地数据泄密的问题,例如应广告平台要求需要反馈给广告平台的数据,不会直接暴露原本属于广告主的数据。

请参见图9,为本申请实施例提供的又一种数据处理的架构示意图,图9也示出了第一节点和第二节点之间加密、映射、求交的过程。具体的,第一节点的密钥为(SK,PK),第一节点中记录了第一待处理数据Y,数据集合G中包括多个第一待处理数据,本申请实施例中不需要第二节点的密钥,第二节点中记录了第二待处理数据X,数据集合H中包括多个第二待处理数据。

第一节点基于数据集合G中的第一待处理数据,生成不经意多项式P。该不经意多项式P可以是上述的“式1”。

通过第一节点的公钥PK对不经意多项式P中的系数进行加密,得到系数加密多项式,该系数加密多项式可以是上述的“式2”,并将系数加密多项式发送给第二节点,或者仅仅将系数加密后的根发送给第二节点,由第二节点基于根构建系数加密多项式即可。

第二节点接收系数加密多项式P’,第二节点通过第四映射规则对数据集合H中包括的各个第二待处理数据分别进行映射处理,得到各自对应的第四中间数据,然后将各个第四中间数据代入到系数加密多项式P’中,得到每一个第四中间数据对应的结果值,各个结果值构成中间交集集合V’。

第二节点将得到的中间交集集合V’发送第一节点。

第一节点接收到中间交集集合V’之后,通过第一节点的私钥对其中的每一个结果值进行解密,得到解密后的第二求交集合V。

第一节点还会基于第四映射规则对G中的第一待处理数据进行映射处理,得到第一求交集合。

第一节点对第一求交集合和第二求交集合进行求交集处理,得到求交结果集合I。

第一节点可以采用混淆数据D对求交结果集合I进行混淆后,将得到的混淆集合T发给第二节点,以便于第二节点进行相应的处理。在一些可能的实施例中,也可以将求交处理得到的求交结果集合I,直接发给第二节点;或者,第一节点根据混淆数据D以及求交结果集合I得到与混淆集合T对应的关联混淆集合T’,在混淆集合T与关联混淆集合T’中,第一节点记录的第一待处理数据Y和第二节点记录的第二待处理数据X中,相同的样本ID(即该样本ID既属于第一待处理数据Y,又属于第二待处理数据X)在混淆集合T与关联混淆集合T’中位置相同(具体可参考图5所示的训练样本(T),以及正-负样本(T’)),以便于后续进行进一步数据处理(如联邦训练)。

在本申请实施例中,第一节点和第二节点首先传输的是一个多项式或者说多项式的根,并且是通过公钥加密的数据,如此可以确保第一节点上的数据的安全性和隐私性,极大降低了数据泄露的风险。后续从第二节点传递到第一节点的数据也是多项式的计算结果,不仅包含有效的第二节点的数据,还包括一些无效的数据,加大了数据被暴力破解的难度。通过本申请实施例,一方面在数据交互过程中可以较好地保证数据的隐私性和安全性。同时,对于第一节点来讲,最后输出的是混淆后的数据,也确保了第一节点数据不会被泄露,进一步地确保了第一节点上数据的隐私性。

上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。

请参见图10,图10为本申请实施例提供的一种数据处理装置的结构示意图,该装置可以搭载在上述方法实施例中的终端设备上,例如,该装置可以搭载在图1a中的终端设备101上。图10所示的数据处理装置可以用于执行上述图1b,图3,图4,图6和图8所描述的方法实施例中的部分或全部功能。其中,各个单元的详细描述如下:

处理单元1001,用于获取第一求交集合,所述第一求交集合包括N个第一求交数据,N为正整数;获取第二求交集合,所述第二求交集合包括M个第二求交数据,M为正整数,并用于对所述第一求交集合和所述第二求交集合进行求交集处理,得到求交结果集合,所述求交结果集合包括所述第一求交数据和所述第二求交数据之间的交集部分;对所述求交结果集合进行混淆处理,得到混淆集合,所述混淆集合包括:混淆数据和根据所述求交结果集合确定的交集数据集合,所述混淆数据是根据第二求交集合中的数据确定的,且所述混淆数据与所述交集数据集合中的数据没有关联关系;

输出单元1002,用于输出所述混淆集合。

在一个实施例中,所述处理单元1001,具体用于:

根据混淆参数从所述第二求交集合筛选出P个数据作为混淆数据,所述混淆数据不属于所述求交结果集合,P为正整数;

将所述混淆数据添加至所述求交结果集合中,得到混淆集合。

在一个实施例中,所述处理单元1001,具体用于:

获取第一签名数据,所述第一签名数据包括:采用第二节点的私钥对第一加密数据进行签名后得到的数据,所述第一加密数据是第一节点对第一待处理数据进行加密后得到的数据;

根据所述第一签名数据,计算所述第一签名数据对应的第一求交数据;以及用于:

获取第二求交数据,所述第二求交数据包括:对第二签名数据进行映射后得到的数据,所述第二签名数据包括:采用所述第二节点的私钥对映射数据进行签名后得到的数据,所述映射数据包括:对第二待处理数据进行映射后得到的数据。

在一个实施例中,所述处理单元1001,具体用于:

采用第一映射规则对所述第一待处理数据进行映射,得到第一中间数据;

获取所述第二节点的公钥,并采用所述第二节点的公钥对原始随机数进行加密,得到所述第一中间数据对应的加密随机数;

根据所述第一中间数据和所述第一中间数据对应的加密随机数,生成所述第一待处理数据的第一加密数据。

在一个实施例中,所述处理单元1001,具体用于:

根据所述第一中间数据关联的原始随机数和所述第一签名数据,计算原始签名数据,所述原始签名数据与采用所述第二节点的私钥对所述第一中间数据进行签名得到的数据相匹配;

采用第二映射规则对所述原始签名数据进行映射,得到所述第一签名数据对应的第一求交数据。

在一个实施例中,所述处理单元1001,具体用于:

基于加密算法通过第一节点的公钥对第二中间数据进行加密处理,得到第三加密数据,所述第二中间数据是根据第三映射规则对第一待处理数据进行映射处理后得到的;

将第三加密数据发送给第二节点;

接收第二节点返回的第一求交数据,以便于得到包括第一求交数据的第一求交集合;所述第一求交数据是基于加密算法通过第二节点的公钥对第三加密数据进行加密后得到的;以及用于:

接收第二节点的第四加密数据,所述第四加密数据是基于加密算法通过第二节点的公钥对第三中间数据进行加密后得到,所述第三中间数据是通过第三映射规则对第二节点的第二待处理数据进行映射后得到的;

通过第一节点的公钥对所述第四加密数据进行加密,得到第二求交数据;以便于得到包括第二求交数据的第二求交集合;

其中,所述加密算法为可交换加密算法。

在一个实施例中,所述处理单元1001,具体用于:

将按照第四映射规则对第一节点记录的第一待处理数据进行映射计算后得到第一求交数据;以及用于:

对第一节点的多个第一待处理数据分别按照第四映射规则进行映射计算,并根据映射计算结果得到关于各第一待处理数据的不经意多项式,所述不经意多项式以所述映射计算结果为根;

通过第一节点的公钥对所述不经意多项式进行系数加密处理,得到系数加密多项式;

获取中间交集集合,所述中间交集集合包括:多个结果值,所述中间交集集合中的一个结果值与第二节点的一个待处理数据对应,所述结果值是指:将按照第四映射规则对第二节点的第二待处理数据进行映射计算后得到的第四中间数据代入所述系数加密多项式进行计算得到中间值后,再利用同态运算规则对中间值进行同态计算后得到的值;

通过第一节点的私钥对所述中间交集集合中的结果值进行解密,得到第二求交数据。

在一个实施例中,利用同态运算规则对中间值进行同态计算包括:将中间值与一个随机数进行同态数乘之后,再和该中间值对应的第四中间数据进行同态加法计算。

根据本申请的一个实施例,图1b,图3,图4,图6和图8所示的数据处理方法所涉及的部分步骤可由图10所示的数据处理装置中的各个单元来执行。例如,图1b中所示的步骤S101-步骤S104可由图10所示的处理单元1001执行。图3中所示的步骤S301-步骤S304可由图10所示的处理单元1001执行。图4中所示的步骤S401-步骤S404可由图10所示的处理单元1001执行。图6中所示的步骤S601-步骤S607可由图10所示的处理单元1001执行。图10所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。

根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算装置上运行能够执行如图1b,图3,图4,图6和图8中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图10中所示的数据处理装置,以及来实现本申请实施例的数据处理方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。

基于同一发明构思,本申请实施例中提供的数据处理装置解决问题的原理与有益效果与本申请方法实施例中数据处理装置解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。

请参阅图11,图11为本申请实施例提供的一种智能设备的结构示意图,所述智能设备至少包括处理器1101、通信接口1102和存储器1103。其中,处理器1101、通信接口1102和存储器1103可通过总线或其他方式连接,本申请实施例以通过总线连接为例。其中,处理器1101(或称中央处理器(Central Processing Unit,CPU))是智能设备的计算核心以及控制核心,其可以解析终端设备内的各类指令以及处理终端设备的各类数据,例如:CPU可以用于解析用户向终端设备所发送的开关机指令,并控制终端设备进行开关机操作;再如:CPU可以在终端设备内部结构之间传输各类交互数据,等等。通信接口1102可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等),受处理器1101的控制可以用于收发数据;通信接口1102还可以用于终端设备内部数据的传输以及交互。存储器1103(Memory)是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器1103既可以包括终端设备的内置存储器,当然也可以包括终端设备所支持的扩展存储器。存储器1103提供存储空间,该存储空间存储了终端设备的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本申请对此并不作限定。

在一个实施例中,该智能设备可以是终端设备,例如图1a所示的终端设备101。在此情况下,处理器1101通过运行存储器1103中的可执行程序代码,执行如下操作:

通过通信接口1102获取第一求交集合,所述第一求交集合包括N个第一求交数据,N为正整数;

通过通信接口1102获取第二求交集合,所述第二求交集合包括M个第二求交数据,M为正整数;

对所述第一求交集合和所述第二求交集合进行求交集处理,得到求交结果集合,所述求交结果集合包括所述第一求交数据和所述第二求交数据之间的交集部分;

对所述求交结果集合进行混淆处理,得到混淆集合,所述混淆集合包括:混淆数据和根据所述求交结果集合确定的交集数据集合,所述混淆数据是根据第二求交集合中的数据确定的,且所述混淆数据与所述交集数据集合中的数据没有关联关系。

作为一种可选的实施方式,处理器1101对所述求交结果集合进行混淆处理,得到混淆集合的具体实施例为:

根据混淆参数从所述第二求交集合筛选出P个数据作为混淆数据,所述混淆数据不属于所述求交结果集合,P为正整数;

将所述混淆数据添加至所述求交结果集合中,得到混淆集合。

作为一种可选的实施方式,处理器1101通过通信接口1102获取第一求交集合的具体实施例为:

通过通信接口1102获取第一签名数据,所述第一签名数据包括:采用第二节点的私钥对第一加密数据进行签名后得到的数据,所述第一加密数据是第一节点对第一待处理数据进行加密后得到的数据;

根据所述第一签名数据,计算所述第一签名数据对应的第一求交数据;

处理器1101通过通信接口1102获取第二求交集合的具体实施例为:

通过通信接口1102获取第二求交数据,所述第二求交数据包括:对第二签名数据进行映射后得到的数据,所述第二签名数据包括:采用所述第二节点的私钥对映射数据进行签名后得到的数据,所述映射数据包括:对第二待处理数据进行映射后得到的数据。

作为一种可选的实施方式,第一节点对第一待处理数据进行加密得到所述第一加密数据的具体实施例为:

采用第一映射规则对所述第一待处理数据进行映射,得到第一中间数据;

获取所述第二节点的公钥,并采用所述第二节点的公钥对原始随机数进行加密,得到所述第一中间数据对应的加密随机数;

根据所述第一中间数据和所述第一中间数据对应的加密随机数,生成所述第一待处理数据的第一加密数据。

作为一种可选的实施方式,处理器1101根据所述第一签名数据,计算所述第一签名数据对应的第一求交数据的具体实施方式为:

根据所述第一中间数据关联的原始随机数和所述第一签名数据,计算原始签名数据,所述原始签名数据与采用所述第二节点的私钥对所述第一中间数据进行签名得到的数据相匹配;

采用第二映射规则对所述原始签名数据进行映射,得到所述第一签名数据对应的第一求交数据。

作为一种可选的实施方式,处理器1101通过通信接口1102获取第一求交集合的具体实施例为:

基于加密算法通过第一节点的公钥对第二中间数据进行加密处理,得到第三加密数据,所述第二中间数据是根据第三映射规则对第一待处理数据进行映射处理后得到的;

将第三加密数据发送给第二节点;

通过通信接口1102接收第二节点返回的第一求交数据,以便于得到包括第一求交数据的第一求交集合;所述第一求交数据是基于加密算法通过第二节点的公钥对第三加密数据进行加密后得到的;

处理器1101通过通信接口1102获取第二求交集合的具体实施例为:

通过通信接口1102接收第二节点的第四加密数据,所述第四加密数据是基于加密算法通过第二节点的公钥对第三中间数据进行加密后得到,所述第三中间数据是通过第三映射规则对第二节点的第二待处理数据进行映射后得到的;

通过第一节点的公钥对所述第四加密数据进行加密,得到第二求交数据;以便于得到包括第二求交数据的第二求交集合;

其中,所述加密算法为可交换加密算法。

作为一种可选的实施方式,处理器1101通过通信接口1102获取第一求交集合的具体实施例为:

将按照第四映射规则对第一节点记录的第一待处理数据进行映射计算后得到第一求交数据;

处理器1101通过通信接口1102获取第二求交集合的具体实施例为:

对第一节点的多个第一待处理数据分别按照第四映射规则进行映射计算,并根据映射计算结果得到关于各第一待处理数据的不经意多项式,所述不经意多项式以所述映射计算结果为根;

通过第一节点的公钥对所述不经意多项式进行系数加密处理,得到系数加密多项式;

通过通信接口1102获取中间交集集合,所述中间交集集合包括:多个结果值,所述中间交集集合中的一个结果值与第二节点的一个待处理数据对应,所述结果值是指:将按照第四映射规则对第二节点的第二待处理数据进行映射计算后得到的第四中间数据代入所述系数加密多项式进行计算得到中间值后,再利用同态运算规则对中间值进行同态计算后得到的值;

通过第一节点的私钥对所述中间交集集合中的结果值进行解密,得到第二求交数据。

作为一种可选的实施方式,利用同态运算规则对中间值进行同态计算包括:将中间值与一个随机数进行同态数乘之后,再和该中间值对应的第四中间数据进行同态加法计算。

基于同一发明构思,本申请实施例中提供的智能设备解决问题的原理与有益效果与本申请方法实施例中数据处理方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有一条或多条指令,所述一条或多条指令适于由处理器加载并执行上述方法实施例所述的数据处理方法。

本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例所述的数据处理方法。

本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据处理的方法。

本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,可读存储介质可以包括:闪存盘、只读存储器(Read-Only Memory ,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。

以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于发明所涵盖的范围。

相关技术
  • 一种数据处理方法、装置、计算机设备和计算机可读存储介质
  • 数据处理方法、装置、计算机设备和计算机可读存储介质
技术分类

06120112985889