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 language | English |
|---|---|
| Pages (from-to) | 216-233 |
| Number of pages | 18 |
| Journal | Science of Computer Programming |
| Volume | 91 |
| Issue number | PART B |
| DOIs | |
| Publication status | Published - 1 Oct 2014 |
| Externally published | Yes |
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
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver