Abstract
The theory of relational parametricity and its logical relations proof technique are powerful tools for reasoning about information hiding in the polymorphic λ-calculus. We investigate the application of these tools in the security domain by defining a cryptographic λ-calculus – an extension of the standard simply typed λ-calculus with primitives for encryption, decryption, and key generation – and introducing syntactic logical relations (in the style of Pitts and Birkedal-Harper) for this calculus that can be used to prove behavioral equivalences between programs that use encryption.
We illustrate the framework by encoding some simple security protocols, including the Needham–Schroeder public-key protocol. We give a natural account of the well-known attack on the original protocol and a straightforward proof that the improved variant of the protocol is secure.
Get full access to this article
View all access options for this article.
