A Fast and Verified Software Stack for Secure Function Evaluation
José Bacelar Almeida, Manuel Barbosa, Gilles Barthe, François Dupressoir, Benjamin Grégoire, Vincent Laporte, Vitor Pereira
Abstract
We present a high-assurance software stack for secure function evaluation (SFE). Our stack consists of three components: i. a verified compiler (CircGen) that translates C programs into Boolean circuits; ii. a verified implementation of Yao's SFE protocol based on garbled circuits and oblivious transfer; and iii. transparent application integration and communications via FRESCO, an open-source framework for secure multiparty computation (MPC). CircGen is a general purpose tool that builds on CompCert, a verified optimizing compiler for C. It can be used in arbitrary Boolean circuit-based cryptography deployments. The security of our SFE protocol implementation is formally verified using EasyCrypt, a tool-assisted framework for building high-confidence cryptographic proofs, and it leverages a new formalization of garbled circuits based on the framework of Bellare, Hoang, and Rogaway (CCS 2012). We conduct a practical evaluation of our approach, and conclude that it is competitive with state-of-the-art (unverified) approaches. Our work provides concrete evidence of the feasibility of building efficient, verified, implementations of higher-level cryptographic systems. All our development is publicly available.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext ce63c42c-8dc9-4859-b24e-cdec0c6c5ac7Cited by top-tier papers5
- SoK: Computer-Aided CryptographyManuel Barbosa, Gilles Barthe, Karthik Bhargavan, Bruno Blanchet et al.S&P 2021 · 169 citations
- The Last Mile: High-Assurance and High-Speed Cryptographic ImplementationsJosé Bacelar Almeida, Manuel Barbosa, Gilles Barthe, Benjamin Grégoire et al.S&P 2020 · 67 citations
- A Machine-Checked Proof of Security for AWS Key Management ServiceJosé Bacelar Almeida, Manuel Barbosa, Gilles Barthe, Matthew Campagna et al.CCS 2019 · 24 citations
- Machine-checked ZKP for NP relations: Formally Verified Security Proofs and Implementations of MPC-in-the-HeadJosé Bacelar Almeida, Manuel Barbosa, Manuel L. Correia, Karim Eldefrawy et al.CCS 2021 · 1 citation
- PPE Circuits for Rational PolynomialsSusan Hohenberger, Satyanarayana VusirikalaCCS 2021
Builds on1
Related papers
- A High-Assurance Evaluator for Machine-Checked Secure Multiparty ComputationKarim Eldefrawy, Vitor PereiraCCS 2019 · 14 citations
- SoK: General Purpose Compilers for Secure Multi-Party ComputationMarcella Hastings, Brett Hemenway, Daniel Noble, Steve ZdancewicS&P 2019 · 181 citations
- CirC: Compiler infrastructure for proof systems, software verification, and moreAlex Ozdemir, Fraser Brown, Riad S. WahbyS&P 2022 · 60 citations
- CryptOpt: Verified Compilation with Randomized Program Search for Cryptographic PrimitivesJoel Kuepper, Andres Erbsen, Jason Gross, Owen Conoly et al.PLDI 2023 · 12 citations
- CompCertELF: verified separate compilation of C programs into ELF object filesYuting Wang, Xiangzhe Xu, Pierre Wilke, Zhong ShaoOOPSLA 2020 · 26 citations
