System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,尤其涉及一种多方乘法计算的执行方法及安全多方计算系统。
技术介绍
1、随着数字化浪潮蓬勃兴起,数据作为基础战略资源和关键生产要素的地位日益凸显。然而,在人工智能、物联网、移动互联网和云计算等新兴技术的驱动下,数据的流通与变现使得数据更容易脱离控制,并出现非法滥用的情况,数据安全问题日益凸显。
2、为了解决数据的隐私安全问题,同时发挥数据流动和数据增值的能力,一系列对数据进行隐私计算的技术被提出,如安全多方计算(secure multi-party computation,smpc)。目前,现有技术中的基于smpc的计算系统对数据进行隐私计算的过程中计算量大,计算资源的占用数量较大,并且多个数据计算的参与方需要进行多次数据再共享(re-sharing),导致数据传输效率低,进而降低了数据的计算效率。
技术实现思路
1、本申请实施例提供了一种多方乘法计算的执行方法及安全多方计算系统,能够降低对数据隐私计算过程中的计算量,从而提高数据的计算效率。
2、第一方面,本申请实施例提供了一种多方乘法计算的执行方法,应用于安全多方计算系统,系统包括互相通信的控制节点和四个计算节点,方法包括:
3、控制节点分别向四个计算节点发送数据分片组合,数据分片组合包括第一数据分片和第二数据分片,其中,四个计算节点包括两组计算节点对,每组计算节点对中每个计算节点对应的第一数据分片不同,第二数据分片不同,不同计算节点对中的计算节点对应的第一数据分片相同或第二数据
4、四个计算节点中的每个计算节点协同进行数据处理,从而得到第一隐私数据和第二隐私数据的乘积,其中,每个计算节点协同进行数据处理包括:
5、对第一数据分片和第二数据分片进行乘法运算,得到第一数据;
6、向目标计算节点发送第一数据;
7、目标计算节点根据四个计算节点发送的第一数据,确定第一隐私数据和第二隐私数据的乘积。
8、本申请实施例通过将第一隐私数据进行二分片,得到两个第一数据分片;将第二隐私数据进行二分片得到两个第二数据分片。将两个第一数据分片和两个第二数据分片进行两两组合,得到四个数据分片组合。四个计算节点中能够组成两组计算节点对,其中,计算节点对中的两个计算节点所持有的第一数据分片不同,第二数据分片不同。不同的计算节点对中的两个计算节点所持有的第一数据分片相同或第二数据分片相同。计算节点根据自身所持有的数据分片组合,计算两个数据分片的乘积。计算节点将两个数据分片的乘积发送至目标计算节点,从而得到第一隐私数据和第二隐私数据的乘积。如此,保证各个参与计算的计算节点在对第一隐私数据和第二隐私数据未知的情况下,即可协同计算得到第一隐私数据和第二因私事数据的乘积。同时,该方法在计算的过程中仅对隐私数据进行二分片,从而每个计算节点仅需要在本地进行一轮计算,解决了现有技术中对隐私数据进行三分片导致计算量增加,导致占用大量计算资源的问题以及数据处理效率低的问题,在保证数据隐私性的基础上,实现了减少计算量,提高数据处理的效率。
9、在一种可能的实现方式中,该方法还包括:
10、对第一数据分片和第二数据分片进行加密运算,得到加密数据,加密数据在计算节点对中的每个计算节点之间共享;
11、根据共享的加密数据和本地计算的加密数据,确定结果分片,四个计算节点共享的结果分片用于作为下一层级多方乘法计算过程中的第一数据分片或第二数据分片。
12、如此,计算节点之间仅需要一轮数据再共享,整体上降低通信资源的占用,提高数据的传输效率。
13、在一种可能的实现方式中,该方法还包括:
14、控制节点分别将第一隐私数据和第二隐私数据分片分为两片数据分片。
15、如此,每个计算节点最多持有两个数据分片,使得四个计算节点执行多方乘法的过程中,仅需要一轮本地计算,减少了计算量,提高了数据处理效率。
16、在一种可能的实现方式中,每个计算节点持有随机数,四个计算节点各自持有的随机数之和为零,对第一数据分片和第二数据分片进行加密运算,得到加密数据,包括:
17、计算第一数据分片和第二数据分片的乘积,得到计算结果;
18、通过随机数对计算结果进行加密,得到加密数据。
19、如此,在数据再共享的过程中,能够保证数据的隐私性,提高了数据在共享过程中的安全性。
20、在一种可能的实现方式中,该方法还包括:
21、控制节点生成四个随机数,并将四个随机数分发给四个计算节点。
22、在一种可能的实现方式中,每个计算节点持有k组隐私数据组合,k为正整数,每组隐私数据组合包括成对的第一隐私数据和第二隐私数据,对第一数据分片和第二数据分片进行乘法运算,得到第一数据,包括:
23、对每组隐私数据组合对应的第一数据分片和第二数据分片进行乘法计算,得到k个第二数据;
24、向目标计算节点发送第一数据,包括:
25、对k个第二数据求和,得到第一数据;
26、向目标计算节点发送第一数据。
27、在一种可能的实现方式中,第一隐私数据或第二隐私数据为计算模型。
28、在一种可能的实现方式中,计算模型包括神经网络模型或神经网络模型中的参数。
29、在一种可能的实现方式中,四个计算节点包括目标计算节点。
30、第二方面,本申请实施例提供了一种安全多方计算系统,系统包括互相通信的控制节点和四个计算节点,系统用于执行如第一方面提供的方法。
31、在在一种可能的实现方式中,四个计算节点位于至少一个计算设备中。
32、第三方面,本申请实施例提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;
33、至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行如第一方面提供的方法。
34、第四方面,本申请实施例提供了一种包含指令的计算机程序产品,其特征在于,当指令被计算设备集群运行时,使得计算设备集群执行如第一方面提供的方法。。
35、第五方面,本申请实施例提供了一种计算机可读存储介质,包括计算机程序指令,当计算机程序指令由计算设备集群执行时,计算设备集群执行如第一方面提供的方法。
本文档来自技高网...【技术保护点】
1.一种多方乘法计算的执行方法,其特征在于,应用于安全多方计算系统,所述系统包括互相通信的控制节点和四个计算节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述每个计算节点持有随机数,所述四个计算节点各自持有的随机数之和为零,所述对所述第一数据分片和所述第二数据分片进行加密运算,得到加密数据,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,每个计算节点持有k组隐私数据组合,k为正整数,每组所述隐私数据组合包括成对的第一隐私数据和第二隐私数据,所述对所述第一数据分片和所述第二数据分片进行乘法运算,得到第一数据,包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一隐私数据或所述第二隐私数据为计算模型。
8.根据权利要求7所述的方法,其特征在于,所述计算模型包括神经网络模型或所述神经网络模型中
9.根据权利要求1-6任一项所述的方法,其特征在于,所述四个计算节点包括所述目标计算节点。
10.一种安全多方计算系统,其特征在于,所述系统包括互相通信的控制节点和四个计算节点,所述系统用于执行如权利要求1-9任一项所述的方法。
11.根据权利要求10所述的系统,其特征在于,所述四个计算节点位于至少一个计算设备中。
12.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
13.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1-9任一所述的方法。。
14.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1-9任一所述的方法。
...【技术特征摘要】
1.一种多方乘法计算的执行方法,其特征在于,应用于安全多方计算系统,所述系统包括互相通信的控制节点和四个计算节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述每个计算节点持有随机数,所述四个计算节点各自持有的随机数之和为零,所述对所述第一数据分片和所述第二数据分片进行加密运算,得到加密数据,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,每个计算节点持有k组隐私数据组合,k为正整数,每组所述隐私数据组合包括成对的第一隐私数据和第二隐私数据,所述对所述第一数据分片和所述第二数据分片进行乘法运算,得到第一数据,包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述第一隐私数据或所述第二隐私数据为计算模型。<...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。