一种隐私交集求和的方法和装置

文档序号:32518972发布日期:2022-12-13 18:09阅读:34来源:国知局
一种隐私交集求和的方法和装置

1.本发明涉及数据处理领域,具体涉及一种隐私交集求和的方法和装置。


背景技术:

2.隐私交集求和(private intersection-sum-with-cardinality)是指两个参与方(接收方和发送方,或称为第一方和第二方)各自拥有一个数据集,数据集中的数据可以用标识(identifiers)来区分,其中一方所持数据集中除标识外还拥有一整数属性(关联值)。两方之间通过交互求得数据集交集的基数(cardinality),以及交集中元素整数属性的和,除去以上信息外,双方无法获得其他任何信息。
3.隐私交集求和在数据处理领域有着广泛的应用,例如,线上广告是一种重要的广告形式。对于广告的有效程度的衡量的常见方法是计算所谓的转换率,也就是浏览广告的用户中有多少用户最终浏览了相应的商品页面,或是最终购买了相应的商品或是服务。一种通用的计算方法是由计算浏览广告的用户信息(由广告发送方占有)和完成相应交易的用户信息(由商家占有)的交集来计算(如计算交易总额)。而与此同时双方的用户信息又是私密的。
4.目前常见的隐私交集求和计算协议包括基于diffie-hellman密码交换的协议、基于加密布隆过滤器的协议和基于随机不经意传输的协议。这些协议均由两部分部件组成,隐私求交部件和同态加密求和部件。隐私求交部件用于确定双发拥有数据集的交集,同态加密求和部件在交集基础上进行求和操作得到最终结果。
5.在实现本发明过程中,申请人发现现有技术中存在双方所持有数据集合中数据有泄露风险,
6.因此,如何更好地保护双方所持有的数据集合的隐私性、避免泄露,是需要解决的问题。


技术实现要素:

