Download PDFOpen PDF in browser

Cryptographic Protocol Verification via Supercompilation (A Case Study)

14 pagesPublished: July 25, 2013

Abstract

It has been known for a while that program transformation techniques, in particular, program specialization, can be used to prove the properties of programs automatically. For example, if a program actually implements (in a given context of use) a constant function, sufficiently powerful and semantics preserving program transformation may reduce the program to a syntactically trivial ``constant'' program, pruning unreachable branches and proving thereby the property. Viability of such an approach to verification has been demonstrated in previous works where it was applied to the verification of parameterized cache coherence protocols and Petri Nets models.
In this paper we further extend the method and present a case study on its appication to the verification of a cryptographic protocol. The protocol is modeled by functional programs at different levels of abstraction and verification via program specialization is done by using Turchin's supercompilation method.

Keyphrases: cryptographic protocols, program analysis, program specialization, program transformation, program verification, supercompilation

In: Alexei Lisitsa and Andrei Nemytykh (editors). VPT 2013. First International Workshop on Verification and Program Transformation, vol 16, pages 16-29.

BibTeX entry
@inproceedings{VPT2013:Cryptographic_Protocol_Verification_via,
  author    = {Abdulbasit Ahmed and Alexei Lisitsa and Andrei Nemytykh},
  title     = {Cryptographic Protocol Verification via Supercompilation (A Case Study)},
  booktitle = {VPT 2013. First International Workshop on Verification and Program Transformation},
  editor    = {Alexei Lisitsa and Andrei Nemytykh},
  series    = {EPiC Series in Computing},
  volume    = {16},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {/publications/paper/txLj},
  doi       = {10.29007/gpsh},
  pages     = {16-29},
  year      = {2013}}
Download PDFOpen PDF in browser