This invention relates to Secure Multi Party Computation (SMPC) protocols.
Secure Multi Party Computation (SMPC) enables a set of parties to collaboratively compute a function over their inputs while keeping them private. There are several SMPC flavours described in the literature, including Yao's Garbled Circuits (Yao, Andrew Chi-Chih (1986). “How to generate and exchange secrets”. 27th Annual Symposium on Foundations of Computer Science (SFCS 1986). Foundations of Computer Science, 1986., 27th Annual Symposium on. pp. 162-167. doi:10.1109/SFCS.1986.25. ISBN 978-O-8186-0740-0.), GMW (O. Goldreich, S. Micali, A. Wigderson, “How to play ANY mental game”, Proceedings of the nineteenth annual ACM symposium on Theory of Computing, January 1987, Pages 218-229, doi:10.1145/28395.28420; and T. Schneider and M. Zohner, “GMW vs. Yao? Efficient secure two-party computation with low depth circuits,” in Financial Cryptography and Data Security (FC'13), ser. LNCS, vol. 7859. Springer, 2013, pp. 275-292.), BGW (Ben-Or, M., Goldwasser, S., Wigderson, A.: Completeness theorems for Non-Cryptographic Fault-Tolerant Distributed Computation. In: Proc. ACM STOC '88, pp. 1-10 (1988)), SPDZ (Damgård I., Pastro V., Smart N., Zakarias S. (2012) Multiparty Computation from Somewhat Homomorphic Encryption. In: Safavi-Naini R., Canetti R. (eds) Advances in Cryptology—CRYPTO 2012. CRYPTO 2012. Lecture Notes in Computer Science, vol 7417. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32009-5_38), BMR (Beaver, D., S. Micali, and P. Rogaway. 1990. “The Round Complexity of Secure Protocols (Extended Abstract)”. In: 22nd Annual ACM Symposium on Theory of Computing. ACM Press. 503-513), and GESS (Kolesnikov, V. 2005. “Gate Evaluation Secret Sharing and Secure One-Round Two-Party Computation”. In: Advances in Cryptology—ASIACRYPT 2005. Ed. by B. K. Roy. Vol. 3788. Lecture Notes in Computer Science. Springer, Heidelberg. 136-155).
There are two main constructions of SMPC: Circuit Garbling (CG) and Linear Secret Sharing (LSS). Circuit garbling requires encrypting keys in a specific order to simulate the function evaluation. Linear Secret Sharing computes shares from the inputs and distributes them among the nodes. In this disclosure we focus on SMPC flavours using LSS.
The following is a list of the main roles for the nodes participating in a SMPC computation:
LSS SMPC protocols comprise the following three phases:
For example, assume that two dealer nodes have each one string. They would like the network of computing nodes to evaluate the result from comparing the two strings and to communicate this result to a result node. The strings are private to the dealer nodes, so they should not be sent over to the computing nodes in plaintext or in encrypted form. Each dealer node breaks down their private string into N shares and send each share to a different computing node. After receiving one share per each one of the two strings to be compared, the computing nodes follow the SMPC protocol to obtain a share of the result from the computation. This result could be a Boolean representing a string match with a TRUE value and a string mismatch with a FALSE value. Each node sends their share of the result to a result node, which reconstructs the TRUE or FALSE result from the string comparison.
The main problem with SMPC is the communication complexity. A large number of message exchanges and/or communication bandwidth is required in order for the computing nodes to collaboratively obtain in Phase 2 a share of the result of the function being evaluated when this function is complex. By complex function we mean a function with a large number of inputs and a large number of operations on those inputs. Real-world applications of SMPC typically require complex functions, which severely affects the applicability of SMPC in production scenarios.
For example, in BGW SMPC computing nodes evaluate arithmetic functions on integer inputs comprising additions and multiplications. Computing nodes running BGW can process additions without the need to exchange any message. However, the evaluation of multiplications requires the exchange of messages. Complex functions will have additions and multiplications, making the overall BGW function evaluation slow.
We refer herein to SMPC flavours evaluating arithmetic functions as SMPC in the arithmetic setting. The focus of the invention is on the evaluation with SMPC of any function in the arithmetic setting. In the arithmetic setting, a function can be represented without loss of generality as the sum of groups of secret products. In this setting, secrets are natural, integer, real or complex numbers.
The evaluation of a general function requires the computation of products in the arithmetic setting. State-of-the-art SMPCs require nodes to exchange messages in order to jointly evaluate arithmetic products. The exchange of messages is many orders of magnitude slower than computations on a local CPU. This is the reason why the jointly evaluation of nontrivial functions in standard SMPCs is orders of magnitude slower than on a centralized server.
A secure multiparty computation method is provided which permits the computation of an arithmetic function ƒ which can be expressed as the addition of A groups of multiplications of a set S of private input secrets {s0, s1, . . . , ss-1}. Dealer nodes holding the secrets are provided with a base blinding factor ρa whose inverse is the sum of a set of pseudorandom numbers each of which is associated with a respective computing node and is not shared with other computing nodes. Each dealer node is further provided with an exponent blinding factor λa,m specific to the secret being contributed, where all of the exponent blinding factors sum to unity. The dealer nodes share with the computing nodes the product of the secrets with the base blinding factor raised to the exponent blinding factor. Each computing nodes can independently and without sharing computations, generate from the product of shares it receives from the dealer nodes a result share. Summing the result shares provides the result of the computation. In this way a sum of products can be computed by the computing nodes without requiring any messages to pass between the computing nodes during the computation.
In one aspect there is provided a computer-implemented method, carried out between a plurality of D dealer nodes and N computing nodes, of calculating the result of an arithmetic function ƒ which can be expressed as the addition of A groups of multiplications of a set S of private input secrets {s0, s1, . . . , ss-1} such that:
By providing the dealer nodes with the two different kinds of blinding factors defined above, i.e. the base blinding factors and the exponent blinding factors, the shares sent from the dealers are obfuscated in a way that perfectly hides the secrets from the computing nodes, and that also allows the computing nodes to independently each perform a computation resulting in a result share, where the result shares can be combined without knowledge of the blinding factors or the secrets to reveal the result of the computation.
The methods of the invention employ a new flavour of SMPC called NMC (Nil Message Compute) which can evaluate any function in the arithmetic setting without the computing nodes having to exchange any message during the computation phase (Phase 2). NMC therefore removes the main performance problem from standard SMPC and it is capable of evaluating nontrivial functions over a large number of private inputs and using a large number of computing nodes in essentially the same time as it takes in a centralized computation where all information is available in clear inside of a single server. NMC as presented in this invention is secure against passive adversaries who are able to corrupt up to N-1 from a total of N computing nodes. Passive adversaries by definition follow the protocol specification but try to learn information about the private inputs s0, s1, . . . , ss-1 to the computation.
The methods in their most basic form focus on the arithmetic setting and on functions returning only one number. The same methods can be readily extended to any number of output values using the techniques described in Appendix A.3 of Damgård I., Pastro V., Smart N., Zakarias S. (2012) “Multiparty Computation from Somewhat Homomorphic Encryption”. In: Safavi-Naini R., Canetti R. (eds) Advances in Cryptology—CRYPTO 2012. CRYPTO 2012. Lecture Notes in Computer Science, vol 7417. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32009-5_38. The contents of this reference are incorporated herein by reference for this purpose.
Preferably, step h) comprises:
Preferably, step a) comprises:
Preferably, step (ii) comprises:
Further preferable aspects of the method include the generation of the exponent blinding factors in a collaborative manner to satisfy the constraint Σm=0M
There is provided, as a further and independent aspect of invention, a method of distributing the initial shares from a secret sharing mechanism without sending any message as described below under the algorithm ZeroMessageShareDistribution. This can be applied, outside the context of the multiparty computation methods described herein, to any secret sharing mechanism that makes use of the generation of random numbers.
There is also provided, as yet a further and independent aspect of invention, a method of N nodes jointly adding N secrets and revealing the result of the sum of the secrets to one or more output nodes, while keeping the individual secrets private, as described below under the algorithm AddSecretsWithoutSendingTheirShares. It will be appreciated that this too can be applied outside the context of the multiparty computation methods described herein.
There is also provided, as yet a further and independent aspect of invention, a method of Ma-1 nodes jointly generating Ma secret numbers λ0, λ1, . . . , λM
Not all of the nodes are labelled with a reference numeral but it should be understood that all nodes in the same group are of the same type i.e. all nodes in the left vertical line are dealer nodes 10, all nodes in the central octagonal group are computing nodes, and all nodes in the right vertical line are result nodes.
It should also be understood by the skilled person that the arrangement and number of nodes is not intended to represent any specific reality, and nodes are likely to be arranged into logical rather than physical groups, with nodes able to communicate with any other node via a network address on a public or private network which could be a local area network, or a wide area network. Nodes could be even part of the same computing system e.g. different processors or cores in a multiprocessor system. Communication protocols are at the choice of the system designer and are likely to be dictated by the application and security requirements of the system in which they are implemented.
Each node may be implemented in a processor of a computing system which is programmed to perform the relevant methods and algorithms disclosed herein, and further has access to a memory, and a network connection. In many implementations, each node will be a suitably programmed computer system.
The dealer nodes 10 contribute inputs to the computation. Specifically, they are provided with secret inputs, and create shares from these secret inputs and distribute them among the computing nodes 12. The computing nodes perform the actual SMPC computation and each computing node 12 provides a share of a computation output to each result node 14. The result nodes 14 reconstruct the result from the received result shares.
In what follows, we make the following assumptions:
First, we describe below three novel algorithms which constitute building blocks for NMC. Second, we describe two flavours of NMC, one in which most of the computations corresponding to the pre-processing phase are done by the SMPC computing nodes, and one in which they are done by the dealer nodes.
In this section we present three algorithms. The first one, ZeroMessageShareDistribution, is based on a novel idea that allows distributing the initial shares from a secret sharing mechanism without sending any message. The second, AddSecretsWithoutSendingTheirShares, makes use of this idea to allow computing nodes to add numbers without requiring the dealer nodes to send their shares. The third, GenerateBlindingFactors, makes use of AddSecretsWithoutSendingTheirShares in order for N nodes to come up with Ma numbers λ0, λ1, . . . , λM
The general principle of algorithm ZeroMessageShareDistribution can be applied to any secret sharing mechanism that makes use of the generation of random numbers. We present this algorithm for GMW SMPC and then we show in Phase 1 of algorithm AddSecretsWithoutSendingTheirShares how it is instantiated for BGW SMPC.
In GMW SMPC, each dealer n contributing with a secret bit xn generates N-1 random bits xn,0, xn,1, . . . , xn,n−1, xn,n+1, . . . , xn, N−1 such that xn,0⊕xn,1⊕ . . . ⊕xn,N-1=xn by setting xn,n=xn ⊕ (⊕q≠nxn,q). Then, dealer n sends random number xn,q to Node q, for q≠i. That is, each node n is sending N-1 messages. That is a total number of N(N-1) messages. Instead of sending all these messages, the dealers can use random number generators in sync as follows.
Let Gn,q be a collection of random number generators, for n, q ∈{0, . . . , N-1} with n≠q, such that Gn,q is a generator that nodes n and q run in sync, and which generates random bits.
That is, nodes n and q can independently obtain the same sequence of random numbers from Gn,q.
We write g←Gn,q to denote when a node runs the number generator Gn,q to produce a random bit g. Each node n proceeds as follows in order to generate N shares xn,0, xn,1, . . . , xn,N-1 from their secret bit xn:
In step 1 above, node n uses Gn,q to generate the random share xn,q from their secret bit xn that needs to be sent to node q, with n≠q. However, both nodes n and q have an instance of the same random number generator Gn,q running in sync. Therefore, node q can independently obtain xn,q←Gn,q, without any need for communication. Following this principle, every node n is able to generate their own share xn,n from the 2-step process described above, and their share xn,q from the secret bit xq from every other input node q using xq,n←Gq,n without ever having to receive or send a single message. This constitutes the novel procedure that allows the input nodes to distribute the shares from their secret bits without exchanging any message.
This ends the description of the algorithm ZeroMessageShareDistribution.
BGW SMPC makes use of Shamir's Secret Sharing (SSS) mechanism in order for the nodes to generate shares from their secret input values to the SMPC computation. The main idea in SSS is for a node n to hide their secret xn ∈ Z/pZ inside a polynomial:
with random coefficients a1,n, a2,n, . . . , aN-1,n such that the polynomial evaluated at x=0 is equal to the secret: pn(0)=xn. Given that N points are enough to uniquely determine a polynomial of degree N-1, the n-th dealer generates N polynomial evaluations pn(1), pn(2), . . . , pn(N) at a set of predetermined abscissae x=1, 2, . . . , N and sends a different evaluation to each one of the computing nodes. At the end of this process, each computing node j,j ∈{0, . . . , N-1} ends up with a share pn(j+1) evaluated at its assigned abscissa x=j+1 from a polynomial pn(x),n ∈{0, . . . , N-1} that hides a secret xn at pn(0)=xn.
Algorithm ZeroMessageShareDistribution can be used with any secret sharing mechanism that makes use of the generation of random numbers. Such is the case of Shamir's Secret Sharing mechanism in BGW SMPC, which works with random polynomial coefficients. We now show how this algorithm can be instantiated in the BGW SMPC case in order to allow the input nodes to send their shares from their secret inputs without any message exchange. This constitutes Phase 1 of algorithm AddSecretsWithoutSendingTheirShares. This algorithm shows how N nodes can add N secrets without disclosing them.
The algorithm comprises the 3 standard SMPC phases, whereby Phase 1 is an instantiation of algorithm ZeroMessageShareDistribution for Shamir's Secret Sharing mechanism. Phases 2 and 3 are the same as in the standard BGW SMPC.
We describe the instantiation of algorithm ZeroMessageShareDistribution for Shamir's Secret Sharing mechanism.
Let Gn,q be a collection of random number generators, for n, q ∈{0, . . . , N-1} with n≠q, such that Gn,q is a generator that nodes n and q run in sync, and which generates random numbers in Z/pZ.
That is, nodes n and q can independently obtain the same sequence of random numbers from Gn,q. A simple implementation of Gn,q is a cryptographic hash function that takes its output as an input to produce the next number provided that both nodes n and q start with the same initial input value. However, any pseudo-random number generator that outputs random numbers in Z/pZ will work.
We write g←Gn,q to denote when a node runs the number generator Gn,q. Each node n proceeds as follows in order to generate N evaluations from their polynomial pn(x):
In step 1 above, node n uses Gn,q to generate the random evaluation of their polynomial pn(q+1) that needs to be sent to node q, with n≠q. However, both nodes n and q have an instance of the same random number generator Gn,q running in sync. Therefore, node q can independently obtain pn(q+1)←Gn,q, without any need for communication. Following this principle, every node n is able to generate their own share pn(n+1) from the 2-step process described above, and their share pq(n+1) from the polynomial pq(x) from every other computing node q using pq(n+1)←Gq,n without ever having to receive or send a single message. This constitutes the novel procedure that allows the computing nodes to distribute the shares from their secret without exchanging any message so that they can jointly compute their sum using BGW SMPC.
This part of the algorithm follows the standard BGW SMPC. Every node n now has a share pq(n+1) from a polynomial pq(x) of degree N-1 such that pq(0)=xq is the secret from node q ∈{0, 1, . . . , N-1}, q≠n. We define the polynomial:
This is a polynomial of degree N-1 such that p(0)=Σn=0N-1 xnn mod p. This is the sum of all the secrets and it constitutes the output of this algorithm. Following the standard BWG SMPC, by adding all their shares p(n+1)=Σq=0N-1pq(n+1) mod p, node n can compute their share p(n+1) of p(x) evaluated at n+1.
Continuing with the standard BGW SMPC, each node sends their share p(n+1) of p(x) to one or several output nodes. When an output node has received all the shares, it performs polynomial interpolation and reconstructs the independent coefficient a0 (i.e. the one that corresponds to x0) which is equal to the sum of the secrets: a0=Σn=0N-1xn.
This ends the description of the algorithm AddSecretsWithoutSendingTheirShares.
Each input node m calculates (mod p):
with its local share p†(m+1) of p†(x). Since Shamir Secret Sharing is linear, pM
This ensures that (mod p):
To summarise, each input node m, m ∈{0, 1, . . . , Ma-2} has now a polynomial share p0 (m+1), p1(m+1), . . . , pM
At the end of Phase 3 from algorithm AddSecretsWithoutSendingTheirShares, each input node m, m ∈{0, 1, . . . , Ma-2} then sends each polynomial share pk(m+1) of λk to thek-th output node, withk∈{0, 1, . . . , Ma-1}, so that output node k can reconstruct λk.
This ends the description of the algorithm GenerateBlindingFactors.
Recall from Eq. 1 the general form of a function in the arithmetic setting
We have D dealer nodes contributing secrets from the set {s0, s1, . . . , ss-1} to the computation of a generic arithmetic function given by Eq. 1. This computation is carried out by N computing nodes, and the corresponding result is revealed to R result nodes. We present two flavours of the novel NMC SMPC to solve this problem:
Instead of directly applying a linear secret sharing (LSS) schema to the secret inputs, the idea underpinning both NMC flavours is to mask the secret inputs using blinding factors and then to use LSS (such as Shamir) to store some of these factors in the network of computing. More specifically:
This phase deals with the computation of a base blinding factor ρa and Ma exponent blinding factors λa,0, λa,1, λa,M
The following steps are executed in parallel for each addition a, a ∈{0, 1, . . . , A-1}:
Note of the A subsets S0, S1, . . . , SA-1 of computing nodes: These subsets can be chosen according to any arbitrary method. Assumption 2 guarantees that such subsets exist. In another embodiment, the a-th subset Sa of Ma-1 computing nodes is expanded to any arbitrary number Na, Ma-1≤Na; N of computing nodes by adding N-(Ma-1) nodes, whereby the m-th added node generates λa,m=0 in Step 1 of algorithm GenerateBlindingFactors, for all a ∈{0, 1, . . . , A-1}, so that Eq. 3 is not altered.
Note on performance: The computation of ρa−1 and of λa,m for each addition a, a ∈{0, 1, . . . , A-1} requires the execution of Phase 3 from algorithm AddSecretsWithoutSendingTheirShares. This phase comprises the transmission of messages to every dealer node. By aggregating all the messages to a dealer node in one, each computing node needs to send only one message per dealer node. This is a total number of N·D messages in the network, where D is the number of dealer nodes.
At the end of the NMC pre-processing phase, each dealer node d, d ∈{0, 1, . . . , D-1} ends up with the blinding factors ρa−1 (and hence ρa) and λa,m, a ∈{0, 1, . . . , A-1}, m ∈{0, 1, . . . , Ma-1} for every secret si
Note on security. Notice that the N computing nodes do not know the value of the base blinding factor ρa or of the exponent blinding factors λa,m, because all they have is a polynomial share of these values. Therefore, the factor ρaλ
This phase does not require any communication between the computing nodes since each node n can locally compute rn,a for each a ∈{0, 1, . . . , A-1}.
Each computing node n, n ∈{0, 1, . . . , N-1} sends their NMC share rn of the result to the result nodes, which compute:
This ends the description of the algorithm Network NMC.
Referring additionally to
In step 20, each computing node n of the N computing nodes n ∈{0, 1, . . . , N-1}, generates a random number Xn,a. This is done in parallel for each addition a, a ∈{0, 1, . . . , A-1} as described for Step 1 of Phase 0 above.
In step 22, the computing nodes each run the algorithm AddSecretsWithoutSendingTheirShares using Xn,a as their secret input value as described in the first part of Step 2 of Phase 0 above. This results in each computing node having a share of each ρa−1 which can be sent to the dealer nodes.
In step 24, the computing nodes run GenerateBlindingFactors in parallel in A instances to compute shares of λa,m as described in the first part of Step 3 of Phase 0.
In step 26, the computing nodes send the shares calculated in steps 22 and 24 of
In step 28, the dealer nodes reconstruct the blinding factors λa,m, ρa using Shamir Secret Sharing's polynomial interpolation (e.g. using Lagrange's method). As noted at the end of the description of Phase 0 above, the steps leading to the reconstruction of the blinding factors can be carried out a long time in advance of the share blinding and distribution steps of Phase 1.
It should also be noted that alternative ways of providing the blinding factors are envisaged. For example, in another embodiment, a trusted node carries out the computations from the pre-processing phase and sends ρa−1 and of λa,m for each addition a, a ∈{0, 1, . . . , A-1} to the dealer nodes.
In another embodiment, the N computing nodes carry out the computations from the pre-processing phase using another SMPC flavour different from the one described in algorithm AddSecretsWithoutSendingTheirShares and send messages to the dealer nodes that allow them to reconstruct ρa−1 and of λa,m for each addition a, a ∈{0, 1, . . . , A-1}.
In another embodiment, homomorphic encryption is used by one or several nodes, for instance using Full Homomorphic Encryption, or Somewhat Homomorphic Encryption as described in SPDZ (Damg5rd I., Pastro V., Smart N., Zakarias S. (2012) Multiparty Computation from Somewhat Homomorphic Encryption. In: Safavi-Naini R., Canetti R. (eds) Advances in Cryptology—CRYPTO 2012. CRYPTO 2012. Lecture Notes in Computer Science, vol 7417. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32009-5_38), to carry out the computations from the pre-processing phase and sends pa−1 and of λa,m for each addition a, a ∈{0, 1, . . . , A-1} to the dealer nodes.
In another embodiment, one or several nodes use secure enclaves or trusted execution environments to carry out the computations from the pre-processing phase and send ρa−1 and of λa,m for each addition a, a ∈{0, 1, . . . , A-1} to the dealer nodes.
Returning to
In step 32, the result of each such computation is broadcast by the dealer node creating the computation to the computing nodes.
In step 34, and as described above for Phase 2, each computing node calculates a share rn of the result of the NMC computation, and does so without any communication between the computing nodes.
In step 36, each computing node sends its share rn to the result nodes.
In step 38, the result nodes reconstruct the result of the function ƒ as the sum of the result shares mod p, according to Eq. 6. It can be shown that this reconstruction, arrived at without any communication between the computing nodes, is indeed a valid result of a multi-party computation of a function in the arithmetic setting by the following proof.
Starting from Eq. 4 and 5 we have (mod p):
where the last step comes from the fact that λa,0+λa,1+ . . . +λa,M
which corresponds to ƒ=ƒ(s0, s1, . . . , Ss-1) in Eq. 1.
It will be recalled from Assumption 4 that every dealer contributes with at most 1 secret to the product corresponding to the a-th addition term in ƒ. In another embodiment, we force every dealer node m to contribute with exactly one secret si
We achieve this as follows: (1) if the dealer was already contributing with one secret to the a-th term, then we do nothing, (2) if the dealer was not contributing with a secret, then it forces its secret to be equal to one: si
and the same λm are used for each addition term. This allows a reduction in the amount of information sent by the computing nodes to the dealer nodes at the end of Phase 0. Instead of sending shares for ρa−1 and λa,m, a ∈{0, 1, . . . , A-1} and m∈{0, 1, . . . , Ma-1}, they just send shares for ρa−1 and λm, m ∈{0, 1, . . . , D-1}.
As discussed previously, as an alternative to the Network NMC algorithm the same outcome can be achieved, again without any communication between the computing nodes, using an algorithm referred to as Edge NMC.
We now define the four phases of the Edge NMC SMPC for the joint evaluation of the arithmetic function in Eq. 1 without revealing any input secret value. In Edge NMC SMPC we push most of the complexity in the pre-processing phase to the dealer nodes. This involves changing (relative to the Network NMC algorithm) Steps 1 and 2 in Phase 0, the whole Phase 1 and Step 1 in Phase 2 as follows:
This ends the description of the algorithm Edge NMC.
Referring additionally to
In step 40, the computing nodes run GenerateBlindingFactors in parallel in A instances to compute shares of λa,m as described in the first part of Step 3 of Phase 0 of the Edge NMC algorithm above.
In step 42 (which may be carried out before, after or in parallel with step 20), each dealer node runs a random generator in sync to generate the same set of random numbers Xn,a without any message exchange, as described in Step 1 of Phase 0.
In step 44, each dealer node locally computes ρa (or ρ−1a) as set out in Step 2 of Phase 0.
In step 46, the computing nodes send the shares of λa,m calculated in step 40 to the dealer nodes.
In step 48, the dealer nodes reconstruct λa,m from the revealed shares. The skilled person will appreciate that the same options exist for providing the blinding factors to the dealer nodes as in the Network NMC algorithm.
In step 50, as described above in Phase 1, each dealer node 10 computes the N shares v0,a,m, v1,a,m, . . . , vN-1,a,m that correspond to every secret s as described for Step 1 of Phase 1.
In step 52, these shares are sent to the respective computing nodes as described for Step 2 of Phase 1.
In step 54, the computing nodes calculated the modified version of the result shares rn according to Phase 2.
In step 56, the result shares are sent to the result nodes, and in step 58, the result nodes reconstruct the result of the function ƒ.
The proof for the Edge NMC flavour is almost the same as that for Eq. 6 in the Network NMC flavour, the only difference being that instead of Xn,a·Πm=0M
In Phase 1 of the Network NMC protocol, a dealer node masks a secret using va,m=si
In Phase 1 of the Edge NMC protocol, a dealer node masks a secret using vn,a,m=si
Number | Date | Country | Kind |
---|---|---|---|
21210077.0 | Nov 2021 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2022/082986 | 11/23/2022 | WO |