7.本发明实施例提供一种隐私交集求和的方法及装置,以提供一种在隐私交集求和过程中防止数据泄露的技术方案,从而更加有效地提高了多方隐私交集求和的安全性和适应性。
8.一方面,本发明实施例提供了一种隐私交集求和的方法,所述隐私交集求和方法,包括:
9.第一方系统生成第一随机私有指数;
10.第二方系统生成第二随机私有指数;
11.所述第二方系统对第二隐私数据集依次进行数据混淆处理、数据变换处理、数据填充处理,得到第二处理后隐私数据集;
12.所述第一方系统对第一隐私数据集输入数据依次进行数据混淆处理、数据填充处理,得到第一处理后隐私数据集;
13.根据所述第一随机私有指数、所述第二随机私有指数、所述第一处理后隐私数据集、以及所述第二处理后隐私数据集,由所述第二方系统和所述第一方系统按照隐私交集求和计算协议,确定出所述第一方隐私数据集与所述第二方隐私数据集的交集,并计算出所述交集中的含有恢复值的关联值加密求和值、以及与所述含有恢复值的关联值加密求和值相对应的恢复值加密求和值;
14.所述第二方系统解密所述含有恢复值的关联值加密求和值、以及所述恢复值加密求和值,得到含有恢复值的关联值求和值及恢复值求和值;
15.用所述含有恢复值的关联值求和值减去所述恢复值求和值,得到关联值求和值。
16.优选地,在所述第二方系统生成随机私有指数前,所述方法还包括:准备所述第二方系统的输入数据;对所述第二方系统的输入数据进行预处理,得到第二隐私数据集;
17.优选地,在所述第一方系统生成随机私有指数前,所述方法还包括:准备所述第一方系统的输入数据;对所述第一方系统的输入数据进行预处理,得到第一隐私数据集;
18.优选地,所述第二方系统对第二隐私数据集依次进行数据混淆处理、数据变换处理、数据填充处理,得到第二处理后隐私数据集,包括:
19.生成混淆元,并将混淆元集合发送给所述第一方系统;
20.从所述混淆元集合中随机得到混淆元子集;
21.通过所述混淆元子集对所述第二隐私数据集进行数据混淆;
22.对经过数据混淆的第二隐私数据集中的所有关联值进行数据变换处理;
23.随机生成第二哑元,将所述第二哑元填充到经过数据混淆和数据变换处理的第二隐私数据集中,形成所述第二处理后隐私数据集;
24.所述第一方系统对第一隐私数据集依次进行数据混淆处理、数据填充处理,得到第一处理后隐私数据集,包括:
25.接收所述第二方系统发送的所述混淆元集合,并通过所述混淆元集合对所述第一隐私数据集进行数据混淆;
26.随机生成第一哑元,将所述第一哑元填充到经过数据混淆的第一隐私数据集中,形成所述第一处理后隐私数据集。
27.优选地,所述对经过数据混淆的第二隐私数据集中的所有关联值进行数据变换处理,包括:
28.所述第二方系统遍历所述经过数据混淆和数据变换处理的第二隐私数据集中的所有关联值,找出所述所有关联值中的最小值;
29.若所述最小值>0,则以0作为恢复值;
30.若所述最小值《0,则以所述最小值作为恢复值;
31.将所述所有关联值转换为含有恢复值的关联值;所述将所有关联值转换为含有恢复值的关联值,包括:将每个所述关联值分别减去所述恢复值。
32.优选地,所述根据所述第一随机私有指数、所述第二随机私有指数、所述第一处理后隐私数据集、以及所述第二处理后隐私数据集,由所述第二方系统和所述第一方系统按照隐私交集求和计算协议,确定出所述第一方隐私数据集与所述第二方隐私数据集的交集,并计算出所述交集中的含有恢复值的关联值加密求和值、以及与所述含有恢复值的关联值加密求和值相对应的恢复值加密求和值,包括:
33.所述第二方系统根据所述经过预处理的第二输入数据生成同态加密密钥对,将所述密钥对中的公钥发送给所述第一方系统;
34.第一方系统从所述第一处理后隐私数据集中检索第一uid,并对所述第一uid依次进行盲化处理及置乱处理,得到一次处理第一uid,之后将所述一次处理第一uid发送给所述第二方系统;
35.所述第二方系统对对所述一次处理第一uid再次进行盲化处理及置乱处理,得到二次处理第一uid,之后将所述二次处理第一uid发送给第一方系统;
36.所述第二方系统从所述第二处理后隐私数据集中检索第二uid,并对所述第二uid依次进行盲化处理及置乱处理,得到处理后第二uid;
37.所述第二方系统从所述第二处理后隐私数据集中检索所述含有恢复值的关联值,并对所述含有恢复值的关联值依次进行同态加密处理和置乱处理,得到含有恢复值的加密关联值;
38.所述第二方系统对所述恢复值进行同态加密处理,得到加密恢复值;
39.所述第二方系统将所述处理后第二uid、所述含有恢复值的加密关联值、以及所述加密恢复值发送给所述第一方系统;
40.所述第一方系统对所述二次处理第一uid和所述处理后第二uid进进匹配,并将匹配成功的uid所对应的含有恢复值的加密关联值和加密恢复值分别进行加密求和,得到含有恢复值的关联值加密求和值、以及恢复值加密求和值;
41.所述第一方系统将所述含有恢复值的关联值加密求和值及恢复值加密求和值发送给所述第二方系统。
42.另一方面,本发明实施例提供一种隐私交集求和的装置,所述隐私交集求和装置包括:
43.第二系统模块,用于所述第二方系统生成所述第二随机私有指数,所述第二方系统对所述第二隐私数据集依次进行数据混淆处理、数据变换处理、数据填充处理,得到第二处理后隐私数据集;
44.第一系统模块,用于所述第一方系统生成所述第一随机私有指数,所述第一方系统对所述第一隐私数据集输入数据依次进行数据混淆处理、数据填充处理得到第一处理后隐私数据集;
45.所述第一系统模块和所述第二系统模块,还用于根据所述第一随机私有指数、所述第二随机私有指数、第所述一处理后隐私数据集、所述第二处理后隐私数据集,由所述第二方系统和所述第一方系统按照隐私交集求和计算协议,确定出所述第一方隐私数据集与所述第二方隐私数据集的交集,并计算出所述交集中的含有恢复值的关联值加密求和值、以及与所述含有恢复值的关联值加密求和值相对应的恢复值加密求和值;
46.所述第二系统模块,还用于解密所述含有恢复值的关联值加密求和值、以及所述恢复值加密求和值,得到含有恢复值的关联值求和值和恢复值求和值;
47.所述第二系统模块,还用于用所述恢复值的关联值求和值减去所述恢复值求和值,得到关联值求和值。
48.优选地,所述隐私交集求和装置还包括:
49.第二系统模块还用于第二方系统的数据进行预处理,得到第二方隐私数据集;
50.第一系统模块还用于对第一方系统的数据进行预处理,得到第一方隐私数据集。
51.优选地,所述第二系统模块还用于对第二隐私交集求和计算输入数据处理,包括:
52.用于生成所述混淆元、将所述混淆元集合发送给所述第一方系统;
53.用于从混淆元集合中随机得到混淆元子集,并通过所述混淆元子集对所述第二意思数据集进行数据混淆;
54.用于对经过数据混淆的第二隐私数据集中的所有关联值进行数据变换处理;
55.用于生成所述第二哑元,将所述第二哑元填充到经过数据混淆和数据变换处理的第二隐私数据集中,形成所述第二处理后隐私数据集;
56.所述第一系统模块还用于对第一隐私数据集求和计算输入数据处理,包括:
57.用于接收所述第二方系统发送的所述混淆元集合,并通过所述混淆元集合对所述第一隐私数据集进行数据混淆;
58.用于生成第一哑元,将所述第一哑元填充到经过数据混淆的第一隐私数据集中,形成所述第一处理后隐私数据集。
59.优选地,所述第二系统模块还用于所述第二隐私交集求和计算输入数据处理中的数据变换处理,包括:
60.用于数据变换处理时对所述关联值中的负整数转化为非负整数。
61.优选地,所述第二系统模块和所述第一系统模块还用于所述第二隐私交集求和协议执行,包括:
62.所述第二系统模块用于第二方系统根据所述经过预处理的第二输入数据生成同态加密密钥对,将所述密钥对中的公钥发送给所述第一方系统;
63.所述第一系统模块用于从所述第一处理后隐私数据集中检索第一uid,并对所述第一uid依次进行盲化处理及置乱处理,得到一次处理第一uid,之后将所述依次处理第一uid发送给所述第二方系统;
64.所述第二系统模块用于从所述第二处理后隐私数据集中检索第二uid,并对所述第二uid依次进行盲化处理及置乱处理,得到处理后第二uid;
65.所述第二系统模块用于从所述第二处理后隐私数据集中检索所述含有恢复值的关联值,并对所述含有恢复值的关联值依次进行同态加密处理和置乱处理,得到含有恢复值的加密关联值;
66.所述第二系统模块用于对所述恢复值进行同态加密处理,得到加密恢复值;
67.所述第二系统模块用于将所述处理后第二uid、所述含有恢复值的加密关联值、以及所述加密恢复值发送给所述第一方系统;
68.所述第一系统模块用于对所述二次处理第一uid和所述处理后第二uid进行匹配,并将匹配成功的uid所对应的含有回复竹子的加密关联值和加密恢复值分别进行加密求和,得到含有恢复值的关联值加密求和值、以及恢复值加密求和值;
69.所述第一系统模块将所述含有恢复值的关联值加密求和值及恢复值加密求和值发送给所述第二方系统。
70.上述技术方案具有如下有益效果:
71.进行隐私交集求和计算的数据,在交互过程中泄露风险减小,提高数据安全性,主要表现为:
72.1、对双方所持数据加入一定数量的哑元,双方只能获得对方加入哑元后的数据集中数据和数据个数,无法获得真实数据集中的数据和数据个数;
73.3、对双方数据加入一定数量的混淆元,双方只能获得对方加入混淆元后交集中数据和数据个数,无法得知真实数据集交集中数据和数据个数;
74.3、当持有关联值一方集合中存在负整数,也可进行相加求和,从而提高了多方隐私交集求和的安全性和适应性。
附图说明
75.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
76.图1为本发明实施例一种隐私交集求和方法的流程图;
77.图2为本发明实施例第二方系统数据处理流程图;
78.图3为本发明实施例第一方系统数据处理流程图
79.图4为本发明实施例一种隐私交集求和装置的结构示意图;
80.图5为本发明一个具体实例的流程示意图;
具体实施方式
81.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
82.下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
83.如图1所示,为本发明实施例一种隐私交集求和的方法流程图,所述隐私交集求和的方法包括:
84.s1、第一方系统生成第一随机私有指数;
85.s2、第二方系统生成第二随机私有指数;
86.s3、所述第二方系统对第二隐私数据集依次进行数据混淆处理、数据变换处理、数据填充处理,得到第二处理后隐私数据集;
87.s4、所述第一方系统对第一隐私数据集输入数据依次进行数据混淆处理、数据填充处理,得到第一处理后隐私数据集;
88.s5、根据所述第一随机私有指数、所述第二随机私有指数、所述第一处理后隐私数据集、以及所述第二处理后隐私数据集,由所述第二方系统和所述第一方系统按照隐私交集求和计算协议,确定出所述第一方隐私数据集与所述第二方隐私数据集的交集,并计算出所述交集中的含有恢复值的关联值加密求和值、以及与所述含有恢复值的关联值加密求和值相对应的恢复值加密求和值;
89.s6、所述第二方系统解密所述含有恢复值的关联值加密求和值、以及所述恢复值
加密求和值,得到含有恢复值的关联值求和值及恢复值求和值;
90.s7、用所述含有恢复值的关联值求和值减去所述恢复值求和值,得到关联值求和值。
91.优选地,在所述第二方系统生成随机私有指数前,所述方法还包括:准备所述第二方系统的输入数据;对所述第二方系统的输入数据进行预处理,得到第二隐私数据集;输入数据为素数阶群g,用哈希函数将中的元素映射为g中的随机元素,则得到第二方系统p2数据集其中ti∈z,ti表示关联值;
92.在所述第一方系统生成随机私有指数前,所述方法还包括:准备所述第一方系统的输入数据;对所述第一方系统的输入数据进行预处理,得到第一隐私数据集;输入数据为素数阶群g,用哈希函数将中的元素映射为g中的随机元素,则得到第一方系统p1数据集其中m1表示元素个数。
93.优选地,如图2所示,所述第二方系统对第二隐私数据集依次进行数据混淆处理、数据变换处理、数据填充处理,得到第二处理后隐私数据集,包括:
94.s31:生成混淆元,并将混淆元集合发送给所述第一方系统;生成一对混淆元时,会同时产生一对逆元,例如产生的混淆元对为(a,99),则同时会产生逆元(b,-99),混淆元和逆元都将被发送至第一方系统,其中a,b表示任意自然数。
95.s32:从所述混淆元集合中随机得到混淆元子集;
96.s33:通过所述混淆元子集对所述第二隐私数据集进行数据混淆;加入混淆元子集后的第二隐私数据发送给第一方系统的数据不再是原始的第二方隐私数据,而是被混淆后的第二方隐私数据,真实交集基数,提高数据交互过程中的安全性。
97.s34:对经过数据混淆的第二隐私数据集中的所有关联值进行数据变换处理;
98.s35:随机生成第二哑元,将所述第二哑元填充到经过数据混淆和数据变换处理的第二隐私数据集中,形成所述第二处理后隐私数据集;这样在第一方系统求取交集时,第一方系统获取的数据是经过填充哑元处理的第二处理后隐私数据集,不是真实的原始第二隐私数据集,减小第二隐私数据集数据被第一方系统获取的风险,提高所持数据集合的安全性;
99.如图3所示,所述第一方系统对第一隐私数据集依次进行数据混淆处理、数据填充处理,得到第一处理后隐私数据集,包括:
100.s41:接收所述第二方系统发送的所述混淆元集合,并通过所述混淆元集合对所述第一隐私数据集进行数据混淆;这样发送给第二方系统的第一隐私数据集中的数据是加入了混淆元的数据,而不是真实第一隐私数据集中的数据;
101.s42:随机生成第一哑元,将所述第一哑元填充到经过数据混淆的第一隐私数据集中,形成所述第一处理后隐私数据集。第一方系统发送给第二方系统的第一隐私数据集为含有哑元的第一处理后隐私数据集,而不是真实的第一隐私数据集,提高所持数据集合的安全性。
102.第一方系统随机生成第一哑元和第二系统随机生成第二哑元,因这样第一方系统和第二方系统在执行隐私交集求和计算协议时的交互数据都不是真实数据,数据个数(也
称集合基数)也不是真实数据个数,是加入了哑元个数的数据个数,这样双方进行隐私交集求和协议计算的真实数据的个数不会被泄露,得到了保护。由于都是随机生成,第一哑元和第二哑元相同的概率极低,因此,在求交集过程中,哑元不会出现在交集中,加入哑元不会影响交集求和。
103.优选地,所述对经过数据混淆的第二隐私数据集中的所有关联值进行数据变换处理,包括:
104.所述第二方系统遍历所述经过数据混淆和数据变换处理的第二隐私数据集中的所有关联值,找出所述所有关联值中的最小值;
105.若所述最小值>0,则以0作为恢复值;
106.若所述最小值《0,则以所述最小值作为恢复值;
107.将所述所有关联值转换为含有恢复值的关联值;所述将所有关联值转换为含有恢复值的关联值,包括:将每个所述关联值分别减去所述恢复值。
108.通过对所述关联值进行数据变换处理,使得关联值是负数时,也能进行相加求和,增加数据兼容性,从而提高算法的适应性。
109.优选地,所述根据所述第一随机私有指数、所述第二随机私有指数、所述第一处理后隐私数据集、以及所述第二处理后隐私数据集,由所述第二方系统和所述第一方系统按照隐私交集求和计算协议,确定出所述第一方隐私数据集与所述第二方隐私数据集的交集,并计算出所述交集中的含有恢复值的关联值加密求和值、以及与所述含有恢复值的关联值加密求和值相对应的恢复值加密求和值,包括:
110.s51、所述第二方系统根据所述经过预处理的第二输入数据生成同态加密密钥对,将所述密钥对中的公钥发送给所述第一方系统;
111.s52、第一方系统从所述第一处理后隐私数据集中检索第一uid,并对所述第一uid依次进行盲化处理及置乱处理,得到一次处理第一uid,之后将所述一次处理第一uid发送给所述第二方系统;
112.s53、所述第二方系统对对所述一次处理第一uid再次进行盲化处理及置乱处理,得到二次处理第一uid,之后将所述二次处理第一uid发送给第一方系统;
113.s54、所述第二方系统从所述第二处理后隐私数据集中检索第二uid,并对所述第二uid依次进行盲化处理及置乱处理,得到处理后第二uid;
114.s55、所述第二方系统从所述第二处理后隐私数据集中检索所述含有恢复值的关联值,并对所述含有恢复值的关联值依次进行同态加密处理和置乱处理,得到含有恢复值的加密关联值;
115.s56、所述第二方系统对所述恢复值进行同态加密处理,得到加密恢复值;
116.s57、所述第二方系统将所述处理后第二uid、所述含有恢复值的加密关联值、以及所述加密恢复值发送给所述第一方系统;
117.s58、所述第一方系统对所述二次处理第一uid和所述处理后第二uid进行匹配,并将匹配成功的uid所对应的含有恢复值的加密关联值和加密恢复值分别进行加密求和,得到含有恢复值的关联值加密求和值、以及恢复值加密求和值;
118.uid匹配即可获得第一方隐私数据集和第二方隐私数据集的交集,在所述交集中包含部分混淆元数据。在进行uid匹配时,只会有部分混淆元匹配成功,匹配成功的混淆元
所述交集,因此整个交集中的数据不是真实的第一方隐私数据和第二方隐私数据,所述交集中的数据个数(也称集合基数)也是含有若干个混淆元的数据个数,无法获取真实的含有第一方隐私数据和第二方隐私数据交集的数据个数。
119.s59、所述第一方系统将所述含有恢复值的关联值加密求和值及恢复值加密求和值发送给所述第二方系统。
120.所述uid是指用户身份证明,即用户id。
121.通过增加哑元,第一方隐私数据集和第二方隐私数据集的真实数据和真实数据个数在进行隐私交集求和协议计算过程中不会被获取,双方隐私数据得到保护,通过增加混淆元,第一方隐私数据集合第二方隐私数据集的交集真实数据和真实数据个数不会被获取,双方隐私数据的交集得到了保护。
122.另一方面,如图4所示提供一种隐私交集求和的装置,所述隐私交集求和装置包括:
123.第二系统模块,用于所述第二方系统生成所述第二随机私有指数,所述第二方系统对所述第二隐私数据集依次进行数据混淆处理、数据变换处理、数据填充处理,得到第二处理后隐私数据集;
124.第一系统模块,用于所述第一方系统生成所述第一随机私有指数,所述第一方系统对所述第一隐私数据集输入数据依次进行数据混淆处理、数据填充处理得到第一处理后隐私数据集;
125.所述第一系统模块和所述第二系统模块,还用于根据所述第一随机私有指数、所述第二随机私有指数、所述第一处理后隐私数据集、所述第二处理后隐私数据集,由所述第二方系统和所述第一方系统按照隐私交集求和计算协议,确定出所述第一方隐私数据集与所述第二方隐私数据集的交集,并计算出所述交集中的含有恢复值的关联值加密求和值、以及与所述含有恢复值的关联值加密求和值相对应的恢复值加密求和值;
126.所述第二系统模块,还用于解密所述含有恢复值的关联值加密求和值、以及所述恢复值加密求和值,得到含有恢复值的关联值求和值和恢复值求和值;
127.所述第二系统模块,还用于用所述恢复值的关联值求和值减去所述恢复值求和值,得到关联值求和值。
128.优选地,所述隐私交集求和装置还包括:
129.第二系统模块还用于第二方系统的数据进行预处理,得到第二方隐私数据集;
130.第一系统模块还用于对第一方系统的数据进行预处理,得到第一方隐私数据集。
131.优选地,所述第二系统模块还用于对第二隐私交集求和计算输入数据处理,包括:
132.用于生成所述混淆元、将所述混淆元集合发送给所述第一方系统;
133.用于从混淆元集合中随机得到混淆元子集,并通过所述混淆元子集对所述第二意思数据集进行数据混淆;
134.用于对经过数据混淆的第二隐私数据集中的所有关联值进行数据变换处理;
135.用于生成所述第二哑元,将所述第二哑元填充到经过数据混淆和数据变换处理的第二隐私数据集中,形成所述第二处理后隐私数据集;
136.所述第一系统模块还用于对第一隐私数据集求和计算输入数据处理,包括:
137.用于接收所述第二方系统发送的所述混淆元集合,并通过所述混淆元集合对所述
第一隐私数据集进行数据混淆;
138.用于生成第一哑元,将所述第一哑元填充到经过数据混淆的第一隐私数据集中,形成所述第一处理后隐私数据集。
139.优选地,所述第二系统模块还用于所述第二隐私交集求和计算输入数据处理中的数据变换处理,包括:
140.用于数据变换处理时对所述关联值中的负整数转化为非负整数。
141.优选地,所述第二系统模块和所述第一系统模块还用于所述第二隐私交集求和协议执行,包括:
142.所述第二系统模块用于第二方系统根据所述经过预处理的第二输入数据生成同态加密密钥对,将所述密钥对中的公钥发送给所述第一方系统;
143.所述第一系统模块用于从所述第一处理后隐私数据集中检索第一uid,并对所述第一uid依次进行盲化处理及置乱处理,得到一次处理第一uid,之后将所述依次处理第一uid发送给所述第二方系统;
144.所述第二系统模块用于从所述第二处理后隐私数据集中检索第二uid,并对所述第二uid依次进行盲化处理及置乱处理,得到处理后第二uid;
145.所述第二系统模块用于从所述第二处理后隐私数据集中检索所述含有恢复值的关联值,并对所述含有恢复值的关联值依次进行同态加密处理和置乱处理,得到含有恢复值的加密关联值;
146.所述第二系统模块用于对所述恢复值进行同态加密处理,得到加密恢复值;
147.所述第二系统模块用于将所述处理后第二uid、所述含有恢复值的加密关联值、以及所述加密恢复值发送给所述第一方系统;
148.所述第一系统模块用于对所述二次处理第一uid和所述处理后第二uid进行匹配,并将匹配成功的uid所对应的含有回复竹子的加密关联值和加密恢复值分别进行加密求和,得到含有恢复值的关联值加密求和值、以及恢复值加密求和值;
149.所述第一系统模块用于将所述含有恢复值的关联值加密求和值及恢复值加密求和值发送给所述第二方系统。
150.如图5所示为一个具体实施例的执行流程图,以下这个具体实施例对本发明实施例上述技术方案进行详细说明:
151.1.p1和p2:g为素数阶群,为标识符空间,哈希函数h为随机预言机,将u中的元素映射为g中的随机元素,其中p1表示第一方系统,p2表示第二方系统。
152.p1:集合其中
153.p2:集合其中ti∈z,z表示整数集合,wi表示标识符,ti表示关联值;
154.2.p1和p2分别在素数阶群g中选择1个随机私有指数,分别记为k1和k2;
155.3.p2生成密钥对(pk,sk)《-agen(λ),用作加法同态加密模式,并将公钥pk发给p1;其中agen为密钥生成模块,sk表示私钥;
156.4.p2随机生成m
′2个混淆元对,形成混淆元集其中m
′2为偶数,
wk∈u,ti∈z,wk表示混淆元集中的标识符,tk表示混淆元集中的关联值,且wc中任一元素(wk,tk),必定存在逆元(wd,-tk)∈wc,wd表示区别于wk的wc中的标识符;其中生成混淆元的方法如下:
157.1)随机生成其中为标识符空间;
158.2)随机生成整数tk,(wk,tk)即为混淆元;
159.3)同生成wk的方法随机生成wd,(wd,-tk)即为生成混淆元的逆元;
160.4)混淆元和混淆元逆元一起构成混淆元集合。
161.其中所述随机生成可由多种方法实现,比如可以采用线性同余法。
162.5.p2从wc中随机挑选m
″2个元素组成混淆元集合子集与原有集合w合并,生成新集合w

