匿踪联邦建模中的样本对齐方法、装置、介质及电子设备与流程

未命名 09-07 阅读:143 评论:0


1.本公开的实施方式涉及隐私计算技术领域,更具体地,本公开的实施方式涉及一种匿踪联邦建模中的样本对齐方法、匿踪联邦建模中的样本对齐装置、计算机可读存储介质及电子设备。


背景技术:

2.本部分旨在为权利要求中陈述的本公开的实施方式提供背景或上下文,此处的描述不因为包括在本部分中就承认是现有技术。
3.相对于传统的机器学习算法训练,纵向联邦学习的样本分属于不同的参与方,各参与方的样本的覆盖范围各有差异,所以在进行联邦模型训练的第一步就是要进行跨域的样本对齐(即安全求交)。目前,常用的安全求交方法包括基于rsa、基于ecdh、基于kkrt等不同的方法,然而,这些方法都有一个共同的特点—只保护交集之外的样本不被泄漏,交集之内的用户标识(即用户id)必须在所有参与方之间共享,否则就无法进行后续的联邦训练。由于存在交集信息的共享过程,可能会导致交集数据泄露,无法确保参与方的数据安全。


技术实现要素:

4.本公开提供一种匿踪联邦建模中的样本对齐方法、匿踪联邦建模中的样本对齐装置、计算机可读存储介质及电子设备,能够在保证样本对齐的情况下,又不泄漏交集数据的信息,有利于提高各参与方的数据安全。
5.根据本公开的第一方面,提供一种匿踪联邦建模中的样本对齐方法,应用于第一参与方,所述方法包括:获取第一参与方原始数据矩阵;所述原始数据矩阵包括标识矩阵和特征矩阵;对第一参与方标识矩阵和第二参与方标识矩阵进行乱序加密处理,并对乱序加密处理后的所述第一参与方标识矩阵和所述第二参与方标识矩阵求交,得到交集索引;对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片;根据所述交集索引从所述第一参与方特征矩阵的碎片和所述第二参与方特征矩阵的碎片中确定交集碎片。
6.在一种实施方式中,所述对第一参与方标识矩阵和第二参与方标识矩阵进行乱序加密处理,并对乱序加密处理后的所述第一参与方标识矩阵和所述第二参与方标识矩阵求交,得到交集索引,包括:对所述第一参与方标识矩阵进行第一次乱序加密,并将第一次乱序加密后的所述第一参与方标识矩阵发送至第二参与方;接收第二参与方发送的第一次乱序加密后的所述第二参与方标识矩阵;对第一次加密后的所述第二参与方标识矩阵进行第二次乱序加密,并将第二次乱序加密后的所述第二参与方标识矩阵发送至所述第二参与方;接收所述第二参与方发送的第二次乱序加密后的所述第一参与方标识矩阵,并对第二次乱序加密后的所述第一参与方标识矩阵和第二次乱序加密后的所述第二参与方标识矩阵求交,得到所述交集索引。
7.在一种实施方式中,所述对所述第一参与方标识矩阵进行第一次乱序加密,并将
第一次乱序加密后的所述第一参与方标识矩阵发送至第二参与方,包括:对所述第一参与方原始数据矩阵按行进行第一次随机重排;从第一次随机重排后的所述第一参与方原始数据矩阵中抽取所述第一参与方标识矩阵;对所述第一参与方标识矩阵进行第一次可交换加密,并将第一次可交换加密后的所述第一参与方标识矩阵发送至所述第二参与方。
8.在一种实施方式中,所述对第一次加密后的所述第二参与方标识矩阵进行第二次乱序加密,并将第二次乱序加密后的所述第二参与方标识矩阵发送至所述第二参与方,包括:对第一次可交换加密后的所述第二参与方标识矩阵按行进行第二次随机重排;对第二次随机重排后的所述第二参与方标识矩阵进行第二次可交换加密,并将第二次可交换加密后的所述第二参与方标识矩阵发送至所述第二参与方。
9.在一种实施方式中,所述对乱序加密处理后的所述第一参与方标识矩阵和所述第二参与方标识矩阵求交,得到交集索引,包括:对第二次可交换加密后的所述第一参与方标识矩阵和第二次可交换加密后的所述第二参与方标识矩阵进行求交,得到第二次加密后的所述第一参与方标识矩阵和第二次加密后的所述第二参与方标识矩阵的交集索引。
10.在一种实施方式中,所述对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片,包括:对第一参与方特征矩阵和第二次随机重排后的第一参与方标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵在第一参与方的碎片;对第二次随机重排后的第二参与方标识矩阵中标识的索引序列和第二参与方特征矩阵进行特征重排和碎片化处理,得到第一参与方特征矩阵在第二参与方的碎片。
11.在一种实施方式中,所述对第一参与方特征矩阵和第二次随机重排后的第一参与方标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵在第一参与方的碎片,包括:接收第二参与方发送的一次随机重排索引序列;所述一次随机重排索引序列是以第二次随机重排后的第一参与方原始数据矩阵的标识矩阵中标识的索引序列对预先生成的随机重排索引序列进行重排得到的;接收预先生成的第一参与方第一随机碎片,并以所述一次随机重排索引序列对所述第一参与方第一随机碎片进行重排,得到所述第一参与方特征矩阵在第一参与方的碎片。
12.在一种实施方式中,所述对第二次随机重排后的第二参与方标识矩阵中标识的索引序列和第二参与方特征矩阵进行特征重排和碎片化处理,得到第一参与方特征矩阵在第二参与方的碎片,包括:以第二次随机重排后的第二参与方标识矩阵中标识的索引序列对预先生成的随机重排索引序列进行重排,得到一次随机重排索引序列,并将所述一次随机重排索引序列发送至所述第二参与方;确定第二参与方特征矩阵的第一加性秘密分享矩阵与预先生成的第二参与方第一随机碎片之间的差值,得到第一参与方差值矩阵;接收第二参与方差值矩阵;所述第二参与方差值矩阵是根据第二参与方特征矩阵的第二加性秘密分享矩阵和预先生成的第一参与方第二随机碎片得到的;根据所述第一参与方差值矩阵、所述第二参与方差值矩阵、预先生成的第二参与方第一随机碎片和所述一次随机重排索引序列,确定所述第一参与方特征矩阵在第二参与方的碎片。
13.在一种实施方式中,所述根据所述第一参与方差值矩阵、所述第二参与方差值矩阵、预先生成的第二参与方第一随机碎片和所述一次随机重排索引序列,确定所述第一参与方特征矩阵在第二参与方的碎片,包括:对所述第一参与方差值矩阵和所述第二参与方
差值矩阵求和,得到和矩阵;以第二次随机重排后的第二参与方标识矩阵中标识的索引序列对所述和矩阵进行重排,得到第一变换矩阵;以所述一次随机重排索引序列对所述第二参与方第一随机碎片进行重排,得到第二变换矩阵;将所述第一变换矩阵与所述第二变换矩阵之和,作为所述第一参与方特征矩阵在第二参与方的碎片。
14.在一种实施方式中,所述根据所述交集索引从所述第一参与方特征矩阵的碎片和所述第二参与方特征矩阵的碎片中确定交集碎片,包括:根据所述交集索引对所述第一参与方特征矩阵在第一参与方的碎片和所述第一参与方特征矩阵在第二参与方的碎片进行查询,并对查询结果进行拼接,得到所述交集碎片。
15.根据本公开的第二方面,提供一种匿踪联邦建模中的样本对齐装置,所述装置包括:数据获取模块,被配置为第一参与方原始数据矩阵;所述原始数据矩阵包括标识矩阵和特征矩阵;第一数据处理模块,被配置为对第一参与方标识矩阵和第二参与方标识矩阵进行乱序加密处理,并对乱序加密处理后的所述第一参与方标识矩阵和所述第二参与方标识矩阵求交,得到交集索引;第二数据处理模块,被配置为对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片;第三数据处理模块,被配置为根据所述交集索引从所述第一参与方特征矩阵的碎片和所述第二参与方特征矩阵的碎片中确定交集碎片。
16.根据本公开实施方式的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种方法。
17.根据本公开实施方式的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种方法。
18.根据本公开实施方式的匿踪联邦建模中的样本对齐方法、装置、存储介质及电子设备,通过对第一参与方标识矩阵和第二参与方标识矩阵进行两次乱序加密,再对两次乱序加密后的第一参与方标识矩阵和第二参与方标识矩阵求交,得到两次乱序加密后的第一参与方标识矩阵和第二参与方标识矩阵的交集索引,再对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片;再根据交集索引从第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片中确定交集碎片。如此,参与方无法知晓真正的交集信息(交集id和交集特征)可以在保证交集以外的信息不被泄漏的同时,对交集信息也起到保护作用,有利于提高参与方的数据安全。
附图说明
19.图1示出本公开实施方式中一种安全求交流程架构示意图;
20.图2示出本公开实施方式中一种匿踪联邦建模中的样本对齐方法的流程图;
21.图3示出本公开实施方式中一种匿踪联邦建模中的样本对齐方法的子流程图;
22.图4示出本公开实施方式中一种匿踪联邦建模中的样本对齐方法的子流程图;
23.图5示出本公开实施方式中一种匿踪联邦建模中的样本对齐方法的子流程图;
24.图6示出本公开实施方式中一种匿踪联邦建模中的样本对齐方法的子流程图;
25.图7示出本公开实施方式中一种匿踪联邦建模中的样本对齐方法的子流程图;
26.图8示出本公开实施方式中一种匿踪联邦建模中的样本对齐方法的子流程图;
27.图9示出本公开实施方式中一种匿踪联邦建模中的样本对齐方法的子流程图;
28.图10示出本公开实施方式中一种匿踪联邦建模中的样本对齐装置的结构示意图;
29.图11示出本公开实施方式中一种电子设备的结构示意图。
30.在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
31.下文将结合附图更全面地描述本公开的示例性实施方式。
32.附图为本公开的示意性图解,并非一定是按比例绘制。附图中所示的一些方框图可能是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在硬件模块或集成电路中实现这些功能实体,或在网络、处理器或微控制器中实现这些功能实体。实施方式能够以多种形式实施,不应被理解为限于在此阐述的范例。本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或多个实施方式中。在下文的描述中,提供许多具体细节从而给出对本公开实施方式的充分说明。然而,本领域技术人员应意识到,可以在实现本公开的技术方案时省略其中的一个或多个特定细节,或者可以采用其它的方法、组元、装置、步骤等替代一个或多个特定细节。
33.下面对本文中出现的名词术语进行解释:
34.安全求交:是一种用于计算两个集合的交集的算法。该算法基于哈希表的思想,利用哈希表将一个集合中的所有元素映射到不同的桶中。然后,遍历第二个集合中的每个元素,并在哈希表中查找该元素是否存在于第一个集合中。如果存在,该元素被添加到结果集合中。
35.可交换加密:如果一个加密算法满足e
k1
(e
k2
(m))=e
k2
(e
k1
(m)),那么,该加密算法是可交换加密算法。常用的可交换加密算法有sra和pohlig-hellman exponential cipher。
36.下面,以两个参与方进行隐私集合求交为例对本方案加以说明。
37.图1示出了系统架构的示意图,该系统架构100可以包括第一参与方110与第二参与方120。其中,第一参与方110和第二参与方120可以泛指提供安全求交服务的后台系统(如安全求交服务系统),第一参与方110和第二参与方120可以获取各自的原始数据矩阵,并对各自的原始数据矩阵进行乱序加密处理,再对乱序加密处理后的第一参与方标识矩阵和第二参与方标识矩阵求交,得到乱序加密处理后的第一参与方标识矩阵和第二参与方标识矩阵交集索引,再对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片,再根据交集索引从第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片中确定交集碎片。第一参与方110和第二参与方120之间可以通过有线或无线的通信链路形成连接,以进行数据交互。
38.下面结合图2对本示例性实施方式中的匿踪联邦建模中的样本对齐方法进行说明,图2示出了该匿踪联邦建模中的样本对齐方法的示例性流程,应用于第一参与方,可以包括以下步骤s210至s240:
39.步骤s210、获取第一参与方原始数据矩阵;原始数据矩阵包括标识矩阵和特征矩
阵;
40.步骤s220、对第一参与方标识矩阵和第二参与方标识矩阵进行乱序加密处理,并对乱序加密处理后的第一参与方标识矩阵和第二参与方标识矩阵求交,得到交集索引;
41.步骤s230、对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片;
42.步骤s240、根据交集索引从第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片中确定交集碎片。
43.在上述匿踪联邦建模中的样本对齐方法中,通过对第一参与方标识矩阵和第二参与方标识矩阵进行两次乱序加密,再对两次乱序加密后的第一参与方标识矩阵和第二参与方标识矩阵求交,得到两次乱序加密后的第一参与方标识矩阵和第二参与方标识矩阵的交集索引,再对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片;再根据交集索引从第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片中确定交集碎片。如此,参与方无法知晓真正的交集信息(交集id和交集特征)可以在保证交集以外的信息不被泄漏的同时,对交集信息也起到保护作用,有利于提高参与方的数据安全。
44.下面对图2中的每个步骤进行具体说明。
45.参考图2,步骤s210中,获取第一参与方原始数据矩阵。
46.其中,原始数据矩阵包括标识矩阵和特征矩阵。
47.其中,原始数据矩阵包括至少一组样本数据,样本数据包括用于标识第一参与方中每个对象的唯一标识矩阵,和与唯一标识矩阵对应的特征矩阵。
48.在实际应用中,参与方可以为两个,即,第一参与方和与第一参与方对应的第二参与方;这里,第一参与方也可以理解为发送端,对应的,第二参与方可以理解为接收方。
49.继续参考图2,步骤s220中,对第一参与方标识矩阵和第二参与方标识矩阵进行乱序加密处理,并对乱序加密处理后的第一参与方标识矩阵和第二参与方标识矩阵求交,得到交集索引。
50.其中,乱序加密包括乱序和加密两个步骤;这里,乱序可以理解为重排;第一参与方对第一参与方标识矩阵和第二参与方标识矩阵进行乱序加密处理,可以是第一参与方对第一参与方标识矩阵进行第一次乱序加密处理,再对第二参与方发送的在第二参与方进行过第一次乱序加密后的第二参与方标识矩阵进行第二次乱序加密处理;这里,第二参与方的操作与第一参与方的操作对称。
51.具体的,参考图3,上述步骤s220可以进一步包括以下步骤s310至s340:
52.步骤s310、对第一端标识矩阵进行第一次乱序加密,并将第一次乱序加密后的第一参与方标识矩阵发送至第二参与方。
53.其中,加密可以采用rsa、ecdh、kkrt中的任意一种加密算法,此处不做限定。
54.为了同时保护交集以外的信息和交集信息,并减少计算量,本步骤中的加密可以是先针对原始数据矩阵中的标识矩阵;标识矩阵的字段可以理解为主键,比如:id、身份证、手机号等,此处不做限定。
55.在一种实施方式中,参考图4,上述步骤s310可以进一步包括以下步骤s410至s430:
56.步骤s410、对第一参与方原始数据矩阵按行进行第一次随机重排。
57.其中,随机重排可以通过生成随机重排索引序列实现。具体的,可以先生成随机重排索引序列,再以随机重排索引序列对第一参与方原始数据矩阵按行进行重排,即可得到按行随机重排后的第一参与方原始数据矩阵。
58.步骤s420、从第一次随机重排后的第一参与方原始数据矩阵中抽取第一参与方标识矩阵。
59.其中,第一参与方标识矩阵是第一参与方原始数据矩阵中的id列,比如:第一参与方原始数据矩阵与第二参与方原始数据矩阵均有身份证列,那么,身份证列则为第一参与方标识矩阵;再比如,第一参与方原始数据矩阵与第二参与方原始数据矩阵均有手机号列,则手机号列为第一参与方标识矩阵。
60.步骤s430、对第一参与方标识矩阵进行第一次可交换加密,并将第一次可交换加密后的第一参与方标识矩阵发送至第二参与方。
61.举例而言,第一参与方原始数据矩阵为d1,第一参与方生成的密钥为k1,第一参与方标识矩阵为[id],随机重排索引序列为p1,那么,以随机重排索引序列为p1对第一参与方原始数据矩阵进行重排后得到的随机重排后的第一参与方原始数据矩阵为p1,d1[p1],对随机重排后的第一参与方原始数据矩阵中的第一参与方标识矩阵进行可交换加密,则得到第一次可交换加密后的第一参与方标识矩阵为e
k1
(d1[p1][id])。
[0062]
为了提高原始数据矩阵的安全性,本公开可以使用可交换加密算法,如此,由于参与方(第一参与方和第二参与方)均加密了数据,且参与方均无法对交集数据进行解密,因此,无法从对齐结果中推导出对齐id。
[0063]
步骤s320、接收第二参与方发送的第一次乱序加密后的第二参与方标识矩阵。
[0064]
其中,第二参与方与第一参与方的操作对称。在第一参与方获取第一参与方原始数据矩阵时,第二参与方获取第二参与方原始数据矩阵;在第一参与方对第一参与方原始数据矩阵按行进行第一次随机重排时,第二参与方对第二参与方原始数据矩阵按行进行第一次随机重排;在第一参与方从第一次随机重排后的第一参与方原始数据矩阵中抽取第一参与方标识矩阵时,第二参与方从第一次随机重排后的第二参与方原始数据矩阵中抽取第二参与方标识矩阵;在第一参与方对第一参与方标识矩阵进行第一次可交换加密,并将第一次可交换加密后的第一参与方标识矩阵发给第二参与方时,第二参与方也对第二参与方标识矩阵进行第一次可交换加密,并将第一次可交换加密后的第二参与方标识矩阵发给第一参与方。
[0065]
举例而言,第二参与方原始数据矩阵为d2,第二参与方生成的密钥为k2,第二参与方标识矩阵为[id],随机重排索引序列为p2,那么,以随机重排索引序列p2对第二参与方原始数据矩阵进行重排可表示为p2,d2[p2],对随机重排后的第二参与方原始数据矩阵中的第二参与方标识矩阵进行可交换加密,则得到第一次可交换加密后的第二参与方标识矩阵为e
k2
(d2[p2][id]);即,第一参与方接收到的第二参与方发送的第一次可交换加密后的第二参与方标识矩阵为e
k2
(d2[p2][id])。
[0066]
步骤s330、对第一次加密后的第二参与方标识矩阵进行第二次乱序加密,并将第二次乱序加密后的第二参与方标识矩阵发送至第二参与方。
[0067]
其中,加密可以采用rsa、ecdh、kkrt中的任意一种加密算法,此处不做限定。
[0068]
为了进一步保护交集以外的信息和交集信息,并减少计算量,本步骤中的加密可以是对第二参与方原始数据矩阵中的标识矩阵进行第二次加密;第二参与方的标识矩阵的字段可以理解为主键,比如:id、身份证、手机号等,此处不做限定。
[0069]
在一种实施方式中,参考图5,上述步骤s330可以进一步包括以下步骤s510和s520:
[0070]
步骤s510、对第一次可交换加密后的第二参与方标识矩阵按行进行第二次随机重排。
[0071]
其中,随机重排可以通过随机生成随机重排索引序列实现。具体的,可以先生成随机重排索引序列,再以随机重排索引序列对第一次可交换加密后的第二参与方标识矩阵按行进行重排,即可得到按行第二次随机重排后的第一次可交换加密后的第二参与方标识矩阵。
[0072]
举例而言,第一次可交换加密后的第二参与方标识矩阵为e
k2
(d2[p2][id]),随机重排索引序列为p3,那么,本步骤可表示为:p3,e
k2
(d2[p2][id])[p3],即,本步骤得到的第二次随机重排后的第二参与方标识矩阵为e
k2
(d2[p2][id])[p3]。
[0073]
步骤s520、对第二次随机重排后的第二参与方标识矩阵进行第二次可交换加密,并将第二次可交换加密后的第二参与方标识矩阵发送至第二参与方。
[0074]
举例而言,第二次随机重排后的第二参与方标识矩阵为e
k2
(d2[p2][id])[p3],第一参与方生成的密钥为k1,那么,本步骤得到的第二次可交换加密后的第二参与方标识矩阵为e
k1
(e
k2
(d2[p2][id])[p3])。
[0075]
步骤s340、接收第二参与方发送的第二次乱序加密后的第一参与方标识矩阵,并对第二次乱序加密后的第一参与方标识矩阵和第二次乱序加密后的第二参与方标识矩阵求交,得到交集索引。
[0076]
其中,第二参与方与第一参与方的操作相同。第一参与方对第一次可交换加密后的第二参与方标识矩阵按行进行第二次随机重排,并对第二次随机重排后的第二参与方标识矩阵进行第二次可交换加密,再将第二次可交换加密后的第二参与方标识矩阵发送至第二参与方;第二参与方也对第一次可交换加密后的第一参与方标识矩阵按行进行第二次随机重排,并对第二次随机重排后的第一参与方标识矩阵进行第二次可交换加密,再将第二次可交换加密后的第一参与方标识矩阵发送至第一参与方。
[0077]
举例而言,第一次可交换加密后的第一参与方标识矩阵为e
k1
(d1[p1][id]),随机重排索引序列为p4,第二参与方生成的密钥为k2,那么,本步骤接收到的第二次可交换加密后的第一参与方标识矩阵为e
k2
(e
k1
(d1[p1][id])[p4])。
[0078]
由于对标识矩阵进行了加密,因此,最终得到的是第二次加密后的第一参与方标识矩阵和第二次加密后的第二参与方标识矩阵的交集索引,具体的,上述步骤s340中的“对第二次乱序加密后的第一参与方标识矩阵和第二次乱序加密后的第二参与方标识矩阵求交,得到交集索引”可以包括以下步骤:
[0079]
对第二次可交换加密后的第一参与方标识矩阵和第二次可交换加密后的第二参与方标识矩阵进行求交,得到第二次加密后的第一参与方标识矩阵和第二次加密后的第二参与方标识矩阵的交集索引。
[0080]
举例而言,第一参与方接收的第二参与方发送的第二次加密后的第一参与方标识
矩阵为e
k2
(e
k1
(d1[p1][id])[p4]),第一参与方对第二参与方标识矩阵进行第二次可交换加密后得到的矩阵为e
k1
(e
k2
(d2[p2][id])[p3]),那么,本步骤得到的第一参与方标识矩阵和第二参与方标识矩阵的交集索引为e
k2
(e
k1
(d1[p1][id])[p4])|e
k1
(e
k2
(d2[p2][id])[p3])。
[0081]
同理,第二参与方接收的第一参与方发送的第二次加密后的第二参与方标识矩阵为e
k1
(e
k2
(d2[p2][id])[p3]),第二参与方对第一参与方标识矩阵进行第二次可交换加密后得到的矩阵为e
k2
(e
k1
(d1[p1][id])[p4]),因此,在第二参与方得到的第一参与方标识矩阵和第二参与方标识矩阵的交集索引也为e
k2
(e
k1
(d1[p1][id])[p4])|e
k1
(e
k2
(d2[p2][id])[p3])。
[0082]
继续参考图2,步骤s230中,对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片。
[0083]
其中,特征矩阵包括第一参与方特征矩阵和第二参与方特征矩阵;标识矩阵中标识的索引序列为第二次随机重排后的标识矩阵中标识的索引序列,包括第二次随机重排后的第一参与方标识矩阵中标识的索引序列和第二次随机重排后的第二参与方标识矩阵中标识的索引序列。
[0084]
当特征矩阵为第一参与方特征矩阵时,标识矩阵中标识的索引序列为第二次随机重排后的第一参与方标识矩阵中标识的索引序列;当特征矩阵为第二参与方特征矩阵时,标识矩阵中标识的索引序列为第二次随机重排后的第二参与方标识矩阵中标识的索引序列。
[0085]
具体的,参考图6,上述步骤s230可以进一步包括以下步骤s610和s620:
[0086]
步骤s610、对第一参与方特征矩阵和第二次随机重排后的第一参与方标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵在第一参与方的碎片。
[0087]
其中,特征重排和碎片化处理可以通过“特征重排-秘密分享”完成,具体的,参考图7,上述步骤s610可以进一步包括以下步骤s710和s720:
[0088]
步骤s710、接收第二参与方发送的一次随机重排索引序列。
[0089]
其中,一次随机重排索引序列是以第二次随机重排后的第一参与方原始数据矩阵的标识矩阵中标识的索引序列对预先生成的随机重排索引序列进行重排得到的。
[0090]
举例而言,第二次随机重排后的第一参与方标识矩阵中标识的索引序列为[p4],预先生成的随机重排索引序列为[p5],那么,本步骤得到的一次随机重排索引序列可以表示为:p6=p5[p4]。这里,随机重排索引序列为[p5]可以通过引入半可信第三方生成。
[0091]
步骤s720、接收预先生成的第一参与方第一随机碎片,并以一次随机重排索引序列对第一参与方第一随机碎片进行重排,得到第一参与方特征矩阵在第一参与方的碎片。
[0092]
其中,第一参与方第一随机碎片可以通过引入半可信第三方生成随机矩阵得到;具体的,半可信第三方可以先生成随机矩阵x

