Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3576915.3623181acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article
Public Access

COMBINE: COMpilation and Backend-INdependent vEctorization for Multi-Party Computation

Published: 21 November 2023 Publication History

Abstract

Recent years have witnessed significant advances in programming technology for multi-party computation (MPC), bringing MPC closer to practice and wider applicability. Typical MPC programming frameworks focus on either front-end language design (e.g., Wysteria, Viaduct, SPDZ), or back-end protocol design and implementation (e.g., ABY, MOTION, MP-SPDZ).
We propose a methodology for an MPC compilation toolchain, which by mimicking the compilation methodology of classical compilers enables middle-end (i.e., machine-independent) optimizations, yielding significant improvements. We advance an intermediate language, which we call MPC-IR that can be viewed as the analogue of (enriched) Static Single Assignment (SSA) form. MPC-IR enables backend-independent optimizations in a close analogy to machine-independent optimizations in classical compilers. To demonstrate our approach, we focus on a specific backend-independent optimization, SIMD-vectorization: We devise a novel classical-compiler-inspired automatic SIMD-vectorization on MPC-IR. To demonstrate backend independence and quality of our optimization, we evaluate our approach with two mainstream backend frameworks that support multiple types of MPC protocols, namely MOTION and MP-SPDZ, and show significant improvements across the board.

References

