Secure multiparty computation
Secure Multiparty Computation (MPC) enables mutiple parties to compute a function f without revealing information about the inputs to each other. For most discussion, we consider the two party case with Alice and Bob, each with inputs to the function f, x and y.
Some examples where MPC is useful:
- A Card game with no dealer - Alice and Bob want to play an honest card game with no dealer, although neither Alice or Bob trust that the other will not cheat.
- An online Auction system without a trusted third party.
We define the security of MPC by setting the ideal goal to be performing computation as if there was a trusted third party. In the two party case, Alice and Bob simply exchange their information with the third party who then performs the computation and returns the result. In the real world there is no trusted third party, instead Alice and Bob communicate directly with each other (in the two party case).
When dealing with MPC we will make some restrictions on the Adversary in Standalone security and discuss an algorithm called Yao's garbled circuit for the two party restricted adversary case. Other algorithms for more general adversaries do exist.