Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3576915.3616664acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article
Open access

Towards Generic MPC Compilers via Variable Instruction Set Architectures (VISAs)

Published: 21 November 2023 Publication History

Abstract

In MPC, we usually represent programs as circuits. This is a poor fit for programs that use complex control flow, as it is costly to compile control flow to circuits. This motivated prior work to emulate CPUs inside MPC. Emulated CPUs can run complex programs, but they introduce high overhead due to the need to evaluate not just the program, but also the machinery of the CPU, including fetching, decoding, and executing instructions, accessing RAM, etc.
Thus, both circuits and CPU emulation seem a poor fit for general MPC. The former cannot scale to arbitrary programs; the latter incurs high per-operation overhead.
We propose variable instruction set architectures (VISAs), an approach that inherits the best features of both circuits and CPU emulation. Unlike a CPU, a VISA machine repeatedly executes entire program fragments, not individual instructions. By considering larger building blocks, we avoid most of the machinery associated with CPU emulation: we directly handle each fragment as a circuit.
We instantiated a VISA machine via garbled circuits (GC), yielding constant-round 2PC for arbitrary assembly programs. We use improved branching (Stacked Garbling, Heath and Kolesnikov, Crypto 2020) and recent Garbled RAM (GRAM) (Heath et al., Eurocrypt 2022). Composing these securely and efficiently is intricate, and is one of our main contributions.
We implemented our approach and ran it on common programs, including Dijkstra's and Knuth-Morris-Pratt. Our 2PC VISA machine executes assembly instructions at 300Hz to 4000Hz, depending on the target program. We significantly outperform the state-of-the-art CPU-based approach (Wang et al., ESORICS 2016, whose tool we re-benchmarked on our setup). We run in constant rounds, use 6 X less bandwidth, and run more than 40 X faster on a low-latency network. With 50ms (resp. 100ms) latency, we are 898 X (resp. 1585 X) faster on the same setup.
While our focus is MPC, the VISA model also benefits CPU-emulation-based Zero-Knowledge proof compilers, such as ZEE and EZEE (Heath et al., Oakland'21 and Yang et al., EuroS&P'22).

References

