Download:
|
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.
|