Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3579856.3590340acmconferencesArticle/Chapter ViewAbstractPublication Pagesasia-ccsConference Proceedingsconference-collections
research-article

FUSE – Flexible File Format and Intermediate Representation for Secure Multi-Party Computation

Published: 10 July 2023 Publication History

Abstract

Secure Multi-Party Computation (MPC) is continuously becoming more and more practical. Many optimizations have been introduced, making MPC protocols more suitable for solving real-world problems. However, the MPC protocols and optimizations are usually implemented as a standalone proof of concept or in an MPC framework and are tightly coupled with special-purpose circuit formats, such as Bristol Format. This makes it very hard and time-consuming to re-use algorithmic advances and implemented applications in a different context. Developing generic algorithmic optimizations is exceptionally hard because the available MPC tools and formats are not generic and do not provide the necessary infrastructure.
In this paper, we present FUSE: A Framework for Unifying and Optimizing Secure Multi-Party Computation Implementations with Efficient Circuit Storage. FUSE provides a flexible intermediate representation (FUSE IR) that can be used across different platforms and in different programming languages, including C/C++, Java, Rust, and Python. We aim at making MPC tools more interoperable, removing the tight coupling between high-level compilers for MPC and specific MPC protocol engines, thus driving knowledge transfer. Our framework is inspired by the widely known LLVM compiler framework. FUSE is portable, extensible, and it provides implementation-agnostic optimizations.
As frontends, we implement HyCC (CCS’18), the Bristol circuit format, and MOTION (TOPS’22), s.t. these can be automatically converted to FUSE IR. We implement several generic optimization passes, such as automatic subgraph replacement and vectorization, to showcase the utility and efficiency of our framework. Finally, we implement as backends MOTION and MP-SPDZ (CCS’20), so that FUSE IR can be run by these frameworks in an MPC protocol, as well as other useful backends for JSON output and the DOT language for graph visualization. With FUSE, it is possible to use any implemented frontend with any implemented backend and vice-versa. FUSE IR is not only efficient to work on and much more generic than any other format so far – supporting, e.g., function calls, hybrid MPC protocols as well as user-defined building blocks, and annotations – while maintaining backwards-compatibility, but also compact, with smaller storage size than even minimalistic formats such as Bristol already for a few hundred operations.

References

[1]
Coşku Acay, Rolph Recto, Joshua Gancher, Andrew C. Myers, and Elaine Shi. 2021. Viaduct: an extensible, optimizing compiler for secure distributed programs. In SIGPLAN.
[2]
Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman. 2006. Compilers: Principles, Techniques, and Tools (2nd Edition). Addison-Wesley Longman Publishing Co., Inc.
[3]
Alexandra Institute. 2022. FRESCO - A FRamework for Efficient Secure COmputation. https://github.com/aicis/fresco.
[4]
Abdelrahaman Aly, Benjamin Coenen, Kelong Cong, Karl Koch, Marcel Keller, Dragos Rotaru, Oliver Scherer, Peter Scholl, Nigel P. Smart, Titouan Tanguy, and Tim Wood. 2021. SCALE–MAMBA v1.14 : Documentation. https://homes.esat.kuleuven.be/ nsmart/SCALE/Documentation-SCALE.pdf.
[5]
David Archer, Victor Arribas Abril, Steve Lu, Pieter Maene, Nele Mertens, Danilo Sijacic, and Nigel Smart. 2019. Bristol Fashion MPC Circuits. https://homes.esat.kuleuven.be/ nsmart/MPC/.
[6]
David W. Archer, Dan Bogdanov, Yehuda Lindell, Liina Kamm, Kurt Nielsen, Jakob Illeborg Pagter, Nigel P. Smart, and Rebecca N. Wright. 2018. From Keys to Databases - Real-World Applications of Secure Multi-Party Computation. Computer Journal (2018).
[7]
Karim Baghery, Cyprien Delpech de Saint Guilhem, Emmanuela Orsini, Nigel P. Smart, and Titouan Tanguy. 2021. Compilation of Function Representations for Secure Computing Paradigms. In CT-RSA.
[8]
Junjie Bai, Fang Lu, Ke Zhang, 2019. ONNX. https://github.com/onnx/onnx.
[9]
Marshall Ball, Brent Carmer, Tal Malkin, Mike Rosulek, and Nichole Schimanski. 2019. Garbled Neural Networks are Practical. Cryptology ePrint Archive, Paper 2019/338.
[10]
Yuyan Bao, Kirshanthan Sundararajah, Raghav Malik, Qianchuan Ye, Christopher Wagner, Nouraldin Jaber, Fei Wang, Mohammad Hassan Ameri, Donghang Lu, Alexander Seto, Benjamin Delaware, Roopsha Samanta, Aniket Kate, Christina Garman, Jeremiah Blocki, Pierre-David Letourneau, Benoit Meister, Jonathan Springer, Tiark Rompf, and Milind Kulkarni. 2021. HACCLE: Metaprogramming for Secure Multi-Party Computation. In GPCE.
[11]
Donald Beaver, Silvio Micali, and Phillip Rogaway. 1990. The round complexity of secure protocols. In STOC.
[12]
Gabrielle Beck, Aarushi Goel, Abhishek Jain, and Gabriel Kaptchuk. 2021. Order-C Secure Multiparty Computation for Highly Repetitive Circuits. In EUROCRYPT.
[13]
Mihir Bellare, Viet Tung Hoang, Sriram Keelveedhi, and Phillip Rogaway. 2013. Efficient Garbling from a Fixed-Key Blockcipher. In S&P.
[14]
Assaf Ben-David, Noam Nisan, and Benny Pinkas. 2008. FairplayMP: A System for Secure Multi-Party Computation. In CCS.
[15]
Michael Ben-Or, Shafi Goldwasser, and Avi Wigderson. 1988. Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation. In STOC.
[16]
Dan Bogdanov, Roman Jagomägis, and Sven Laur. 2012. A Universal Toolkit for Cryptographically Secure Privacy-Preserving Data Mining. In PAISI.
[17]
Dan Bogdanov, Sven Laur, and Jan Willemson. 2008. Sharemind: A Framework for Fast Privacy-Preserving Computations. In ESORICS.
[18]
Peter Bogetoft, Ivan Damgård, Thomas P. Jakobsen, Kurt Nielsen, Jakob Illeborg Pagter, and Tomas Toft. 2006. A Practical Implementation of Secure Auctions Based on Multiparty Integer Computation. In Financial Cryptography.
[19]
Vincenzo Bonnici and Rosalba Giugno. 2017. On the Variable Ordering in Subgraph Isomorphism Algorithms. IEEE/ACM Transactions on Computational Biology and Bioinformatics (2017).
[20]
Lennart Braun, Rosario Cammarota, and Thomas Schneider. 2021. A Generic Hybrid 2PC Framework with Application to Private Inference of Unmodified Neural Networks. In NeurIPS 2021 Workshop Privacy in Machine Learning.
[21]
Lennart Braun, Daniel Demmler, Thomas Schneider, and Oleksandr Tkachenko. 2022. MOTION – A Framework for Mixed-Protocol Multi-Party Computation. In TOPS.
[22]
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.
[23]
Niklas Buescher and Stefan Katzenbeisser. 2015. Faster Secure Computation through Automatic Parallelization. In USENIX Security.
[24]
Niklas Buescher and David Kretzmer. 2013. Simple Circuit Description (SCD). https://github.com/esonghori/TinyGarble/tree/master/scd.
[25]
Niklas Büscher, Daniel Demmler, Stefan Katzenbeisser, David Kretzmer, and Thomas Schneider. 2018. HyCC: Compilation of Hybrid Protocols for Practical Secure Computation. In CCS.
[26]
Vincenzo Carletti, Pasquale Foggia, Alessia Saggese, and Mario Vento. 2018. Challenging the Time Complexity of Exact Subgraph Isomorphism for Huge and Dense Graphs with VF3. IEEE Transactions on Pattern Analysis and Machine Intelligence (2018).
[27]
Nishanth Chandran, Divya Gupta, Aseem Rastogi, Rahul Sharma, and Shardul Tripathi. 2019. EzPC: Programmable and Efficient Secure Two-Party Computation for Machine Learning. In EuroS&P.
[28]
David Chaum, Claude Crépeau, and Ivan Damgard. 1988. Multiparty Unconditionally Secure Protocols. In STOC.
[29]
Geoffroy Couteau, Peter Rindal, and Srinivasan Raghuraman. 2021. Silver: Silent VOLE and Oblivious Transfer from Hardness of Decoding Structured LDPC Codes. In CRYPTO.
[30]
Ivan Damgård, Martin Geisler, Mikkel Krøigaard, and Jesper Buus Nielsen. 2009. Asynchronous Multiparty Computation: Theory and Implementation. In PKC.
[31]
Daniel Demmler, Ghada Dessouky, Farinaz Koushanfar, Ahmad-Reza Sadeghi, Thomas Schneider, and Shaza Zeitouni. 2015. Automated Synthesis of Optimized Circuits for Secure Computation. In CCS.
[32]
Daniel Demmler, Stefan Katzenbeisser, Thomas Schneider, Tom Schuster, and Christian Weinert. 2021. Improved Circuit Compilation for Hybrid MPC via Compiler Intermediate Representation. In SECRYPT.
[33]
Daniel Demmler, Thomas Schneider, and Michael Zohner. 2015. ABY – A Framework for Efficient Mixed-Protocol Secure Two-Party Computation. In NDSS.
[34]
Ebrahim M. Songhori and Siam Umar Hussain and Ahmad-Reza Sadeghi and T. Schneider and Farinaz Koushanfar. 2015. TinyGarble: Highly Compressed and Scalable Sequential Garbled Circuits. In S&P.
[35]
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. In EuroS&P.
[36]
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.
[37]
Emden R. Gansner and Stephen C. North. 2000. An open graph visualization system and its applications to software engineering. Software: Practice and Experience (2000).
[38]
Daniel Genkin, Yuval Ishai, and Antigoni Polychroniadou. 2015. Efficient Multi-party Computation: From Passive to Active Security via Secure SIMD Circuits. In CRYPTO.
[39]
Oded Goldreich, Silvio M. Micali, and Avi Wigderson. 1987. How to Play ANY Mental Game. In STOC.
[40]
Marcella Hastings, Brett Hemenway, Daniel Noble, and Steve Zdancewic. 2019. SoK: General Purpose Compilers for Secure Multi-Party Computation. In S&P.
[41]
Tim Heldmann, Thomas Schneider, Oleksandr Tkachenko, Christian Weinert, and Hossein Yalame. 2021. LLVM-Based Circuit Compilation for Practical Secure Computation. In ACNS.
[42]
Brett Hemenway, Steve Lu, Rafail Ostrovsky, and William Welser IV. 2016. High-Precision Secure Computation of Satellite Collision Probabilities. In SCN.
[43]
Wilko Henecka, Stefan K ögl, Ahmad-Reza Sadeghi, Thomas Schneider, and Immo Wehrenberg. 2010. TASTY: Tool for Automating Secure Two-Party Computations. In CCS.
[44]
Wilko Henecka and Thomas Schneider. 2013. Faster Secure Two-Party Computation with Less Memory. In CCS.
[45]
Yan Huang, David Evans, Jonathan Katz, and Lior Malka. 2011. Faster Secure Two-Party Computation Using Garbled Circuits. In USENIX Security.
[46]
Muhammad Ishaq, Ana L. Milanova, and Vassilis Zikas. 2019. Efficient MPC via Program Analysis: A Framework for Efficient Optimal Mixing. In CCS.
[47]
Marcel Keller. 2020. MP-SPDZ: A Versatile Framework for Multi-Party Computation. In CCS.
[48]
Marcel Keller, Peter Scholl, and Nigel P. Smart. 2013. An Architecture for Practical Actively Secure MPC with Dishonest Majority. In CCS.
[49]
Florian Kerschbaum. 2011. Automatically Optimizing Secure Computation. In CCS.
[50]
Florian Kerschbaum. 2013. Expression Rewriting for Optimizing Secure Computation. In CODASPY.
[51]
Vladimir Kolesnikov, Jesper Buus Nielsen, Mike Rosulek, Ni Trieu, and Roberto Trifiletti. 2017. DUPLO: Unifying Cut-and-Choose for Garbled Circuits. In CCS.
[52]
Ben Kreuter, Benjamin Mood, Abhi Shelat, and Kevin Butler. 2013. PCF: A portable circuit format for scalable two-party secure computation. In USENIX Security.
[53]
Chris Lattner and Vikram Adve. 2004. LLVM: a compilation framework for lifelong program analysis & transformation. In International Symposium on Code Generation and Optimization.
[54]
Benjamin Levy, Ben Sherman, Muhammad Ishaq, Lindsey Kennard, Ana Milanova, and Vassilis Zikas. 2023. Compilation and Backend-Independent Vectorization for Multi-Party Computation. Cryptology ePrint Archive, Paper 2023/089.
[55]
Chang Liu, Xiao Shaun Wang, Kartik Nayak, Yan Huang, and Elaine Shi. 2015. ObliVM: A Programming Framework for Secure Computation. In S&P.
[56]
Donghang Lu, Thomas Yurek, Samarth Kulshreshtha, Rahul Govind, Aniket Kate, and Andrew Miller. 2019. HoneyBadgerMPC and AsynchroMix: Practical Asynchronous MPC and Its Application to Anonymous Communication. In CCS.
[57]
Lior Malka. 2011. VMCrypt: Modular Software Architecture for Scalable Secure Computation. In CCS.
[58]
Dahlia Malkhi, Noam Nisan, Benny Pinkas, and Yaron Sella. 2004. Fairplay - a Secure Two-Party Computation System. In USENIX Security.
[59]
Ciaran McCreesh, Patrick Prosser, and James Trimble. 2020. The Glasgow Subgraph Solver: Using Constraint Programming to Tackle Hard Subgraph Isomorphism Problem Variants. In Graph Transformation.
[60]
Payman Mohassel and Peter Rindal. 2018. ABY3: A Mixed Protocol Framework for Machine Learning. In CCS.
[61]
Payman Mohassel and Yupeng Zhang. 2017. SecureML: A System for Scalable Privacy-Preserving Machine Learning. In S&P.
[62]
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 EuroS&P.
[63]
Jean-Pierre Münch, Thomas Schneider, and Hossein Yalame. 2021. VASA: Vector AES Instructions for Security Applications. In ACSAC.
[64]
Kartik Nayak, Xiao Shaun Wang, Stratis Ioannidis, Udi Weinsberg, Nina Taft, and Elaine Shi. 2015. GraphSC: Parallel Secure Computation Made Easy. In S&P.
[65]
Alex Ozdemir, Fraser Brown, and Riad S. Wahby. 2020. Unifying Compilers for SNARKs, SMT, and More. Cryptology ePrint Archive, Paper 2020/1586.
[66]
Alex Ozdemir, Fraser Brown, and Riad S. Wahby. 2022. CirC: Compiler infrastructure for proof systems, software verification, and more. In S&P.
[67]
Arpita Patra, Thomas Schneider, Ajith Suresh, and Hossein Yalame. 2021. SynCirc: Efficient Synthesis of Depth-Optimized Circuits for Secure Computation. In HOST.
[68]
Aseem Rastogi, Matthew A. Hammer, and Michael Hicks. 2014. Wysteria: A Programming Language for Generic, Mixed-Mode Multiparty Computations. In S&P.
[69]
Aseem Rastogi, Nikhil Swamy, and Michael W. Hicks. 2019. Wys*: A DSL for Verified Secure Multi-party Computations. In POST.
[70]
M. Sadegh Riazi, Mojan Javaheripi, Siam U. Hussain, and Farinaz Koushanfar. 2019. MPCircuits: Optimized Circuit Generation for Secure Multi-Party Computation. In HOST.
[71]
Neal Richardson, Ian Cook, Nic Crane, Dewey Dunnington, Romain François, Jonathan Keane, Dragoș Moldovan-Grünfeld, Jeroen Ooms, and Apache Arrow. 2022. arrow: Integration to Apache Arrow. https://arrow.apache.org/docs/r/.
[72]
Thomas Schneider and Michael Zohner. 2013. GMW vs. Yao? Efficient Secure Two-Party Computation with Low Depth Circuits. In FC.
[73]
Berry Schoenmakers. 2018. MPyC: Multiparty Computation in Python. https://www.win.tue.nl/ berry/mpyc/.
[74]
Axel Schropfer, Florian Kerschbaum, and Gunter Muller. 2011. L1 - An Intermediate Language for Mixed-Protocol Secure Computation. In COMPSAC.
[75]
Nigel Smart and Stefan Tillich. 2019. (Bristol Format) Circuits of Basic Functions Suitable For MPC and FHE. https://homes.esat.kuleuven.be/ nsmart/MPC/old-circuits.html.
[76]
Christine Solnon. 2010. AllDifferent-based filtering for subgraph isomorphism. Artif. Intell. (2010).
[77]
Christine Solnon. 2019. Experimental Evaluation of Subgraph Isomorphism Solvers. In Graph-Based Representations in Pattern Recognition.
[78]
Nilothpal Talukder and Mohammed J. Zaki. 2016. A Distributed Approach for Graph Mining in Massive Networks. Data Min. Knowl. Discov. (2016).
[79]
Wouter van Oortmerssen. 2014. FlatBuffers. https://github.com/google/flatbuffers.
[80]
Wouter van Oortmerssen. 2017. FlexBuffers. https://google.github.io/flatbuffers/flexbuffers.html.
[81]
Kenton Varda 2013. Cap’n Proto. https://capnproto.org/index.html.
[82]
Xiao Wang, Alex J. Malozemoff, and Jonathan Katz. 2016. EMPtoolkit: Efficient MultiParty computation toolkit. https://github. com/emp-toolkit.
[83]
Andrew Chi-Chih Yao. 1986. How to Generate and Exchange Secrets. In FOCS.
[84]
Samee Zahur and David Evans. 2015. Obliv-C: A Language for Extensible Data-Oblivious Computation. Cryptology ePrint Archive, Paper 2015/1153 (2015).
[85]
Wenting Zheng, Ryan Deng, Weikeng Chen, Raluca Ada Popa, Aurojit Panda, and Ion Stoica. 2021. Cerebro: A Platform for Multi-Party Cryptographic Collaborative Learning. In USENIX Security.

