安全多方乘法运算方法及系统技术方案

技术编号:27419136 阅读:31 留言:0更新日期:2021-02-21 14:36
本发明专利技术涉及分布式联合计算技术领域,公开一种安全多方乘法运算方法及系统,以通过一轮最优的通信来实现重复共享。本发明专利技术方法包括:基于数据共享二分图划分的乘法共享分量计算协议,通过对进行乘法计算的数据共享进行二分图建模,并用邻接矩阵表示乘法结果共享分量的划分,使得n个参与方只需一轮通信就可在本地计算乘法共享分量。计算乘法共享分量。计算乘法共享分量。

【技术实现步骤摘要】
安全多方乘法运算方法及系统


[0001]本专利技术涉及分布式联合计算
,尤其涉及一种安全多方乘法运算方法及系统。

技术介绍

[0002]安全多方计算MPC(Multy-party computation)是一种重要的密码技术,该技术可以在多个互不信任的参与方之间,在不透露各方隐私数据的情况下进行分布式联合计算,最终各方可拥有约定计算的函数的明文结果。随着大数据和人工智能的发展,如何在保护数据隐私的前提下,实现多个网络节点间数据的高效利用和协同计算,成为研究的热点问题。影响安全多方计算效率的主要是多个参与方之间计算共享乘法时的开销。
[0003]目前最新的高吞吐的安全多方计算技术只涉及3-方或4-方共享计算场景,针对n-方参与场景都是基于用户-云服务器模型,假设n个数据拥有者将数据进行3-方或者4-方共享后上传至3或4个云服务器进行处理,这种方案在一些现实应用中不具有实用性。因为在现实中,各种权威机构现实的要求是基于各自本地的服务器,通过安全交互来进行计算,这样各方可以安全、公平地实现联合计算,我们称这类场景为安全n-方计算场景。例如,在医疗领域多家医院希望在不泄漏用户隐私的条件下联合训练医疗影像诊断模型,在银行领域多家银行希望共同联合训练用户信用模型。然而医疗数据和银行个人信用数据由于法规和责任规避等问题不可能共享至公共云服务器,只能存储在各机构的本地服务器中。
[0004]然而现有的解决方案在进行乘法计算时,由于需要各方进行交互计算交叉项,n-方之间会进行多轮交互,每轮交互都会产生大量的通信,使得方案效率不高,这也是当前安全n-方计算场景的瓶颈所在。

技术实现思路

[0005]本专利技术目的在于公开一种安全多方乘法运算方法及系统,以通过一轮最优的通信来实现重复共享。
[0006]为达上述目的,本专利技术公开一种安全多方乘法运算方法,包括:
[0007]步骤S1、确定乘法共享参与方的数量,将共享分量的通信和计算过程抽象为共享二分图;
[0008]设有大于或等于4的n个参与方P1,P2…
P
n
共同计算z=xy,将x、y进行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},对所有的边对应的权值进行求和得到:
[0009][0010]步骤S2、对所述数据共享二分图进行n等份划分;对所述共享二分图中的边划分为
n个互不相交的集合{E1,E2,

,E
n
};具体包括:
[0011]将共享二分图的划分使用邻接矩阵H[i][j]表示,矩阵的横向由共享二分图G中集合A中的顶点组成,纵向由集合B中的顶点组成,矩阵中的每一个元素表示集合A中的顶点到集合B中的顶点的边;矩阵中的每一个值表示边(x
i
,y
j
)被划分到哪一个参与方;所述邻接矩阵的生成包括下述两种情况:
[0012]情况一、当n为大于4的奇数时:
[0013]Step1:初始化一个n
×
n的矩阵H为全0;
[0014]Step2:将从H[k][k]开始的第k行和第k列连续的个元素赋值为k,k从1开始,到结束;
[0015]Step3:按k从小到大的顺序,依次将矩阵H中第k行和第k列中等于0的元素赋值为k,k从开始,到n结束;
[0016]情况二、当n为大于或等于4的偶数时:
[0017]Step1:初始化一个n
×
n的矩阵H为全0;
[0018]Step2:将从H[k][k]开始的第k行和第k列连续的个元素赋值为k,k从1开始,到结束;
[0019]Step3:按k从小到大的顺序,依次将H中第k行和第k列中等于0的元素赋值为k,k从开始,到n结束;
[0020]其中,所生成的邻接矩阵中,值相同的点和边组合成子图,E
i
对应的顶点集合为V
i
,则划分的子图为G
i
=(V
i
,{E
i
});
[0021]步骤S3、各所述参与方根据所述邻接矩阵进行一轮通信,且P
j
在向P
i
发送数据时,同时将x
j
、y
j
发送到P
i
,使得每个参与方P
i
拥有子图G
i
中的顶点集合V
i
对应的所有共享分量值;
[0022]步骤S4、各参与方分别计算乘积z=xy的共享分量值z
i
,通过所有参与方共享分量的累加恢复z=xy的乘法结果;具体包括:
[0023]P
i
接收到P
j
发送来的共享分量(x
j
,y
j
)后,P
j
∈V
i
,乘法共享分量值的计算公式为:
[0024][0025]优选地,所述n大于或等于5。
[0026]当n=5时,所述邻接矩阵为:
[0027][0028]当n=6时,所述邻接矩阵为:
[0029][0030]为达上述目的,本专利技术还公开一种安全多方乘法运算系统,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0031]本专利技术具有以下有益效果:
[0032]基于本专利技术的邻接矩阵,满足以下约束:
[0033]E1∪E2∪

∪E
n
=E
[0034]即:所有的子图可以构成原二分图,也就是说每个参与方按照划分计算乘法共享后,所有共享的和就是乘法的结果;且同时满足:
[0035][0036]即:每个子图是独立的,没有共同的边,也就是没有一个乘法分量被重复计算;且同时满足:
[0037][0038]即:平均每个子图的边的数量为n,表示每个参与方计算的分量是基本均等的;且同时还满足:
[0039][0040]即:每个子图中的顶点是最少的,所有V
i...

【技术保护点】

【技术特征摘要】
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:初始化...

【专利技术属性】
技术研发人员:徐艺马敏耀刘卓
申请(专利权)人:贵州师范学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1