As secure multi-party computation (MPC) gets more widely accepted and used, customized MPC protocols will need to be developed and updated frequently, to match specific trust assumptions, communication constraints and other idiosyncrasies of the environment in which it will be deployed. A high-level programming language allows cryptographers to unambiguously specify new protocols, without having to handle lower-level implementation details (which can be handled by the compiler of the language). Further, it can support powerful “protocol transformations” which are otherwise complex to implement.
mpC is a first of its kind, platform-independent high-level programming language for MPC protocols. We believe that such a programming language has a crucial role to play in the development of the full potential of MPC in practice and in academic research.