Multi Party Computation

Multiparty computation (MPC) is a type of cryptography that allows multiple parties to jointly compute encrypted data without revealing their inputs to each other. This is achieved using protocols and algorithms that allow parties to securely compute encrypted data and obtain the result of the calculation without revealing the individual inputs.

MPC provides a wide range of applications, including privacy-preserving machine learning, secure online voting, and secure data sharing among multiple parties. For example, imagine that two parties want to calculate the amount of their encrypted data without revealing the individual values to each other. MPC algorithms would allow them to do this securely, by computing the amount of the encrypted values and returning the result to each party, without revealing the individual inputs.

MPC provides strong privacy guarantees, as the individual inputs are never revealed to any other party. It can also be highly efficient, as the calculation can be performed on encrypted data without the need to decrypt the inputs. This makes it a powerful tool for enabling secure and private collaboration among multiple parties.

Security Model

From a security point of view, the core idea is that all cryptographic keys are split across a set of parties, called MPC nodes. Each MPC node will only have a share of the key, which reveals no information about the key Yet multiple MPC nodes can perform cryptographic operations together without learning anything but their key share. This is possible by using a cryptographic technique known as Multiparty Computation.

This approach is also known as Threshold Cryptography, and the idea is that a given MPC is configured with two parameters, t and n:

  • n is the total number of nodes.
  • t is the threshold value, and the system tolerates up to t corrupt nodes, so at least t+1 nodes are required to perform an operation.
  • We call this an (n,t) MPC schema.