Cited By

View all
  • (2024)Challenges and future research directions in secure multi-party computation for resource-constrained devices and large-scale computationsInternational Journal of Information Security10.1007/s10207-024-00939-424:1Online publication date: 21-Nov-2024
  • (2024)Privacy Attacks and Defenses in Machine Learning: A SurveyProceedings of the 13th International Conference on Computer Engineering and Networks10.1007/978-981-99-9247-8_41(413-422)Online publication date: 4-Jan-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASIA CCS '23: Proceedings of the 2023 ACM Asia Conference on Computer and Communications Security
July 2023
1066 pages
ISBN:9798400700989
DOI:10.1145/3579856
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: 10 July 2023

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ASIA CCS '23
Sponsor:

Acceptance Rates

Overall Acceptance Rate 418 of 2,322 submissions, 18%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)62
  • Downloads (Last 6 weeks)5
Reflects downloads up to 09 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Challenges and future research directions in secure multi-party computation for resource-constrained devices and large-scale computationsInternational Journal of Information Security10.1007/s10207-024-00939-424:1Online publication date: 21-Nov-2024
  • (2024)Privacy Attacks and Defenses in Machine Learning: A SurveyProceedings of the 13th International Conference on Computer Engineering and Networks10.1007/978-981-99-9247-8_41(413-422)Online publication date: 4-Jan-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media