Automata, Languages and Programming

Volume 4052 of the series Lecture Notes in Computer Science pp 83-94

Cryptographically Sound Implementations for Communicating Processes

  • Pedro AdãoAffiliated withCenter for Logic and Computation, IST
  • , Cédric FournetAffiliated withMicrosoft Research


We design a core language of principals running distributed programs over a public network. Our language is a variant of the pi calculus, with secure communications, mobile names, and high-level certificates, but without any explicit cryptography. Within this language, security properties can be conveniently studied using trace properties and observational equivalences, even in the presence of an arbitrary (abstract) adversary.

With some care, these security properties can be achieved in a concrete setting, relying on standard cryptographic primitives and computational assumptions, even in the presence of an adversary modeled as an arbitrary probabilistic polynomial-time algorithm. To this end, we develop a cryptographic implementation that preserves all properties for all safe programs. We give a series of soundness and completeness results that precisely relate the language to its implementation.