一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多方安全计算方法、装置及电子设备与流程

2021-10-24 11:30:00 来源:中国专利 TAG:多方 电子设备 计算方法 装置 计算


1.本技术涉及多方安全计算技术领域,尤其涉及一种多方安全计算方法、装置及电子设备。


背景技术:

2.ss

mpc(secret sharing
‑ꢀ
multi

party secure computation,秘密共享

多方安全计算)是目前常见的多方安全计算方案。原因在于相较于其他隐私计算方案,ss

mpc具备一些实用性优势,如:相较于gc(garbled circuits,混淆电路)的多方安全计算方案,ss

mpc具有通信低的优势;相较于he(homomorphic encryption,同态加密),ss

mpc具备计算复杂度低的优势;而tee(trusted execution environment,可信执行环境)一般空间较小,计算能力较弱,无法应对大规模计算任务。
3.目前,在采用ss

mpc方案进行多方安全计算的一般流程中,由数据提供方将数据以秘密分享因子的形式,交由计算节点(或者其他数据提供方),其他数据提供方或者计算节点,基于秘密分享因子执行相应的计算协议,完成多方安全计算。
4.在这样的秘密分享方案中,如果超过一定阈值数量的计算节点发生共谋,则他们基于各自所持有秘密分享因子可以恢复原始数据,从而造成原始数据泄漏,特别在计算节点集中式管理的场景,更容易造成数据提供方的担忧。


技术实现要素:

5.本技术实施例提供一种多方安全计算方法、装置及电子设备,用以解决现有技术中存在的基于秘密共享进行多方安全计算时容易造成原始数据泄漏的问题。
6.本技术实施例提供一种多方安全计算方法,应用于参与多方安全计算的多个数据提供方设备中的数据提供方设备,包括:与其他各数据提供方设备协同,从待计算任务中选取初始计算子任务;与其他各数据提供方设备协同生成表示所述初始计算子任务的计算规则;基于所述计算规则,与其他各数据提供方设备协同生成组成所述计算规则的n个计算子规则,n为参与多方安全计算的多个计算节点的数量;与其他各数据提供方设备协同,将所述n个计算子规则分别发送给n个计算节点,其中每个计算节点接收到一个计算子规则;按照隐私计算方案,向所述n个计算节点发送针对持有的原始数据的处理后数据,使得所述n个计算节点按照各自接收的计算子规则,对所述多个数据提供方设备发送的所述处理后数据进行计算,得到各自接收的计算子规则的计算子结果,以及使得所述n个计算节点使用得到的n个计算子结果,对所述待计算任务继续进行多方安全计算。
7.进一步的,所述基于所述计算规则,与其他各数据提供方设备协同生成组成所述计算规则的n个计算子规则,包括:与其他各数据提供方设备协同,由自身生成组成所述计算规则的n个计算子规则;
或者与其他各数据提供方设备协同,生成组成所述计算规则的n个计算子规则中的m个计算子规则,m为大于0且小于n的整数,所述n个计算子规则中的其他计算子规则由其他各数据提供方设备生成;或者与其他各数据提供方设备协同,由其他各数据提供方设备生成组成所述计算规则的n个计算子规则。
8.进一步的,所述按照隐私计算方案,向所述n个计算节点发送针对持有的原始数据的处理后数据,包括:采用同态加密方案,使用同态加密公钥对持有的原始数据进行同态加密,得到同态密文数据;向所述n个计算节点发送所述同态密文数据;或者采用可信执行环境tee方案,分别使用所述n个计算节点的tee密钥,对持有的原始数据进行加密,得到tee密文数据;分别向所述n个计算节点的tee发送对应的所述tee密文数据;或者采用混淆电路方案,按照n个计算子规则分别制作混淆电路;分别按照每个混淆电路,向对应的计算节点发送持有的原始数据对应的输入标识。
9.本技术实施例还提供一种多方安全计算方法,应用于参与多方安全计算的多个计算节点中的计算节点,所述多个计算节点的数量为n,所述方法,包括:接收多个数据提供方设备协同发送的n个计算子规则中的一个计算子规则,其他n

