The Fairplay system allows any distributed protocol to be specified
as if a trusted external party exists. It implements the
specified protocol securely as if the trusted party existed, but
without relying on any such party in reality but rather on provably
secure cryptographic "secure function evaluation" protocols. The
system includes a high-level language for specifying a distributed
protocol, a compiler that compiles the high-level definition into a
low-level sequence of primitive operations, and cryptographic
protocols for securely executing this sequence of operations.
The first version of Fairplay was intended for two-party
computation and is described in a paper published in
USENIX security symposium 2004.
The second version, FairplayMP was intended for multi-party
computation and is described in a paper published in
ACM CCS 2008.