[1]
Cosku Acay, Rolph Recto, Joshua Gancher, Andrew C. Myers, and Elaine Shi. 2021. Viaduct: an extensible, optimizing compiler for secure distributed programs. In ACM PLDI 2021. Stephen N. Freund and Eran Yahav, (Eds.) ACM, (June 2021), 740--755.
[2]
Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman. 1986. Compilers: Principles, Techniques, and Tools. Addison-Wesley series in computer science / World student series edition. Addison-Wesley.
[3]
Alexander Aiken and Alexandru Nicolau. 1988. Optimal loop parallelization. In ACM PLDI 1988. Richard L. Wexelblat, (Ed.) ACM, (June 1988), 308--317.
[4]
Randy Allen and Ken Kennedy. 1987. Automatic translation of fortran programs to vector form. ACM Trans. Program. Lang. Syst., 9, 4, 491--542.
[5]
Gene M. Amdahl. 2013. Computer architecture and amdahl's law. Computer, 46, 12, 38--46.
[6]
Toshinori Araki, Assi Barak, Jun Furukawa, Marcel Keller, Yehuda Lindell, Kazuma Ohara, and Hikaru Tsuchida. 2018. Generalizing the SPDZ compiler for other protocols. In ACM CCS 2018. David Lie, Mohammad Mannan, Michael Backes, and XiaoFeng Wang, (Eds.) ACM Press, (Oct. 2018), 880--895.
[7]
Donald Beaver, Silvio Micali, and Phillip Rogaway. 1990. The round complexity of secure protocols (extended abstract). In 22nd ACM STOC. ACM Press, (May 1990), 503--513.
[8]
Assaf Ben-David, Noam Nisan, and Benny Pinkas. 2008. FairplayMP: a system for secure multi-party computation. In ACM CCS 2008. Peng Ning, Paul F. Syverson, and Somesh Jha, (Eds.) ACM Press, (Oct. 2008), 257--266.
[9]
Michael Ben-Or, Shafi Goldwasser, and Avi Wigderson. 1988. Completeness theorems for non-cryptographic fault-tolerant distributed computation (extended abstract). In 20th ACM STOC. ACM Press, (May 1988), 1--10.
[10]
Mohamed-Walid Benabderrahmane, Louis-Noël Pouchet, Albert Cohen, and Cédric Bastoul. 2010. The polyhedral model is more widely applicable than you think. In Compiler Construction, CC 2010. Rajiv Gupta, (Ed.) Vol. 6011. Springer, 283--303.
[11]
Marina Blanton and Paolo Gasti. 2011. Secure and efficient protocols for iris and fingerprint identification. In ESORICS 2011 (LNCS). Vijay Atluri and Claudia Díaz, (Eds.) Vol. 6879. Springer, Heidelberg, 190-209
[12]
Dan Bogdanov, Sven Laur, and Jan Willemson. 2008. Sharemind: a framework for fast privacy-preserving computations. In ESORICS 2008 (LNCS). Sushil Jajodia and Javier López, (Eds.) Vol. 5283. Springer, Heidelberg, (Oct. 2008), 192--206.
[13]
Peter Bogetoft et al. 2009. Secure multiparty computation goes live. In FC 2009 (LNCS). Roger Dingledine and Philippe Golle, (Eds.) Vol. 5628. Springer, Heidelberg, (Feb. 2009), 325--343.
[14]
Lennart Braun, Daniel Demmler, Thomas Schneider, and Oleksandr Tkachenko. 2022. Motion: a framework for mixed-protocol multi-party computation. ACM TOPS, 25, 2, (May 2022), 1--35.
[15]
Lennart Braun, Moritz Huppert, Nora Khayata, Thomas Schneider, and Oleksandr Tkachenko. 2023. Fuse - flexible file format and intermediate representation for secure multi-party computation. Cryptology ePrint Archive, Paper 2023/563. (2023).
[16]
Niklas Büscher. 2018. Compilation for More Practical Secure Multi-Party Computation. Ph.D. Dissertation. Darmstadt University of Technology, Germany.
[17]
Niklas Büscher, Daniel Demmler, Stefan Katzenbeisser, David Kretzmer, and Thomas Schneider. 2018. HyCC: compilation of hybrid protocols for practical secure computation. In ACM CCS 2018. David Lie, Mohammad Mannan, Michael Backes, and XiaoFeng Wang, (Eds.) ACM Press, (Oct. 2018), 847--861.
[18]
Niklas Büscher and Stefan Katzenbeisser. 2015. Faster secure computation through automatic parallelization. In 24th USENIX Security Symposium (USENIX Security 15). USENIX Association, (Aug. 2015), 531--546.
[19]
David Chaum, Claude Crépeau, and Ivan Damgård. 1988. Multiparty unconditionally secure protocols (extended abstract). In 20th ACM STOC. ACM Press, (May 1988), 11--19.
[20]
Edward Chen, Jinhao Zhu, Alex Ozdemir, Riad S. Wahby, Fraser Brown, and Wenting Zheng. 2023. Silph: a framework for scalable and accurate generation of hybrid mpc protocols. Cryptology ePrint Archive, Paper 2023/060. https://e print.iacr.org/2023/060. (2023).
[21]
KU Leuven COSIC. 2019. SCALE-MAMBA. (2019). https://github.com/KULeuv en-COSIC/SCALE-MAMBA.
[22]
Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and F. Kenneth Zadeck. 1991. Efficiently computing static single assignment form and the control dependence graph. ACM Trans. Program. Lang. Syst., 13, 4, 451--490.
[23]
Ivan Damgård, Marcel Keller, Enrique Larraia, Valerio Pastro, Peter Scholl, and Nigel P. Smart. 2013. Practical covertly secure MPC for dishonest majority - or: breaking the SPDZ limits. In Computer Security - ESORICS 2013 - 18th European Symposium on Research in Computer Security, Egham, UK, September 9-13, 2013. Proceedings (Lecture Notes in Computer Science). Jason Crampton, Sushil Jajodia, and Keith Mayes, (Eds.) Vol. 8134. Springer, 1--18. 78-3-642-40203-6\_1.
[24]
Ivan Damgård, Valerio Pastro, Nigel P. Smart, and Sarah Zakarias. 2012. Multi-party computation from somewhat homomorphic encryption. In Advances in Cryptology - CRYPTO 2012 - 32nd Annual Cryptology Conference, Santa Barbara, CA, USA, August 19-23, 2012. Proceedings (Lecture Notes in Computer Science). Reihaneh Safavi-Naini and Ran Canetti, (Eds.) Vol. 7417. Springer, 643--662.
[25]
Daniel Demmler, Thomas Schneider, and Michael Zohner. 2015. ABY - A framework for efficient mixed-protocol secure two-party computation. In NDSS 2015. The Internet Society, (Feb. 2015).
[26]
Leonardo Mendonça de Moura and Nikolaj S. Bjørner. 2008. Z3: an efficient SMT solver. In TACAS 2008. C. R. Ramakrishnan and Jakob Rehof, (Eds.) Vol. 4963. Springer, (Apr. 2008), 337--340.
[27]
Dmitry Duplyakin et al. 2019. The design and operation of CloudLab. In Proceedings of the USENIX Annual Technical Conference (ATC). (July 2019), 1--14.
[28]
Daniel Escudero, Satrajit Ghosh, Marcel Keller, Rahul Rachuri, and Peter Scholl. 2020. Improved primitives for MPC over mixed arithmetic-binary circuits. In CRYPTO 2020, Part II (LNCS). Daniele Micciancio and Thomas Ristenpart, (Eds.) Vol. 12171. Springer, Heidelberg, (Aug. 2020), 823--852.
[29]
Vivian Fang, Lloyd Brown, William Lin, Wenting Zheng, Aurojit Panda, and Raluca Ada Popa. 2022. CostCO: an automatic cost modeling framework for secure multi-party computation. Cryptology ePrint Archive, Report 2022/332. https://eprint.iacr.org/2022/332. (2022).
[30]
Azadeh Farzan and Victor Nicolet. 2021. Phased synthesis of divide and conquer programs. In ACM PLDI 2021. Stephen N. Freund and Eran Yahav, (Eds.) ACM, (July 2021), 974--986.
[31]
Oded Goldreich, Silvio Micali, and Avi Wigderson. 1987. How to play any mental game or A completeness theorem for protocols with honest majority. In 19th ACM STOC. Alfred Aho, (Ed.) ACM Press, (May 1987), 218--229.
[32]
Marcella Hastings, Brett Hemenway, Daniel Noble, and Steve Zdancewic. 2019. SoK: general purpose compilers for secure multi-party computation. In 2019 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, (May 2019), 1220--1237.
[33]
Tim Heldmann, Thomas Schneider, Oleksandr Tkachenko, Christian Weinert, and Hossein Yalame. 2021. Llvm-based circuit compilation for practical secure computation. In Applied Cryptography and Network Security. Kazue Sako and Nils Ole Tippenhauer, (Eds.) Springer International Publishing, Cham, 99--121.
[34]
Muhammad Ishaq, Ana L. Milanova, and Vassilis Zikas. 2019. Efficient MPC via program analysis: A framework for efficient optimal mixing. In ACM CCS 2019. Lorenzo Cavallaro, Johannes Kinder, XiaoFeng Wang, and Jonathan Katz, (Eds.) ACM Press, (Nov. 2019), 1539--1556.
[35]
Ralf Karrenberg. 2015. Automatic SIMD Vectorization of SSA-based Control Flow Graphs. Springer. isbn: 978-3-658-10112-1.
[36]
Marcel Keller. 2020. MP-SPDZ: A versatile framework for multi-party computation. In ACM CCS 2020. Jay Ligatti, Xinming Ou, Jonathan Katz, and Giovanni Vigna, (Eds.) ACM Press, (Nov. 2020), 1575--1590.
[37]
Marcel Keller, Emmanuela Orsini, and Peter Scholl. 2016. MASCOT: faster malicious arithmetic secure computation with oblivious transfer. In ACM CCS 2016. Edgar R. Weippl, Stefan Katzenbeisser, Christopher Kruegel, Andrew C. Myers, and Shai Halevi, (Eds.) ACM Press, (Oct. 2016), 830--842.
[38]
Marcel Keller, Peter Scholl, and Nigel P. Smart. 2013. An architecture for prac-tical actively secure MPC with dishonest majority. In 2013 ACM SIGSAC Conference on Computer and Communications Security, CCS'13, Berlin, Germany, November 4-8, 2013. Ahmad-Reza Sadeghi, Virgil D. Gligor, and Moti Yung, (Eds.) ACM, 549--560.
[39]
Benjamin Levy, Muhammad Ishaq, Ben Sherman, Lindsey Kennard, Ana Milanova, and Vassilis Zikas. 2023. Combine: compilation and backend-independent vectorization for multi-party computation. Cryptology ePrint Archive, Paper 2023/089. https://eprint.iacr.org/2023/089. (2023). https://eprint.iacr.org/2023/089.
[40]
Chang Liu, Xiao Shaun Wang, Kartik Nayak, Yan Huang, and Elaine Shi. 2015. ObliVM: A programming framework for secure computation. In 2015 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, (May 2015), 359--376.
[41]
Payman Mohassel and Peter Rindal. 2018. ABY3: A mixed protocol framework for machine learning. In ACM CCS 2018. David Lie, Mohammad Mannan, Michael Backes, and XiaoFeng Wang, (Eds.) ACM Press, (Oct. 2018), 35--52.
[42]
Payman Mohassel and Yupeng Zhang. 2017. SecureML: A system for scalable privacy-preserving machine learning. In 2017 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, (May 2017), 19--38.
[43]
Benjamin Mood, Debayan Gupta, Henry Carter, Kevin Butler, and Patrick Traynor. 2016. Frigate: a validated, extensible, and efficient compiler and interpreter for secure computation. In 2016 IEEE European Symposium on Security and Privacy (EuroS&P), 112--127.
[44]
Kartik Nayak, Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, and Elaine Shi. 2015. Graphsc: parallel secure computation made easy. In 2015 IEEE Symposium on Security and Privacy, 377--394.
[45]
Tobias Nipkow and Gerwin Klein. 2014. Concrete Semantics: With Isabelle/HOL. Springer, Heidelberg, Germany. isbn: 3319105418.
[46]
Alex Ozdemir, Fraser Brown, and Riad S. Wahby. 2020. Unifying compilers for SNARKs, SMT, and more. Cryptology ePrint Archive, Report 2020/1586. https://eprint.iacr.org/2020/1586. (2020).
[47]
Arpita Patra, Thomas Schneider, Ajith Suresh, and Hossein Yalame. 2021. ABY2.0: improved mixed-protocol secure two-party computation. In USENIX Security 2021. Michael Bailey and Rachel Greenstadt, (Eds.) USENIX Association, (Aug. 2021), 2165--2182.
[48]
Aseem Rastogi, Matthew A. Hammer, and Michael Hicks. 2014. Wysteria: A programming language for generic, mixed-mode multiparty computations. In 2014 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, (May 2014), 655--670.
[49]
Aseem Rastogi, Matthew A. Hammer, and Michael Hicks. 2014. Wysteria: A programming language for generic, mixed-mode multiparty computations. In 2014 IEEE Symposium on Security and Privacy, SP 2014, Berkeley, CA, USA, May 18-21, 2014, 655--670.
[50]
Aseem Rastogi, Nikhil Swamy, and Michael Hicks. 2019. Wys*: A DSL for Verified Secure Multi-party Computations. In Principles of Security and Trust. Flemming Nielson and David Sands, (Eds.) Springer International Publishing, Cham, 99--122. isbn: 978-3-030-17138-4.
[51]
Michael L. Scott. 2009. Programming Language Pragmatics (3. ed.) Academic Press.
[52]
Ebrahim M. Songhori, Siam U. Hussain, Ahmad-Reza Sadeghi, Thomas Schneider, and Farinaz Koushanfar. 2015. Tiny Garble: highly compressed and scalable sequential garbled circuits. In 2015 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, (May 2015), 411--428.
[53]
Vijay V. Vazirani. 2010. Approximation Algorithms. Springer, Heidelberg, Germany. isbn: 3642084699.
[54]
Andrew Chi-Chih Yao. 1982. Protocols for secure computations (extended abstract). In 23rd FOCS. IEEE Computer Society Press, (Nov. 1982), 160--164.
[55]
Samee Zahur and David Evans. 2015. Obliv-c: a language for extensible data-oblivious computation. Cryptology ePrint Archive, Report 2015/1153. (2015).
[56]
Yihua Zhang, Aaron Steele, and Marina Blanton. 2013. PICCO: a general-purpose compiler for private distributed computation. In ACM CCS 2013. Ahmad-Reza Sadeghi, Virgil D. Gligor, and Moti Yung, (Eds.) ACM Press, (Nov. 2013), 813--826.

