Type theory and functional programming
Type theory and functional programming
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
Random oracles are practical: a paradigm for designing efficient protocols
CCS '93 Proceedings of the 1st ACM conference on Computer and communications security
The exact security of digital signatures-how to sign with RSA and Rabin
EUROCRYPT'96 Proceedings of the 15th annual international conference on Theory and application of cryptographic techniques
An approach to formal verification of arithmetic functions in assembly
ASIAN'06 Proceedings of the 11th Asian computing science conference on Advances in computer science: secure software and related issues
A probabilistic hoare-style logic for game-based cryptographic proofs
ICALP'06 Proceedings of the 33rd international conference on Automata, Languages and Programming - Volume Part II
Formal verification of the heap manager of an operating system using separation logic
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Machine-checked security proofs of cryptographic signature schemes
ESORICS'05 Proceedings of the 10th European conference on Research in Computer Security
Automated security proofs with sequences of games
CRYPTO'06 Proceedings of the 26th annual international conference on Advances in Cryptology
The security of triple encryption and a framework for code-based game-playing proofs
EUROCRYPT'06 Proceedings of the 24th annual international conference on The Theory and Applications of Cryptographic Techniques
Formal certification of code-based cryptographic proofs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On Formal Verification of Arithmetic-Based Cryptographic Primitives
Information Security and Cryptology --- ICISC 2008
A framework for game-based security proofs
ICICS'07 Proceedings of the 9th international conference on Information and communications security
Beyond provable security verifiable IND-CCA security of OAEP
CT-RSA'11 Proceedings of the 11th international conference on Topics in cryptology: CT-RSA 2011
Programming language techniques for cryptographic proofs
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Certifying assembly with formal security proofs: The case of BBS
Science of Computer Programming
Hi-index | 0.00 |
Game-playing is an approach to write security proofs that are easy to verify. In this approach, security definitions and intractable problems are written as programs called games and reductionist security proofs are sequences of game transformations. This bias towards programming languages suggests the implementation of a tool based on compiler techniques (syntactic program transformations) to build security proofs, but it also raises the question of the soundness of such a tool. In this paper, we advocate the formalization of game-playing in a proof assistant as a tool to build security proofs. In a proof assistant, starting from just the formal definition of a probabilistic programming language, all the properties required in game-based security proofs can be proved internally as lemmas whose soundness is ensured by proof theory. Concretely, we show how to formalize the game-playing framework of Bellare and Rogaway in the Coq proof assistant, how to prove formally reusable lemmas such as the fundamental lemma of game-playing, and how to use them to formally prove the PRP/PRF Switching Lemma.