=w∪w
′c,其中m
″2为偶数,且w
′c中任一元素(wk,tk),必定存在逆元(wd,-tk)∈w
′c;
163.6.p2将发送给p1;
164.7.p1将收到的与原有集合v合并生成新集合
165.8.p2遍历w

中所有ti,求取其最小值t
min
,t
min
也称为恢复值;
166.9.如果t
min
《0,则p2将w

中所有元素的整数关联值加上-t
min
,得到
[0167][0168]
如果t
min
≥0,则则p2将w

中所有元素的整数关联值加上0;
[0169]
10.p1随机生成r1个哑元,并填充到集合v

中,每个哑元包含一个随机生成的标识;其中生成第一哑元的方法如下:随机生成其中为标识符空间,即为第一哑元,所述随机生成可由多种方法实现,比如可以采用线性同余法。
[0170]
11.p2随机生成r2个哑元,并填充到集合w

中,每个哑元包含一个随机生成的标识和一个随机生成的关联值,其中关联值为正整数;其中生成第二哑元的方法如下:
[0171]
a)随机生成其中为标识符空间;
[0172]
b)随机生成整数t
k;
[0173]
c)(dk,tk)即为第二哑元
[0174]
所述随机生成可由多种方法实现,比如可以采用线性同余法。
[0175]
13.对于p1集合v

