Paper 2013/371 Original: eprint.iacr.org/2013/371 ↗

Domain-Polymorphic Programming of Privacy-Preserving Applications

Dan Bogdanov
Peeter Laud
Jaak Randmets
Abstract

Secure Multiparty Computation (SMC) is seen as one of the main enablers for secure outsourcing of computation. Currently, there are many different SMC techniques (garbled circuits, secret sharing, homomorphic encryption, etc.) and none of them is clearly superior to others in terms of efficiency, security guarantees, ease of implementation, etc. For maximum efficiency, and for obeying the trust policies, a privacy-preserving application may wish to use several different SMC techniques for different operations it performs. A straightforward implementation of this application may result in a program that (i) contains a lot of duplicated code, differing only in the used SMC technique; (ii) is difficult to maintain, if policies or SMC implementations change; and (iii) is difficult to reuse in similar applications using different SMC techniques. In this paper, we propose a programming language with associated compilation techniques for simple orchestration of multiple SMC techniques and multiple protection domains. It is a simple imperative language with function calls where the types of data items are annotated with protection domains and where the function declarations may be domain-polymorphic. This allows most of the program code working with private data to be written in a SMC-technique-agnostic manner. It also allows rapid deployment of new SMC techniques and implementations in existing applications. We have implemented the compiler for the language, integrated it with an existing SMC framework, and are currently using it for new privacy-preserving applications.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint.
History
2014-04-22: last updated
2013-06-12: published
Short URL
https://ia.cr/2013/371
License
https://creativecommons.org/licenses/by/4.0/

BibTeX

@misc{cryptoeprint:2013/371,
      author = {Dan Bogdanov and Peeter Laud and Jaak Randmets},
      title = {Domain-Polymorphic Programming of Privacy-Preserving Applications},
      howpublished = {Cryptology {ePrint} Archive, Paper 2013/371},
      year = {2013},
      url = {https://eprint.iacr.org/2013/371}
}
Note: In order to protect the privacy of readers, this archive does not use cookies or embedded third party content.