Computer-Aided Proofs for Multiparty Computation with Active Security

@article{Haagh2018ComputerAidedPF,
  title={Computer-Aided Proofs for Multiparty Computation with Active Security},
  author={Helene Haagh and Aleksandr Karbyshev and Sabine Oechsner and Bas Spitters and Pierre-Yves Strub},
  journal={2018 IEEE 31st Computer Security Foundations Symposium (CSF)},
  year={2018},
  pages={119-131}
}
Secure multi-party computation (MPC) is a general cryptographic technique that allows distrusting parties to compute a function of their individual inputs, while only revealing the output of the function. It has found applications in areas such as auctioning, email filtering, and secure teleconference. Given their importance, it is crucial that the protocols are specified and implemented correctly. In the programming language community, it has become good practice to use computer proof… 
A High-Assurance Evaluator for Machine-Checked Secure Multiparty Computation
TLDR
This paper formalizes in \EasyCrypt, a tool-assisted framework for building high-confidence cryptographic proofs, several abstract and reusable variations of secret sharing and of (P)MPC protocols building on them, and proves a series of abstract theorems for the proactive setting.
Formalising oblivious transfer in the semi-honest and malicious model in CryptHOL
TLDR
This work uses CryptHOL to formalise a framework for reasoning about two party protocols using the security definitions for MPC, and considers protocols for 1-out-of-2 Oblivious Transfer (OT21) — a fundamental MPC protocol — in both the semi-honest and malicious models.
A High-Assurance, Automatically-Synthesized, Evaluator for Machine-Checked (Proactively) Secure Multi-Party Computation
TLDR
This paper formalizes in EasyCrypt, a tool-assisted framework for building high-confidence cryptographic proofs, several abstract and reusable variations of secret sharing and of (P)MPC protocols building on top of them, and proves a series of abstract theorems for the proactive setting.
Formal security analysis of MPC-in-the-head zero-knowledge protocols
TLDR
To enable a modular security proof, a new security notion for the MPC protocols used in MPC-in-the-head zero-knowledge protocols is developed which allows us to recast existing security proofs in a black-box fashion which the authors believe to be of independent interest.
EasyUC: Using EasyCrypt to Mechanize Proofs of Universally Composable Security
TLDR
A methodology for using the EasyCrypt proof assistant to mechanize proofs of security of cryptographic protocols within the universally composable (UC) security framework, which allows for the mechanization and formal verification of the entire sequence of steps needed for proving simulation-based security in a modular way.
Bringing State-Separating Proofs to EasyCrypt - A Security Proof for Cryptobox
TLDR
This work explores how SSPs can guide EasyCrypt formalisations of proofs for modular constructions and proposes a mapping from SSP to EasyCrypt concepts which enables us to enhance cryptographic proofs with SSP insights while maintaining compatibility with existing EasyCrypt proof support.
Enforcing Ideal-World Leakage Bounds in Real-World Secret Sharing MPC Frameworks
TLDR
A language-based security treatment of domain-specific languages and compilers for secure multi-party computation, a cryptographic paradigm that enables collaborative computation over encrypted data, and formalizes protocol security using (distributed) probabilistic information-flow.
Machine-checked ZKP for NP relations: Formally Verified Security Proofs and Implementations of MPC-in-the-Head
TLDR
The first machine-checked implementations of MitH are presented, using an EasyCrypt formalization that preserves the modular structure of the original construction and can be instantiated with arbitrary MPC protocols, and secret sharing and commitment schemes satisfying standard notions of security.
PPE Circuits: Formal Definition to Software Automation
TLDR
A formalization of PPE circuits, a provably-correct algorithm for searching for a PPE circuit given a description of the trusted and untrusted elements to be verified, and a new open-source software tool called AutoCircuitPPE that realizes this algorithm.
Formalizing Constructive Cryptography using CryptHOL
TLDR
This paper extends CryptHOL, a framework for game-based proofs, with an abstract model of Random Systems and provides proof rules for their equality and composition, and formalizes security as a special kind of system construction in which a complex system is built from simpler ones.
...
...

References

SHOWING 1-10 OF 31 REFERENCES
How to Simulate It in Isabelle: Towards Formal Proof for Secure Multi-Party Computation
TLDR
This paper presents the first formalisation of some MPC security proofs, and shows that existing machinery for reasoning about probabilistic programs can be adapted to this setting, paving the way to precisely check a new class of cryptography arguments.
EasyCrypt: A Tutorial
TLDR
Machine-checked frameworks that support the construction and automated verification of cryptographic systems are developed to reason directly in the computational model commonly used by cryptographers to deliver rigorous and detailed mathematical proofs.
Application-Scale Secure Multiparty Computation
TLDR
A collection of the techniques found to be important in the implementation of secure multiparty computation MPC, including SAT-based circuit optimization and an optimized table lookup primitive are described.
Verified Implementations for Secure and Verifiable Computation
TLDR
This paper presents a scalable approach to formally verifying implementations of higherlevel cryptographic systems, directly in the computational model, and critically rely on two novel features: a module and theory system that supports compositional reasoning, and a code extraction mechanism for generating implementations from formalizations.
How to Generate and Exchange Secrets (Extended Abstract)
  • A. Yao
  • Computer Science, Mathematics
    FOCS
  • 1986
TLDR
A new tool for controlling the knowledge transfer process in cryptographic protocol design is introduced and it is applied to solve a general class of problems which include most of the two-party cryptographic problems in the literature.
A Simpler Variant of Universally Composable Security for Standard Multiparty Computation
TLDR
This paper presents a simpler and more restricted variant of the universally composable security (UC) framework that is suitable for “standard” two-party and multiparty computation tasks and shows that for every protocol that can be represented in the SUC framework, the protocol is secure in SUC if and only if it isSecure in UC.
Efficient Secure Two-Party Protocols: Techniques and Constructions
The authors present a comprehensive study of efficient protocols and techniques for secure two-party computation both general constructions that can be used to securely compute any functionality, and
WYS*: A Verified Language Extension for Secure Multi-party Computations
TLDR
WYS* is the first DSL to enable formal verification of source MPC programs, and also the first MPC DSL to provide a verified implementation, in a full-featured, verification-oriented programming language.
Computer-Aided Security Proofs for the Working Cryptographer
TLDR
It is argued that EasyCrypt is a plausible candidate for adoption by working cryptographers and its application to security proofs of the Cramer-Shoup and Hashed ElGamal cryptosystems is illustrated.
Formal certification of game-based cryptographic proofs. (Certification formelle de preuves cryptographiques basées sur les séquences de jeux)
TLDR
This dissertation presents CertiCrypt, a framework that enables the machine-checked construction and verification of game-based cryptographic proofs, built upon the general-purpose proof assistant Coq, and draws on many areas, including probability and complexity theory, algebra, and semantics of programming languages.
...
...