Paper 2016/942

Optimizing Secure Computation Programs with Private Conditionals

Peeter Laud and Alisa Pankova


Secure multiparty computation platforms are often provided with a programming language that allows to write privacy-preserving applications without thinking of the underlying cryptography. The control flow of these programs is expensive to hide, hence they typically disallow branching on private values. The application programmers have to specify their programs in terms of allowed constructions, either using ad-hoc methods to avoid such branchings, or the general methodology of executing all branches and obliviously selecting the effects of one at the end. There may be compiler support for the latter. The execution of all branches introduces significant computational overhead. If the branches perform similar private operations, then it may make sense to compute repeating patterns only once, even though the necessary bookkeeping also has overheads. In this paper, we propose a program optimization doing exactly that, allowing the overhead of private conditionals to be reduced. The optimization is quite general, and can be applied to various privacy-preserving platforms.

Available format(s)
Publication info
Published elsewhere. Major revision. Proceedings of the International Conference on Information and Communications Security (ICICS 2016), to appear
languages for secure computationstatic analysisgraph theorymixed integer programming
Contact author(s)
alisa @ cyber ee
2016-10-01: received
Short URL
Creative Commons Attribution


      author = {Peeter Laud and Alisa Pankova},
      title = {Optimizing Secure Computation Programs with Private Conditionals},
      howpublished = {Cryptology ePrint Archive, Paper 2016/942},
      year = {2016},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.