Skip to main navigation Skip to search Skip to main content

Probabilistic relational verification for cryptographic implementations

  • Gilles Barthe
  • , Cédric Fournet
  • , Benjamin Grégoire
  • , Pierre Yves Strub
  • , Nikhil Swamy
  • , Santiago Zanella-Béguelin
  • IMDEA Software Institute
  • Microsoft Research
  • INRIA

Research output: Chapter in Book/Report/Conference proceeding › Conference contribution › peer-review

62 Citations (Scopus)

Abstract

Relational program logics have been used for mechanizing formal proofs of various cryptographic constructions. With an eye towards scaling these successes towards end-to-end security proofs for implementations of distributed systems, we present RF*, a relational extension of F*, a general-purpose higher-order stateful programming language with a verification system based on refinement types. The distinguishing feature of F*is a relational Hoare logic for a higher-order, stateful, probabilistic language. Through careful language design, we adapt the F*typechecker to generate both classic and relational verification conditions, and to automatically discharge their proofs using an SMT solver. Thus, we are able to benefit from the existing features of F*, including its abstraction facilities for modular reasoning about program fragments. We evaluate RF*experimentally by programming a series of cryptographic constructions and protocols, and by verifying their security properties, ranging from information flow to unlinkability, integrity, and privacy. Moreover, we validate the design of RF*by formalizing in Coq a core probabilistic λ-calculus and a relational refinement type system and proving the soundness of the latter against a denotational semantics of the probabilistic lambda λ-calculus.

Original languageEnglish
Title of host publicationPOPL 2014 - Proceedings of the 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Pages193-205
Number of pages13
DOIs
Publication statusPublished - 11 Feb 2014
Externally publishedYes
Event41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2014 - San Diego, CA, United States
Duration: 22 Jan 2014 → 24 Jan 2014

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Conference

Conference41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2014
Country/TerritoryUnited States
CitySan Diego, CA
Period22/01/14 → 24/01/14

Keywords

  • probabilistic programming
  • program logics

Fingerprint

Dive into the research topics of 'Probabilistic relational verification for cryptographic implementations'. Together they form a unique fingerprint.

Cite this