[1]
Abdelrahaman Aly, Benjamin Coenen, Kelong Cong, Karl Koch, Marcel Keller, Dragos Rotaru, Oliver Scherer, Peter Scholl, Nigel P. Smart, Titouan Tanguy, and Tim Wood. 2022. SCALE-MAMBA Software. https://homes.esat.kuleuven.be/ nsmart/SCALE/.
[2]
Mihir Bellare, Viet Tung Hoang, and Phillip Rogaway. 2012. Foundations of garbled circuits. In ACM CCS 2012, Ting Yu, George Danezis, and Virgil D. Gligor (Eds.). ACM Press, Raleigh, NC, USA, 784--796. https://doi.org/10.1145/2382196.2382279
[3]
Seung Geol Choi, Jonathan Katz, Ranjit Kumaresan, and Hong-Sheng Zhou. 2012. On the Security of the "Free-XOR" Technique. In TCC 2012 (LNCS, Vol. 7194), Ronald Cramer (Ed.). Springer, Heidelberg, Germany, Taormina, Sicily, Italy, 39--53. https://doi.org/10.1007/978-3-642-28914-9_3
[4]
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, San Diego, CA, USA.
[5]
Jack Doerner and abhi shelat. 2017. Scaling ORAM for Secure Computation. In ACM CCS 2017, Bhavani M. Thuraisingham, David Evans, Tal Malkin, and Dongyan Xu (Eds.). ACM Press, Dallas, TX, USA, 523--535. https://doi.org/10.1145/3133956.3133967
[6]
Martin Franz, Andreas Holzer, Stefan Katzenbeisser, Christian Schallhart, and Helmut Veith. 2014. CBMC-GC: An ANSI C Compiler for Secure Two-Party Computations. In Compiler Construction, Albert Cohen (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 244--249.
[7]
Oded Goldreich and Rafail Ostrovsky. 1996. Software Protection and Simulation on Oblivious RAMs. J. ACM, Vol. 43, 3 (1996), 431--473. https://doi.org/10.1145/233551.233553
[8]
S. Dov Gordon, Jonathan Katz, Vladimir Kolesnikov, Fernando Krell, Tal Malkin, Mariana Raykova, and Yevgeniy Vahlis. 2012. Secure two-party computation in sublinear (amortized) time. In ACM CCS 2012, Ting Yu, George Danezis, and Virgil D. Gligor (Eds.). ACM Press, Raleigh, NC, USA, 513--524. https://doi.org/10.1145/2382196.2382251
[9]
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, San Francisco, CA, USA, 1220--1237. https://doi.org/10.1109/SP.2019.00028
[10]
David Heath and Vladimir Kolesnikov. 2020. Stacked Garbling - Garbled Circuit Proportional to Longest Execution Path. In CRYPTO 2020, Part II (LNCS, Vol. 12171), Daniele Micciancio and Thomas Ristenpart (Eds.). Springer, Heidelberg, Germany, Santa Barbara, CA, USA, 763--792. https://doi.org/10.1007/978-3-030-56880-1_27
[11]
David Heath and Vladimir Kolesnikov. 2021a. One Hot Garbling. In ACM CCS 2021, Giovanni Vigna and Elaine Shi (Eds.). ACM Press, Virtual Event, Republic of Korea, 574--593. https://doi.org/10.1145/3460120.3484764
[12]
David Heath and Vladimir Kolesnikov. 2021b. LogStack: Stacked Garbling with O(b log b) Computation. In EUROCRYPT 2021, Part III (LNCS, Vol. 12698), Anne Canteaut and François-Xavier Standaert (Eds.). Springer, Heidelberg, Germany, Zagreb, Croatia, 3--32. https://doi.org/10.1007/978-3-030-77883-5_1
[13]
David Heath, Vladimir Kolesnikov, and Rafail Ostrovsky. 2021a. Practical Garbled RAM: GRAM with O(log 2 n) Overhead. Cryptology ePrint Archive, Report 2021/1519. https://eprint.iacr.org/2021/1519.
[14]
David Heath, Vladimir Kolesnikov, and Stanislav Peceny. 2020. MOTIF: (Almost) Free Branching in GMW - Via Vector-Scalar Multiplication. In ASIACRYPT 2020, Part III (LNCS, Vol. 12493), Shiho Moriai and Huaxiong Wang (Eds.). Springer, Heidelberg, Germany, Daejeon, South Korea, 3--30. https://doi.org/10.1007/978-3-030-64840-4_1
[15]
David Heath, Vladimir Kolesnikov, and Stanislav Peceny. 2021b. Masked Triples - Amortizing Multiplication Triples Across Conditionals. In PKC 2021, Part II (LNCS, Vol. 12711), Juan Garay (Ed.). Springer, Heidelberg, Germany, Virtual Event, 319--348. https://doi.org/10.1007/978-3-030-75248-4_12
[16]
David Heath, Yibin Yang, David Devecsery, and Vladimir Kolesnikov. 2021c. Zero Knowledge for Everything and Everyone: Fast ZK Processor with Cached ORAM for ANSI C Programs. In 2021 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, San Francisco, CA, USA, 1538--1556. https://doi.org/10.1109/SP40001.2021.00089
[17]
Marcel Keller. 2017. The Oblivious Machine - Or: How to Put the C into MPC. In LATINCRYPT 2017 (LNCS, Vol. 11368), Tanja Lange and Orr Dunkelman (Eds.). Springer, Heidelberg, Germany, Havana, Cuba, 271--288. https://doi.org/10.1007/978-3-030-25283-0_15
[18]
Vladimir Kolesnikov and Thomas Schneider. 2008. Improved Garbled Circuit: Free XOR Gates and Applications. In ICALP 2008, Part II (LNCS, Vol. 5126), Luca Aceto, Ivan Damgård, Leslie Ann Goldberg, Magnús M. Halldórsson, Anna Ingólfsdóttir, and Igor Walukiewicz (Eds.). Springer, Heidelberg, Germany, Reykjavik, Iceland, 486--498. https://doi.org/10.1007/978-3-540-70583-3_40
[19]
Kasper Green Larsen and Jesper Buus Nielsen. 2018. Yes, There is an Oblivious RAM Lower Bound!. In CRYPTO 2018, Part II (LNCS, Vol. 10992), Hovav Shacham and Alexandra Boldyreva (Eds.). Springer, Heidelberg, Germany, Santa Barbara, CA, USA, 523--542. https://doi.org/10.1007/978-3-319-96881-0_18
[20]
Chang Liu, Yan Huang, Elaine Shi, Jonathan Katz, and Michael W. Hicks. 2014. Automating Efficient RAM-Model Secure Computation. In 2014 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, Berkeley, CA, USA, 623--638. https://doi.org/10.1109/SP.2014.46
[21]
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, San Jose, CA, USA, 359--376. https://doi.org/10.1109/SP.2015.29
[22]
Steve Lu and Rafail Ostrovsky. 2013. How to Garble RAM Programs. In EUROCRYPT 2013 (LNCS, Vol. 7881), Thomas Johansson and Phong Q. Nguyen (Eds.). Springer, Heidelberg, Germany, Athens, Greece, 719--734. https://doi.org/10.1007/978-3-642-38348-9_42
[23]
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, Berkeley, CA, USA, 655--670. https://doi.org/10.1109/SP.2014.48
[24]
Ebrahim M. Songhori, Siam U. Hussain, Ahmad-Reza Sadeghi, Thomas Schneider, and Farinaz Koushanfar. 2015. TinyGarble: Highly Compressed and Scalable Sequential Garbled Circuits. In 2015 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, San Jose, CA, USA, 411--428. https://doi.org/10.1109/SP.2015.32
[25]
Riad S. Wahby, Srinath T. V. Setty, Zuocheng Ren, Andrew J. Blumberg, and Michael Walfish. 2015. Efficient RAM and control flow in verifiable outsourced computation. In NDSS 2015. The Internet Society, San Diego, CA, USA.
[26]
Xiao Wang, T.-H. Hubert Chan, and Elaine Shi. 2015. Circuit ORAM: On Tightness of the Goldreich-Ostrovsky Lower Bound. In ACM CCS 2015, Indrajit Ray, Ninghui Li, and Christopher Kruegel (Eds.). ACM Press, Denver, CO, USA, 850--861. https://doi.org/10.1145/2810103.2813634
[27]
Xiao Wang, Alex J. Malozemoff, and Jonathan Katz. 2016b. EMP-toolkit: Efficient MultiParty computation toolkit. https://github.com/emp-toolkit.
[28]
Xiao Shaun Wang, S. Dov Gordon, Allen McIntosh, and Jonathan Katz. 2016a. Secure Computation of MIPS Machine Code. In ESORICS 2016, Part II (LNCS, Vol. 9879), Ioannis G. Askoxylakis, Sotiris Ioannidis, Sokratis K. Katsikas, and Catherine A. Meadows (Eds.). Springer, Heidelberg, Germany, Heraklion, Greece, 99--117. https://doi.org/10.1007/978-3-319-45741-3_6
[29]
Yibin Yang, David Heath, Vladimir Kolesnikov, and David Devecsery. 2022. EZEE: Epoch Parallel Zero Knowledge for ANSI C. In 7th IEEE European Symposium on Security and Privacy, EuroS&P 2022, Genoa, Italy, June 6-10, 2022. IEEE, Genoa, Italy, 109--123. https://doi.org/10.1109/EuroSP53844.2022.00015
[30]
Yibin Yang, Stanislav Peceny, David Heath, and Vladimir Kolesnikov. 2023. Towards Generic MPC Compilers via Variable Instruction Set Architectures (VISAs). Cryptology ePrint Archive, Paper 2023/953. https://eprint.iacr.org/2023/953 https://eprint.iacr.org/2023/953.
[31]
Samee Zahur and David Evans. 2013. Circuit Structures for Improving Efficiency of Security and Privacy Tools. In 2013 IEEE Symposium on Security and Privacy. IEEE Computer Society Press, Berkeley, CA, USA, 493--507. https://doi.org/10.1109/SP.2013.40
[32]
Samee Zahur and David Evans. 2015. Obliv-C: A Language for Extensible Data-Oblivious Computation. Cryptology ePrint Archive, Report 2015/1153. https://eprint.iacr.org/2015/1153.
[33]
Samee Zahur, Mike Rosulek, and David Evans. 2015. Two Halves Make a Whole - Reducing Data Transfer in Garbled Circuits Using Half Gates. In EUROCRYPT 2015, Part II (LNCS, Vol. 9057), Elisabeth Oswald and Marc Fischlin (Eds.). Springer, Heidelberg, Germany, Sofia, Bulgaria, 220--250. https://doi.org/10.1007/978-3-662-46803-6_8

Cited By

View all
  • (2024)Fast ORAM with server-aided preprocessing and pragmatic privacy-efficiency trade-offCryptography and Communications10.1007/s12095-024-00745-8Online publication date: 24-Sep-2024
  • (2024)Privacy-Preserving DijkstraAdvances in Cryptology – CRYPTO 202410.1007/978-3-031-68400-5_3(74-110)Online publication date: 16-Aug-2024
  • (2024)Malicious Security for SCALESAdvances in Cryptology – CRYPTO 202410.1007/978-3-031-68400-5_1(3-38)Online publication date: 16-Aug-2024

Index Terms

  1. Towards Generic MPC Compilers via Variable Instruction Set Architectures (VISAs)

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      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
      This work is licensed under a Creative Commons Attribution International 4.0 License.

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 21 November 2023

      Check for updates

      Author Tags

      1. garbled circuits
      2. general purpose programs
      3. mpc

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      CCS '23
      Sponsor:

      Acceptance Rates

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

      Upcoming Conference

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

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)410
      • Downloads (Last 6 weeks)37
      Reflects downloads up to 02 Oct 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Fast ORAM with server-aided preprocessing and pragmatic privacy-efficiency trade-offCryptography and Communications10.1007/s12095-024-00745-8Online publication date: 24-Sep-2024
      • (2024)Privacy-Preserving DijkstraAdvances in Cryptology – CRYPTO 202410.1007/978-3-031-68400-5_3(74-110)Online publication date: 16-Aug-2024
      • (2024)Malicious Security for SCALESAdvances in Cryptology – CRYPTO 202410.1007/978-3-031-68400-5_1(3-38)Online publication date: 16-Aug-2024
      • (2024)Garbled Circuit Lookup Tables with Logarithmic Number of CiphertextsAdvances in Cryptology – EUROCRYPT 202410.1007/978-3-031-58740-5_7(185-215)Online publication date: 26-May-2024

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media