中的每个元素vi,用hash函数计算其hash值后用k1计算其指数值,也即计算此过程称为对vi的盲化;
[0176]
14.p1将置乱后发给p2,m1表示v集合中数据个数,m
′2表示混淆元集红数据个数,r1表示p1中的哑元个数;
[0177]
15.p2对集合中的每个元素,用k2计算其指数值,也即计算
[0178]
16.p2将置乱后发给p1;
[0179]
17.对于p2集合w

中的每一个元素(wj,tj),w

表示原数据集加入了混淆元子集后的集合,wj是w

中的标识符,tj是w

中的关联值,针对wj和tj分别进行如下操作:
[0180]
171.对wj用hash函数计算其hash值,并用k2计算其指数值,也即计算
[0181]
172.对tj将公钥pk作为加法同态加密密钥,进行同态加密计算aenc(tj)。其中aenc为同态加密算法的加密模块。
[0182]
18.将集合置乱后发给p1,m2表示w集合中数据个数,m
″2表示混淆元子集中数据个数,r2表示p2中的哑元;
[0183]
19.将-t
min
用公钥pk加密后的密文aenc(-t
min
)发给p1;
[0184]
20.p1对于收到的集合中每个元素将第1个数值用k1计算其指数值,也即计算
[0185]
21.p1计算交集:
[0186]
22.对于交集j中的所有关联值sj,p1将密文同态相加
[0187][0188]
同时p1对交集j中的所有恢复值smin进行密文同态相加
[0189][0190]
然后p1将密文aenc(pk,sj)和aenc(pk,s
min
)发送给p2;
[0191]
23.p2将收到的密文aenc(pk,sj)用私钥sk解密,可恢复出s
′j;
[0192]
24.p2将收到的密文aenc(pk,s
min
)用私钥sk解密,可恢复出s

