基于联邦学习的隐私集合求交方法、系统、设备及介质与流程

文档序号:31127148发布日期:2022-08-13 03:55阅读:179来源:国知局
基于联邦学习的隐私集合求交方法、系统、设备及介质与流程

1.本发明涉及隐私安全计算技术领域,尤其涉及一种基于联邦学习的隐私集合求交方法、系统、设备及介质。


背景技术:

2.当下多参与方联邦建模的需求越来越旺盛,而往往联合建模的前提,就是将多个参与方联邦建模的要素(例如:特征、id等)进行对齐。因此,隐私集合求交(private set intersection,psi)成为一项重要技术。隐私集合求交的准确性、效率和安全性,往往影响着整体建模过程的准确性、效率和安全性。随着参与联邦建模的机构增多,隐私集合求交过程的交互逻辑逐渐变得复杂而低效,损耗问题变得越来越严重。


技术实现要素:

3.本发明的主要目的在于提供一种基于联邦学习的隐私集合求交方法、系统、设备及介质,以解决现有的隐私集合求交过程的交互逻辑复杂、低效且损耗较为严重的问题。
4.本发明其中一个实施例提供了一种基于联邦学习的隐私集合求交方法,包括:
5.获取所有参与方的全量加密序列;
6.基于网络拓扑,将所有参与方的全量加密序列进行两两相交,逐步获得所有参与方的全量加密序列的最终交集;
7.将最终交集发送给所有的参与方;
8.基于所获得的全量加密序列以及最终交集,获取最终交集在全量加密序列中的索引;
9.将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。
10.在其中一个实施例中,获取所有参与方的全量加密序列,包括:
11.多个参与方将本方的明文序列通过本方的密钥进行加密;
12.将加密后的序列基于网络拓扑传输给下一个参与方进行加密操作,直至所有参与方的序列被所有参与方的密钥都进行加密过,得到所有参与方的全量加密序列。
13.在其中一个实施例中,在多个参与方将本方的明文序列通过本方的密钥进行加密之前,通过同一类型的加密算法生成多个密钥。
14.在其中一个实施例中,通过同一类型的加密算法生成多个密钥,包括:
15.基于一条公共的椭圆曲线,获取椭圆曲线的g值和n值;
16.对于每个参与方,基于椭圆曲线的n值,在(1,n-1)的范围内生成随机数;
17.每个参与方使用椭圆曲线的g值和所生成的随机数作为密钥。
18.在其中一个实施例中,在多个参与方将本方的明文序列通过本方的密钥进行加密之前,所述多个参与方将本方的明文序列通过哈希方程转换为哈希序列,用于排除浮点数据带来的偏差。
19.在其中一个实施例中,基于网络拓扑,将所有参与方的全量加密序列进行两两相交,包括:
20.将多个参与方分为第一参与方和第二参与方,所述第一参与方和第二参与方在网络拓扑中两两间隔设置,所述第一参与方接收其下一个参与方传输的全量加密序列,并与本方的全量加密序列相交,获得第一序列交集;
21.基于所述第一参与方重新构建网络拓扑,将所述第一参与方分为第三参与方和第四参与方,所述第三参与方和所述第四参与方在重新构建的网络拓扑中两两间隔设置,所述第三参与方接收其下一个参与方传输的第一序列交集,并与本方的第一序列交集相交,获得第二序列交集;
22.重复以上构建网络拓扑以及求交的过程,直至某个参与方获得所有的全量加密序列的最终交集。
23.在其中一个实施例中,在构建网络拓扑过程中:
24.所述第一参与方的计算性能高于与其相邻的第二参与方的计算性能;
25.和/或,所述第三参与方的计算性能高于与其相邻的第四参与方的计算性能。
26.在其中一个实施例中,在构建网络拓扑过程中:
27.对于任一第二参与方来说,在多个第一参与方中挑选与其通信速率最接近的第一参与方作为其上一个参与方;
28.和/或,对于任一第四参与方来说,在多个第三参与方中挑选与其通信速率最接近的第三参与方作为其上一个参与方。
29.在其中一个实施例中,在将所有参与方的全量加密序列进行两两相交的过程中,若某个参与方获得的交集为零,则通知所有参与方返回最终交集为零,并结束整个求交流程。
30.在其中一个实施例中,在获取所有参与方的全量加密序列的过程中,或者是将所有参与方的全量加密序列进行两两相交的过程中,任一参与方的全量加密序列不返回至对应的参与方中。
31.本发明其中一个实施例提供了一种基于联邦学习的隐私集合求交方法,包括:
32.对多个参与方的明文序列进行加密,并将加密后的序列传输至网络拓扑中的下一个参与方;
33.下一个参与方使用自身的密钥,对接收到的密文序列再次进行加密,并将再次加密后的序列传输到再下一个参与方;
34.重复传输和加密的步骤,直至所有的序列被所有的参与方的密钥都加密了一次,得到所有参与方的全量加密序列;
35.根据网络拓扑,将部分参与方获得的全量加密序列传输到另一部分参与方进行求交,获得第一序列交集;
36.基于获得第一序列交集的参与方重新构建网络拓扑,并根据网络拓扑再次将部分参与方获得的第一序列交集传输到另一部分参与方进行求交,获得第二序列交集;
37.重复构建网络拓扑以及求交的过程,直至获得所有参与方的全量加密序列的最终交集;
38.将最终交集发送给所有的参与方;
39.基于所获得的全量加密序列以及最终交集,获取最终交集在全量加密序列中的索引;
40.将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。
41.本发明其中一个实施例提供了一种基于联邦学习的隐私集合求交系统,包括:
42.加密模块,用于获取所有参与方的全量加密序列;
43.求交模块,用于基于网络拓扑,将所有参与方的全量加密序列进行两两相交,逐步获得所有参与方的全量加密序列的最终交集,并将最终交集发送给所有的参与方;
44.索引模块,用于基于所获得的全量加密序列以及最终交集,获取最终交集在全量加密序列中的索引,并将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。
45.本发明其中一个实施例提供了一种电子设备,包括:
46.至少一个处理器;以及,
47.与所述至少一个处理器通信连接的存储器;其中,所述存储器上存储有可被至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器在执行时能够实现如以上任意一项实施例所述的基于联邦学习的隐私集合求交方法的步骤。
48.本发明其中一个实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上任意一项实施例所述的基于联邦学习的隐私集合求交方法的步骤。
49.本发明以上实施例提供的基于联邦学习的隐私集合求交方法具有以下有益效果:
50.通过构建网络拓扑,并基于网络拓扑,将所有参与方的全量加密序列进行两两相交,逐步获得所有参与方的全量加密序列的最终交集。当参与方较多时,通过以上二分优化加速的方式,可以将求交的时间复杂度从o(n)降低到o(log(n)),进而提高了求交过程的效率。即,上述的隐私集合求交过程逻辑清晰明了,降低了求交过程的复杂度,从而提高了求交过程的效率,能够解决现有的隐私集合求交过程交互逻辑复杂、低效且损耗较为严重的问题。
附图说明
51.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
52.图1是本发明一个实施例提供的基于联邦学习的隐私集合求交方法的流程示意图;
53.图2是图1中的获取所有参与方的全量加密序列的流程示意图;
54.图3是图2中的生成多个密钥的流程示意图;
55.图4是图1中的将所有参与方的全量加密序列进行两两相交的流程示意图;
56.图5是图2中的将本方的明文序列通过本方的密钥进行加密的模块示意图;
57.图6是图5中的将加密后的序列基于网络拓扑传输给下一个参与方的模块示意图;
58.图7是图6中的将传输给下一个参与方的加密序列再次进行加密的模块示意图;
59.图8是将图7中的再次进行加密的加密序列基于网络拓扑传输给下一个参与方的模块示意图;
60.图9是将图8中传输给下一个参与方的加密序列再次进行加密以获得全量加密序列的模块示意图;
61.图10为图4中的第一参与方接收其下一个参与方传输的全量加密序列的模块示意图;
62.图11为图4中的第一参与方与其下一个参与方的全量加密序列相交的模块示意图;
63.图12为图4中的第三参与方接收其下一个参与方传输的第一序列交集的模块示意图;
64.图13为图4中的第三参与方与其下一个参与方的第一序列交集相交的模块示意图;
65.图14为图1中的将最终交集发送给所有的参与方的模块示意图;
66.图15为图1中的获取最终交集在全量加密序列中的索引的模块示意图;
67.图16为图1中的将索引发回全量加密序列的源头参与方的模块示意图;
68.图17是本发明另一实施例提供的基于联邦学习的隐私集合求交方法的流程示意图;
69.图18是本发明另一实施例提供的基于联邦学习的隐私集合求交系统的模块示意图;
70.图19为本发明实施例提供的一种终端结构的模块示意图。
具体实施方式
71.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
72.需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后
……
),则该方向性指示仅用于解释在某一特定姿态下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
73.另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,若全文中出现的“和/或”或者“及/或”,其含义包括三个并列的方案,以“a和/或b”为例,包括a方案、或b方案、或a和b同时满足的方案。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
74.随着《中华人民共和国个人信息保护法》的公布与实施,个人信息的保护在个人、机构甚至国家层面都越来越受到重视。不同机构收集到的数据,由于数据保护的要求,不能简单地传输给其他机构或者个人。在大数据驱动的今天,机构们不能再像从前一样将所有数据集合到一方进行建模。因此,联邦学习,多方安全计算等不泄露数据完成建模的方法开始流行。
75.当下多参与方联邦建模的需求越来越旺盛,而往往联合建模的前提,就是将多个参与方联邦建模的要素(例如:特征、id等)进行对齐。因此,隐私集合求交(psi)成为一项重要技术。其准确性、效率和安全性,往往影响着整体建模过程的准确性、效率和安全性。同时,随着参与联邦建模的机构增多,整个建模流程的交互逻辑变得复杂而低效,损耗问题变得越来越严重。本专利提出基于密文对齐的多方密文psi方法,通过密文对齐保证各参与方本身的数据安全性,通过比特操作保证数据加密准确性,通过拓扑优化提升对齐的效率。该方法保证了多参与方的情况下,高效、准确并且安全地完成隐私集合求交(psi)的过程。
76.请参见图1,本发明其中一个实施例提供了一种基于联邦学习的隐私集合求交方法,包括:
77.获取所有参与方的全量加密序列;
78.基于网络拓扑,将所有参与方的全量加密序列进行两两相交,逐步获得所有参与方的全量加密序列的最终交集;
79.将最终交集发送给所有的参与方;
80.基于所获得的全量加密序列以及最终交集,获取最终交集在全量加密序列中的索引;
81.将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。
82.在以上实施例提供的基于联邦学习的隐私集合求交方法中,通过构建网络拓扑,并基于网络拓扑,将所有参与方的全量加密序列进行两两相交,逐步获得所有参与方的全量加密序列的最终交集。当参与方较多时,通过以上二分优化加速的方式,可以将求交的时间复杂度从o(n)降低到o(log(n)),进而提高了求交过程的效率。即,上述的隐私集合求交过程逻辑清晰明了,降低了求交过程的复杂度,从而提高了求交过程的效率,能够解决现有的隐私集合求交过程交互逻辑复杂、低效且损耗较为严重的问题。
83.其次,通过获取最终交集在全量加密序列中的索引,并将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。由于源头参与方只能通过索引得到所有参与方共同的交集,从而保证了中间结果的安全性。
84.请一并参见图2,在其中一个实施例中,获取所有参与方的全量加密序列,包括:
85.多个参与方将本方的明文序列通过本方的密钥进行加密;
86.将加密后的序列基于网络拓扑传输给下一个参与方进行加密操作,直至所有参与方的序列被所有参与方的密钥都进行加密过,得到所有参与方的全量加密序列。
87.具体地,在多个参与方将本方的明文序列通过本方的密钥进行加密之前,通过同一类型的加密算法生成多个密钥。
88.请一并参见图3,在其中一个实施例中,通过同一类型的加密算法生成多个密钥,包括:
89.基于一条公共的椭圆曲线,获取椭圆曲线的g值和n值;
90.对于每个参与方,基于椭圆曲线的n值,在(1,n-1)的范围内生成随机数;
91.每个参与方使用椭圆曲线的g值和所生成的随机数作为密钥。可以理解地,生成密钥的加密算法并不限于以上实施方式。本领域技术人员也可以通过其他类型的加密算法生成多个密钥。
92.例如,在一个具体的实施方式中,假定存在三个参与方a、b、c进行多方密文求交,如图5所示。参与方a想要求交的序列为sa;参与方b想要求交的序列为sb;参与方c想要求交的序列为sc。在本实施例中,使用椭圆曲线对所有的参与方的序列进行加密。基于一条公共的椭圆曲线,获得曲线的g值和n值。对于参与方a,基于椭圆曲线的n值,在(1,n-1)的范围内生成随机数ra;对于参与方b,基于椭圆曲线的n值,在(1,n-1)的范围内生成随机数rb;对于参与方c,基于椭圆曲线的n值,在(1,n-1)的范围内生成随机数rc。此时,多个参与方将本方的明文序列通过本方的密钥进行加密的过程则具体为:在加密过程中,参与方a可以使用椭圆曲线的g值以及生成的随机数ra对本方的明文序列sa进行加密,经过一次加密后的序列为[sa]a。类似地,在加密过程中,参与方b可以使用椭圆曲线的g值以及生成的随机数rb对本方的明文序列sb进行加密,经过一次加密后的序列为[sb]b;在加密过程中,参与方c可以使用椭圆曲线的g值以及生成的随机数rc对本方的明文序列sc进行加密,经过一次加密后的序列为[sc]c。在其中一个实施例中,在多个参与方将本方的明文序列通过本方的密钥进行加密之前,所述多个参与方将本方的明文序列通过哈希方程转换为哈希序列,用于排除浮点数据带来的偏差。在本实施例中,为了保证各方数据的准确性,排除浮点数据带来的偏差,本实施例将需要多个参与方的明文序列通过哈希(hash)方程转换成哈希序列。此方式同时也保证了在数据加密过程中不会引入随机量,从而使得各个参与方的明文序列数据在加密过程中不会出现偏差。
[0093]
每个参与方将本方的明文序列通过本方的密钥进行加密之后,将加密后的序列基于网络拓扑传输给下一个参与方进行加密操作。在构建网络拓扑的时候,基于不同参与方计算性能的优劣,以及不同参与方机房之间网络环境的好坏,以计算性能弱的参与方放在计算性能强的参与方之间的逻辑以及通信速率快的参与方尽可能的靠近的原则,构建一个网络拓扑。将通信速率快的参与方尽可能的靠近在一起,可以有效地提高参与方之间的通信能力。
[0094]
在本实施例中,假设网络拓扑构建为a
→b→c→
a。此时,如图6所示,在完成加密操作之后,参与方a将加密后的序列[sa]a发送给参与方b;参与方b将加密后的序列[sb]b发送给参与方c;参与方c将加密后的序列[sc]c发送给参与方a。请一并参见图7,参与方b在接收到参与方a发送的加密后的序列[sa]a之后,利用本方的密钥对序列[sa]a进行再次加密,以得到二次加密的序列[sa]
ab
。参与方c在接收到参与方b发送的加密后的序列[sb]b之后,利用本方的密钥对序列[sb]b进行再次加密,以得到二次加密的序列[sb]
bc
。参与方a在接收到参与方c发送的加密后的序列[sc]c之后,利用本方的密钥对序列[sc]c进行再次加密,以得到二次加密的序列[sc]
ca