,然后以随机生成的随机重排索引序列p5对随机矩阵x

进行重排,得到矩阵x=x

[p5],再对x,x

按照加性秘密分享碎片化为《x》1,《x》2,《x

》1,《x

》2,最后,将《x》1,《x

》1发送给第一参与方,将p5,《x》2,《x

》2发送给第二参与方。这里,第一参与方第一随机碎片可以是上述《x

》1。
[0093]
第一参与方特征矩阵在第一参与方的碎片可以表示为《f

》1=《x

》1[p6]。
[0094]
需要说明的是,第二次随机重排后的第一参与方标识矩阵中标识的索引序列是由第二参与方输入的,因此,第一参与方在进行上述步骤s610(步骤s710和s720)时,第二参与方配合第一参与方进行与下述步骤s620(步骤s810至s840)对称的步骤,进而,得到第二参与方特征矩阵在第一参与方的碎片《f

》2=y

+z;其中,z=《x

》2[p6],y

=y[p4],y=《y》1+《y》2,《y》1=《f》
1-《x》1,《y》2=《f》
2-《x》2;其中,[p4]是上述第二次随机重排后的第一参与方标识矩阵中标识的索引序列;《f》1和《f》2分别是对上述第一参与方特征矩阵进行加性秘密分享得到的第三加性秘密分享矩阵和第四加性秘密分享矩阵;《x》1和《x》2分别是上述半可信第三方生成的随机碎片。
[0095]
步骤s620、对第二次随机重排后的第二参与方标识矩阵中标识的索引序列和第二参与方特征矩阵进行特征重排和碎片化处理,得到第一参与方特征矩阵在第二参与方的碎片。
[0096]
其中,特征重排和碎片化处理可以通过“特征重排-秘密分享”完成,具体的,参考图8,上述步骤s620可以进一步包括以下步骤s810至s840:
[0097]
步骤s810、以第二次随机重排后的第二参与方标识矩阵中标识的索引序列对预先生成的随机重排索引序列进行重排,得到一次随机重排索引序列,并将一次随机重排索引序列发送至第二参与方。
[0098]
其中,随机重排索引序列可以通过引入半可信第三方生成,比如:第二次随机重排后的第二参与方标识矩阵中标识的索引序列为[p3],预先生成的随机重排索引序列为[p7],那么,本步骤得到的二次随机重排索引序列可以表示为:p8=p7[p3]。这里,随机重排索引序列为[p7]可以通过引入半可信第三方生成。
[0099]
步骤s820、确定第二参与方特征矩阵的第一加性秘密分享矩阵与预先生成的第二参与方第一随机碎片之间的差值,得到第一参与方差值矩阵。
[0100]
其中,第一加性秘密分享矩阵可以通过对第二参与方特征矩阵进行加性秘密分享得到,比如:第二参与方特征矩阵为d2[p2][feature],对第二参与方特征矩阵进行加性秘密分享得到第一加性秘密分享矩阵《d2[p2][feature]》1和第二加性秘密分享矩阵《d2[p2][feature]》2,进一步的,第一参与方可以将《d2[p2][feature]》2发送至第二参与方,以便后续使用。
[0101]
第二参与方第一随机碎片可以通过引入半可信第三方生成随机矩阵得到;具体的,半可信第三方可以先生成随机矩阵x0′
,然后以随机生成的随机重排索引序列p7对随机矩阵x0′
进行重排,得到矩阵x0=x0′
[p7],再对x0,x0′
按照加性秘密分享碎片化为《x0》3,《x0》4,《x0′
》3,《x0′
》4,最后,将《x0》3,《x0′
》3发送给第一参与方,将p7,《x0》4,《x0′
》4发送给第二参与方。这里,第二参与方第一随机碎片可以是上述《x0》3。
[0102]
第一参与方差值矩阵可以表示为《y0》1=《d2[p2][feature]》
2-《x0》3。
[0103]
步骤s830、接收第二参与方差值矩阵。
[0104]
其中,第二参与方差值矩阵是根据第二参与方特征矩阵的第二加性秘密分享矩阵和预先生成的第一参与方第二随机碎片得到的。
[0105]
第二参与方与第一参与方的操作相同。第一参与方确定第二参与方特征矩阵的第一加性秘密分享矩阵与预先生成的第二参与方第一随机碎片之间的差值,得到第一参与方差值矩阵;第二参与方也确定第二参与方特征矩阵的第二加性秘密分享矩阵和预先生成的
第一参与方第二随机碎片之间的差值,得到第二参与方差值矩阵。
[0106]
第二加性秘密分享矩阵可以通过对第二参与方特征矩阵进行加性秘密分享得到,比如:第二参与方特征矩阵为d2[p2][feature],对第二参与方特征矩阵进行加性秘密分享得到第一加性秘密分享矩阵《d2[p2][feature]》1和第二加性秘密分享矩阵《d2[p2][feature]》2,进一步的,第一参与方可以将《d2[p2][feature]》2发送至第二参与方,以便后续使用。
[0107]
第一参与方第二随机碎片可以通过引入半可信第三方生成随机矩阵得到;具体的,半可信第三方可以先生成随机矩阵x0′
,然后以随机生成的随机重排索引序列p7对随机矩阵x0′
进行重排,得到矩阵x0=x0′
[p7],再对x0,x0′
按照加性秘密分享碎片化为《x0》3,《x0》4,《x0′
》3,《x0′
》4,最后,将《x0》3,《x0′
》3发送给第一参与方,将p7,《x0》4,《x0′
》4发送给第二参与方。这里,第一参与方第二随机碎片可以是上述《x0》4。
[0108]
第二参与方差值矩阵可以表示为《y0》2=《d2[p2][feature]》
1-《x0》4。
[0109]
步骤s840、根据第一参与方差值矩阵、第二参与方差值矩阵、预先生成的第二参与方第一随机碎片和一次随机重排索引序列,确定第一参与方特征矩阵在第二参与方的碎片。
[0110]
其中,第一参与方特征矩阵在第二参与方的碎片是对第二参与方差值矩阵、第一参与方差值矩阵、预先生成的第二参与方特征矩阵在第一参与方的碎片和一次随机重排索引序列进行四则运算得到的;具体的,参考图9,上述步骤s840可以进一步包括以下步骤s910至s940:
[0111]
步骤s910、对第一参与方差值矩阵和第二参与方差值矩阵求和,得到和矩阵。
[0112]
接上面例子举例而言,本步骤可以表示为y0=《y0》1+《y0》2。
[0113]
步骤s920、以第二次随机重排后的第二参与方标识矩阵中标识的索引序列对和矩阵进行重排,得到第一变换矩阵。
[0114]
举例而言,第二次随机重排后的第二参与方标识矩阵中标识的索引序列为[p4],和矩阵为y0=《y0》1+《y0》2,那么,第一变换矩阵可以表示为y0′
=y0[p4]。
[0115]
步骤s930、以一次随机重排索引序列对第二参与方第一随机碎片进行重排,得到第二变换矩阵。
[0116]
第二参与方第一随机碎片可以通过引入半可信第三方生成随机矩阵得到;具体的,半可信第三方可以先生成随机矩阵x0′
,然后以随机生成的随机重排索引序列p7对随机矩阵x0′
进行重排,得到矩阵x0=x0′
[p7],再对x0,x0′
按照加性秘密分享碎片化为《x0》3,《x0》4,《x0′
》3,《x0′
》4,最后,将《x0》3,《x0′
》3发送给第一参与方,将p
11
,《x0》4,《x0′
》4发送给第二参与方。这里,第二参与方第一随机碎片可以是上述《x0′
》4。
[0117]
接上面例子举例而言,二次随机重排索引序列为[p8],第二参与方第二随机碎片为《x0′
》4,那么,第二变换矩阵可以表示为z0=《x0′
》4[p8]。
[0118]
步骤s940、将第一变换矩阵与第二变换矩阵之和,作为第一参与方特征矩阵在第二参与方的碎片。
[0119]
接上面例子举例而言,第一参与方特征矩阵在第二参与方的碎片为《f0′
》1=y0′
+z0。
[0120]
在实际应用中,第一参与方(本端)的输入为特征矩阵时,第二参与方(对端)的输
入为第二次随机重排后的第二参与方标识矩阵中标识的索引序列;第一参与方碎片化结果与第二参与方碎片化结果,即为以第二参与方第二次随机重排后的第二参与方标识矩阵中标识的索引序列对第一参与方特征矩阵进行碎片化的结果。
[0121]
需要说明的是,第二参与方特征矩阵是由第二参与方输入的,因此,第一参与方在进行上述步骤s620(步骤s810至s840)时,第二参与方配合第一参与方进行与上述步骤s610(步骤s710和s720)对称的步骤,进而,得到第二参与方特征矩阵在第二参与方的碎片《f0′
》2=《x0′
》3[p8]。
[0122]
继续参考图2,步骤s240中,根据交集索引从第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片中确定交集碎片。
[0123]
其中,对第一参与方特征矩阵和第二次随机重排后的第一参与方标识矩阵中标识的索引序列进行特征重排和碎片化处理,在第一参与方输出第一参与方特征矩阵在第一参与方的碎片,在第二参与方输出第二参与方特征矩阵在第一参与方的碎片。
[0124]
对第二次随机重排后的第二参与方标识矩阵中标识的索引序列和第二参与方特征矩阵进行特征重排和碎片化处理,在第一参与方输出第一参与方特征矩阵在第二参与方的碎片,在第二参与方输出第二参与方特征矩阵在第二参与方的碎片。
[0125]
本公开不拼接第一参与方特征矩阵在第一参与方的碎片和第二参与方特征矩阵在第一参与方的碎片,也不拼接第一参与方特征矩阵在第二参与方的碎片和第二参与方特征矩阵在第二参与方的碎片;而是拼接第一参与方特征矩阵在第一参与方的碎片和第一参与方特征矩阵在第二参与方的碎片,或者拼接第二参与方特征矩阵在第一参与方的碎片和第二参与方特征矩阵在第二参与方的碎片;因此,得不到特征矩阵的交集,而是特征矩阵的交集碎片;进而,参与方无法知晓真正的特征矩阵的交集,达到了保护隐私的目的。
[0126]
具体的,上述步骤s240可以进一步包括以下步骤:
[0127]
根据交集索引对所述第一参与方特征矩阵在第一参与方的碎片和第一参与方特征矩阵在第二参与方的碎片进行查询,并对查询结果进行拼接,得到交集碎片。
[0128]
举例而言,[ind1]为交集元素在第一参与方标识矩阵中的索引,[ind2]为交集元素在第二参与方标识矩阵中的索引,第一参与方特征重排-秘密分享的结果为《d1[p1][feature][p4]》1和《d2[p2][feature][p3]》1,第二参与方特征重排-秘密分享的结果为《d1[p1][feature][p4]》2和《d2[p2][feature][p3]》2,那么,本步骤取对齐特征并拼接可以表示为[《d1[p1][feature][p4]》1[ind1],《d2[p2][feature][p3]》1[ind2]]。
[0129]
在介绍了本公开示例性匿踪联邦建模中的样本对齐方法之后,接下来,参考图10对本公开示例性实施方式的匿踪联邦建模中的样本对齐装置进行说明。
[0130]
参考图10所示,匿踪联邦建模中的样本对齐装置1000,包括:
[0131]
数据获取模块1010,被配置为第一参与方原始数据矩阵;原始数据矩阵包括标识矩阵和特征矩阵;
[0132]
第一数据处理模块1020,被配置为对第一参与方标识矩阵和第二参与方标识矩阵进行乱序加密处理,并对乱序加密处理后的第一参与方标识矩阵和第二参与方标识矩阵求交,得到交集索引;
[0133]
第二数据处理模块1030,被配置为对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方
特征矩阵的碎片;
[0134]
第三数据处理模块1040,被配置为根据交集索引从第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片中确定交集碎片。
[0135]
在一种实施方式中,第一数据处理模块1020被配置为:对第一参与方标识矩阵进行第一次乱序加密,并将第一次乱序加密后的第一参与方标识矩阵发送至第二参与方;接收第二参与方发送的第一次乱序加密后的第二参与方标识矩阵;对第一次加密后的第二参与方标识矩阵进行第二次乱序加密,并将第二次乱序加密后的第二参与方标识矩阵发送至第二参与方;接收第二参与方发送的第二次乱序加密后的第一参与方标识矩阵,并对第二次乱序加密后的第一参与方标识矩阵和第二次乱序加密后的第二参与方标识矩阵求交,得到交集索引。
[0136]
在一种实施方式中,第一数据处理模块1020被配置为:对第一参与方标识矩阵进行第一次乱序加密,并将第一次乱序加密后的第一参与方标识矩阵发送至第二参与方,包括:对第一参与方原始数据矩阵按行进行第一次随机重排;从第一次随机重排后的第一参与方原始数据矩阵中抽取第一参与方标识矩阵;对第一参与方标识矩阵进行第一次可交换加密,并将第一次可交换加密后的第一参与方标识矩阵发送至第二参与方。
[0137]
在一种实施方式中,第一数据处理模块1020被配置为:对第一次可交换加密后的第二参与方标识矩阵按行进行第二次随机重排;对第二次随机重排后的第二参与方标识矩阵进行第二次可交换加密,并将第二次可交换加密后的第二参与方标识矩阵发送至第二参与方。
[0138]
在一种实施方式中,第一数据处理模块1020被配置为:对第二次可交换加密后的第一参与方标识矩阵和第二次可交换加密后的第二参与方标识矩阵进行求交,得到第二次加密后的第一参与方标识矩阵和第二次加密后的第二参与方标识矩阵的交集索引。
[0139]
在一种实施方式中,第二数据处理模块1030被配置为:对第一参与方特征矩阵和第二次随机重排后的第一参与方标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵在第一参与方的碎片;对第二次随机重排后的第二参与方标识矩阵中标识的索引序列和第二参与方特征矩阵进行特征重排和碎片化处理,得到第一参与方特征矩阵在第二参与方的碎片。
[0140]
在一种实施方式中,第二数据处理模块1030被配置为:接收第二参与方发送的一次随机重排索引序列;一次随机重排索引序列是以第二次随机重排后的第一参与方原始数据矩阵的标识矩阵中标识的索引序列对预先生成的随机重排索引序列进行重排得到的;接收预先生成的第一参与方第一随机碎片,并以一次随机重排索引序列对第一参与方第一随机碎片进行重排,得到第一参与方特征矩阵在第一参与方的碎片。
[0141]
在一种实施方式中,第二数据处理模块1030被配置为:以第二次随机重排后的第二参与方标识矩阵中标识的索引序列对预先生成的随机重排索引序列进行重排,得到一次随机重排索引序列,并将一次随机重排索引序列发送至第二参与方;确定第二参与方特征矩阵的第一加性秘密分享矩阵与预先生成的第二参与方第一随机碎片之间的差值,得到第一参与方差值矩阵;接收第二参与方差值矩阵;第二参与方差值矩阵是根据第二参与方特征矩阵的第二加性秘密分享矩阵和预先生成的第一参与方第二随机碎片得到的;根据第一参与方差值矩阵、第二参与方差值矩阵、预先生成的第二参与方第一随机碎片和一次随机
重排索引序列,确定第一参与方特征矩阵在第二参与方的碎片。
[0142]
在一种实施方式中,第二数据处理模块1030被配置为:对第一参与方差值矩阵和第二参与方差值矩阵求和,得到和矩阵;以第二次随机重排后的第二参与方标识矩阵中标识的索引序列对和矩阵进行重排,得到第一变换矩阵;以一次随机重排索引序列对第二参与方第一随机碎片进行重排,得到第二变换矩阵;将第一变换矩阵与第二变换矩阵之和,作为第一参与方特征矩阵在第二参与方的碎片。
[0143]
在一种实施方式中,第三数据处理模块1040被配置为:根据交集索引对第一参与方特征矩阵在第一参与方的碎片和第一参与方特征矩阵在第二参与方的碎片进行查询,并对查询结果进行拼接,得到交集碎片。
[0144]
上述装置中各部分的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
[0145]
本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种可选的实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0146]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0147]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0148]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0149]
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0150]
本公开的示例性实施方式还提供一种电子设备,该电子设备例如可以是上述终端110与服务端120。该电子设备可以包括处理器与存储器。存储器存储有处理器的可执行指令,如可以是程序代码。处理器通过执行该可执行指令来执行本示例性实施方式中的匿踪联邦建模中的样本对齐方法,如可以执行图2的方法步骤。
[0151]
下面参考图10,以通用计算设备的形式对电子设备进行示例性说明。应当理解,图10显示的电子设备1000仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来限制。
[0152]
如图11所示,电子设备1100可以包括:处理器1110、存储器1120、总线1130、i/o(输入/输出)接口1140、网络适配器1150。
[0153]
存储器1120可以包括易失性存储器,例如ram 1121、缓存单元1122,还可以包括非易失性存储器,例如rom 1123。存储器1120还可以包括一个或多个程序模块1124,这样的程序模块1124包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。例如,程序模块1124可以包括上述匿踪联邦建模中的样本对齐装置1000中的各模块。
[0154]
总线1130用于实现电子设备1100的不同组件之间的连接,可以包括数据总线、地址总线和控制总线。
[0155]
电子设备1100可以通过i/o接口1140与一个或多个外部设备2000(例如键盘、鼠标、外置控制器等)进行通信。
[0156]
电子设备1100可以通过网络适配器1150与一个或者多个网络通信,例如网络适配器1150可以提供如3g/4g/5g等移动通信解决方案,或者提供如无线局域网、蓝牙、近场通信等无线通信解决方案。网络适配器1150可以通过总线1130与电子设备1100的其它模块通信。
[0157]
尽管图11中未示出,还可以在电子设备1100中设置其它硬件和/或软件模块,包括但不限于:显示器、微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0158]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0159]
本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0160]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。