1个计算子规则被发送给其他n

1个计算节点,其中,每个计算节点接收到一个计算子规则,所述n个计算子规则组成计算规则,所述计算规则表示从待计算任务中选取出的初始计算子任务;按照隐私计算方案,接收所述多个数据提供方设备发送的原始数据的处理后数据;按照接收的计算子规则,对所述多个数据提供方设备发送的所述处理后数据进行计算,得到接收的计算子规则的计算子结果;与其他计算节点协同,使用得到的n个计算子结果,对所述待计算任务继续进行多方安全计算。
10.进一步的,所述按照隐私计算方案,接收所述多个数据提供方设备发送的原始数据的处理后数据,包括:采用同态加密方案,接收所述多个数据提供方设备发送的同态密文数据,每个数据提供方设备发送的所述同态密文数据,为该数据提供方设备使用同态加密公钥对持有的原始数据进行同态加密得到的;或者采用可信执行环境tee方案,由本计算节点的tee接收所述多个数据提供方设备发送的tee密文数据,每个数据提供方设备发送的所述tee密文数据,为该数据提供方设备使用本计算节点的tee密钥对持有的原始数据进行加密得到的;或者采用混淆电路方案,接收所述多个数据提供方设备发送的所持有的原始数据对应的输入标识,每个数据提供方设备发送的所述输入标识,为该数据提供方设备按照本计算节点对应的混淆电路发送的,本计算节点对应的混淆电路,为该数据提供方设备按照本计算节点接收的计算子规则制作的。
11.进一步的,所述按照接收的计算子规则,对所述多个数据提供方设备发送的所述处理后数据进行计算,得到接收的计算子规则的计算子结果,包括:当接收的所述处理后数据为所述同态密文数据时,按照接收的计算子规则,对所述多个数据提供方设备发送的所述同态密文数据进行计算,得到同态密文计算子结果;对所述同态密文计算子结果进行解密,得到接收的计算子规则的计算子结果;或者当接收的所述处理后数据为所述tee密文数据时,在本计算节点的tee内,对所述多个数据提供方设备发送的所述tee密文数据进行解密,得到对应的原始数据;在本计算节点的tee内,按照接收的计算子规则,对解密得到的原始数据进行计算,得到接收的计算子规则的计算子结果;或者当接收的所述处理后数据为所述输入标识时,基于所述多个数据提供方设备发送的所述输入标识,以及接收的计算子规则对应的混淆电路,计算出输出标识;使用所述输出标识向所述多个数据提供方设备进行查询,得到接收的计算子规则的计算子结果。
12.本技术实施例还提供一种多方安全计算装置,应用于参与多方安全计算的多个数据提供方设备中的数据提供方设备,包括:任务选取模块,用于与其他各数据提供方设备协同,从待计算任务中选取初始计算子任务;规则生成模块,用于与其他各数据提供方设备协同生成表示所述初始计算子任务的计算规则;子规则生成模块,用于基于所述计算规则,与其他各数据提供方设备协同生成组成所述计算规则的n个计算子规则,n为参与多方安全计算的多个计算节点的数量;子规则发送模块,用于与其他各数据提供方设备协同,将所述n个计算子规则分别发送给n个计算节点,其中每个计算节点接收到一个计算子规则;数据发送模块,用于按照隐私计算方案,向所述n个计算节点发送针对持有的原始数据的处理后数据,使得所述n个计算节点按照各自接收的计算子规则,对所述多个数据提供方设备发送的所述处理后数据进行计算,得到各自接收的计算子规则的计算子结果,以及使得所述n个计算节点使用分享到的n个计算子结果,对所述待计算任务继续进行多方安全计算。
13.进一步的,所述子规则生成模块,具体用于与其他各数据提供方设备协同,由自身生成组成所述计算规则的n个计算子规则;或者与其他各数据提供方设备协同,生成组成所述计算规则的n个计算子规则中的m个计算子规则,m为大于0且小于n的整数,所述n个计算子规则中的其他计算子规则由其他各数据提供方设备生成;或者与其他各数据提供方设备协同,由其他各数据提供方设备生成组成所述计算规则的n个计算子规则。
14.进一步的,所述数据发送模块,具体用于采用同态加密方案,使用同态加密公钥对持有的原始数据进行同态加密,得到同态密文数据;向所述n个计算节点发送所述同态密文数据;或者采用可信执行环境tee方案,分别使用所述n个计算节点的tee密钥,对持有的原始数据进行加密,得到tee密文数据;分别向所述n个计算节点的tee发送对应的所述tee密文
数据;或者,采用混淆电路方案,按照n个计算子规则分别制作混淆电路;分别按照每个混淆电路,向对应的计算节点发送持有的原始数据对应的输入标识。
15.本技术实施例还提供一种多方安全计算装置,应用于参与多方安全计算的多个计算节点中的计算节点,所述多个计算节点的数量为n,所述装置,包括:子规则接收模块,用于接收多个数据提供方设备协同发送的n个计算子规则中的一个计算子规则,其他n

