Title: Certification of code-based cryptographic proofs
Speaker: Gilles Barthe (IMDEA Software Madrid, Spain)
Venue:Lecture Room,State Key Lab of Computer Science, Level 3 Building #5, Institute of Software, CAS
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
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.