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.cis.upenn.edu/~bcpierce/papers/infohide.ps
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

769 On understanding types, data abstraction, and polymorphism – Cardelli, Wegner - 1985
615 A calculus for cryptographic protocols: The Spi calculus. Journal of Information and Computation – Abadi, Gordon - 1999
321 Towards a theory of type structure – Reynolds - 1974
280 A calculus of mobile agents – Fournet, Gonthier, et al. - 1996
279 Abstract types have existential type – Mitchell, Plotkin - 1988
273 Types, abstraction, and parametric polymorphism – Reynolds - 1983
230 Interprétation fonctionelle et élimination des coupures de l’arithmétique d’ordre supérieur – Girard - 1972
226 Secrecy by typing in security protocols – Abadi - 1999
223 Theorems for Free – Wadler - 1989
185 The SLam calculus: programming with secrecy and integrity – Heintze, Riecke - 1998
138 Semantics of Programming Languages – Gunter - 1992
124 Dynamic typing in a statically typed language – Abadi, Cardelli, et al. - 1991
120 Type inference for record concatenation and multiple inheritance – Wand - 1989
80 Dynamic typing in polymorphic languages – Abadi, Cardelli, et al. - 1995
70 Type inference for records in a natural extension of ML – Rémy - 1993
65 The reflexive CHAM and the join-calculus – Fournet, Gonthier - 1996
54 R.: Proof techniques for cryptographic processes – Boreale, Nicola, et al. - 2002
47 D.: Behavioral equivalence in the polymorphic pi-calculus – Pierce, Sangiorgi - 2000
41 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.