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