Paper 2012/629

SCAPI: The Secure Computation Application Programming Interface

Yael Ejgenberg, Moriya Farbstein, Meital Levy, and Yehuda Lindell


Secure two-party and multiparty computation has long stood at the center of the foundations of theoretical cryptography. Recently, however, interest has grown regarding the efficiency of such protocols and their application in practice. As a result, there has been significant progress on this problem and it is possible to actually carry out secure computation for non-trivial tasks on reasonably large inputs. Part of this research goal of making secure computation practical has also involved \emph{implementations}. Such implementations are of importance for two reasons: first, they demonstrate the real efficiency of known and new protocols; second, they deepen our understanding regarding where the bottlenecks in efficiency lie. However, it is very hard to compare between implementations by different research groups since they are carried out on different platforms and using different infrastructures. In addition, most implementations have been carried out without the goal of code reuse, and so are not helpful to other researchers. The difficulty of beginning implementation projects is further compounded by the fact that existing cryptographic libraries (like openSSL, Bouncy Castle, and others) are tailored for tasks like encryption, authentication and key-exchange, and not for secure computation. We have developed SCAPI in order to address these problems. SCAPI is an \emph{open-source} general library tailored for secure computation implementations. Our aim in developing SCAPI has been to provide a flexible and efficient infrastructure for secure computation implementations, that is both easy to use and robust. Great care has been taken in the design of the library, in writing clean code, and in documentation. We hope that this library will be useful to the community interested in implementations of secure protocols, and will help to promote the goal of making secure computation practical.

Note: This is an update to reflect the release of version 2.0.0 of SCAPI, including the protocols layer.

Available format(s)
Publication info
Preprint. MINOR revision.
secure computationimplementation library
Contact author(s)
lindell @ biu ac il
2017-01-02: last of 3 revisions
2012-11-08: received
See all versions
Short URL
Creative Commons Attribution


      author = {Yael Ejgenberg and Moriya Farbstein and Meital Levy and Yehuda Lindell},
      title = {SCAPI: The Secure Computation Application Programming Interface},
      howpublished = {Cryptology ePrint Archive, Paper 2012/629},
      year = {2012},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.