1个计算子规则被发送给其他n

1个计算节点,其中,每个计算节点接收到一个计算子规则,所述n个计算子规则组成计算规则,所述计算规则表示从待计算任务中选取出的初始计算子任务;数据接收模块,用于按照隐私计算方案,接收所述多个数据提供方设备发送的原始数据的处理后数据;子结果计算模块,用于按照接收的计算子规则,对所述多个数据提供方设备发送的所述处理后数据进行计算,得到接收的计算子规则的计算子结果;结果计算模块,用于与其他计算节点协同,使用得到的n个计算子结果,对所述待计算任务继续进行多方安全计算。
16.进一步的,所述数据接收模块,具体用于采用同态加密方案,接收所述多个数据提供方设备发送的同态密文数据,每个数据提供方设备发送的所述同态密文数据,为该数据提供方设备使用同态加密公钥对持有的原始数据进行同态加密得到的;或者采用可信执行环境tee方案,由本计算节点的tee接收所述多个数据提供方设备发送的tee密文数据,每个数据提供方设备发送的所述tee密文数据,为该数据提供方设备使用本计算节点的tee密钥对持有的原始数据进行加密得到的;或者采用混淆电路方案,接收所述多个数据提供方设备发送的所持有的原始数据对应的输入标识,每个数据提供方设备发送的所述输入标识,为该数据提供方设备按照本计算节点对应的混淆电路发送的,本计算节点对应的混淆电路,为该数据提供方设备按照本计算节点接收的计算子规则制作的。
17.进一步的,所述子结果计算模块,具体用于当接收的所述处理后数据为所述同态密文数据时,按照接收的计算子规则,对所述多个数据提供方设备发送的所述同态密文数据进行计算,得到同态密文计算子结果;对所述同态密文计算子结果进行解密,得到接收的计算子规则的计算子结果;或者当接收的所述处理后数据为所述tee密文数据时,在本计算节点的tee内,对所述多个数据提供方设备发送的所述tee密文数据进行解密,得到对应的原始数据;在本计算节点的tee内,按照接收的计算子规则,对解密得到的原始数据进行计算,得到接收的计算子规则的计算子结果;或者当接收的所述处理后数据为所述输入标识时,基于所述多个数据提供方设备发送的所述输入标识,以及接收的计算子规则对应的混淆电路,计算出输出标识;使用所述输出标识向所述多个数据提供方设备进行查询,得到接收的计算子规则的计算子结果。
18.本技术实施例还提供一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述任一应用于数据提供方设备的多方安全计算方法,
或者,实现上述任一应用于计算节点的多方安全计算方法。
19.本技术实施例还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一应用于数据提供方设备的多方安全计算方法,或者,实现上述任一应用于计算节点的多方安全计算方法。
20.本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一应用于数据提供方设备的多方安全计算方法,或者,执行上述任一应用于计算节点的多方安全计算方法。
21.本技术有益效果包括:本技术实施例提供的方法中,从待计算任务中选取初始计算子任务,并构造表示初始计算子任务的计算规则,以及生成组成该计算规则的n个计算子规则,并将n个计算子规则分别发送给n个计算节点,以及按照隐私计算方案向n个计算节点发送针对持有的原始数据的处理后数据,使得n个计算节点可以按照各自接收的计算子规则,对接收的处理后数据进行计算,得到各自接收的计算子规则的计算子结果,进而使得n个计算节点使用得到的n个计算子结果,对待计算任务继续进行多方安全计算。这一过程中,各数据提供方设备不再需要将原始数据以秘密分享因子的形式发送至各计算节点,从而避免了部分计算节点之间通过共谋获知原始数据。
22.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
23.附图用来提供对本技术的进一步理解,并且构成说明书的一部分,与本技术实施例一起用于解释本技术,并不构成对本技术的限制。在附图中:图1为本技术实施例提供的应用于数据提供方设备的多方安全计算方法的流程图;图2为本技术实施例提供的应用于计算节点的多方安全计算方法的流程图;图3为现有技术中采用ss

