Verifying Cryptographic Code in C: Some Experience and the Csec Challenge

  • Mihhail Aizatulin ,
  • François Dupressoir ,
  • Andy Gordon ,
  • Jan Jürjens

8th International Workshop, FAST 2011, Leuven, Belgium, September 12-14, 2011 |

Published by Springer Berlin Heidelberg

Publication

The security of much critical infrastructure depends in part on cryptographic software coded in C, and yet vulnerabilities continue to be discovered in such software. We describe recent progress on checking the security of C code implementing cryptographic software. In particular, we describe projects that combine verification-condition generation and symbolic execution techniques for C, with methods for stating and verifying security properties of abstract models of cryptographic protocols. We illustrate these techniques on C code for a simple two-message protocol.