Pragmatic equivalence and safety checking in Cryptol

  • Authors:
  • Levent Erkök;John Matthews

  • Affiliations:
  • Galois, Inc., Portland, OR, USA;Galois, Inc., Portland, OR, USA

  • Venue:
  • Proceedings of the 3rd workshop on Programming languages meets program verification
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Cryptol is programming a language designed for specifying and programming cryptographic algorithms. In order to meet high-assurance requirements, Cryptol comes with a suite of formal-methods based tools allowing users to perform various program verification tasks. In the fully automated mode, Cryptol uses modern off-the-shelf SAT and SMT solvers to perform verification in a push-button manner. In the manual mode, Cryptol produces Isabelle/HOL specifications that can be interactively verified using the Isabelle theorem prover. In this paper, we provide an overview of Cryptol's verification toolset, describing our experiences with building a practical programming environment with dedicated support for formal verification.