mpc方案进行多方安全计算的示意图;图4为本技术实施例中进行多方安全计算的示意图;图5为本技术实施例提供的多方安全计算方法的流程图;图6为本技术实施例提供的应用于数据提供方设备的多方安全计算装置的结构示意图;图7为本技术实施例提供的应用于计算节点的多方安全计算装置的结构示意图;图8为本技术实施例提供的电子设备的结构示意图。
具体实施方式
24.为了给出在基于秘密共享进行多方安全计算的过程中,避免部分计算节点之间通过共谋获知原始数据的实现方案,本技术实施例提供了一种多方安全计算方法、装置及电子设备,以下结合说明书附图对本技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术。并且在不冲突的情况下,本技术
中的实施例及实施例中的特征可以相互组合。
25.本技术实施例提供一种多方安全计算方法,应用于参与多方安全计算的多个数据提供方设备中的数据提供方设备,如图1所示,包括:步骤11、与其他各数据提供方设备协同,从待计算任务中选取初始计算子任务。
26.步骤12、与其他各数据提供方设备协同生成表示初始计算子任务的计算规则。
27.步骤13、基于计算规则,与其他各数据提供方设备协同生成组成计算规则的n个计算子规则,n为参与多方安全计算的多个计算节点的数量。
28.步骤14、与其他各数据提供方设备协同,将n个计算子规则分别发送给n个计算节点,其中每个计算节点接收到一个计算子规则。
29.步骤15、按照隐私计算方案,向n个计算节点发送针对持有的原始数据的处理后数据,使得n个计算节点按照各自接收的计算子规则,对多个数据提供方设备发送的处理后数据进行计算,得到各自接收的计算子规则的计算子结果,以及使得n个计算节点使用得到的n个计算子结果,对待计算任务继续进行多方安全计算。
30.相应的,本技术实施例还提供一种多方安全计算方法,应用于参与多方安全计算的多个计算节点中的计算节点,多个计算节点的数量为n,如图2所示,包括:步骤21、接收多个数据提供方设备协同发送的n个计算子规则中的一个计算子规则,其他n

1个计算子规则被发送给其他n

