Formal certification of code-based cryptographic proofs
Open Access
- 21 January 2009
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 44 (1) , 90-101
Abstract
As cryptographic proofs have become essentially unverifiable, cryptographers have argued in favor of developing techniques that help tame the complexity of their proofs. Game-based techniques provide a popular approach in which proofs are structured as sequences of games and in which proof steps establish the validity of transitions between successive games. Code-based techniques form an instance of this approach that takes a code-centric view of games, and that relies on programming language theory to justify proof steps. While code-based techniques contribute to formalize the security statements precisely and to carry out proofs systematically, typical proofs are so long and involved that formal verification is necessary to achieve a high degree of confidence. We present Certicrypt, a framework that enables the machine-checked construction and verification of code-based proofs. Certicrypt is built upon the general-purpose proof assistant Coq, and draws on many areas, including probability, complexity, algebra, and semantics of programming languages. Certicrypt provides certified tools to reason about the equivalence of probabilistic programs, including a relational Hoare logic, a theory of observational equivalence, verified program transformations, and game-based techniques such as reasoning about failure events. The usefulness of Certicrypt is demonstrated through various examples, including a proof of semantic security of OAEP (with a bound that improves upon existing published results), and a proof of existential unforgeability of FDH signatures. Our work provides a first yet significant step towards Halevi's ambitious programme of providing tool support for cryptographic proofs.Keywords
This publication has 28 references indexed in Scilit:
- Inductive Proofs of Computational Secrecy2007
- A Structured Approach to Proving Compiler Optimizations Based on Dataflow AnalysisLecture Notes in Computer Science, 2006
- Probabilistic guarded commands mechanized in HOLTheoretical Computer Science, 2005
- The random oracle methodology, revisitedJournal of the ACM, 2004
- A Machine-Checked Formalization of the Generic Model and the Random Oracle Model2004
- Formal methods for cryptographic protocol analysis: emerging issues and trendsIEEE Journal on Selected Areas in Communications, 2003
- RSA-OAEP Is Secure under the RSA AssumptionJournal of Cryptology, 2002
- Probabilistic Extensions of Process Algebras**This chapter is dedicated to the fond memory of Linda Christoff.2001
- Probabilistic encryptionJournal of Computer and System Sciences, 1984
- Semantics of probabilistic programsJournal of Computer and System Sciences, 1981