Paper 2023/563

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

Lennart Braun, Aarhus University
Moritz Huppert, TU Darmstadt
Nora Khayata, TU Darmstadt
Thomas Schneider, TU Darmstadt
Oleksandr Tkachenko, DFINITY
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), meaning that 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.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Published elsewhere. AsiaCCS 2023
DOI
10.1145/3579856.3590340
Keywords
multi-party computationfile formatintermediate representationoptimization
Contact author(s)
braun @ cs au dk
moritz huppert @ stud tu-darmstadt de
khayata @ encrypto cs tu-darmstadt de
schneider @ encrypto cs tu-darmstadt de
oleksandr tkachenko1 @ gmail com
History
2023-05-16: revised
2023-04-20: received
See all versions
Short URL
https://ia.cr/2023/563
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2023/563,
      author = {Lennart Braun and Moritz Huppert and Nora Khayata and Thomas Schneider and Oleksandr Tkachenko},
      title = {FUSE – Flexible File Format and Intermediate Representation for Secure Multi-Party Computation},
      howpublished = {Cryptology ePrint Archive, Paper 2023/563},
      year = {2023},
      doi = {10.1145/3579856.3590340},
      note = {\url{https://eprint.iacr.org/2023/563}},
      url = {https://eprint.iacr.org/2023/563}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.