1个计算节点,其中,每个计算节点接收到一个计算子规则,n个计算子规则组成计算规则,计算规则表示从待计算任务中选取出的初始计算子任务。
31.步骤22、按照隐私计算方案,接收多个数据提供方设备发送的原始数据的处理后数据。
32.步骤23、按照接收的计算子规则,对多个数据提供方设备发送的处理后数据进行计算,得到接收的计算子规则的计算子结果。
33.步骤24、与其他计算节点协同,使用得到的n个计算子结果,对待计算任务继续进行多方安全计算。
34.采用本技术实施例提供的上述多方安全计算方法,从待计算任务中选取初始计算子任务,并构造表示初始计算子任务的计算规则,以及生成组成该计算规则的n个计算子规则,并将n个计算子规则分别发送给n个计算节点,以及按照隐私计算方案向n个计算节点发送针对持有的原始数据的处理后数据,使得n个计算节点可以按照各自接收的计算子规则,对接收的处理后数据进行计算,得到各自接收的计算子规则的计算子结果,进而使得n个计算节点使用得到的n个计算子结果,对待计算任务继续进行多方安全计算。这一过程中,各数据提供方设备不再需要将原始数据以秘密分享因子的形式发送至各计算节点,从而避免了部分计算节点之间通过共谋获知原始数据。
35.下面结合附图,用具体实施例对本技术提供的方法及装置进行详细描述。
36.本多方安全计算方案中,参与多方安全计算的设备,包括多个数据提供方设备以及多个计算节点,其中,计算节点的数量为n,例如,包括2个数据提供方设备以及3个计算节点,即数据提供方设备1,数据提供方设备2,以及计算节点1,计算节点2,计算节点3,每个数据提供方设备均持有属于自身的原始数据,例如,数据提供方设备1持有原始数据x,数据提供方设备2持有原始数据y。
37.需要使用原始数据x和原始数据y进行多方安全计算的任务,可以称作待计算任务,可以是实际应用中的各种类型的任务,使用f(x,y)表示。
38.在现有的ss

