Type-based cryptographic operations

  • Authors:
  • Dominic Duggan

  • Affiliations:
  • Stevens Institute of Technology, Department of Computer Science, Hoboken, NJ 07030, USA E-mail: dduggan@cs.stevens-tech.edu

  • Venue:
  • Journal of Computer Security - Special issue on CSFW15
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 run-time 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.