FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
An attack on the Needham-Schroeder public-key authentication protocol
Information Processing Letters
Foundations of programming languages
Foundations of programming languages
A calculus for cryptographic protocols: the spi calculus
Proceedings of the 4th ACM conference on Computer and communications security
Secure information flow in a multi-threaded imperative language
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The SLam calculus: programming with secrecy and integrity
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Operational reasoning for functions with local state
Higher order operational techniques in semantics
Relational interpretations of recursive types in an operational setting
Information and Computation
Secrecy by typing in security protocols
Journal of the ACM (JACM)
Using encryption for authentication in large networks of computers
Communications of the ACM
Mobile values, new names, and secure communication
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Protection in programming languages
Communications of the ACM
A compiler for analyzing cryptographic protocols using noninterference
ACM Transactions on Software Engineering and Methodology (TOSEM)
A uniform type structure for secure information flow
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Information flow inference for ML
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A bisimulation method for cryptographic protocols
Nordic Journal of Computing
Existential Types: Logical Relations and Operational Equivalence
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
Process Calculus Based upon Evaluation to Committed Form
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
Formal Verification of Cryptographic Protocols: A Survey
ASIACRYPT '94 Proceedings of the 4th International Conference on the Theory and Applications of Cryptology: Advances in Cryptology
Proof Techniques for Cryptographic Processes
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
CVS: A Compiler for the Analysis of Cryptographic Protocols
CSFW '99 Proceedings of the 12th IEEE workshop on Computer Security Foundations
Process Algebra and Non-interference
CSFW '99 Proceedings of the 12th IEEE workshop on Computer Security Foundations
Formalization and Proof of Secrecy Properties
CSFW '99 Proceedings of the 12th IEEE workshop on Computer Security Foundations
How to Prevent Type Flaw Attacks on Security Protocols
CSFW '00 Proceedings of the 13th IEEE workshop on Computer Security Foundations
A Simple View of Type-Secure Information Flow in the "-Calculus
CSFW '02 Proceedings of the 15th IEEE workshop on Computer Security Foundations
Authenticity by Typing for Security Protocols
CSFW '01 Proceedings of the 14th IEEE workshop on Computer Security Foundations
Parametric polymorphism and operational equivalence
Mathematical Structures in Computer Science
A bisimulation for dynamic sealing
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Abstraction preservation and subtyping in distributed languages
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Sequentiality and the CPS Semantics of Fresh Names
Electronic Notes in Theoretical Computer Science (ENTCS)
A bisimulation for dynamic sealing
Theoretical Computer Science
Cryptographic logical relations
Theoretical Computer Science
Operational semantics for multi-language programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Logical bisimulations and functional languages
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
On completeness of logical relations for monadic types
ASIAN'06 Proceedings of the 11th Asian computing science conference on Advances in computer science: secure software and related issues
Parametric polymorphism through run-time sealing or, theorems for low, low prices!
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Environmental bisimulations for higher-order languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Journal of Functional Programming - Dedicated to ICFP 2009
Relational reasoning in a nominal semantics for storage
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Causality for free!: parametricity implies causality for functional reactive programs
PLPV '13 Proceedings of the 7th workshop on Programming languages meets program verification
Journal of Computer Security - Foundational Aspects of Security
Hi-index | 0.00 |
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.