[0095]
请一并参见图8至图9,由于此时尚未获得所有参与方的全量加密序列,参与方a会将二次加密的序列[sc]
ca
发送给参与方b,以再次利用参与方b的密钥对二次加密的序列[sc]
ca
进行加密,从而生成三次加密的序列[sc]
abc
。需要说明的是,在本实施例所提供的加
密方法中,加密顺序不影响加密结果。即,[sc]
cab
与[sc]
abc
是等同的,以下类似。参与方b会将二次加密的序列[sa]
ab
发送给参与方c,以再次利用参与方c的密钥对二次加密的序列[sa]
ab
进行加密,从而生成三次加密的序列[sa]
abc
。参与方c会将二次加密的序列[sb]
bc
发送给参与方a,以再次利用参与方a的密钥对二次加密的序列[sb]
bc
进行加密,从而生成三次加密的序列[sb]
abc
。至此,参与方a、参与方b以及参与方c分别获得全量加密序列[sb]
abc
、[sc]
abc
、[sa]
abc

[0096]
请一并参见图4,在其中一个实施例中,基于网络拓扑,将所有参与方的全量加密序列进行两两相交,包括:
[0097]
将多个参与方分为第一参与方和第二参与方,所述第一参与方和第二参与方在网络拓扑中两两间隔设置,所述第一参与方接收其下一个参与方传输的全量加密序列,并与本方的全量加密序列相交,获得第一序列交集;
[0098]
基于所述第一参与方重新构建网络拓扑,将所述第一参与方分为第三参与方和第四参与方,所述第三参与方和所述第四参与方在重新构建的网络拓扑中两两间隔设置,所述第三参与方接收其下一个参与方传输的第一序列交集,并与本方的第一序列交集相交,获得第二序列交集;
[0099]
重复以上构建网络拓扑以及求交的过程,直至某个参与方获得所有的全量加密序列的最终交集。
[0100]
在本实施例中,通过将多个参与方分为第一参与方和第二参与方,并使第二参与方将本方的全量加密序列发送到第一参与方,并在第一参与方中与第一参与方的全量加密序列相交,以获得第一序列交集。以上方式可以减轻部分参与方的计算压力,以便于调整整体系统的负载情况。实际上,在其中一个实施例中,在构建网络拓扑的过程中,所述第一参与方的计算性能高于与其相邻的第二参与方的计算性能。此时,计算性能较弱的第二参与方将全量加密序列发送给计算性能较强的第一参与方,并在第一参与方进行求交,此方式可以有效地减轻计算性能较弱的第二参与方的计算压力,从而提高了全量加密序列求交的效率。根据需要,在其中一个实施例中,在构建网络拓扑的过程中,对于任一第二参与方来说,在多个第一参与方中挑选与其通信速率最接近的第一参与方作为其上一个参与方。通过以上方式,在所述第一参与方接收其下一个参与方传输的全量加密序列的过程中,可以有效地提高全量加密序列从第二参与方传输到第一参与方中的效率。在其中一个实施例中,假设有五个参与方1、2、3、4、5,其对于计算能力来说,参与方1的计算能力》参与方2的计算能力》参与方3的计算能力》参与方4的计算能力》参与方5的计算能力。此时,将计算能力较强的参与方1、参与方2和参与方3作为第一参与方,将计算能力较弱的参与方4和参与方5作为第二参与方。在确定参与方4的位置时,则要判断参与方4的通信速率与参与方1至参与方3中的哪一个参与方的通信速率更接近。若参与方4的通信速率与参与方1的通信速率更接近,则参与方4作为参与方1的下一个参与方。若参与方4的通信速率与参与方2的通信速率更接近,则参与方4作为参与方2的下一个参与方。若参与方4的通信速率与参与方3的通信速率更接近,则参与方4作为参与方3的下一个参与方。参与方5的位置选择方式也与参与方4的选择位置的方式类似,在此不再赘述。例如,假如参与方4的通信速率与参与方1的通信速率更接近,以及参与方5的通信速率与参与方2的通信速率更接近,则所构建的网络拓扑可以为1
→4→2→5→3→
1。
[0101]
在第一参与方将第一参与方的全量加密序列和第二参与方的全量加密序列进行求交之后,可以基于第一参与方重新构建网络拓扑。此时,将第一参与方分为第三参与方和第四参与方,并使第四参与方将本方的第一序列交集发送到第三参与方,并在第三参与方中与第四参与方的第一序列交集相交,以获得第二序列交集。同样地,以上方式可以减轻第四参与方的计算压力,以便于调整重新构建的网络拓扑的整体系统的负载情况。实际上,在其中一个实施例中,所述第三参与方的计算性能高于与其相邻的第四参与方的计算性能。此时,计算性能较弱的第四参与方将第一序列交集发送给计算性能较强的第三参与方,并在第三参与方进行隐私求交,此方式可以有效地减轻计算性能较弱的第四参与方的计算压力,从而提高了第一序列交集隐私求交的效率。根据需要,在其中一个实施例中,在重新构建网络拓扑的过程中,对于任一第四参与方来说,在多个第三参与方中挑选与其通信速率最接近的第三参与方作为其上一个参与方。通过以上方式,在所述第三参与方接收其下一个参与方传输的全量加密序列的过程中,可以有效地提高第一序列交集从第四参与方传输到第三参与方中的效率。例如,假设参与方1、参与方2和参与方3已经是第一参与方。因为,参与方1的计算能力》参与方2的计算能力》参与方3的计算能力,此时,将计算能力较强的参与方1和参与方2作为第三参与方;将计算能力较弱的参与方3作为第四参与方。在重新构建网络拓扑的过程中,在确定参与方3的位置时,则要判断参与方3的通信速率与参与方1至参与方2中的哪一个参与方的通信速率更接近。若参与方3的通信速率与参与方1的通信速率更接近,则参与方3作为参与方1的下一个参与方。若参与方3的通信速率与参与方2的通信速率更接近,则参与方3作为参与方2的下一个参与方。例如,假设参与方3的通信速率与参与方2的通信速率更接近,则重新构建的网络拓扑为1
→2→3→
1;假设参与方3的通信速率与参与方1的通信速率更接近,则重新构建的网络拓扑为1
→3→2→
1。
[0102]
在其中一个实施例中,构建网络拓扑的方式包括:
[0103]
将n个参与方按照计算能力的大小进行排序,其中,n为大于1的正整数;
[0104]
获取计算能力排名靠前的n1个参与方作为第一参与方,以及获取计算能力排名靠后的n2个参与方作为第二参与方;其中,当n为偶数时,n1=n2=n/2;当n为奇数时,n1=(n+1)/2,n2=(n-1)/2;
[0105]
选择任意一个第二参与方,并从n1个第一参与方中筛选出通信速率与所选的第二参与方的通信速率最接近的第一参与方,并将所选的第二参与方作为筛选出的第一参与方的下一个参与方;
[0106]
重复选择第二参与方和筛选通信速率最接近的第一参与方的过程,直至所有的第二参与方的网络拓扑位置都被确定。
[0107]
可以理解地,在另外一个实施例中,在构建网络拓扑过程中:
[0108]
所述第一参与方的综合性能高于与其相邻的第二参与方的综合性能;
[0109]
和/或,所述第三参与方的综合性能高于与其相邻的第四参与方的综合性能。
[0110]
具体地,综合性能包括计算能力和通信速率。在其中一个实施例中,
[0111]
综合性能=a1*计算能力+a2*通信速率;其中,a1》a2,且a1+a2=1。
[0112]
例如,a1的取值可以在0.6到0.8之间,a2的取值可以在0.2到0.4之间。在此实施例中,在构建网络拓扑的时候,可以把综合性能高的参与方作为第一参与方,从而有效地提高隐私集合求交过程中的效率。另外,由于a1的取值大于a2的取值,说明在考虑参与方的综合
性能的时候,对其计算能力的考量会更重要一些。
[0113]
此时,构建网络拓扑的方式包括:
[0114]
将n个参与方按照综合能力的大小进行排序,其中,n为大于1的正整数;
[0115]
获取综合能力排名靠前的n1个参与方作为第一参与方,以及获取综合能力排名靠后的n2个参与方作为第二参与方;其中,当n为偶数时,n1=n2=n/2;当n为奇数时,n1=(n+1)/2,n2=(n-1)/2;
[0116]
选择任意一个第二参与方,并从n1个第一参与方中筛选出通信速率与所选的第二参与方的通信速率最接近的第一参与方,并将所选的第二参与方作为筛选出的第一参与方的下一个参与方;
[0117]
重复选择第二参与方和筛选通信速率最接近的第一参与方的过程,直至所有的第二参与方的网络拓扑位置都被确定。
[0118]
在以上实施例中,通过以两两相交的方式,逐步获得n个参与方的全量加密序列的交集,其中n为大于1的正整数。具体地,选取n1个参与方作为第一参与方。其中,如果n是偶数,则n1为n/2个;如果n为奇数,则n1为(n+1)/2个。被选取的n1个参与方会承担较多计算,因此,可以通过将性能较弱的参与方排除在选择范围之外,达到平衡负载的效果。将被选取的参与方的下一个参与方的全量加密序列发送给被选中的n1个参与方,在被选中的n1个参与方中对所接收到的全量加密序列与本方的全量加密序列进行求交,从而获得n1个第一序列交集。基于n1个参与方更新网络拓扑。然后,针对n1个参与方,再选取(n1+1)/2或n1/2个,将交集发给被选取的参与方,进行求交。直到某一方获得的交集为0或者被选取的参与方数量为1:
[0119]
如果某一方获得的交集为0,则广播给所有参与方最终交集为0,结束求交流程;
[0120]
在其中一个实施例中,在将所有参与方的全量加密序列进行两两相交的过程中,若某个参与方获得的交集为零,则通知所有参与方返回最终交集为零,并结束整个求交流程。
[0121]
请一并参见图10,在一具体的实施方式中,在参与方a、参与方b以及参与方c分别获得全量加密序列[sb]
abc
、[sc]
abc
、[sa]
abc
之后,基于网络拓扑,选取2个(n1的数量为(3+1)/2)参与方a、c,并更新网络拓扑为a
→c→
a。对于被选取的参与方a的下一个参与方b,以及被选取的参与方c的下一个参与方a,将本方的全量加密序列传输给被选取的参与方。例如,参与方a会获得参与方b传输过来的全量加密序列[sc]
abc
。此时,参与方a会拥有全量加密序列[sb]
abc
、[sc]
abc
。参与方c会获得参与方a传输过来的全量加密序列[sb]
abc
。此时,参与方c会拥有全量加密序列[sa]
abc
、[sb]
abc