mpc方案中,如图3所示,数据提供方设备1按照原始数据x,生成秘密分享因子x1、x2和x3,且x=x1 x2 x3,将x1、x2和x3分别发送给计算节点1、计算节点2和计算节点3,每个计算节点接收到一个秘密分享因子。同样,数据提供方设备2按照原始数据y,生成秘密分享因子y1、y2和y3,且y=y1 y2 y3,将y1、y2和y3分别发送给计算节点1、计算节点2和计算节点3,每个计算节点接收到一个秘密分享因子。计算节点1、计算节点2和计算节点3,基于接收到的秘密分享因子执行相应的多方安全计算的计算协议,完成对待计算任务f(x,y)的计算,得到计算结果。
39.在上述图3所示的方案中,如果超过一定阈值数量的计算节点发生共谋,则他们基于各自所持有秘密分享因子可以恢复原始数据,从而造成原始数据泄漏。
40.针对这一问题,本技术另一实施例提供一种多方安全计算方法,其中,如图4所示,以包括2个数据提供方设备以及3个计算节点为例,该方法的流程如图5所示,可以包括如下步骤:步骤51、多个数据提供方设备协同,从待计算任务中选取初始计算子任务。
41.本技术实施例中,针对待计算任务f(x,y),可以选取初始步骤的子函数f0(x,y),作为初始计算子任务。该初始计算子任务的选取,不会影响原有整体的待计算任务的计算结果,且所有原始数据均要参与该初始计算子任务的计算,进一步的,可以优先选择计算复杂度较低的子任务,且无法通过初始计算子任务的计算结果反推出原始数据。
42.例如,对于神经网络计算任务,可以选取前1或2层网络作为初始计算子任务。以目前常见的神经网络计算任务为例,可以先求数据向量与权重向量的内积,作为初始计算子任务。
43.本技术实施例中,关于多个数据提供方设备的协同方式,可以采用可行的各种协同方式,通过信息交互进行协商,共同完成操作,后续步骤中涉及到协同的操作,不再针对协同方式进行说明。
44.步骤52、多个数据提供方设备协同,生成表示初始计算子任务的计算规则。
45.本技术实施例中,所生成的表示初始计算子任务的计算规则,使用t表示,即t=f0(x,y),其也可以称作电路t。
46.步骤53、基于该计算规则,多个数据提供方设备协同生成组成该计算规则的n个计算子规则,n为参与多方安全计算的多个计算节点的数量。
47.本技术实施例中,如图4所示,当包括3个计算节点时,则生成3个计算子规则,包括计算子规则t1,t2和t3,且t=t1 t2 t3,本步骤,也可以理解为将电路t生成秘密分享形式的真值电路t1,t2和t3。
48.本技术实施例中,所生成的n个计算子规则,可以由多个数据提供方设备中的一个数据提供方设备生成,也可以由其中部分数据提供方设备生成,也可以每个数据提供方设备至少生成一个计算子规则。
49.也就是说,对于多个数据提供方设备中的任一个数据提供方设备而言,本步骤的执行,具体可以如下:与其他各数据提供方设备协同,由自身生成组成计算规则的n个计算子规则,即其
他各数据提供方设备不需要生成计算子规则;或者与其他各数据提供方设备协同,生成组成计算规则的n个计算子规则中的m个计算子规则,m为大于0且小于n的整数,n个计算子规则中的其他计算子规则由其他各数据提供方设备生成;或者与其他各数据提供方设备协同,由其他各数据提供方设备生成组成计算规则的n个计算子规则。
50.本步骤中,多个数据提供方设备之间的协同,可以是多个数据提供方设备之间,协商出由哪些数据提供方设备生成哪些计算子规则。
51.步骤54、多个数据提供方设备协同,将n个计算子规则分别发送给n个计算节点,其中每个计算节点接收到一个计算子规则。
52.如图4所示,将计算子规则t1发送给计算节点1,将计算子规则t2发送给计算节点2,将计算子规则t3发送给计算节点3。
53.步骤55、每个数据提供方设备,按照隐私计算方案,向n个计算节点发送针对持有的原始数据的处理后数据。
54.本技术实施例中,可以采用各种可行的隐私计算方案,具体如下:第一种隐私计算方案:采用同态加密(he)方案,使用同态加密公钥对持有的原始数据进行同态加密,得到同态密文数据;向n个计算节点发送同态密文数据。
55.第二种隐私计算方案:采用可信执行环境(tee)方案,分别使用n个计算节点的tee密钥,对持有的原始数据进行加密,得到tee密文数据;分别向n个计算节点的tee发送对应的tee密文数据。
56.可以理解为,针对每个计算节点,使用该计算节点的tee密钥,对持有的原始数据进行加密,得到tee密文数据,并将该tee密文数据发送给该计算节点。
57.第三种隐私计算方案:采用混淆电路(gc)方案,按照n个计算子规则分别制作混淆电路;分别按照每个混淆电路,向对应的计算节点发送持有的原始数据对应的输入标识。
58.可以理解为,针对每个计算子规则制作混淆电路,并按照该混淆电路,向接收该计算子规则的计算节点,发送持有的原始数据对应的输入标识。
59.本技术实施例中,每个计算节点,均接收到每个数据提供方设备发送的上述处理后数据,图4中,<x>表示数据提供方设备1持有的原始数据x的处理后数据,<y>表示数据提供方设备2持有的原始数据y的处理后数据。
60.本技术实施例中,本步骤中所采用的隐私计算方案,可以是预设的,也可以是基于上述计算规则或n个计算子规则,从多个待选的隐私计算方案中选择的,具体可以选择执行上述计算规则或n个计算子规则的计算量、通信量较小的隐私计算方案。
61.步骤56、计算节点在接收到多个数据提供方设备发送的原始数据的处理后数据后,按照接收的计算子规则,对多个数据提供方设备发送的处理后数据进行计算,得到接收的计算子规则的计算子结果。
62.第一种隐私计算方案:当采用的是同态加密(he)方案时,按照接收的计算子规则,
对多个数据提供方设备发送的同态密文数据进行计算,得到同态密文计算子结果;对同态密文计算子结果进行解密,得到接收的计算子规则的计算子结果。
63.第二种隐私计算方案:当采用的是可信执行环境(tee)方案时,在本计算节点的tee内,对多个数据提供方设备发送的tee密文数据进行解密,得到对应的原始数据;在本计算节点的tee内,按照接收的计算子规则,对解密得到的原始数据进行计算,得到接收的计算子规则的计算子结果,并输出到tee外部,由本计算节点获得。
64.第三种隐私计算方案:当采用的是混淆电路(gc)方案时,基于多个数据提供方设备发送的输入标识,以及接收的计算子规则对应的混淆电路,计算出输出标识;使用输出标识向多个数据提供方设备进行查询,得到接收的计算子规则的计算子结果。
65.本技术实施例中,n个计算节点所得到的n个计算子结果,可以理解为是初始计算子任务f0(x,y)的计算结果的秘密分享因子。
66.步骤57、n个计算节点协同,使用得到的n个计算子结果,对待计算任务继续进行多方安全计算。
67.也就是说,本步骤中,n个计算节点可以基于初始计算子任务f0(x,y)的计算结果的秘密分享因子,即该n个计算子结果,继续根据ss

