MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Relating cryptography and polymorphism (2000) [3 citations — 1 self]

Download:
Download as a PDF | Download as a PS
by Benjamin Pierce, Eijiro Sumii
http://www.yl.is.s.u-tokyo.ac.jp/~sumii/pub/./infohide.ps.gz
Add To MetaCart

Abstract:

Cryptography is information hiding. Polymorphism is also information hiding. So is cryptography polymorphic? Is polymorphism cryptographic? To investigate these questions, we dene the cryptographic -calculus, a simply typed -calculus with shared-key cryptographic primitives. Although this calculus is simply typed, it is powerful enough to encode recursive functions, recursive types, and dynamic typing. We then develop a theory of relational parametricity for our calculus as Reynolds did for the polymorphic -calculus. This theory is useful for proving equivalences in our calculus; for instance, it implies the non-interference property: values encrypted by a key cannot be distinguished from one another by any function ignorant of the key. We close with an encoding of the polymorphic -calculus into the cryptographic calculus that uses cryptography to protect type abstraction. Our results shed a new light upon the relationship between cryptography and polymorphism, and oer a rst step toward extending programming idioms based on type abstraction (such as modules and packages) from the civilized world of polymorphism, where only well-typed programs are allowed, to the unstructured world of cryptography, where friendly programs must cohabit with malicious attackers. 1

Citations

777 On understanding types, data abstraction, and polymorphism – Cardelli, Wegner - 1985
622 A calculus for cryptographic protocols: The spi calculus – Abadi, Gordon - 1999
326 Towards a theory of type structure – Reynolds - 1974
283 A calculus of mobile agents – Fournet, Gonthier, et al. - 1996
281 Abstract types have existential type – Mitchell, Plotkin - 1988
275 Types, abstraction, and parametric polymorphism – Reynolds - 1983
231 Interprétation fonctionelle et élimination des coupures de l’arithmétique d’ordre supérieur – Girard - 1972
227 Secrecy by typing in security protocols – ABADI - 1997
227 Theorems for free – Wadler - 1989
190 The SLam calculus: programming with secrecy and integrity – HEINTZE, RIECKE - 1998
140 Semantics of Programming Languages – Gunter - 1992
126 Dynamic typing in a statically typed language – Abadi, Cardelli, et al. - 1991
122 Type inference for record concatenation and multiple inheritance – Wand - 1991
81 Dynamic typing in polymorphic languages – Abadi, Cardelli, et al. - 1992
70 Type inference for records in a natural extension of ML – R'emy - 1994
65 The reflexive CHAM and the join-calculus – Fournet, Gonthier - 1996
54 Proof techniques for cryptographic processes – Boreale, Nicola, et al. - 1999
48 Behavioral equivalence in the polymorphic picalculus – Pierce, Sangiorgi
42 Types for Modules – Russo - 1998
38 Authentication primitives and their compilation – Abadi, Fournet, et al. - 2000
34 On the equivalence of data representations – Mitchell - 1991
31 Existential types: Logical relations and operational equivalence – Pitts - 1998
15 Principals in programming languages: A syntactic proof technique – Zdancewic, Grossman, et al. - 1999
10 Process calculus based upon evaluation to committed form. Theoretical Computer Science, to appear. A preliminary version appeared – Pitts, Ross - 1996
6 Protection in programming languages – Jr - 1973
5 A top-down look at a secure message – Abadi, Fournet, et al. - 1999
1 Secure implementation of channel abstractions. Available at http://pauillac.inria.fr/~fournet/papers/secureimplementation. ps.gz – Abadi, Fournet, et al. - 1999
1 Non-malleable cryptography. Technical report, Weizmann Institute of Science, 2000. Avalable at http://www.wisdom.weizmann.ac.il:81 /Dienst/UI/2.0/Describe/ncstrl.weizmann il%2fCS95-27. A preliminary version of this work appeared – Dolev, Dwork, et al.