[0122]
请一并参见图11,在参与方a和参与方c中分别对已经拥有的全量加密序列进行求交,参与方a和参与方c将会分别获得加密序列交集[sb∩sc]和[sa∩sb],即第一序列交集。
[0123]
请一并参见图12和图13,针对被选取的2个参与方,继续选取1个(2/2)个参与方a。由于被选取的参与方的数量为1个,则将参与方c(被选取的参与方a的下一个参与方)的加密序列交集[sa∩sb]传输给参与方a,并在参与方a中与参与方a的加密序列交集[sb∩sc]进行求交,获得最终交集[sa∩sb∩sc]。
[0124]
在其中一个实施例中,在获取所有参与方的全量加密序列的过程中,或者是将所有参与方的全量加密序列进行两两相交的过程中,任一参与方的全量加密序列不返回至对
应的参与方中。此时,求交参与方不会拥有本方的最终密文序列,保证本方与其他一个或者几个参与方的交集不会被泄露。最终能够通过索引得到的,只能是所有参与方共同的交集,从而保证中间结果的安全性。例如,在本实施例中,参与方a不会获得本方的全量加密序列[sa]
abc
;参与方b不会获得本方的全量加密序列[sb]
abc
;参与方a不会获得本方的全量加密序列[sc]
abc
,从而保证了中间结果的安全性。
[0125]
请一并参见图14,在获得所有的全量加密序列的最终交集之后,将最终交集发送给所有的参与方。然后,基于所获得的全量加密序列以及最终交集,获取最终交集在全量加密序列中的索引,如图15所示。例如,参与方a获取最终交集[sa∩sb∩sc]后,将最终交集[sa∩sb∩sc]发给第一次选取的两个参与方:参与方a和参与方c。参与方a基于本方拥有的全量加密序列[sb]
abc
、[sc]
abc
以及最终交集[sa∩sb∩sc],能够获得最终交集[sa∩sb∩sc]相对于全量加密序列[sb]
abc
的索引以及相对于全量加密序列[sc]
abc
的索引参与方c基于本方拥有的全量加密序列[sa]
abc
、[sb]
abc
以及最终交集[sa∩sb∩sc],能够获得最终交集[sa∩sb∩sc]相对于全量加密序列[sa]
abc
的索引和相对于全量加密序列[sb]
abc
的索引
[0126]
在获得最终交集相对于全量加密序列的最终交集之后,将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。例如,请一并参见图16,参与方a在获得最终交集[sa∩sb∩sc]相对于全量加密序列[sb]
abc
的索引以及最终交集[sa∩sb∩sc]相对于全量加密序列[sc]
abc
的索引之后,将索引发回全量加密序列[sb]
abc
的源头参与方b,以及将索引发回全量加密序列[sc]
abc
的源头参与方c。此时,参与方b根据最终交集的索引在本方的明文序列中提取与最终交集对应的明文序列;参与方c根据最终交集的索引在本方的明文序列中提取与最终交集对应的明文序列。同样地,参与方c在获得最终交集[sa∩sb∩sc]相对于全量加密序列[sa]
abc
的索引以及最终交集[sa∩sb∩sc]相对于全量加密序列[sb]
abc
的索引之后,将索引发回全量加密序列[sa]
abc
的源头参与方a,以及将索引发回全量加密序列[sb]
abc
的源头参与方b。此时,参与方a根据最终交集的索引在本方的明文序列中提取与最终交集对应的明文序列。至此,所有参与方(参与方a、参与方b和参与方c)都获取了其交集的明文序列,从而完成了基于联邦学习的隐私集合求交方法。
[0127]
在其中一个实施例中,源头参与方在获取最终交集对应的明文序列之后,对最终交集对应的明文序列进行排序。所述排序的方式可以是正序或者是倒序,但所有的源头参与方的排序方式需要保持一致。通过以上方式,可以保证所有的源头参与方所获得的明文序列的顺序一致。具体地,所有参与方在本方的明文序列中提取到交集对应的明文数据之后,可以对交集明文数据进行排序(正序或倒序),从而保证所有参与方的交集明文序列的最终顺序一致。
[0128]
请一并参见图17,本发明其中一个实施例提供了一种基于联邦学习的隐私集合求交方法,包括:
[0129]
对多个参与方的明文序列进行加密,并将加密后的序列传输至网络拓扑中的下一个参与方;
[0130]
下一个参与方使用自身的密钥,对接收到的密文序列再次进行加密,并将再次加密后的序列传输到再下一个参与方;
[0131]
重复传输和加密的步骤,直至所有的序列被所有的参与方的密钥都加密了一次,得到所有参与方的全量加密序列;
[0132]
根据网络拓扑,将部分参与方获得的全量加密序列传输到另一部分参与方进行求交,获得第一序列交集;
[0133]
基于获得第一序列交集的参与方重新构建网络拓扑,并根据网络拓扑再次将部分参与方获得的第一序列交集传输到另一部分参与方进行求交,获得第二序列交集;
[0134]
重复构建网络拓扑以及求交的过程,直至获得所有参与方的全量加密序列的最终交集;
[0135]
将最终交集发送给所有的参与方;
[0136]
基于所获得的全量加密序列以及最终交集,获取最终交集在全量加密序列中的索引;
[0137]
将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。
[0138]
同样地,在以上实施例提供的基于联邦学习的隐私集合求交方法中,通过构建网络拓扑,并基于网络拓扑,将所有参与方的全量加密序列进行两两相交,逐步获得所有参与方的全量加密序列的最终交集。当参与方较多时,通过以上二分优化加速的方式,可以将求交的时间复杂度从o(n)降低到o(log(n)),进而提高了求交过程的效率。其次,通过获取最终交集在全量加密序列中的索引,并将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。由于源头参与方只能通过索引得到所有参与方共同的交集,从而保证了中间结果的安全性。
[0139]
请一并参见图18,本发明其中一个实施例提供了一种基于联邦学习的隐私集合求交系统100,包括:
[0140]
加密模块110,用于获取所有参与方的全量加密序列;
[0141]
求交模块120,用于基于网络拓扑,将所有参与方的全量加密序列进行两两相交,逐步获得所有参与方的全量加密序列的最终交集,并将最终交集发送给所有的参与方;
[0142]
索引模块130,用于基于所获得的全量加密序列以及最终交集,获取最终交集在全量加密序列中的索引,并将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。
[0143]
同样地,在以上实施例提供的基于联邦学习的隐私集合求交系统中,通过设置加密模块110、求交模块120以及索引模块130,并构建网络拓扑,并在求交模块120中基于网络拓扑,将所有参与方的全量加密序列进行两两相交,逐步获得所有参与方的全量加密序列的最终交集。当参与方较多时,通过以上二分优化加速的方式,可以将求交的时间复杂度从o(n)降低到o(log(n)),进而提高了求交过程的效率。其次,通过获取最终交集在全量加密
序列中的索引,并将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。由于源头参与方只能通过索引得到所有参与方共同的交集,从而保证了中间结果的安全性。
[0144]
本发明其中一个实施例提供了一种电子设备,包括:
[0145]
至少一个处理器;以及,
[0146]
与所述至少一个处理器通信连接的存储器;其中,所述存储器上存储有可被至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器在执行时能够实现如以上任意一项实施例所述的基于联邦学习的隐私集合求交方法的步骤。
[0147]
本发明其中一个实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上任意一项实施例所述的基于联邦学习的隐私集合求交方法的步骤。
[0148]
图19是本发明实施例方案涉及的硬件运行环境的终端结构200的示意图。
[0149]
本发明实施例提供的终端结构200可以是pc,也可以是智能手机、平板电脑、电子书阅读器、mp3(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)播放器、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面3)播放器、便携计算机等具有显示功能的可移动式终端设备。
[0150]
该终端结构200可以包括:处理器210,例如cpu,网络接口250,用户接口240,存储器220,通信总线230。其中,通信总线230用于实现这些组件之间的连接通信。用户接口240可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口240还可以包括标准的有线接口、无线接口。网络接口250可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器220可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器220可选的还可以是独立于前述处理器210的存储装置。
[0151]
可选地,终端还可以包括摄像头、rf(radio frequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0152]
本领域技术人员可以理解,终端结构200并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0153]
终端结构200中的存储器220中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。
[0154]
在终端结构200中,网络接口250主要用于连接后台服务器,与后台服务器进行数据通信;用户接口240主要用于连接客户端(用户端),与客户端进行数据通信;而处理器210可以用于调用存储器220中存储的计算机程序,并执行以下操作:
[0155]
获取所有参与方的全量加密序列;
[0156]
基于网络拓扑,将所有参与方的全量加密序列进行两两相交,逐步获得所有参与方的全量加密序列的最终交集;
[0157]
将最终交集发送给所有的参与方;
[0158]
基于所获得的全量加密序列以及最终交集,获取最终交集在全量加密序列中的索引;
[0159]
将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。
[0160]
在另外一个实施例中,处理器210可以用于调用存储器220中存储的计算机程序,并执行以下操作:
[0161]
对多个参与方的明文序列进行加密,并将加密后的序列传输至网络拓扑中的下一个参与方;
[0162]
下一个参与方使用自身的密钥,对接收到的密文序列再次进行加密,并将再次加密后的序列传输到再下一个参与方;
[0163]
重复传输和加密的步骤,直至所有的序列被所有的参与方的密钥都加密了一次,得到所有参与方的全量加密序列;
[0164]
根据网络拓扑,将部分参与方获得的全量加密序列传输到另一部分参与方进行求交,获得第一序列交集;
[0165]
基于获得第一序列交集的参与方重新构建网络拓扑,并根据网络拓扑再次将部分参与方获得的第一序列交集传输到另一部分参与方进行求交,获得第二序列交集;
[0166]
重复构建网络拓扑以及求交的过程,直至获得所有参与方的全量加密序列的最终交集;
[0167]
将最终交集发送给所有的参与方;
[0168]
基于所获得的全量加密序列以及最终交集,获取最终交集在全量加密序列中的索引;
[0169]
将索引发回全量加密序列的源头参与方,以在源头参与方获取最终交集对应的明文序列。
[0170]
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1