min

[0193]
25.最终隐私交集求和结果为s=s

j-s

min

[0194]
所述加法同态加密算法,包括:生成公钥密钥、加密、解密。
[0195]
生成公钥密钥:
[0196]
随机选取大素数p,q,计算n=pq,λ=lcm(p-1,q-1
[0197]
令函数x为函数自变量,随机选择满足gcd(l(g
λ
modn2),n=1则(g,n)为公钥,λ为私钥。
[0198]
加密:
[0199]
对于消息m∈zn,zn表示大于0小于n的正整数集合,任意选择随机数z
*n
指n的剩余系,所谓“剩余系”,就是指对于某一个特定的正整数n,一个整数集中的数模n所得的余数域,加密得到密文c=aenc(m为
[0200]
c=g
mrn
modn2[0201]
其中aenc为加密模块。
[0202]
解密:
[0203]
对于密文解密可得到明文m=adec(c)为
[0204][0205]
其中adec为解密模块。
[0206]
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
[0207]
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
[0208]
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本技术公开的原理和新颖性特征的最广范围相一致。
[0209]
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
[0210]
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
[0211]
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(asic),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
[0212]
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软
件模块、或者这两者的结合。软件模块可以存储于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动磁盘、cd-rom或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于asic中,asic可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
[0213]
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于ram、rom、eeprom、cd-rom或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、dvd、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
[0214]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1