Cited By

View all
  • (2024)PP-CSA: Practical Privacy-Preserving Software Call Stack AnalysisProceedings of the ACM on Programming Languages10.1145/36498568:OOPSLA1(1264-1293)Online publication date: 29-Apr-2024
  • (2024)Estimating the Runtime and Global Network Traffic of SMPC ProtocolsProceedings of the Fourteenth ACM Conference on Data and Application Security and Privacy10.1145/3626232.3653258(7-18)Online publication date: 19-Jun-2024
  • (2023)FUSE – Flexible File Format and Intermediate Representation for Secure Multi-Party ComputationProceedings of the 2023 ACM Asia Conference on Computer and Communications Security10.1145/3579856.3590340(649-663)Online publication date: 10-Jul-2023

Index Terms

  1. COMBINE: COMpilation and Backend-INdependent vEctorization for Multi-Party Computation

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      CCS '23: Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security
      November 2023
      3722 pages
      ISBN:9798400700507
      DOI:10.1145/3576915
      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].

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 21 November 2023

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. compiler optimizations
      2. multi-party computation

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      CCS '23
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 1,261 of 6,999 submissions, 18%

      Upcoming Conference

      CCS '25

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)199
      • Downloads (Last 6 weeks)25
      Reflects downloads up to 19 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)PP-CSA: Practical Privacy-Preserving Software Call Stack AnalysisProceedings of the ACM on Programming Languages10.1145/36498568:OOPSLA1(1264-1293)Online publication date: 29-Apr-2024
      • (2024)Estimating the Runtime and Global Network Traffic of SMPC ProtocolsProceedings of the Fourteenth ACM Conference on Data and Application Security and Privacy10.1145/3626232.3653258(7-18)Online publication date: 19-Jun-2024
      • (2023)FUSE – Flexible File Format and Intermediate Representation for Secure Multi-Party ComputationProceedings of the 2023 ACM Asia Conference on Computer and Communications Security10.1145/3579856.3590340(649-663)Online publication date: 10-Jul-2023

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Login options

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media