TY - JOUR
T1 - Type-based cryptographic operations
AU - Duggan, Dominic
PY - 2004
Y1 - 2004
N2 - Cryptographic types are a way to express cryptographic guarantees (of secrecy and integrity) in a type system for a network programming language. This allows some of these guarantees to be checked statically, before a network program executes. Where dynamic checks are required, these are represented at the source language level as dynamic type-checking, and are translated by the compiler to lower level cryptographic operations. Static checking has the important advantage that it provides static guarantees of the reliability of a network application. It can also help to avoid the unnecessary overhead of runtime cryptographic operations where communication is through a trusted medium (e.g., the OS kernel, or a trusted subnet). Cryptographic types can also be used to build application-specific security protocols, where type-checking in the lower layers of the protocol stack verifies security properties for upper layers. Cryptographic types are described formally using two process calculi: a simple but limited calculus of virtual and actual cryptographic operations, the sec-calculus; and a more sophisticated calculus of type-based cryptographic operations, the ec-calculus. Correctness is verified for a scheme for compiling type operations in the ec-calculus to cryptographic operations.
AB - Cryptographic types are a way to express cryptographic guarantees (of secrecy and integrity) in a type system for a network programming language. This allows some of these guarantees to be checked statically, before a network program executes. Where dynamic checks are required, these are represented at the source language level as dynamic type-checking, and are translated by the compiler to lower level cryptographic operations. Static checking has the important advantage that it provides static guarantees of the reliability of a network application. It can also help to avoid the unnecessary overhead of runtime cryptographic operations where communication is through a trusted medium (e.g., the OS kernel, or a trusted subnet). Cryptographic types can also be used to build application-specific security protocols, where type-checking in the lower layers of the protocol stack verifies security properties for upper layers. Cryptographic types are described formally using two process calculi: a simple but limited calculus of virtual and actual cryptographic operations, the sec-calculus; and a more sophisticated calculus of type-based cryptographic operations, the ec-calculus. Correctness is verified for a scheme for compiling type operations in the ec-calculus to cryptographic operations.
UR - http://www.scopus.com/inward/record.url?scp=3042521154&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=3042521154&partnerID=8YFLogxK
U2 - 10.3233/jcs-2004-123-407
DO - 10.3233/jcs-2004-123-407
M3 - Article
AN - SCOPUS:3042521154
SN - 0926-227X
VL - 12
SP - 485
EP - 550
JO - Journal of Computer Security
JF - Journal of Computer Security
IS - 3-4 SPEC. ISS.
ER -