As of June 2022 we are no longer actively maintaining this software.
We may post occasional updates, but there will be no new development of
new functionality and so forth.
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.
Secure Computation Algorithms from LEuven : SCALE
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 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.
The HSS paper presents efficient n-party garbling based upon the
TinyOT protocol.
Over the years these protocols have been extended by various people,
more details on these improvements can be found in the papers below.
The Full-Threshold LSSS based sub-system basically uses SPDZ with
TopGear as the pre-processing engine.
The Q2 based LSSS sub-system uses either the method Maurer
(see below for the paper) or the method of Keller, Rotaru,
Smart and Wood (see below for the paper) to perform the offline
phase, and then uses the paper of Smart and Wood (again see below)
to do the online phase.
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:
2019/1300 ( PDF )
Actively Secure Setup for SPDZ Dragos Rotaru and Nigel P. Smart and Titouan Tanguy and Frederik Vercauteren and Tim Wood
2019/974 ( PDF )
Zaphod: Efficiently Combining LSSS and Garbled Circuits in SCALE Abdelrahaman Aly and Emmanuela Orsini and Dragos Rotaru and Nigel P. Smart and Tim Wood
2019/354 ( PDF )
Benchmarking Privacy Preserving Scientific Operations Abdelrahaman Aly and Nigel P. Smart
2019/207 ( PDF )
MArBled Circuits: Mixing Arithmetic and Boolean Circuits with Active Security Dragos Rotaru and Tim Wood
2019/035 ( PDF )
Using TopGear in Overdrive: A more efficient ZKPoK for SPDZ
Carsten Baum and Daniele Cozzo and Nigel P. Smart
2018/467 ( PDF )
Error-Detecting in Monotone Span Programs with Application to Communication Efficient Multi-Party Computation
Nigel P. Smart and Tim Wood
2017/1230 ( PDF )
Overdrive: Making SPDZ Great Again
Marcel Keller and Valerio Pastro and Dragos Rotaru
2017/492 ( PDF )
Reducing Communication Channels in MPC
Marcel Keller and Dragos Rotaru and Nigel P. Smart and Tim Wood
2017/189 ( PDF)
Global-Scale Secure Multiparty Computation Xiao Wang and Samuel Ranellucci and Jonathan Katz
2016/505 ( PDF )
MASCOT: Faster Malicious Arithmetic Secure Computation with Oblivious Transfer Marcel Keller and Emmanuela Orsini and Peter Scholl
2015/901 ( PDF )
A Unified Approach to MPC with Preprocessing using OT Tore Kasper Frederiksen and Marcel Keller and Emmanuela Orsini and Peter Scholl
2015/546 ( PDF )
Actively Secure OT Extension with Optimal Overhead Marcel Keller and Emmanuela Orsini and Peter Scholl
2015/472 ( PDF )
High Performance Multi-Party Computation for Binary Circuits Based on Oblivious Transfer Sai Sheshank Burra and Enrique Larraia and Jesper Buus Nielsen and Peter Sebastian Nordholt and Claudio Orlandi and Emmanuela Orsini and Peter Scholl and Nigel P. Smart
2014/137 ( PDF )
Efficient, Oblivious Data Structures for MPC Marcel Keller and Peter Scholl
2014/101 ( PDF )
Dishonest Majority Multi-Party Computation for Binary Circuits Enrique Larraia and Emmanuela Orsini and Nigel P. Smart
2013/143 ( PDF )
An architecture for practical actively secure MPC with dishonest majority Marcel Keller and Peter Scholl and Nigel P. Smart
2012/642 ( PDF )
Practical Covertly Secure MPC for Dishonest Majority – or: Breaking the SPDZ Limits Ivan Damgard and Marcel Keller and Enrique Larraia and Valerio Pastro and Peter Scholl and Nigel P. Smart
( PDF )
Secure Multi-Party Computation made Simple. Ueli Maurer
In addition in the following papers we used SPDZ/SCALE in experiments.
The lessons learned have fed back into the design of the overall system.
2020/214 ( PDF )
Thresholdizing HashEdDSA: MPC to the Rescue Charlotte Bonte and Nigel P. Smart and Titouan Tanguy
2018/1045 ( PDF )
MPC Joins the Dark Side John Cartlidge and Nigel P. Smart and Younes Talibi Alaoui
2018/1034 ( PDF )
Adding Distributed Decryption and Key Generation to a Ring-LWE Based CCA Encryption Scheme Michael Kraitsberg and Yehuda Lindell and Valery Osheter and Nigel P. Smart and Younes Talibi Alaoui
2017/1190 ( PDF )
EPIC: Efficient Private Image Classification (or: Learning from the Masters) Eleftheria Makri and Dragos Rotaru and Nigel P. Smart and Frederik Vercauteren
2017/378 ( PDF )
Faster Secure Multi-Party Computation of AES and DES Using Lookup Tables Marcel Keller and Emmanuela Orsini and Dragos Rotaru and Peter Scholl and Eduardo Soria-Vazquez and Srinivas Vivek
2016/542 ( PDF )
MPC-Friendly Symmetric Key Primitives Lorenzo Grassi and Christian Rechberger and Dragos Rotaru and Peter Scholl and Nigel P. Smart
2015/467 ( PDF )
The Oblivious Machine - or: How to Put the C into MPC Marcel Keller
2012/262 ( PDF )
Implementing AES via an Actively/Covertly Secure Dishonest-Majority MPC Protocol Ivan Damgard and Marcel Keller and Enrique Larraia and Christian Miles and N.P. Smart
Email List Stuff
We have a mailing list for people using the software, which is the Google Group
spdz@googlegroups.com.
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.
License
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
Abdelrahaman Aly,
Benjamin Coenen,
Kelong Cong,
Karl Koch,
Marcel Keller,
Dragos Rotaru,
Oliver Scherer,
Peter Scholl,
Nigel P. Smart,
Titouan Tanguy,
Tim Wood
The following people have contributed to the mathematics underlying the code base
Abdelrahaman Aly,
Carsten Baum,
Kelong Cong,
Daniele Cozzo,
Ivan Damgard,
Tore Kasper Frederiksen,
Marcel Keller,
Enrique Larraia,
Claudio Orlandi,
Emmanuela Orsini,
Jesper Buus Nielsen,
Christian Miles,
Valerio Pastro,
Dragos Rotaru,
Sarah Zakarais,
Peter Scholl,
Nigel P. Smart,
Eduardo Soria-Vazquez,
Titouan Tanguy,
Tim Wood.
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.
We also thank the team at Cosmian for helping develop the SCALE-assembler
(scasm).
Finally the work on the project has been funded by a number of parties;
including DARPA, EPSRC, ERC, FWO, IARPA and The Royal Society of London.