• Publications
  • Influence
Relational Verification Using Product Programs
This work provides a general notion of product program that supports a direct reduction of relational verification to standard verification, and illustrates the benefits of the method with selected examples, including non-interference, standard loop optimizations, and a state-of-the-art optimization for incremental computation.
EasyCrypt: A Tutorial
Machine-checked frameworks that support the construction and automated verification of cryptographic systems are developed to reason directly in the computational model commonly used by cryptographers to deliver rigorous and detailed mathematical proofs.
From relational verification to SIMD loop synthesis
The synthesis technique is a novel combination of deductive loop restructuring, synthesis condition generation and a new inductive synthesis algorithm for producing loop-free code fragments, which is able to quickly produce SIMD implementations for a wide range of fundamental looping structures.
Beyond 2-Safety: Asymmetric Product Programs for Relational Program Verification
Relational Hoare Logic is a generalization of Hoare logic that allows reasoning about executions of two programs, or two executions of the same program. It can be used to verify that a program is
Product programs and relational program logics
Fully automated analysis of padding-based encryption in the computational model
This paper presents proof systems for analyzing the chosen-plaintext and chosen-ciphertext security of public-key encryption schemes built from trapdoor permutations and hash functions in the random oracle model, and develops a toolset that bundles together fully automated proof and attack finding algorithms.
Verified Computational Differential Privacy with Applications to Smart Metering
A significantly enhanced version of EasyCrypt is reported on that accommodates a richer, user-extensible language of probabilistic expressions and supports reasoning about approximate forms of program equivalence, that notably include approximate and computational differential privacy.
Proving Differential Privacy in Hoare Logic
This work presents an alternative approach that verifies differential privacy by standard, non-relational reasoning on non-probabilistic programs and proves that if the target program is correct with respect to a Hoare specification, then the original probabilistic program is differentially private.
Certificate translation for optimizing compilers
Proof Carrying Code provides trust in mobile code by requiring certificates that ensure the code adherence to specific conditions. The prominent approach to generate certificates for compiled code is
Verified Security of Merkle-Damgård
This paper reports on the first machine-checked and independently-verifiable proofs of collision-resistance and in differentiability of Merkle-Damgaard, a construction that underlies many existing hash functions.