技术特征:
1.一种匿踪联邦建模中的样本对齐方法,应用于第一参与方,其特征在于,包括:获取第一参与方原始数据矩阵;原始数据矩阵包括标识矩阵和特征矩阵;对第一参与方标识矩阵和第二参与方标识矩阵进行乱序加密处理,并对乱序加密处理后的所述第一参与方标识矩阵和所述第二参与方标识矩阵求交,得到交集索引;对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片;根据所述交集索引从所述第一参与方特征矩阵的碎片和所述第二参与方特征矩阵的碎片中确定交集碎片。2.根据权利要求1所述的匿踪联邦建模中的样本对齐方法,其特征在于,所述对第一参与方标识矩阵和第二参与方标识矩阵进行乱序加密处理,并对乱序加密处理后的所述第一参与方标识矩阵和所述第二参与方标识矩阵求交,得到交集索引,包括:对所述第一参与方标识矩阵进行第一次乱序加密,并将第一次乱序加密后的所述第一参与方标识矩阵发送至第二参与方;接收第二参与方发送的第一次乱序加密后的所述第二参与方标识矩阵;对第一次加密后的所述第二参与方标识矩阵进行第二次乱序加密,并将第二次乱序加密后的所述第二参与方标识矩阵发送至所述第二参与方;接收所述第二参与方发送的第二次乱序加密后的所述第一参与方标识矩阵,并对第二次乱序加密后的所述第一参与方标识矩阵和第二次乱序加密后的所述第二参与方标识矩阵求交,得到所述交集索引。3.根据权利要求2所述的匿踪联邦建模中的样本对齐方法,其特征在于,所述对所述第一参与方标识矩阵进行第一次乱序加密,并将第一次乱序加密后的所述第一参与方标识矩阵发送至第二参与方,包括:对所述第一参与方原始数据矩阵按行进行第一次随机重排;从第一次随机重排后的所述第一参与方原始数据矩阵中抽取所述第一参与方标识矩阵;对所述第一参与方标识矩阵进行第一次可交换加密,并将第一次可交换加密后的所述第一参与方标识矩阵发送至所述第二参与方。4.根据权利要求2所述的匿踪联邦建模中的样本对齐方法,其特征在于,所述对第一次加密后的所述第二参与方标识矩阵进行第二次乱序加密,并将第二次乱序加密后的所述第二参与方标识矩阵发送至所述第二参与方,包括:对第一次可交换加密后的所述第二参与方标识矩阵按行进行第二次随机重排;对第二次随机重排后的所述第二参与方标识矩阵进行第二次可交换加密,并将第二次可交换加密后的所述第二参与方标识矩阵发送至所述第二参与方。5.根据权利要求4所述的匿踪联邦建模中的样本对齐方法,其特征在于,所述对第二次乱序加密后的所述第一参与方标识矩阵和第二次乱序加密后的所述第二参与方标识矩阵求交,得到所述交集索引,包括:对第二次可交换加密后的所述第一参与方标识矩阵和第二次可交换加密后的所述第二参与方标识矩阵进行求交,得到第二次加密后的所述第一参与方标识矩阵和第二次加密后的所述第二参与方标识矩阵的交集索引。
6.根据权利要求1所述的匿踪联邦建模中的样本对齐方法,其特征在于,所述对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片,包括:对第一参与方特征矩阵和第二次随机重排后的第一参与方标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵在第一参与方的碎片;对第二次随机重排后的第二参与方标识矩阵中标识的索引序列和第二参与方特征矩阵进行特征重排和碎片化处理,得到第二参与方特征矩阵在第一参与方的碎片。7.根据权利要求6所述的匿踪联邦建模中的样本对齐方法,其特征在于,所述对第一参与方特征矩阵和第二次随机重排后的第一参与方标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵在第一参与方的碎片,包括:接收第二参与方发送的一次随机重排索引序列;所述一次随机重排索引序列是以第二次随机重排后的第一参与方原始数据矩阵的标识矩阵中标识的索引序列对预先生成的随机重排索引序列进行重排得到的;接收预先生成的第一参与方第一随机碎片,并以所述一次随机重排索引序列对所述第一参与方第一随机碎片进行重排,得到所述第一参与方特征矩阵在第一参与方的碎片。8.根据权利要求6所述的匿踪联邦建模中的样本对齐方法,其特征在于,所述对第二次随机重排后的第二参与方标识矩阵中标识的索引序列和第二参与方特征矩阵进行特征重排和碎片化处理,得到第二参与方特征矩阵在第一参与方的碎片,包括:以第二次随机重排后的第二参与方标识矩阵中标识的索引序列对预先生成的随机重排索引序列进行重排,得到一次随机重排索引序列,并将所述一次随机重排索引序列发送至所述第二参与方;确定第二参与方特征矩阵的第一加性秘密分享矩阵与预先生成的第二参与方第一随机碎片之间的差值,得到第一参与方差值矩阵;接收第二参与方差值矩阵;所述第二参与方差值矩阵是根据第二参与方特征矩阵的第二加性秘密分享矩阵和预先生成的第一参与方第二随机碎片得到的;根据所述第一参与方差值矩阵、所述第二参与方差值矩阵、预先生成的第二参与方第一随机碎片和所述一次随机重排索引序列,确定所述第二参与方特征矩阵在第一参与方的碎片。9.根据权利要求8所述的匿踪联邦建模中的样本对齐方法,其特征在于,所述根据所述第一参与方差值矩阵、所述第二参与方差值矩阵、预先生成的第二参与方第一随机碎片和所述一次随机重排索引序列,确定所述第二参与方特征矩阵在第一参与方的碎片,包括:对所述第一参与方差值矩阵和所述第二参与方差值矩阵求和,得到和矩阵;以第二次随机重排后的第二参与方标识矩阵中标识的索引序列对所述和矩阵进行重排,得到第一变换矩阵;以所述一次随机重排索引序列对所述第二参与方第一随机碎片进行重排,得到第二变换矩阵;将所述第一变换矩阵与所述第二变换矩阵之和,作为所述第二参与方特征矩阵在第一参与方的碎片。10.根据权利要求6所述的匿踪联邦建模中的样本对齐方法,其特征在于,所述根据所
述交集索引从所述第一参与方特征矩阵的碎片和所述第二参与方特征矩阵的碎片中确定交集碎片,包括:根据所述交集索引对所述第一参与方特征矩阵在第一参与方的碎片和所述第二参与方特征矩阵在第一参与方的碎片进行查询,并对查询结果进行拼接,得到所述交集碎片。11.一种匿踪联邦建模中的样本对齐装置,其特征在于,包括:数据获取模块,被配置为第一参与方原始数据矩阵;所述原始数据矩阵包括标识矩阵和特征矩阵;第一数据处理模块,被配置为对第一参与方标识矩阵和第二参与方标识矩阵进行乱序加密处理,并对乱序加密处理后的所述第一参与方标识矩阵和所述第二参与方标识矩阵求交,得到交集索引;第二数据处理模块,被配置为对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片;第三数据处理模块,被配置为根据所述交集索引从所述第一参与方特征矩阵的碎片和所述第二参与方特征矩阵的碎片中确定交集碎片。12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~10任一项所述的方法。13.一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~10任一项所述的方法。

技术总结
本公开实施方式涉及一种匿踪联邦建模中的样本对齐方法、匿踪联邦建模中的样本对齐装置、计算机可读存储介质及电子设备,该方法包括:获取第一参与方原始数据矩阵;对第一参与方标识矩阵和第二参与方标识矩阵进行乱序加密处理,并对乱序加密处理后的第一参与方标识矩阵和第二参与方标识矩阵求交,得到交集索引;对特征矩阵和乱序加密处理后的标识矩阵中标识的索引序列进行特征重排和碎片化处理,得到第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片;根据交集索引从第一参与方特征矩阵的碎片和第二参与方特征矩阵的碎片中确定交集碎片。如此,在保证交集以外的信息不被泄漏的同时,对交集也起到保护作用,参与方无法知晓交集信息。法知晓交集信息。法知晓交集信息。


技术研发人员:虞晓阳 周一竞 黄翠婷 陈涛
受保护的技术使用者:杭州博盾习言科技有限公司
技术研发日:2023.06.12
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