Formal Proof of Provable Security by Game-Playing in a Proof Assistant
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.
KeywordsFormal Proof Block Cipher Random Oracle Logical Predicate Proof Theory
Unable to display preview. Download preview PDF.
- 1.The LogiCal Project, INRIA. The Coq proof assistant, http://coq.inria.fr
- 4.Bellare, M., Rogaway, P.: Random Oracle are Practical: A Paradigm for Designing Efficient Protocols. In: CCS 1993. 1st ACM Conference on Computer and Communications Security, pp. 62–73. ACM Press, New YorkGoogle Scholar
- 6.Shoup, V.: Sequence of Games: A Tool for Taming Complexity in Security Proofs. Manuscript (2004) (Revised 2006), available at http://www.shoup.net/papers/games.pdf
- 8.Pointcheval, D.: Provable Security for Public Key Schemes. In: Contemporary Cryptology, Advanced Courses in Mathematics CRM Barcelona, pp. 133–189. Birkhäuser Publishers (2005)Google Scholar
- 9.Halevi, S.: A plausible approach to computer-aided cryptographic proofs. Cryptology ePrint Archive: Report (2005)/181Google Scholar
- 14.Affeldt, R., Marti, N.: An Approach to Formal Verification of Arithmetic Functions in Assembly. In: 11th Annual Asian Computing Science Conference (ASIAN 2006), Focusing on Secure Software and Related Issues, Lecture Notes in Computer Science. Springer, Heidelberg (to appear, 2007)Google Scholar
- 15.Nowak, D.: A Framework for Game-Based Security Proofs. Cryptology ePrint Archive: Report (2007)/199Google Scholar
- 16.Affeldt, R., Tanaka, M., Marti, N.: Formal Proof of Provable Security by Game-playing in a Proof Assistant. Coq scripts, available at http://staff.aist.go.jp/reynald.affeldt/secprf/provsec2007