This web page is for the SCALE-MAMBA MPC software system developed by the KU Leuven. It details the background of the software, how to access it, and the email list associated with the software.

  1. Secure Computation Algorithms from LEuven : SCALE
  2. Multiparty AlgorithMs Basic Argot : MAMBA

Before proceeding, please note that the software is provided "AS IS". We have no ability to provide support or help with your use of it. We will try to help you, but providing such help is not our day job.

The Software

You can download the software from the git repository
The documentation for the software is available as a main PDF file and some Doxy-Gen generated output from the MAMBA compiler. We suggest reading the PDF document first.
  1. The Main PDF Documentation
  2. The Doxy-Gen Output

Historical Background

The SCALE-MAMBA system arises out of three main papers, called BDOZ, SPDZ and TinyOT in much of the literature. The BDOZ paper introduced the idea of using linear homomorphic encryption to perform pre-processing, as well as the idea of ensuring an efficient online protocol using information theoretic MACs. The SPDZ paper outlined a much more efficient online phase using a different form of MAC, and used somewhat homomorphic encryption for the pre-processing. The TinyOT paper is focused on two party computation, uses BDOZ style MACs but uses OT as the pre-processing phase. Over the years these protocols have been extended by various people, more details on this below.

The SCALE-MAMBA system has grown out of the earlier SPDZ system developed at the University of Bristol, and a lot of the code-base is the same. However, SCALE-MAMBA aims to be a complete system, and not a set of components which the user needs to magically compose together. Therefore SCALE-MAMBA is closer to a production system, and as such it is not that well suited to getting specific benchmarks out of it for specific components (e.g. offline times on their own or online times on their own). This is still possible, just more tricky and needs a deeper understanding of the whole system. We hope that this will encourage more honest reporting of run-times in the literature.

In particular the old SPDZ system is no longer supported!

A large body of research work has gone into the system. As well as the papers detailed above the system builds on the following papers:

Email List Stuff

We have a mailing list for people using the software, which is the Google Group To post to this group you need to sign up and be approved. We still use the name SPDZ for the email list so as to avoid setting up a new one for the SCALE-MAMBA system.


The license for the software can be found here. This is basically the BSD two clause license. However, we request that any use of the software for commercial purposes should be reported to the Nigel Smart. This is for impact and usage monitoring purposes only; so we can tell the original funders as to what impact their funding has had both academically and commercially.

Authors, Funders and Thanks

The following people have contributed to the code base The following people have contributed to the mathematics underlying the code base The FHE part of the code is a specialisation of the FHE code used in the Gentry, Halevi, Smart paper Homomorphic Evaluation of the AES Circuit, which was written by Halevi and Smart. Thus some of this code looks very similar to some of the code that is currently in the HELib library of Halevi and Shoup. This is because both HELib and our FHE code are derived from the same parent code base.

Thanks need to be extended to all our co-authors, and others in the community who have provided moral support and intellectual ideas. A special thanks goes to the team at Aarhus University (Damgard, Nielsen and Orlandi). We also thank the team at Galois working on the Jana project with us, for providing extensive feedback and testing.

Finally the work on the project has been funded by a number of parties; including DARPA, EPSRC, ERC, and The Royal Society.