Advances in Cryptology – CRYPTO 2012

Volume 7417 of the series Lecture Notes in Computer Science pp 643-662

Multiparty Computation from Somewhat Homomorphic Encryption

  • Ivan DamgårdAffiliated withLancaster UniversityDepartment of Computer Science, Aarhus University
  • , Valerio PastroAffiliated withLancaster UniversityDepartment of Computer Science, Aarhus University
  • , Nigel SmartAffiliated withLancaster UniversityDepartment of Computer Science, Bristol University
  • , Sarah ZakariasAffiliated withLancaster UniversityDepartment of Computer Science, Aarhus University

* Final gross prices may vary according to local VAT.

Get Access


We propose a general multiparty computation protocol secure against an active adversary corrupting up to n − 1 of the n players. The protocol may be used to compute securely arithmetic circuits over any finite field \(\mathbb{F}_{p^k}\). Our protocol consists of a preprocessing phase that is both independent of the function to be computed and of the inputs, and a much more efficient online phase where the actual computation takes place. The online phase is unconditionally secure and has total computational (and communication) complexity linear in n, the number of players, where earlier work was quadratic in n. Moreover, the work done by each player is only a small constant factor larger than what one would need to compute the circuit in the clear. We show this is optimal for computation in large fields. In practice, for 3 players, a secure 64-bit multiplication can be done in 0.05 ms. Our preprocessing is based on a somewhat homomorphic cryptosystem. We extend a scheme by Brakerski et al., so that we can perform distributed decryption and handle many values in parallel in one ciphertext. The computational complexity of our preprocessing phase is dominated by the public-key operations, we need O(n 2/s) operations per secure multiplication where s is a parameter that increases with the security parameter of the cryptosystem. Earlier work in this model needed Ω(n 2) operations. In practice, the preprocessing prepares a secure 64-bit multiplication for 3 players in about 13 ms.