skip to main content
10.1145/2508859.2516752acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article

PICCO: a general-purpose compiler for private distributed computation

Published:04 November 2013Publication History

ABSTRACT

Secure computation on private data has been an active area of research for many years and has received a renewed interest with the emergence of cloud computing. In recent years, substantial progress has been made with respect to the efficiency of the available techniques and several implementations have appeared. The available tools, however, lacked a convenient mechanism for implementing a general-purpose}program in a secure computation framework suitable for execution in not fully trusted environments. This work fulfills this gap and describes a system, called PICCO, for converting a program written in an extension of C into its distributed secure implementation and running it in a distributed environment. The C extension preserves all current features of the programming language and allows variables to be marked as private and be used in general-purpose computation. Secure distributed implementation of compiled programs is based on linear secret sharing, achieving efficiency and information-theoretical security. Our experiments also indicate that many programs can be evaluated very efficiently on private data using PICCO.

References

  1. Bison -- GNU parser generator. http://www.gnu.org/software/bison.Google ScholarGoogle Scholar
  2. Boost C++ libraries. http://www.boost.org.Google ScholarGoogle Scholar
  3. flex: The Fast Lexical Analyzer. http://flex.sourceforge.net.Google ScholarGoogle Scholar
  4. GENI: Global environment for network innovations. http://www.geni.net.Google ScholarGoogle Scholar
  5. GMP -- The GNU Multiple Precision Arithmetic Library. http://gmplib.org.Google ScholarGoogle Scholar
  6. OpenSSL: The open source toolkit for SSL/TLS. http://www.openssl.org.Google ScholarGoogle Scholar
  7. M. Aliasgari, M. Blanton, Y. Zhang, and A. Steele. Secure computation on floating point numbers. In NDSS, 2013.Google ScholarGoogle Scholar
  8. A. Ben-David, N. Nisan, and B. Pinkas. FairplayMP: A system for secure multi-party computation. In CCS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. M. Blanton. Empirical evaluation of secure two-party computation models. Technical Report TR 2005--58, CERIAS, Purdue University, 2005.Google ScholarGoogle Scholar
  10. D. Bogdanov, S. Laur, and J. Willemson. Sharemind: A framework for fast privacy-preserving computations. In ESORICS, pages 192--206, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Bogdanov, M. Niitsoo, T. Toft, and J. Willemson. High-performance secure multi-party computation for data mining applications. IJIS, 11(6):403--418, 2012.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Boyar and R. Peralta. A new combinational logic minimization technique with applications to cryptology. In Symposium on Experimental Algorithms, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Boyar and R. Peralta. A small depth-16 circuit for the AES S-box. In Information Security and Privacy Research, pages 287--298, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  14. M. Burkhart, M. Strasser, D. Many, and X. Dimitropoulos. SEPIA: Privacy-preserving aggregation of multi-domain network events and statistics. In USENIX Security Symposium, pages 223--240, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Canetti. Security and composition of multiparty cryptographic protocols. Journal of Cryptology, 13(1):143--202, 2000.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. O. Catrina and S. de Hoogh. Improved primitives for secure multiparty integer computation. In Security and Cryptography for Networks (SCN), pages 182--199, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. O. Catrina and A. Saxena. Secure computation with fixed-point numbers. In FC, pages 35--50, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. Cramer, I. Damgård, and Y. Ishai. Share conversion, pseudorandom secret-sharing and applications to secure computation. In TCC, pages 342--362, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. I. Damgård, M. Geisler, and M. Krøigård. Asynchronous multiparty computation: Theory and implementation. In PKC, pages 160--179, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. I. Damgård and M. Keller. Secure multiparty AES. In FC, pages 367--374, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. I. Damgård, M. Keller, E. Larraia, C. Miles, and N. Smart. Implementing AES via an actively/covertly secure dishonest-majority MPC protocol. IACR Cryptology ePrint Archive Report 2012/262, 2012.Google ScholarGoogle Scholar
  22. I. Damgård and J. Nielsen. Scalable and unconditionally secure multiparty computation. In CRYPTO, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  23. V. Dimakopoulos, E. Leontiadis, and G. Tzoumas. A portable C compiler for OpenMP V.2.0. In European Workshop on OpenMP (EWOMP), pages 5--11, 2003.Google ScholarGoogle Scholar
  24. M. Frigo, C. Leiserson, and K. Randall. The implementation of the Cilk-5 multithreaded language. In PLDI, pages 212--223, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. Geisler. Cryptographic protocols: Theory and implementation. PhD thesis, Aarhus University, 2010.Google ScholarGoogle Scholar
  26. R. Gennaro, M. Rabin, and T. Rabin. Simplified VSS and fast-track multiparty computations with applications to threshold cryptography. In PODC, pages 101--111, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. O. Goldreich. Towards a theory of software protection and simulation by oblivious RAMs. In STOC, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. W. Henecka, S. Kogl, A.-R. Sadeghi, T. Schneider, and I. Wehrenberg. TASTY: Tool for Automating Secure Two-partY computations. In CCS, pages 451--462, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. A. Holzer, M. Franz, S. Katzenbeisser, and H. Veith. Secure two-party computations in ANSI C. In CCS, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Y. Huang, D. Evans, J. Katz, and L. Malka. Faster secure two-party computation using garbled circuits. In USENIX Security Symposium, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. R. Jagomägis. SecreC: A privacy-aware programming language with applications in data mining. Master's thesis, University of Tartu, 2010.Google ScholarGoogle Scholar
  32. F. Kerschbaum. Automatically optimizing secure computation. In CCS, pages 703--714, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. Launchbury, I. Diatchki, T. DuBuisson, and A. Adams-Moran. Efficient lookup-table protocol in secure multiparty computation. In ICFP, pages 189--200, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. S. Laur, R. Talviste, and J. Willemson. From oblivious AES to efficient and secure database join in the multiparty setting. In ACNS, pages 84--101, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. D. Malkhi, N. Nisan, B. Pinkas, and Y. Sella. Fairplay -- a secure two-party computation system. In USENIX Security Symposium, pages 287--302, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. B. Pinkas, T. Schneider, N. Smart, and S. Williams. Secure two-party computation is practical. In ASIACRYPT, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. A. Schroepfer, F. Kerschbaum, and G. Mueller. L1 -- An intermediate language for mixed-protocol secure computation. In COMPSAC, pages 298--307, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. A. Shamir. How to share a secret. Communications of the ACM, 22(11):612--613, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. PICCO: a general-purpose compiler for private distributed computation

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        CCS '13: Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security
        November 2013
        1530 pages
        ISBN:9781450324779
        DOI:10.1145/2508859

        Copyright © 2013 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 4 November 2013

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        CCS '13 Paper Acceptance Rate105of530submissions,20%Overall Acceptance Rate1,261of6,999submissions,18%

        Upcoming Conference

        CCS '24
        ACM SIGSAC Conference on Computer and Communications Security
        October 14 - 18, 2024
        Salt Lake City , UT , USA

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader