【技术实现步骤摘要】
安全多方乘法运算方法及系统
[0001]本专利技术涉及分布式联合计算
,尤其涉及一种安全多方乘法运算方法及系统。
技术介绍
[0002]安全多方计算MPC(Multy-party computation)是一种重要的密码技术,该技术可以在多个互不信任的参与方之间,在不透露各方隐私数据的情况下进行分布式联合计算,最终各方可拥有约定计算的函数的明文结果。随着大数据和人工智能的发展,如何在保护数据隐私的前提下,实现多个网络节点间数据的高效利用和协同计算,成为研究的热点问题。影响安全多方计算效率的主要是多个参与方之间计算共享乘法时的开销。
[0003]目前最新的高吞吐的安全多方计算技术只涉及3-方或4-方共享计算场景,针对n-方参与场景都是基于用户-云服务器模型,假设n个数据拥有者将数据进行3-方或者4-方共享后上传至3或4个云服务器进行处理,这种方案在一些现实应用中不具有实用性。因为在现实中,各种权威机构现实的要求是基于各自本地的服务器,通过安全交互来进行计算,这样各方可以安全、公平地实现联合计算,我们称这类场景为安全n-方计算场景。例如,在医疗领域多家医院希望在不泄漏用户隐私的条件下联合训练医疗影像诊断模型,在银行领域多家银行希望共同联合训练用户信用模型。然而医疗数据和银行个人信用数据由于法规和责任规避等问题不可能共享至公共云服务器,只能存储在各机构的本地服务器中。
[0004]然而现有的解决方案在进行乘法计算时,由于需要各方进行交互计算交叉项,n-方之间会进行多轮交互,每轮交互都会产生大量的通信,
【技术保护点】
【技术特征摘要】
1.一种安全多方乘法运算方法,其特征在于,包括:步骤S1、确定乘法共享参与方的数量,将共享分量的通信和计算过程抽象为共享二分图;设有大于或等于4的n个参与方P1,P2…
P
n
共同计算z=xy,将x、y进行n方共享,,P
i
拥有(x
i
,y
i
);共享x
i
构成集合A={x
i
},共享y
i
构成集合B={y
i
},i=1
…
n,将A和B作为图G中的顶点集合;将每一个求和分量x
i
y
j
作为图G中集合A中的顶点与集合B中的顶点连接对应的边(x
i
,y
j
),i,j=1
…
n;数据共享二分图G=(V,{E}),其中,E={(x
i
,y
j
)},边(x
i
,y
j
)对应的权值为x
i
y
j
,V={A∪B},对所有的边对应的权值进行求和得到:z=xy=(x1+x2+
…
+x
n
)(y1+y2+
…
+y
n
)=∑
i,j
x
i
y
j
;步骤S2、对所述数据共享二分图进行n等份划分;对所述共享二分图中的边划分为n个互不相交的集合{E1,E2,
…
,E
n
};具体包括:将共享二分图的划分使用邻接矩阵H[i][j]表示,矩阵的横向由共享二分图G中集合A中的顶点组成,纵向由集合B中的顶点组成,矩阵中的每一个元素表示集合A中的顶点到集合B中的顶点的边;矩阵中的每一个值表示边(x
i
,y
j
)被划分到哪一个参与方;所述邻接矩阵的生成包括下述两种情况:情况一、当n为大于4的奇数时:Step1:初始化一个n
×
n的矩阵H为全0;Step2:将从H[k][k]开始的第k行和第k列连续的个元素赋值为k,k从1开始,到结束;Step3:按k从小到大的顺序,依次将矩阵H中第k行和第k列中等于0的元素赋值为k,k从开始,到n结束;情况二、当n为大于或等于4的偶数时:Step1:初始化...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。