CN108809623A - 安全多方计算方法、装置及系统 - Google Patents
安全多方计算方法、装置及系统 Download PDFInfo
- Publication number
- CN108809623A CN108809623A CN201810750035.5A CN201810750035A CN108809623A CN 108809623 A CN108809623 A CN 108809623A CN 201810750035 A CN201810750035 A CN 201810750035A CN 108809623 A CN108809623 A CN 108809623A
- Authority
- CN
- China
- Prior art keywords
- sub
- result
- initial
- subtask
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种安全多方计算方法、装置及系统。该安全多方计算方法包括:将计算函数转换为初始逻辑电路;选取多对随机数组成输入标签和辅助标签;将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果;将第一处理结果发送至第一外包计算装置;接收第一外包计算装置根据第一处理结果生成的初始第一子电路;对初始第一子电路进行处理,获得加密电路;根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签;将加密电路和第一子输入标签发送至第二安全多方计算装置;接收来自第二安全多方计算装置的计算结果,可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
Description
技术领域
本发明涉及密码学技术领域,具体地,涉及一种安全多方计算方法、装置及系统。
背景技术
安全多方计算一直是密码学领域很活跃的研究方向。安全多方计算是指在没有可信第三方的情形下,多个参与方共同计算一个函数,使得所有参与方能算出计算结果,但是不会泄露每一方的输入的信息。在安全多方计算中,最常用、最有效的方式是采用加密电路(garbled circuit)和不经意传输。
加密电路的主要思想是将需要计算的函数表示成逻辑电路,针对每一个逻辑门逐个做加密操作。现有技术中的加密操作和解密操作均是在本地进行,占用了本地的资源,降低了计算效率和安全多方计算技术的性能。
发明内容
本发明实施例的主要目的在于提供一种安全多方计算方法、装置及系统,以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
为了实现上述目的,本发明实施例提供一种安全多方计算方法,包括:
将计算函数转换为初始逻辑电路;
选取多对随机数组成输入标签和辅助标签;
将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果;
将第一处理结果发送至第一外包计算装置;
接收第一外包计算装置根据第一处理结果生成的初始第一子电路;
对初始第一子电路进行处理,获得加密电路;
根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签;
将加密电路和第一子输入标签发送至第二安全多方计算装置;
接收来自第二安全多方计算装置的计算结果。
本发明实施例还提供一种安全多方计算方法,包括:
接收来自第一安全多方计算装置的加密电路和第一子输入标签;
根据第一子输入标签获取第二子输入标签;
将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果;
将第二处理结果发送至第二外包计算装置;
接收第二外包计算装置根据第二处理结果生成的初始子计算结果;
对初始子计算结果进行处理,获得计算结果;
将计算结果发送至第一安全多方计算装置。
本发明实施例还提供一种第一安全多方计算装置,包括:
转换单元,用于将计算函数转换为初始逻辑电路;
标签单元,用于选取多对随机数组成输入标签和辅助标签;
第一处理结果单元,用于将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果;
第一发送单元,用于将第一处理结果发送至第一外包计算装置;将加密电路和第一子输入标签发送至第二安全多方计算装置;
第一接收单元,用于接收第一外包计算装置根据第一处理结果生成的初始第一子电路;接收来自第二安全多方计算装置的计算结果;
加密电路单元,用于对初始第一子电路进行处理,获得加密电路;
第一子输入标签单元,用于根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签。
本发明实施例还提供一种第二安全多方计算装置,包括:
第二接收单元,用于接收来自第一安全多方计算装置的加密电路和第一子输入标签;接收第二外包计算装置根据第二处理结果生成的初始子计算结果;
第二子输入标签单元,用于根据第一子输入标签获取第二子输入标签;
第二处理结果单元,用于将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果;
第二发送单元,用于将第二处理结果发送至第二外包计算装置;将计算结果发送至第一安全多方计算装置;
计算结果单元,用于对初始子计算结果进行处理,获得计算结果。
本发明实施例还提供一种安全多方计算系统,包括:
如上所述的第一安全多方计算装置;以及
如上所述的第二安全多方计算装置。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
将计算函数转换为初始逻辑电路;
选取多对随机数组成输入标签和辅助标签;
将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果;
将第一处理结果发送至第一外包计算装置;
接收第一外包计算装置根据第一处理结果生成的初始第一子电路;
对初始第一子电路进行处理,获得加密电路;
根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签;
将加密电路和第一子输入标签发送至第二安全多方计算装置;
接收来自第二安全多方计算装置的计算结果。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
将计算函数转换为初始逻辑电路;
选取多对随机数组成输入标签和辅助标签;
将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果;
将第一处理结果发送至第一外包计算装置;
接收第一外包计算装置根据第一处理结果生成的初始第一子电路;
对初始第一子电路进行处理,获得加密电路;
根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签;
将加密电路和第一子输入标签发送至第二安全多方计算装置;
接收来自第二安全多方计算装置的计算结果。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收来自第一安全多方计算装置的加密电路和第一子输入标签;
根据第一子输入标签获取第二子输入标签;
将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果;
将第二处理结果发送至第二外包计算装置;
接收第二外包计算装置根据第二处理结果生成的初始子计算结果;
对初始子计算结果进行处理,获得计算结果;
将计算结果发送至第一安全多方计算装置。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收来自第一安全多方计算装置的加密电路和第一子输入标签;
根据第一子输入标签获取第二子输入标签;
将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果;
将第二处理结果发送至第二外包计算装置;
接收第二外包计算装置根据第二处理结果生成的初始子计算结果;
对初始子计算结果进行处理,获得计算结果;
将计算结果发送至第一安全多方计算装置。
本发明实施例的安全多方计算方法、装置及系统可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中安全多方计算方法(从第一安全多方计算装置角度)的流程图;
图2是S103的具体流程图;
图3是S106的具体流程图;
图4是S301其中一个实施例的具体流程图;
图5是S301另一个实施例的具体流程图;
图6是本发明实施例中安全多方计算方法(从第二安全多方计算装置角度)的流程图;
图7是S603的具体流程图;
图8是S606的具体流程图;
图9是S801其中一个实施例的具体流程图;
图10是S801另一个实施例的具体流程图;
图11是本发明实施例中第一安全多方计算装置的结构框图;
图12是本发明实施例中第二安全多方计算装置的结构框图;
图13是本发明实施例中安全多方计算系统的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
鉴于目前加密操作和解密操作均是在本地进行,占用了本地的资源,降低了计算效率和安全多方计算技术的性能,本发明实施例提供一种安全多方计算方法,以减少本地资源占用,提高计算效率和安全多方计算技术的性能。以下结合附图对本发明进行详细说明。
图1是本发明实施例中安全多方计算方法(从第一安全多方计算装置角度)的流程图。如图1所示,安全多方计算方法包括:
S101:将计算函数转换为初始逻辑电路。
S102:选取多对随机数组成输入标签和辅助标签。
S103:将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果。
S104:将第一处理结果发送至第一外包计算装置。
S105:接收第一外包计算装置根据第一处理结果生成的初始第一子电路。
S106:对初始第一子电路进行处理,获得加密电路。
S107:根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签。
S108:将加密电路和第一子输入标签发送至第二安全多方计算装置。
S109:接收来自第二安全多方计算装置的计算结果。
图1所示的安全多方计算方法的执行主体可以为第一安全多方计算装置。由图1所示的流程可知,本发明实施例的安全多方计算方法(从第一安全多方计算装置角度)先将计算函数转换为初始逻辑电路,再选取多对随机数组成输入标签和辅助标签,将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果,将第一处理结果发送至第一外包计算装置,然后接收第一外包计算装置根据第一处理结果生成的初始第一子电路,对初始第一子电路进行处理,获得加密电路,接着根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签,将加密电路和第一子输入标签发送至第二安全多方计算装置,最后接收来自第二安全多方计算装置的计算结果,可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
一实施例中,输入标签中的每对随机数均对应初始逻辑电路的每条输入线的第一取值和第二取值。
在逻辑电路中,每条线只有0和1两种取值(第一取值和第二取值),可以选取两个128比特长的标签(label)L0和L1。根据不同的加密电路算法,可以将选取标签的方式分成以下两类:
1、对于每一根线,随机选取一对128比特的随机数(L0,L1)分别代表0和1,每一根线都不一样。设共有n个输入线,此时输入标签(InputLabel)为InputLabel=[(L01,L11),...,(L0n,L1n)]。辅助标签(AuxLabel)为剩余其他的线上随机选取的其他标签。
2、对于每一根输入线,随机选取一对128比特的随机数(L0,L1)分别表示0和1,再通过输入线的标签逐步计算出其他剩余线的标签。此时辅助标签为空。
在选取标签之后,针对每一个逻辑电路的门,采用相应的标签进行加密,得到加密电路。
图2是S103的具体流程图。如图2所示,S103具体包括:
S201:根据初始逻辑电路、输入标签和辅助标签,生成第一输入数据。
S202:将第一输入数据按照第一预设策略拆分为多个第一子输入数据。
S203:根据第一函数以及每一第一子输入数据生成每一第一子任务。
具体实施时,S104具体包括:将每个第一子任务均分配至多个第一外包计算装置。S105具体包括:接收每个第一子任务对应的多个初始第一子电路。
图3是S106的具体流程图。如图3所示,S106具体包括:
S301:从每个第一子任务对应的多个初始第一子电路中选取一个作为每个第一子任务对应的第一子电路。
S302:整合每个第一子任务对应的第一子电路,生成加密电路。
图4是S301其中一个实施例的具体流程图。如图4所示,S301具体包括:
S401:将每个第一子任务对应的相同数值的初始第一子电路分配到同一个数组。
S402:统计每个第一子任务对应的每个数组中的初始第一子电路的数量。
S403:当最大的数量大于预设值时,将数量对应的数组中的一个初始第一子电路作为每个第一子任务对应的第一子电路。
其中,当最大的数量小于预设值时,将该第一子任务重新分配至其他外包计算装置进行计算。
图5是S301另一个实施例的具体流程图。如图5所示,S301具体包括:
S501:根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和预设的第一安全参数,生成每个第一子任务对应的每个初始第一子电路的计算证明。
S502:当计算证明正确时,将计算证明对应的初始第一子电路作为每个第一子任务对应的第一子电路。
一实施例中,S501具体包括:根据预设的第一安全参数生成第一公共参数;根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和第一公共参数,生成每个第一子任务对应的每个初始第一子电路的计算证明;
或,根据预设的第一安全参数和第一函数生成第一公共参数;根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和第一公共参数,生成每个第一子任务对应的每个初始第一子电路的计算证明。
安全多方计算方法(从第一安全多方计算装置角度)的具体流程如下:
1、第一安全多方计算装置将计算函数f(g,h)转换为初始逻辑电路C;其中,g是第一安全多方计算装置的输入数据,h是第二安全多方计算装置的输入数据。其中,第二安全多方计算装置的输入数据不会泄露给第一安全多方计算装置。
2、第一安全多方计算装置选取多对随机数组成输入标签和辅助标签(AuxLabel)。设初始逻辑电路C共有n个输入线,此时输入标签(InputLabel)为InputLabel=[(L01,L11),...,(L0n,L1n)]。
3、第一安全多方计算装置根据初始逻辑电路C、输入标签和辅助标签,生成第一输入数据x。
4、第一安全多方计算装置将第一输入数据x按照第一预设策略拆分为多个第一子输入数据x1,...,xk。
5、第一安全多方计算装置根据第一函数以及每一第一子输入数据xi生成每一第一子任务Ti=(Generation,xi)。其中,Ti为第i个第一子任务,Generation为第一函数,xi为第i个第一子输入数据。
6、第一安全多方计算装置将每个第一子任务均分配至多个第一外包计算装置。
7、第一安全多方计算装置接收每个第一子任务对应的m个初始第一子电路Ri1,...,Rim。其中,Rim为第i个第一子任务对应的第m个初始第一子电路,共有k个第一子任务。
8、第一安全多方计算装置从每个第一子任务对应的多个初始第一子电路中选取一个作为每个第一子任务对应的第一子电路。具体实施时,可以采取以下两种技术手段选取第一子电路:
1.第一安全多方计算装置将每个第一子任务对应的相同数值的初始第一子电路分配到同一个数组,统计每个第一子任务对应的每个数组中的初始第一子电路的数量,当最大的数量大于预设值时,将数量对应的数组中的一个初始第一子电路作为每个第一子任务对应的第一子电路。
2.第一安全多方计算装置根据预设的第一安全参数λ1生成第一公共参数PP1(PP1←ParamGen(λ1));或,根据预设的第一安全参数λ1和第一函数Generation生成第一公共参数PP1(PP1←ParamGen(λ1,Generation))。根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和预设的第一安全参数,生成每个第一子任务对应的每个初始第一子电路的计算证明π1(π1←GenProof(PP1,Ti,Generation,Rim))。当π1正确时,π1=1,将计算证明对应的初始第一子电路作为每个第一子任务对应的第一子电路Ri。其中,Ri为第i个第一子任务对应的第一子电路。当π1不正确时,π1=0,丢弃π1对应的第一子电路,可以在短时间验证第一子电路是否正确。
9、第一安全多方计算装置整合每个第一子任务对应的第一子电路Ri,生成加密电路C’=Generation(C,InputLabel,AuxLabel)。
10、第一安全多方计算装置根据初始逻辑电路对应的输入数据g以及输入标签,得到第一子输入标签(Lg11,Lg22,...,Lgn1n1),将加密电路和第一子输入标签发送至第二安全多方计算装置。
11、第一安全多方计算装置接收来自第二安全多方计算装置的计算结果C(g,h)。
综上,本发明实施例的安全多方计算方法(从第一安全多方计算装置角度)先将计算函数转换为初始逻辑电路,再选取多对随机数组成输入标签和辅助标签,将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果,将第一处理结果发送至第一外包计算装置,然后接收第一外包计算装置根据第一处理结果生成的初始第一子电路,对初始第一子电路进行处理,获得加密电路,接着根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签,将加密电路和第一子输入标签发送至第二安全多方计算装置,最后接收来自第二安全多方计算装置的计算结果,可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
图6是本发明实施例中安全多方计算方法(从第二安全多方计算装置角度)的流程图。如图6所示,安全多方计算方法包括:
S601:接收来自第一安全多方计算装置的加密电路和第一子输入标签。
S602:根据第一子输入标签获取第二子输入标签。
S603:将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果。
S604:将第二处理结果发送至第二外包计算装置。
S605:接收第二外包计算装置根据第二处理结果生成的初始子计算结果。
S606:对初始子计算结果进行处理,获得计算结果。
S607:将计算结果发送至第一安全多方计算装置。
图6所示的安全多方计算方法的执行主体可以为第二安全多方计算装置。由图6所示的流程可知,本发明实施例的安全多方计算方法(从第二安全多方计算装置角度)先接收来自第一安全多方计算装置的加密电路和第一子输入标签,再根据第一子输入标签获取第二子输入标签,将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果,接着将第二处理结果发送至第二外包计算装置,接收第二外包计算装置根据第二处理结果生成的初始子计算结果,然后对初始子计算结果进行处理,获得计算结果,最后将计算结果发送至第一安全多方计算装置,可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
在执行S602时,可以通过不经意传输协议获取第二子输入标签。
图7是S603的具体流程图。如图7所示,S603具体包括:
S701:根据加密电路、第一子输入标签和第二子输入标签,生成第二输入数据。
S702:将第二输入数据按照第二预设策略拆分为多个第二子输入数据。
S703:根据第二函数以及每一第二子输入数据生成每一第二子任务。
具体实施时,S604具体包括:将每个第二子任务均分配至多个第二外包计算装置。S605具体包括:接收每个第二子任务对应的多个初始子计算结果。
图8是S606的具体流程图。如图8所示,S606具体包括:
S801:从每个第二子任务对应的多个初始子计算结果中选取一个作为每个第二子任务对应的子计算结果。
S802:整合每个第二子任务对应的子计算结果,生成计算结果。
图9是S801其中一个实施例的具体流程图。如图9所示,S801具体包括:
S901:将每个第二子任务对应的相同数值的初始子计算结果分配到同一个数组。
S902:统计每个第二子任务对应的每个数组中的初始子计算结果的数量。
S903:当最大的数量大于预设值时,将数量对应的数组中的一个初始子计算结果作为每个第二子任务对应的子计算结果。
图10是S801另一个实施例的具体流程图。如图10所示,S801具体包括:
S1001:根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和预设的第二安全参数,生成每个第二子任务对应的每个初始子计算结果的计算证明。
S1002:当计算证明正确时,将计算证明对应的初始子计算结果作为每个第二子任务对应的子计算结果。
一实施例中,S1001具体包括:根据预设的第二安全参数生成第二公共参数;根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和第二公共参数,生成每个第二子任务对应的每个初始子计算结果的计算证明;
或,根据预设的第二安全参数和计算函数生成第二公共参数;根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和第二公共参数,生成每个第二子任务对应的每个初始子计算结果的计算证明。
安全多方计算方法(从第二安全多方计算装置角度)的具体流程如下:
1、第二安全多方计算装置接收来自第一安全多方计算装置的加密电路和第一子输入标签,根据第一子输入标签获取第二子输入标签(Lh11,Lh22,...,Lhn1n1)。
2、第二安全多方计算装置根据加密电路C’、第一子输入标签和第二子输入标签生成第二输入数据y。
3、第二安全多方计算装置将第二输入数据y按照第二预设策略拆分为多个第二子输入数据y1,...,yj。
4、第二安全多方计算装置根据第二函数以及每一第二子输入数据yi生成每一第二子任务Qi=(Evaluation,yi)。其中,Qi为第i个第二子任务,Evaluation为第二函数,yi为第i个第二子输入数据。
5、第二安全多方计算装置将每个第二子任务均分配至多个第二外包计算装置。
6、第二安全多方计算装置接收每个第二子任务对应的o个初始子计算结果Ui1,...,Uio。其中,Uio为第i个第二子任务对应的第o个初始子计算结果,共有j个第二子任务。
7、第二安全多方计算装置从每个第二子任务对应的多个初始子计算结果中选取一个作为每个第二子任务对应的子计算结果。具体实施时,可以采取以下两种技术手段选取子计算结果:
1.第二安全多方计算装置将每个第二子任务对应的相同数值的初始子计算结果分配到同一个数组,统计每个第二子任务对应的每个数组中的初始子计算结果的数量,当最大的数量大于预设值时,将数量对应的数组中的一个初始子计算结果作为每个第二子任务对应的子计算结果。
2.第二安全多方计算装置根据预设的第二安全参数λ2生成第二公共参数PP2(PP2←ParamGen(λ2));或,根据预设的第二安全参数λ2和第二函数Evaluation生成第二公共参数PP2(PP2←ParamGen(λ2,Evaluation))。根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和预设的第二安全参数,生成每个第二子任务对应的每个初始子计算结果的计算证明π2(π2←GenProof(PP2,Qi,Evaluation,Uio))。当π2正确时,π2=1,将计算证明对应的初始子计算结果作为每个第二子任务对应的子计算结果Ui。其中,Ui为第i个第二子任务对应的子计算结果。当π2不正确时,π2=0,丢弃π2对应的子计算结果,可以在短时间验证子计算结果是否正确。
8、第二安全多方计算装置整合每个第二子任务对应的子计算结果Ui,生成计算结果C(g,h),将计算结果发送至第一安全多方计算装置。
综上,本发明实施例的安全多方计算方法(从第二安全多方计算装置角度)先接收来自第一安全多方计算装置的加密电路和第一子输入标签,再根据第一子输入标签获取第二子输入标签,将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果,接着将第二处理结果发送至第二外包计算装置,接收第二外包计算装置根据第二处理结果生成的初始子计算结果,然后对初始子计算结果进行处理,获得计算结果,最后将计算结果发送至第一安全多方计算装置,可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
基于同一发明构思,本发明实施例还提供了一种第一安全多方计算装置,由于该装置解决问题的原理与安全多方计算方法(从第一安全多方计算装置角度)相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
图11是本发明实施例中第一安全多方计算装置的结构框图。如图11所示,第一安全多方计算装置包括:
转换单元,用于将计算函数转换为初始逻辑电路;
标签单元,用于选取多对随机数组成输入标签和辅助标签;
第一处理结果单元,用于将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果;
第一发送单元,用于将第一处理结果发送至第一外包计算装置;将加密电路和第一子输入标签发送至第二安全多方计算装置;
第一接收单元,用于接收第一外包计算装置根据第一处理结果生成的初始第一子电路;接收来自第二安全多方计算装置的计算结果;
加密电路单元,用于对初始第一子电路进行处理,获得加密电路;
第一子输入标签单元,用于根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签。
在其中一种实施例中,输入标签中的每对随机数均对应初始逻辑电路的每条输入线的第一取值和第二取值。
在其中一种实施例中,第一处理结果单元包括:
第一输入数据生成子单元,用于根据初始逻辑电路、输入标签和辅助标签,生成第一输入数据;
第一输入数据拆分子单元,用于将第一输入数据按照第一预设策略拆分为多个第一子输入数据;
第一子任务子单元,用于根据第一函数以及每一第一子输入数据生成每一第一子任务;
第一发送单元具体用于:
将每个第一子任务均分配至多个第一外包计算装置;
第一接收单元具体用于:
接收每个第一子任务对应的多个初始第一子电路;
加密电路单元包括:
第一选取子单元,用于从每个第一子任务对应的多个初始第一子电路中选取一个作为每个第一子任务对应的第一子电路;
第一整合单元,用于整合每个第一子任务对应的第一子电路,生成加密电路。
在其中一种实施例中,第一选取子单元具体用于:
将每个第一子任务对应的相同数值的初始第一子电路分配到同一个数组;
统计每个第一子任务对应的每个数组中的初始第一子电路的数量;
当最大的数量大于预设值时,将数量对应的数组中的一个初始第一子电路作为每个第一子任务对应的第一子电路。
在其中一种实施例中,第一选取子单元具体用于:
根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和预设的第一安全参数,生成每个第一子任务对应的每个初始第一子电路的计算证明;
当计算证明正确时,将计算证明对应的初始第一子电路作为每个第一子任务对应的第一子电路。
在其中一种实施例中,第一选取子单元具体用于:
根据预设的第一安全参数生成第一公共参数;根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和第一公共参数,生成每个第一子任务对应的每个初始第一子电路的计算证明;
或,根据预设的第一安全参数和第一函数生成第一公共参数;根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和第一公共参数,生成每个第一子任务对应的每个初始第一子电路的计算证明。
综上,本发明实施例的第一安全多方计算装置先将计算函数转换为初始逻辑电路,再选取多对随机数组成输入标签和辅助标签,将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果,将第一处理结果发送至第一外包计算装置,然后接收第一外包计算装置根据第一处理结果生成的初始第一子电路,对初始第一子电路进行处理,获得加密电路,接着根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签,将加密电路和第一子输入标签发送至第二安全多方计算装置,最后接收来自第二安全多方计算装置的计算结果,可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
基于同一发明构思,本发明实施例还提供了一种第二安全多方计算装置,由于该装置解决问题的原理与安全多方计算方法(从第二安全多方计算装置角度)相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
图12是本发明实施例中第二安全多方计算装置的结构框图。如图12所示,第二安全多方计算装置包括:
第二接收单元,用于接收来自第一安全多方计算装置的加密电路和第一子输入标签;接收第二外包计算装置根据第二处理结果生成的初始子计算结果;
第二子输入标签单元,用于根据第一子输入标签获取第二子输入标签;
第二处理结果单元,用于将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果;
第二发送单元,用于将第二处理结果发送至第二外包计算装置;将计算结果发送至第一安全多方计算装置;
计算结果单元,用于对初始子计算结果进行处理,获得计算结果。
在其中一种实施例中,第二处理结果单元包括:
第二输入数据生成子单元,用于根据加密电路、第一子输入标签和第二子输入标签,生成第二输入数据;
第二输入数据拆分子单元,用于将第二输入数据按照第二预设策略拆分为多个第二子输入数据;
第二子任务子单元,用于根据第二函数以及每一第二子输入数据生成每一第二子任务;
第二发送单元具体用于:
将每个第二子任务均分配至多个第二外包计算装置;
第二接收单元具体用于:
接收每个第二子任务对应的多个初始子计算结果;
计算结果单元包括:
第二选取子单元,用于从每个第二子任务对应的多个初始子计算结果中选取一个作为每个第二子任务对应的子计算结果;
第二整合单元,用于整合每个第二子任务对应的子计算结果,生成计算结果。
在其中一种实施例中,第二选取子单元具体用于:
将每个第二子任务对应的相同数值的初始子计算结果分配到同一个数组;
统计每个第二子任务对应的每个数组中的初始子计算结果的数量;
当最大的数量大于预设值时,将数量对应的数组中的一个初始子计算结果作为每个第二子任务对应的子计算结果。
在其中一种实施例中,第二选取子单元具体用于:
根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和预设的第二安全参数,生成每个第二子任务对应的每个初始子计算结果的计算证明;
当计算证明正确时,将计算证明对应的初始子计算结果作为每个第二子任务对应的子计算结果。
在其中一种实施例中,第二选取子单元具体用于:
根据预设的第二安全参数生成第二公共参数;根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和第二公共参数,生成每个第二子任务对应的每个初始子计算结果的计算证明;
或,根据预设的第二安全参数和计算函数生成第二公共参数;根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和第二公共参数,生成每个第二子任务对应的每个初始子计算结果的计算证明。
综上,本发明实施例的第二安全多方计算装置先接收来自第一安全多方计算装置的加密电路和第一子输入标签,再根据第一子输入标签获取第二子输入标签,将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果,接着将第二处理结果发送至第二外包计算装置,接收第二外包计算装置根据第二处理结果生成的初始子计算结果,然后对初始子计算结果进行处理,获得计算结果,最后将计算结果发送至第一安全多方计算装置,可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
基于同一发明构思,本发明实施例还提供了一种安全多方计算系统。图13是本发明实施例中安全多方计算系统的结构框图。如图13所示,安全多方计算系统包括如上所述的第一安全多方计算装置,以及如上所述的第二安全多方计算装置。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
将计算函数转换为初始逻辑电路;
选取多对随机数组成输入标签和辅助标签;
将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果;
将第一处理结果发送至第一外包计算装置;
接收第一外包计算装置根据第一处理结果生成的初始第一子电路;
对初始第一子电路进行处理,获得加密电路;
根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签;
将加密电路和第一子输入标签发送至第二安全多方计算装置;
接收来自第二安全多方计算装置的计算结果。
综上,本发明实施例的计算机设备先将计算函数转换为初始逻辑电路,再选取多对随机数组成输入标签和辅助标签,将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果,将第一处理结果发送至第一外包计算装置,然后接收第一外包计算装置根据第一处理结果生成的初始第一子电路,对初始第一子电路进行处理,获得加密电路,接着根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签,将加密电路和第一子输入标签发送至第二安全多方计算装置,最后接收来自第二安全多方计算装置的计算结果,可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
将计算函数转换为初始逻辑电路;
选取多对随机数组成输入标签和辅助标签;
将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果;
将第一处理结果发送至第一外包计算装置;
接收第一外包计算装置根据第一处理结果生成的初始第一子电路;
对初始第一子电路进行处理,获得加密电路;
根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签;
将加密电路和第一子输入标签发送至第二安全多方计算装置;
接收来自第二安全多方计算装置的计算结果。
综上,本发明实施例的计算机可读存储介质先将计算函数转换为初始逻辑电路,再选取多对随机数组成输入标签和辅助标签,将第一函数、初始逻辑电路、输入标签和辅助标签进行相应处理,获得第一处理结果,将第一处理结果发送至第一外包计算装置,然后接收第一外包计算装置根据第一处理结果生成的初始第一子电路,对初始第一子电路进行处理,获得加密电路,接着根据初始逻辑电路对应的输入数据以及输入标签,得到第一子输入标签,将加密电路和第一子输入标签发送至第二安全多方计算装置,最后接收来自第二安全多方计算装置的计算结果,可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收来自第一安全多方计算装置的加密电路和第一子输入标签;
根据第一子输入标签获取第二子输入标签;
将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果;
将第二处理结果发送至第二外包计算装置;
接收第二外包计算装置根据第二处理结果生成的初始子计算结果;
对初始子计算结果进行处理,获得计算结果;
将计算结果发送至第一安全多方计算装置。
综上,本发明实施例的计算机设备先接收来自第一安全多方计算装置的加密电路和第一子输入标签,再根据第一子输入标签获取第二子输入标签,将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果,接着将第二处理结果发送至第二外包计算装置,接收第二外包计算装置根据第二处理结果生成的初始子计算结果,然后对初始子计算结果进行处理,获得计算结果,最后将计算结果发送至第一安全多方计算装置,可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收来自第一安全多方计算装置的加密电路和第一子输入标签;
根据第一子输入标签获取第二子输入标签;
将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果;
将第二处理结果发送至第二外包计算装置;
接收第二外包计算装置根据第二处理结果生成的初始子计算结果;
对初始子计算结果进行处理,获得计算结果;
将计算结果发送至第一安全多方计算装置。
综上,本发明实施例的计算机可读存储介质先接收来自第一安全多方计算装置的加密电路和第一子输入标签,再根据第一子输入标签获取第二子输入标签,将第二函数、加密电路、第一子输入标签和第二子输入标签进行相应处理,获得第二处理结果,接着将第二处理结果发送至第二外包计算装置,接收第二外包计算装置根据第二处理结果生成的初始子计算结果,然后对初始子计算结果进行处理,获得计算结果,最后将计算结果发送至第一安全多方计算装置,可以减少本地资源占用,提高计算效率和安全多方计算技术的性能。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (27)
1.一种安全多方计算方法,其特征在于,包括:
将计算函数转换为初始逻辑电路;
选取多对随机数组成输入标签和辅助标签;
将第一函数、所述初始逻辑电路、所述输入标签和所述辅助标签进行相应处理,获得第一处理结果;
将所述第一处理结果发送至第一外包计算装置;
接收第一外包计算装置根据所述第一处理结果生成的初始第一子电路;
对所述初始第一子电路进行处理,获得加密电路;
根据所述初始逻辑电路对应的输入数据以及所述输入标签,得到第一子输入标签;
将所述加密电路和所述第一子输入标签发送至第二安全多方计算装置;
接收来自所述第二安全多方计算装置的计算结果。
2.根据权利要求1所述的安全多方计算方法,其特征在于:
所述输入标签中的每对随机数均对应所述初始逻辑电路的每条输入线的第一取值和第二取值。
3.根据权利要求1所述的安全多方计算方法,其特征在于,将第一函数、所述初始逻辑电路、所述输入标签和所述辅助标签进行相应处理,获得第一处理结果,具体包括:
根据所述初始逻辑电路、所述输入标签和所述辅助标签,生成第一输入数据;
将所述第一输入数据按照第一预设策略拆分为多个第一子输入数据;
根据所述第一函数以及每一第一子输入数据生成每一第一子任务;
将所述第一处理结果发送至第一外包计算装置,具体包括:
将每个第一子任务均分配至多个第一外包计算装置;
接收第一外包计算装置根据所述第一处理结果生成的初始第一子电路,具体包括:
接收每个第一子任务对应的多个初始第一子电路;
对所述初始第一子电路进行处理,获得加密电路,具体包括:
从每个第一子任务对应的多个初始第一子电路中选取一个作为每个第一子任务对应的第一子电路;
整合每个第一子任务对应的第一子电路,生成加密电路。
4.根据权利要求3所述的安全多方计算方法,其特征在于,从每个第一子任务对应的多个初始第一子电路中选取一个作为每个第一子任务对应的第一子电路,具体包括:
将每个第一子任务对应的相同数值的初始第一子电路分配到同一个数组;
统计每个第一子任务对应的每个数组中的初始第一子电路的数量;
当最大的数量大于预设值时,将所述数量对应的数组中的一个初始第一子电路作为每个第一子任务对应的第一子电路。
5.根据权利要求3所述的安全多方计算方法,其特征在于,从每个第一子任务对应的多个初始第一子电路中选取一个作为每个第一子任务对应的第一子电路,具体包括:
根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和预设的第一安全参数,生成每个第一子任务对应的每个初始第一子电路的计算证明;
当所述计算证明正确时,将所述计算证明对应的初始第一子电路作为每个第一子任务对应的第一子电路。
6.根据权利要求5所述的安全多方计算方法,其特征在于,根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和预设的第一安全参数,生成每个第一子任务对应的每个初始第一子电路的计算证明,具体包括:
根据所述预设的第一安全参数生成第一公共参数;根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和所述第一公共参数,生成每个第一子任务对应的每个初始第一子电路的计算证明;
或,根据所述预设的第一安全参数和所述第一函数生成所述第一公共参数;根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和所述第一公共参数,生成每个第一子任务对应的每个初始第一子电路的计算证明。
7.一种安全多方计算方法,其特征在于,包括:
接收来自第一安全多方计算装置的加密电路和第一子输入标签;
根据所述第一子输入标签获取第二子输入标签;
将第二函数、所述加密电路、所述第一子输入标签和所述第二子输入标签进行相应处理,获得第二处理结果;
将所述第二处理结果发送至第二外包计算装置;
接收第二外包计算装置根据所述第二处理结果生成的初始子计算结果;
对所述初始子计算结果进行处理,获得计算结果;
将所述计算结果发送至所述第一安全多方计算装置。
8.根据权利要求7所述的安全多方计算方法,其特征在于,将第二函数、所述加密电路、所述第一子输入标签和所述第二子输入标签进行相应处理,获得第二处理结果,具体包括:
根据所述加密电路、所述第一子输入标签和所述第二子输入标签,生成第二输入数据;
将所述第二输入数据按照第二预设策略拆分为多个第二子输入数据;
根据所述第二函数以及每一第二子输入数据生成每一第二子任务;
将所述第二处理结果发送至第二外包计算装置,具体包括:
将每个第二子任务均分配至多个第二外包计算装置;
接收第二外包计算装置根据所述第二处理结果生成的初始子计算结果,具体包括:
接收每个第二子任务对应的多个初始子计算结果;
对所述初始子计算结果进行处理,获得计算结果,具体包括:
从每个第二子任务对应的多个初始子计算结果中选取一个作为每个第二子任务对应的子计算结果;
整合每个第二子任务对应的子计算结果,生成计算结果。
9.根据权利要求8所述的安全多方计算方法,其特征在于,从每个第二子任务对应的多个初始子计算结果中选取一个作为每个第二子任务对应的子计算结果,具体包括:
将每个第二子任务对应的相同数值的初始子计算结果分配到同一个数组;
统计每个第二子任务对应的每个数组中的初始子计算结果的数量;
当最大的数量大于预设值时,将所述数量对应的数组中的一个初始子计算结果作为每个第二子任务对应的子计算结果。
10.根据权利要求8所述的安全多方计算方法,其特征在于,从每个第二子任务对应的多个初始子计算结果中选取一个作为每个第二子任务对应的子计算结果,具体包括:
根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和预设的第二安全参数,生成每个第二子任务对应的每个初始子计算结果的计算证明;
当所述计算证明正确时,将所述计算证明对应的初始子计算结果作为每个第二子任务对应的子计算结果。
11.根据权利要求10所述的安全多方计算方法,其特征在于,根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和预设的第二安全参数,生成每个第二子任务对应的每个初始子计算结果的计算证明,具体包括:
根据所述预设的第二安全参数生成第二公共参数;根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和所述第二公共参数,生成每个第二子任务对应的每个初始子计算结果的计算证明;
或,根据所述预设的第二安全参数和所述计算函数生成所述第二公共参数;根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和所述第二公共参数,生成每个第二子任务对应的每个初始子计算结果的计算证明。
12.一种第一安全多方计算装置,其特征在于,包括:
转换单元,用于将计算函数转换为初始逻辑电路;
标签单元,用于选取多对随机数组成输入标签和辅助标签;
第一处理结果单元,用于将第一函数、所述初始逻辑电路、所述输入标签和所述辅助标签进行相应处理,获得第一处理结果;
第一发送单元,用于将所述第一处理结果发送至第一外包计算装置;将加密电路和第一子输入标签发送至第二安全多方计算装置;
第一接收单元,用于接收第一外包计算装置根据所述第一处理结果生成的初始第一子电路;接收来自所述第二安全多方计算装置的计算结果;
加密电路单元,用于对所述初始第一子电路进行处理,获得所述加密电路;
第一子输入标签单元,用于根据所述初始逻辑电路对应的输入数据以及所述输入标签,得到所述第一子输入标签。
13.根据权利要求12所述的第一安全多方计算装置,其特征在于:
所述输入标签中的每对随机数均对应所述初始逻辑电路的每条输入线的第一取值和第二取值。
14.根据权利要求12所述的第一安全多方计算装置,其特征在于,
所述第一处理结果单元包括:
第一输入数据生成子单元,用于根据所述初始逻辑电路、所述输入标签和所述辅助标签,生成第一输入数据;
第一输入数据拆分子单元,用于将所述第一输入数据按照第一预设策略拆分为多个第一子输入数据;
第一子任务子单元,用于根据所述第一函数以及每一第一子输入数据生成每一第一子任务;
所述第一发送单元具体用于:
将每个第一子任务均分配至多个第一外包计算装置;
所述第一接收单元具体用于:
接收每个第一子任务对应的多个初始第一子电路;
所述加密电路单元包括:
第一选取子单元,用于从每个第一子任务对应的多个初始第一子电路中选取一个作为每个第一子任务对应的第一子电路;
第一整合单元,用于整合每个第一子任务对应的第一子电路,生成加密电路。
15.根据权利要求14所述的第一安全多方计算装置,其特征在于,所述第一选取子单元具体用于:
将每个第一子任务对应的相同数值的初始第一子电路分配到同一个数组;
统计每个第一子任务对应的每个数组中的初始第一子电路的数量;
当最大的数量大于预设值时,将所述数量对应的数组中的一个初始第一子电路作为每个第一子任务对应的第一子电路。
16.根据权利要求14所述的第一安全多方计算装置,其特征在于,所述第一选取子单元具体用于:
根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和预设的第一安全参数,生成每个第一子任务对应的每个初始第一子电路的计算证明;
当所述计算证明正确时,将所述计算证明对应的初始第一子电路作为每个第一子任务对应的第一子电路。
17.根据权利要求16所述的第一安全多方计算装置,其特征在于,所述第一选取子单元具体用于:
根据所述预设的第一安全参数生成第一公共参数;根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和所述第一公共参数,生成每个第一子任务对应的每个初始第一子电路的计算证明;
或,根据所述预设的第一安全参数和所述第一函数生成所述第一公共参数;根据每个第一子任务、每个第一子任务对应的每个初始第一子电路和所述第一公共参数,生成每个第一子任务对应的每个初始第一子电路的计算证明。
18.一种第二安全多方计算装置,其特征在于,包括:
第二接收单元,用于接收来自第一安全多方计算装置的加密电路和第一子输入标签;接收第二外包计算装置根据第二处理结果生成的初始子计算结果;
第二子输入标签单元,用于根据所述第一子输入标签获取第二子输入标签;
第二处理结果单元,用于将第二函数、所述加密电路、所述第一子输入标签和所述第二子输入标签进行相应处理,获得所述第二处理结果;
第二发送单元,用于将所述第二处理结果发送至第二外包计算装置;将计算结果发送至所述第一安全多方计算装置;
计算结果单元,用于对所述初始子计算结果进行处理,获得所述计算结果。
19.根据权利要求18所述的第二安全多方计算装置,其特征在于,
所述第二处理结果单元包括:
第二输入数据生成子单元,用于根据所述加密电路、所述第一子输入标签和所述第二子输入标签,生成第二输入数据;
第二输入数据拆分子单元,用于将所述第二输入数据按照第二预设策略拆分为多个第二子输入数据;
第二子任务子单元,用于根据所述第二函数以及每一第二子输入数据生成每一第二子任务;
所述第二发送单元具体用于:
将每个第二子任务均分配至多个第二外包计算装置;
所述第二接收单元具体用于:
接收每个第二子任务对应的多个初始子计算结果;
所述计算结果单元包括:
第二选取子单元,用于从每个第二子任务对应的多个初始子计算结果中选取一个作为每个第二子任务对应的子计算结果;
第二整合单元,用于整合每个第二子任务对应的子计算结果,生成计算结果。
20.根据权利要求19所述的第二安全多方计算装置,其特征在于,所述第二选取子单元具体用于:
将每个第二子任务对应的相同数值的初始子计算结果分配到同一个数组;
统计每个第二子任务对应的每个数组中的初始子计算结果的数量;
当最大的数量大于预设值时,将所述数量对应的数组中的一个初始子计算结果作为每个第二子任务对应的子计算结果。
21.根据权利要求19所述的第二安全多方计算装置,其特征在于,所述第二选取子单元具体用于:
根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和预设的第二安全参数,生成每个第二子任务对应的每个初始子计算结果的计算证明;
当所述计算证明正确时,将所述计算证明对应的初始子计算结果作为每个第二子任务对应的子计算结果。
22.根据权利要求21所述的第二安全多方计算装置,其特征在于,所述第二选取子单元具体用于:
根据所述预设的第二安全参数生成第二公共参数;根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和所述第二公共参数,生成每个第二子任务对应的每个初始子计算结果的计算证明;
或,根据所述预设的第二安全参数和所述计算函数生成所述第二公共参数;根据每个第二子任务、每个第二子任务对应的每个初始子计算结果和所述第二公共参数,生成每个第二子任务对应的每个初始子计算结果的计算证明。
23.一种安全多方计算系统,其特征在于,包括:
权利要求12-17任一权利要求所述的第一安全多方计算装置;以及
权利要求18-22任一权利要求所述的第二安全多方计算装置。
24.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
将计算函数转换为初始逻辑电路;
选取多对随机数组成输入标签和辅助标签;
将第一函数、所述初始逻辑电路、所述输入标签和所述辅助标签进行相应处理,获得第一处理结果;
将所述第一处理结果发送至第一外包计算装置;
接收第一外包计算装置根据所述第一处理结果生成的初始第一子电路;
对所述初始第一子电路进行处理,获得加密电路;
根据所述初始逻辑电路对应的输入数据以及所述输入标签,得到第一子输入标签;
将所述加密电路和所述第一子输入标签发送至第二安全多方计算装置;
接收来自所述第二安全多方计算装置的计算结果。
25.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
接收来自第一安全多方计算装置的加密电路和第一子输入标签;
根据所述第一子输入标签获取第二子输入标签;
将第二函数、所述加密电路、所述第一子输入标签和所述第二子输入标签进行相应处理,获得第二处理结果;
将所述第二处理结果发送至第二外包计算装置;
接收第二外包计算装置根据所述第二处理结果生成的初始子计算结果;
对所述初始子计算结果进行处理,获得计算结果;
将所述计算结果发送至所述第一安全多方计算装置。
26.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
将计算函数转换为初始逻辑电路;
选取多对随机数组成输入标签和辅助标签;
将第一函数、所述初始逻辑电路、所述输入标签和所述辅助标签进行相应处理,获得第一处理结果;
将所述第一处理结果发送至第一外包计算装置;
接收第一外包计算装置根据所述第一处理结果生成的初始第一子电路;
对所述初始第一子电路进行处理,获得加密电路;
根据所述初始逻辑电路对应的输入数据以及所述输入标签,得到第一子输入标签;
将所述加密电路和所述第一子输入标签发送至第二安全多方计算装置;
接收来自所述第二安全多方计算装置的计算结果。
27.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
接收来自第一安全多方计算装置的加密电路和第一子输入标签;
根据所述第一子输入标签获取第二子输入标签;
将第二函数、所述加密电路、所述第一子输入标签和所述第二子输入标签进行相应处理,获得第二处理结果;
将所述第二处理结果发送至第二外包计算装置;
接收第二外包计算装置根据所述第二处理结果生成的初始子计算结果;
对所述初始子计算结果进行处理,获得计算结果;
将所述计算结果发送至所述第一安全多方计算装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810750035.5A CN108809623B (zh) | 2018-07-10 | 2018-07-10 | 安全多方计算方法、装置及系统 |
PCT/CN2019/095369 WO2020011183A1 (zh) | 2018-07-10 | 2019-07-10 | 安全多方计算方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810750035.5A CN108809623B (zh) | 2018-07-10 | 2018-07-10 | 安全多方计算方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108809623A true CN108809623A (zh) | 2018-11-13 |
CN108809623B CN108809623B (zh) | 2020-09-25 |
Family
ID=64074656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810750035.5A Active CN108809623B (zh) | 2018-07-10 | 2018-07-10 | 安全多方计算方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108809623B (zh) |
WO (1) | WO2020011183A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558750A (zh) * | 2018-11-30 | 2019-04-02 | 北京八分量信息科技有限公司 | 一种基于安全多方计算的数据处理系统及方法 |
CN109582737A (zh) * | 2018-11-30 | 2019-04-05 | 北京八分量信息科技有限公司 | 一种基于安全多方计算的电池数据管理系统及方法 |
CN110162551A (zh) * | 2019-04-19 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和电子设备 |
CN110166446A (zh) * | 2019-05-13 | 2019-08-23 | 矩阵元技术(深圳)有限公司 | 一种基于安全多方计算的地理加权平均中心的实现方法 |
CN110333867A (zh) * | 2019-04-19 | 2019-10-15 | 矩阵元技术(深圳)有限公司 | 一种多方安全计算数据处理方法、装置及系统 |
WO2020011183A1 (zh) * | 2018-07-10 | 2020-01-16 | 云图有限公司 | 安全多方计算方法、装置及系统 |
CN111563261A (zh) * | 2020-05-15 | 2020-08-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的隐私保护多方计算方法和系统 |
CN111628991A (zh) * | 2020-05-25 | 2020-09-04 | 安徽大学 | 一种通用且抗恶意敌手的安全计算方法 |
CN111737011A (zh) * | 2020-07-31 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 安全多方计算的实现方法和装置 |
WO2020223917A1 (zh) * | 2019-05-08 | 2020-11-12 | 云图有限公司 | 安全多方计算的实现方法、装置、计算机设备和存储介质 |
US10936605B2 (en) | 2019-04-19 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Providing oblivious data transfer between computing devices |
CN112995221A (zh) * | 2021-05-08 | 2021-06-18 | 浙江数秦科技有限公司 | 一种联盟链安全多方计算方法 |
CN113992439A (zh) * | 2021-12-27 | 2022-01-28 | 支付宝(杭州)信息技术有限公司 | 分布式多方安全计算系统、方法和节点 |
CN116886411A (zh) * | 2023-08-08 | 2023-10-13 | 西南石油大学 | 一种基于匿名认证的安全多方计算方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1875569A (zh) * | 2003-11-03 | 2006-12-06 | 皇家飞利浦电子股份有限公司 | 用于有效多方乘积的方法和设备 |
US20120233460A1 (en) * | 2011-03-09 | 2012-09-13 | Microsoft Corporation | Server-aided multi-party protocols |
CN103067165A (zh) * | 2013-01-17 | 2013-04-24 | 广东数字证书认证中心有限公司 | 公钥密码体制中的外包计算方法、设备和服务器 |
CN104521178A (zh) * | 2012-04-17 | 2015-04-15 | 华为技术有限公司 | 安全的多方云计算的方法和系统 |
CN106921491A (zh) * | 2017-02-17 | 2017-07-04 | 中国科学院信息工程研究所 | 一种安全高效的外包计算实现方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957341B2 (en) * | 1998-05-14 | 2005-10-18 | Purdue Research Foundation | Method and system for secure computational outsourcing and disguise |
CN104618332B (zh) * | 2014-12-30 | 2017-10-24 | 桂林电子科技大学 | 基于符号边值二叉决策图的安全两方计算方法和系统 |
CN108809623B (zh) * | 2018-07-10 | 2020-09-25 | 矩阵元技术(深圳)有限公司 | 安全多方计算方法、装置及系统 |
-
2018
- 2018-07-10 CN CN201810750035.5A patent/CN108809623B/zh active Active
-
2019
- 2019-07-10 WO PCT/CN2019/095369 patent/WO2020011183A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1875569A (zh) * | 2003-11-03 | 2006-12-06 | 皇家飞利浦电子股份有限公司 | 用于有效多方乘积的方法和设备 |
US20120233460A1 (en) * | 2011-03-09 | 2012-09-13 | Microsoft Corporation | Server-aided multi-party protocols |
CN104521178A (zh) * | 2012-04-17 | 2015-04-15 | 华为技术有限公司 | 安全的多方云计算的方法和系统 |
CN103067165A (zh) * | 2013-01-17 | 2013-04-24 | 广东数字证书认证中心有限公司 | 公钥密码体制中的外包计算方法、设备和服务器 |
CN106921491A (zh) * | 2017-02-17 | 2017-07-04 | 中国科学院信息工程研究所 | 一种安全高效的外包计算实现方法和系统 |
Non-Patent Citations (2)
Title |
---|
CONG WANG: "《Secure Optimization Computation Outsourcing in Cloud Computing: A Case Study of Linear Programming》", 《IEEE TRANSACTIONS ON COMPUTERS》 * |
蒋瀚: "《基于云计算服务的安全多方计算》", 《计算机研究与发展》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020011183A1 (zh) * | 2018-07-10 | 2020-01-16 | 云图有限公司 | 安全多方计算方法、装置及系统 |
CN109558750A (zh) * | 2018-11-30 | 2019-04-02 | 北京八分量信息科技有限公司 | 一种基于安全多方计算的数据处理系统及方法 |
CN109582737A (zh) * | 2018-11-30 | 2019-04-05 | 北京八分量信息科技有限公司 | 一种基于安全多方计算的电池数据管理系统及方法 |
CN110162551A (zh) * | 2019-04-19 | 2019-08-23 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和电子设备 |
CN110333867B (zh) * | 2019-04-19 | 2023-09-01 | 矩阵元技术(深圳)有限公司 | 一种多方安全计算数据处理方法、装置及系统 |
CN110333867A (zh) * | 2019-04-19 | 2019-10-15 | 矩阵元技术(深圳)有限公司 | 一种多方安全计算数据处理方法、装置及系统 |
CN110162551B (zh) * | 2019-04-19 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置和电子设备 |
US11194824B2 (en) | 2019-04-19 | 2021-12-07 | Advanced New Technologies Co., Ltd. | Providing oblivious data transfer between computing devices |
TWI728639B (zh) * | 2019-04-19 | 2021-05-21 | 開曼群島商創新先進技術有限公司 | 資料處理方法、裝置和電子設備 |
US10936605B2 (en) | 2019-04-19 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Providing oblivious data transfer between computing devices |
WO2020223917A1 (zh) * | 2019-05-08 | 2020-11-12 | 云图有限公司 | 安全多方计算的实现方法、装置、计算机设备和存储介质 |
CN110166446B (zh) * | 2019-05-13 | 2021-10-22 | 矩阵元技术(深圳)有限公司 | 一种基于安全多方计算的地理加权平均中心的实现方法 |
CN110166446A (zh) * | 2019-05-13 | 2019-08-23 | 矩阵元技术(深圳)有限公司 | 一种基于安全多方计算的地理加权平均中心的实现方法 |
CN111563261A (zh) * | 2020-05-15 | 2020-08-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的隐私保护多方计算方法和系统 |
CN111628991A (zh) * | 2020-05-25 | 2020-09-04 | 安徽大学 | 一种通用且抗恶意敌手的安全计算方法 |
CN111628991B (zh) * | 2020-05-25 | 2021-12-28 | 安徽大学 | 一种通用且抗恶意敌手的安全计算方法 |
CN111737011A (zh) * | 2020-07-31 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 安全多方计算的实现方法和装置 |
CN112995221A (zh) * | 2021-05-08 | 2021-06-18 | 浙江数秦科技有限公司 | 一种联盟链安全多方计算方法 |
CN112995221B (zh) * | 2021-05-08 | 2021-07-23 | 浙江数秦科技有限公司 | 一种联盟链安全多方计算方法 |
CN113992439A (zh) * | 2021-12-27 | 2022-01-28 | 支付宝(杭州)信息技术有限公司 | 分布式多方安全计算系统、方法和节点 |
CN116886411A (zh) * | 2023-08-08 | 2023-10-13 | 西南石油大学 | 一种基于匿名认证的安全多方计算方法 |
CN116886411B (zh) * | 2023-08-08 | 2024-03-15 | 西南石油大学 | 一种基于匿名认证的安全多方计算方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020011183A1 (zh) | 2020-01-16 |
CN108809623B (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809623A (zh) | 安全多方计算方法、装置及系统 | |
CN111512589B (zh) | 用于利用spdz的快速安全多方内积的方法 | |
EP3688921B1 (en) | Method for faster secure multiparty inner product computation with spdz | |
EP2965463A1 (en) | Privacy-preserving ridge regression | |
CN105337736A (zh) | 全同态消息认证方法、装置及系统 | |
CN107111966A (zh) | 用于测试并且加固软件应用的方法 | |
JP7259876B2 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
CN109067538A (zh) | 安全协议方法、计算机设备及存储介质 | |
CN103067165B (zh) | 公钥密码体制中的外包计算方法、设备和服务器 | |
WO2013021360A1 (en) | Encryption and decryption method | |
CA3129118A1 (en) | More efficient post-quantum signatures | |
JP6607257B2 (ja) | 秘密計算システム、秘密計算装置、および、秘密計算方法 | |
Szczepanski et al. | Cryptographically secure substitutions based on the approximation of mixing maps | |
WO2015125293A1 (ja) | 暗号システム及び暗号プログラム | |
US11895230B2 (en) | Information processing apparatus, secure computation method, and program | |
JP7259875B2 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
CN114465708B (zh) | 隐私数据处理方法及装置、系统、电子设备、存储介质 | |
CN113572608B (zh) | 一种基于测量设备无关的量子安全多方求和方法 | |
Zou et al. | A new approach to weighted multi-secret sharing | |
Andreas et al. | Improving recent side-channel attacks against the DES key schedule | |
Lysyak | Analysis of gradient statistical attack at block ciphers RC6, MARS, CAST-128 | |
Yue et al. | Hierarchical management scheme by local fields | |
CN106982113A (zh) | 基于非交换单群的公钥全同态数据处理方法及装置 | |
Avramenko et al. | Using the Sum of Real Type Functions to Encrypt Messages | |
Regazzoni et al. | Security, Privacy, and Applied Cryptography Engineering: 13th International Conference, SPACE 2023, Roorkee, India, December 14–17, 2023, Proceedings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |