Programming Language Techniques for Cryptographic Proofs

Abstract : Certicrypt is a general framework to certify the security of cryptographic primitives in the Coq proof assistant. Certicrypt adopts the code-based paradigm, in which the statement of security, and the hypotheses under which it is proved, are expressed using probabilistic programs. It provides a set of programming language tools (observational equivalence, relational Hoare logic, semantics-preserving program transformations) to assist in constructing proofs. Earlier publications of Certicrypt provide an overview of its architecture and main components, and describe its application to signature and encryption schemes. This paper describes programming language techniques that arise specifically in cryptographic proofs. The techniques have been developed to complete a formal proof of IND-CCA security of the OAEP padding scheme. In this paper, we illustrate their usefulness for showing the PRP/PRF Switching Lemma, a fundamental cryptographic result that bounds the probability of an adversary to distinguish a family of pseudorandom functions from a family of pseudorandom permutations.
Document type :
Conference papers
Complete list of metadatas

Cited literature [11 references]  Display  Hide  Download

https://hal.inria.fr/inria-00552894
Contributor : Benjamin Gregoire <>
Submitted on : Monday, January 10, 2011 - 10:10:40 AM
Last modification on : Thursday, January 11, 2018 - 4:45:01 PM
Long-term archiving on : Monday, April 11, 2011 - 2:47:50 AM

File

itp10.pdf
Files produced by the author(s)

Identifiers

Collections

Citation

Gilles Barthe, Benjamin Grégoire, Santiago Zanella-Béguelin. Programming Language Techniques for Cryptographic Proofs. ITP'10, 2010, Edinburgh, United Kingdom. pp.115-130, ⟨10.1007/978-3-642-14052-5_10⟩. ⟨inria-00552894⟩

Share

Metrics

Record views

319

Files downloads

194