Suppose two millionaires want to learn who is richer without revealing their fortunes. Secure multi-party computation (MPC) lets participants jointly execute a program while keeping their inputs private. It replaces a trusted third party with a cryptographic protocol that participants run themselves. section 15.1
Figure 15.1 A secure multi-party computation (MPC) protocol turns a distributed computation that can be calculated via a trusted third party (image on the left) into a computation that doesn’t need the help of a trusted third party (image on the right).
Use the diagram to compare ordinary distributed computation through a trusted third party with MPC, which removes that intermediary. section 15.1
General-purpose MPC can represent arbitrary programs by translating them into arithmetic circuits made from addition and multiplication gates. Protocols differ in efficiency, tolerated dishonesty, participant behavior, and fairness when someone stops early. section 15.1.2
A simplified honest-majority construction using Shamir’s secret sharing proceeds in three stages:
- Share inputs: publish public inputs and split private inputs into secret shares distributed among participants. section 15.1.2
- Evaluate the circuit: compute addition gates locally and exchange messages for multiplication gates, producing shares of intermediate results. section 15.1.2
- Reconstruct the output: exchange the necessary shares to reveal the result, or keep them separate for continued computation. section 15.1.2
Existing MPC-shaped systems
Threshold signatures and distributed key generation are examples of MPC; both belong more specifically to threshold cryptography. section 15.1
MPC has become more practical, but implementations remain difficult to use and lack a general standardization effort. Secret sharing is only one construction; garbled circuits and fully homomorphic encryption provide alternatives. section 15.1.3