mpc协议完成后续计算,得到待计算任务的计算结果。
68.采用本技术实施例提供的上述图5所示的方法,如图4所示,在这一过程中,各数据提供方设备不再需要将原始数据以秘密分享因子的形式发送至各计算节点,从而避免了部分计算节点之间通过共谋获知原始数据,提高了在多方安全计算中对于原始数据保密的安全性。
69.基于同一发明构思,根据本技术上述实施例提供的应用于数据提供方设备的多方安全计算方法,相应地,本技术另一实施例还提供了一种多方安全计算装置,应用于参与多方安全计算的多个数据提供方设备中的数据提供方设备,其结构示意图如图6所示,具体包括:任务选取模块61,用于与其他各数据提供方设备协同,从待计算任务中选取初始计算子任务;规则生成模块62,用于与其他各数据提供方设备协同生成表示初始计算子任务的计算规则;子规则生成模块63,用于基于计算规则,与其他各数据提供方设备协同生成组成计算规则的n个计算子规则,n为参与多方安全计算的多个计算节点的数量;子规则发送模块64,用于与其他各数据提供方设备协同,将n个计算子规则分别发送给n个计算节点,其中每个计算节点接收到一个计算子规则;数据发送模块65,用于按照隐私计算方案,向n个计算节点发送针对持有的原始数据的处理后数据,使得n个计算节点按照各自接收的计算子规则,对多个数据提供方设备发送的处理后数据进行计算,得到各自接收的计算子规则的计算子结果,以及使得n个计算节点使用分享到的n个计算子结果,对待计算任务继续进行多方安全计算。
70.进一步的,子规则生成模块63,具体用于与其他各数据提供方设备协同,由自身生成组成计算规则的n个计算子规则;或者
与其他各数据提供方设备协同,生成组成计算规则的n个计算子规则中的m个计算子规则,m为大于0且小于n的整数,n个计算子规则中的其他计算子规则由其他各数据提供方设备生成;或者与其他各数据提供方设备协同,由其他各数据提供方设备生成组成计算规则的n个计算子规则。
71.进一步的,数据发送模块65,具体用于采用同态加密方案,使用同态加密公钥对持有的原始数据进行同态加密,得到同态密文数据;向n个计算节点发送同态密文数据;或者采用可信执行环境tee方案,分别使用n个计算节点的tee密钥,对持有的原始数据进行加密,得到tee密文数据;分别向n个计算节点的tee发送对应的tee密文数据;或者,采用混淆电路方案,按照n个计算子规则分别制作混淆电路;分别按照每个混淆电路,向对应的计算节点发送持有的原始数据对应的输入标识。
72.基于同一发明构思,根据本技术上述实施例提供的应用于计算节点的多方安全计算方法,相应地,本技术另一实施例还提供了一种多方安全计算装置,应用于参与多方安全计算的多个计算节点中的计算节点,多个计算节点的数量为n,其结构示意图如图7所示,具体包括:子规则接收模块71,用于接收多个数据提供方设备协同发送的n个计算子规则中的一个计算子规则,其他n

