CAOVerif: An open-source deductive verification platform for cryptographic software implementations

Research output: Contribution to journalArticlepeer-review

Abstract

CAO is a domain-specific imperative language for cryptography, offering a rich mathematical type system and crypto-oriented language constructions. We describe the design and implementation of a deductive verification platform for CAO and demonstrate that the development time of such a complex verification tool could be greatly reduced by building on the Jessie plug-in included in the Frama-C framework. We discuss the interesting challenges raised by the domain-specific characteristics of CAO, and describe how we tackle these problems in our design. We base our presentation on real-world examples of CAO code, extracted from the open-source code of the NaCl cryptographic library, and illustrate how various cryptography-relevant security properties can be verified.

Original languageEnglish
Pages (from-to)216-233
Number of pages18
JournalScience of Computer Programming
Volume91
Issue numberPART B
DOIs
Publication statusPublished - 1 Oct 2014
Externally publishedYes

Keywords

  • Cryptographic software
  • Deductive verification
  • Formal verification
  • Program verification

Fingerprint

Dive into the research topics of 'CAOVerif: An open-source deductive verification platform for cryptographic software implementations'. Together they form a unique fingerprint.

Cite this