System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于隐私计算,具体涉及一种基于数据联邦的安全多方计算方法及系统。
技术介绍
1、随着数据的不断增长和多样化,传统的集中式数据处理和分析方法存在着数据隐私泄露、数据壁垒、计算效率低下等问题。为了解决这些问题,数据联邦和安全多方计算方法应运而生。数据联邦是一种分布式计算方法,它允许不同组织或个人共享数据,同时保持数据的隐私性和安全性。安全多方计算是一种能够在多个参与方之间进行计算和决策的方法,而不需要直接共享原始数据。参与方之间可以共同完成复杂的计算任务,并获得计算结果,而不需要暴露私密数据。
2、因此,本专利技术提出一种基于数据联邦的安全多方计算方法及系统,在不泄露各数据拥有方本地数据的前提下,利用多种安全多方算子对各方数据,通过多种运算进行连接,得到各方联合的连接查询结果。
技术实现思路
1、本专利技术基于上述背景和现有技术所存在的问题,本专利技术采用了如下技术方案:第一方面,提供了一种基于数据联邦的安全多方计算方法,其能够通过安全多方计算利用多方数据并在保护隐私的前提下高效、准确地完成各种复杂计算任务。
2、一种基于数据联邦的安全多方计算方法,包括如下步骤:
3、判定数据拥有方是否持有查询条件相关的数据表,若持有,则在本地对数据表进行连接操作,并将结果发送给中心服务器,其中,每个数据拥有方都持有一个本地数据库,本地数据库中包含多张数据表;
4、根据查询条件映射至多个数据拥有方之间的数据表,进而对查询条件涉及相关的数据表进行
5、所述将查询条件涉及相关的数据表按照连接条件通过安全多方算子得到安全多方结果,进而进行列值比较并通过基于排序合并算法进行优化,得到符合连接条件的列值集合;
6、从列值集合中取出列值在数据表中对应的符合连接条件的行值,基于列值集合及行值集合得到符合连接条件的元组集合;
7、基于元组集合,中心服务器进行汇总并通过连接条件进行拼接得到连接结果,并将拼接结果发送至各数据拥有方。
8、作为一种可实施方式,所述安全多方算子至少包括安全多方加法算子、安全多方乘法算子及安全多方比较算子中的一种及多种。
9、作为一种可实施方式,当安全多方加法算子时,则将查询条件涉及相关的数据表按照连接条件通过安全多方算子得到安全多方结果,包括如下步骤:
10、通过随机生成互不相同的元素得到随机元素集合,表示如下:
11、x=x1,x2,...,xn
12、数据拥有方在本地随机生成多项式pi(x),表示如下:
13、
14、其中,pi(x)表示多项式,μik表示多项式中的系数,βi表示多项式的常数项即数据拥有方持有的数值,xn表示随机元素,n表示随机元素的个数;
15、在生成多项式后,各数据拥有方将随机元素代入多项式中,得到秘密数据;
16、数据拥有方将秘密数据进行保存,并发送至其他数据拥有方;
17、当数据拥有方获取到其他数据拥有方发送的所有秘密数据后,数据拥有方对秘密数据进行累加得到累加秘密数据;
18、基于累加秘密数据得到秘密数据多项式,结合随机元素集合及累加秘密数据多项式,得到安全多方加法结果。
19、作为一种可实施方式,当为安全多方乘法算子,则将查询条件涉及相关的数据表按照连接条件通过安全多方算子得到安全多方结果,包括如下步骤:
20、通过随机生成互不相同的元素得到随机元素集合,表示如下:
21、x=x1,x2,...,xn
22、数据拥有方在本地随机生成多项式,表示如下:
23、
24、其中,pi(x)表示多项式,μik表示多项式中的系数,βi表示多项式的常数项即数据拥有方持有的数值,xn表示随机元素,n表示随机元素的个数;
25、在生成多项式后,各数据拥有方将随机元素代入多项式中,得到秘密数据;
26、数据拥有方将秘密数据进行保存,并发送至其他数据拥有方;
27、当数据拥有方获取到其他数据拥有方发送的所有秘密数据后,数据拥有方对秘密数据进行累乘得到累乘秘密数据;
28、基于累乘秘密数据得到秘密数据多项式,结合随机元素集合及累乘秘密数据多项式,得到安全多方乘法结果。
29、作为一种可实施方式,当为安全多方比较算子时,则将查询条件涉及相关的数据表按照连接条件通过安全多方算子得到安全多方结果,包括如下步骤:
30、通过随机生成互不相同的元素得到随机元素集合,表示如下:
31、x=x1,x2,...,xn
32、数据拥有方将所拥有数据进行拆分,同时数据拥有方通过随机生成正数并拆分,得到秘密数据;
33、数据拥有方si将其本地所持有的pa(xi)和p-b(xi)相加得到σa-b(xi),并将pt(xi)与pk(xi)相加得到σt+k(xi);
34、秘密[[σa-b]]和[[σt+k]]通过安全多方乘法算子计算得到res=(βa-βb)·(pt+pk)的值;
35、根据res与βa-βb的正负性比较出βa与βb的大小,其中,res的正负性与βa-βb的正负性相同。
36、作为一种可实施方式,还包括以下步骤:
37、通过多项式插值法得到安全多方乘法结果,具体为:使用已知数据点(xi,σ(xi))确定多项式系数,根据多项式系数确定多项式,通过已知数据点的xi值计算相应的插值结果。
38、作为一种可实施方式,所述通过基于排序合并算法进行优化,包括如下步骤:
39、各数据拥有方在本地明文执行排序,得到多个排序表;
40、根据查询条件,将对应的排序表分为第一排序表及第二排序表;
41、对指针和结果集合进行初始化,将指针先指向第一排序表和第二排序表列值的首项,将结果集合初始化为空集;
42、通过调用安全多方算子,计算左右指针指向的元素是否符合连接条件;
43、若符合条件,则将对应列值加入结果集合中,然后将左指针下移一位,继续进行后续比较;
44、若不符合条件,则右指针移动,继续比较,直到指针遍历完第一排序表及第二排序表。
45、一种基于数据联邦的安全多方计算系统,包括本地运算模块、安全多方计算模块及输出模块:
46、所述本地运算模块,判定数据拥有方是否持有查询条件相关的数据表,若持有,则在本地对数据表进行连接操作,并将结果发送给中心服务器,其中,每个数据拥有方都持有一个本地数据库,本地数据库中包含多张数据表;
47、所述安全多方计算模块,根据查询条件映射至多个数据拥有方之间的数据表,进而对查询条件涉及相关的数据表进行连接操作;
48、所述将查询条件涉及相关的数据表按照连接条件通过安全多方算子得到安全多方结果,进而进行列值比较并通过基于排序合并算法进行优化,得到本文档来自技高网...
【技术保护点】
1.一种基于数据联邦的安全多方计算方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于数据联邦的安全多方计算方法,其特征在于,所述安全多方算子至少包括安全多方加法算子、安全多方乘法算子及安全多方比较算子中的一种及多种。
3.根据权利要求2所述的基于数据联邦的安全多方计算方法,其特征在于,当安全多方加法算子时,则将查询条件涉及相关的数据表按照连接条件通过安全多方算子得到安全多方结果,包括如下步骤:
4.根据权利要求2所述的基于数据联邦的安全多方计算方法,其特征在于,当为安全多方乘法算子,则将查询条件涉及相关的数据表按照连接条件通过安全多方算子得到安全多方结果,包括如下步骤:
5.根据权利要求2所述的基于数据联邦的安全多方计算方法,其特征在于,当为安全多方比较算子时,则将查询条件涉及相关的数据表按照连接条件通过安全多方算子得到安全多方结果,包括如下步骤:
6.根据权利要求3或4所述的基于数据联邦的安全多方计算方法,其特征在于,还包括以下步骤:
7.根据权利要求1所述的基于数据联邦的安全多方计算方法,其特
8.一种基于数据联邦的安全多方计算系统,其特征在于,包括本地运算模块、安全多方计算模块及输出模块:
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的方法。
10.一种基于数据联邦的安全多方计算装置,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任意一项所述的方法。
...【技术特征摘要】
1.一种基于数据联邦的安全多方计算方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于数据联邦的安全多方计算方法,其特征在于,所述安全多方算子至少包括安全多方加法算子、安全多方乘法算子及安全多方比较算子中的一种及多种。
3.根据权利要求2所述的基于数据联邦的安全多方计算方法,其特征在于,当安全多方加法算子时,则将查询条件涉及相关的数据表按照连接条件通过安全多方算子得到安全多方结果,包括如下步骤:
4.根据权利要求2所述的基于数据联邦的安全多方计算方法,其特征在于,当为安全多方乘法算子,则将查询条件涉及相关的数据表按照连接条件通过安全多方算子得到安全多方结果,包括如下步骤:
5.根据权利要求2所述的基于数据联邦的安全多方计算方法,其特征在于,当为安全多方比较算子时,则将查询条件涉及相关的数据表按照连接条...
【专利技术属性】
技术研发人员:黄步添,李琳,沈玮,韩蒙,毛澄宇,龙承念,
申请(专利权)人:杭州云象网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。