1个计算子规则被发送给其他n

1个计算节点,其中,每个计算节点接收到一个计算子规则,n个计算子规则组成计算规则,计算规则表示从待计算任务中选取出的初始计算子任务;数据接收模块72,用于按照隐私计算方案,接收多个数据提供方设备发送的原始数据的处理后数据;子结果计算模块73,用于按照接收的计算子规则,对多个数据提供方设备发送的处理后数据进行计算,得到接收的计算子规则的计算子结果;结果计算模块74,用于与其他计算节点协同,使用得到的n个计算子结果,对待计算任务继续进行多方安全计算。
73.进一步的,数据接收模块72,具体用于采用同态加密方案,接收多个数据提供方设备发送的同态密文数据,每个数据提供方设备发送的同态密文数据,为该数据提供方设备使用同态加密公钥对持有的原始数据进行同态加密得到的;或者采用可信执行环境tee方案,由本计算节点的tee接收多个数据提供方设备发送的tee密文数据,每个数据提供方设备发送的tee密文数据,为该数据提供方设备使用本计算节点的tee密钥对持有的原始数据进行加密得到的;或者采用混淆电路方案,接收多个数据提供方设备发送的所持有的原始数据对应的输入标识,每个数据提供方设备发送的输入标识,为该数据提供方设备按照本计算节点对应的混淆电路发送的,本计算节点对应的混淆电路,为该数据提供方设备按照本计算节点接收的计算子规则制作的。
74.进一步的,子结果计算模块73,具体用于当接收的处理后数据为同态密文数据时,按照接收的计算子规则,对多个数据提供方设备发送的同态密文数据进行计算,得到同态密文计算子结果;对同态密文计算子结果进行解密,得到接收的计算子规则的计算子结果;或者
当接收的处理后数据为tee密文数据时,在本计算节点的tee内,对多个数据提供方设备发送的tee密文数据进行解密,得到对应的原始数据;在本计算节点的tee内,按照接收的计算子规则,对解密得到的原始数据进行计算,得到接收的计算子规则的计算子结果;或者当接收的处理后数据为输入标识时,基于多个数据提供方设备发送的输入标识,以及接收的计算子规则对应的混淆电路,计算出输出标识;使用输出标识向多个数据提供方设备进行查询,得到接收的计算子规则的计算子结果。
75.上述各模块的功能可对应于图1至图5所示流程中的相应处理步骤,在此不再赘述。
76.本技术的实施例所提供的上述多方安全计算装置可通过计算机程序实现。本领域技术人员应该能够理解,上述的模块划分方式仅是众多模块划分方式中的一种,如果划分为其他模块或不划分模块,只要墙体彩绘打印装置具有上述功能,都应该在本技术的保护范围之内。
77.本技术实施例还提供一种电子设备,如图8所示,包括处理器81和机器可读存储介质82,机器可读存储介质82存储有能够被处理器81执行的机器可执行指令,处理器81被机器可执行指令促使:实现上述任一应用于数据提供方设备的多方安全计算方法,或者,实现上述任一应用于计算节点的多方安全计算方法。
78.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一应用于数据提供方设备的多方安全计算方法,或者,实现上述任一应用于计算节点的多方安全计算方法。
79.本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一应用于数据提供方设备的多方安全计算方法,或者,执行上述任一应用于计算节点的多方安全计算方法。
80.上述电子设备中的机器可读存储介质可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non

volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
81.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
82.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质,计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
83.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要
素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
84.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
85.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
86.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
87.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