Paper 2020/521

MP-SPDZ: A Versatile Framework for Multi-Party Computation

Marcel Keller


Multi-Protocol SPDZ (MP-SPDZ) is a fork of SPDZ-2 (Keller et al., CCS '13), an implementation of the multi-party computation (MPC) protocol called SPDZ (Damgård et al., Crypto '12). MP-SPDZ extends SPDZ-2 to 34 MPC protocol variants, all of which can be used with the same high-level programming interface based on Python. This considerably simplifies comparing the cost of different protocols and security models. The protocols cover all commonly used security models (honest/dishonest majority and semi-honest/malicious corruption) as well as computation of binary and arithmetic circuits (the latter modulo primes and powers of two). The underlying primitives employed include secret sharing, oblivious transfer, homomorphic encryption, and garbled circuits. The breadth of implemented protocols coupled with an accessible high-level interface makes it suitable to benchmark the cost of computation in various security models for researchers both with and without a background in secure computation This paper aims to outline the variety of protocols implemented and the design choices made in the development of MP-SPDZ as well as the capabilities of the programming interface.

Note: This version adds new protocols from version 0.2.0.

Available format(s)
Publication info
Published elsewhere. Minor revision. ACM CCS 2020
multi-party computation
Contact author(s)
mks keller @ gmail com
2020-11-12: last of 2 revisions
2020-05-05: received
See all versions
Short URL
Creative Commons Attribution


      author = {Marcel Keller},
      title = {MP-SPDZ: A Versatile Framework for Multi-Party Computation},
      howpublished = {Cryptology ePrint Archive, Paper 2020/521},
      year = {2020},
      doi = {10.1145/3372297.3417872},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.