Dr François Dupressoir
About
Biography
François joined the Department as a Lecturer in Secure Systems in June 2016. Before joining the Department, he was a post-doctoral researcher at the IMDEA Software Institute, working mainly with Gilles Barthe, Pierre-Yves Strub and Benjamin Grégoire (Inria Sophia-Antipolis -- Méditerranée). In 2013, he received a PhD from the Open University for his work on "Proving Cryptographic C Programs Secure with General-Purpose Verification Tools", under the supervision of Andy Gordon, Jan Jürjens and Bashar Nuseibeh. His PhD was supported by a Microsoft Research PhD Scholarship. During the course of his PhD, he worked as a research intern at the European Microsoft Innovation Center (Aachen, Germany), as well as at Microsoft Research in Redmond and Cambridge.
Research interests
François's research revolves around proving cryptographic, side-channel and partial compromise security properties of concrete realizations and implementations of cryptographic primitives and protocols. This involves tackling problems in modelling adversaries and systems, designing and applying proof methodologies and verification tools, and generally finding less tedious ways of verifying complex properties of important (but not vast) quantities of code.
In the past, he briefly worked on abstract interpretation and some aspects of programming and natural languages.
Teaching
- COMM044: Symmetric Cryptography, taken over from Mark Manulis
Departmental duties
- Academic Integrity Officer (2016-)
- MSc Coordinator (2016-)
- MSc Admissions Tutor (2017-)
- Departmental Seminar Series (2016-2017)
- Computer Science Open Day and Applicant Day Coordinator (2017-2017)
Publication highlights
A full list of publications can be found on my personal website.
- A Fast and Verified Software Stack for Secure Function Evaluation, with José Bacelar Almeida, Manuel Barbosa, Gilles Barthe, Benjamin Grégoire, Vincent Laporte, Vitor Pereira. CCS 2017.
- Parallel Implementations of Masking Schemes and the Bounded Moment Leakage Model, with Gilles Barthe, Sebastian Faust, Benjamin Grégoire, François-Xavier Standaert and Pierre-Yves Strub. Eurocrypt 2017.
- Strong Non-Interference and Type-Directed Higher-Order Masking, with Gilles Barthe, Sonia Belaïd, Pierre-Alain Fouque, Benjamin Grégoire, Pierre-Yves Strub and Rébecca Zucchini. CCS 2016.
- Verifying Constant-Time Implementations, with José Bacelar Almeida, Manuel Barbosa, Gilles Barthe and Michael Emmi. USENIX Security 2016.
- Verifiable side-channel security of cryptographic implementations: constant-time MEE-CBC, with J. C. Bacelar Almeida, Manuel Barbosa and Gilles Barthe. FSE 2016. Best paper award.
- Verified Proofs of Higher-Order Masking, with Gilles Barthe, Sonia Belaïd, Pierre-Alain Fouque, Benjamin Grégoire and Pierre-Yves Strub. EuroCrypt 2015.
- Synthesis of Fault Attacks on Cryptographic Implementations, with Gilles Barthe, Pierre-Alain Fouque, Benjamin Grégoire and Jean-Christophe Zapalowicz. CCS 2014.
- Guiding a General-Purpose C Verifier to Prove Cryptographic Protocols, with Andrew D. Gordon, Jan Jürjens and David A. Naumann. Journal of Computer Security 2014.
- Certified Computer-Aided Cryptography: Efficient Provably Secure Machine Code from High-Level Implementations, with J. C. Bacelar Almeida, Manuel Barbosa and Gilles Barthe. CCS 2013.
Areas of specialism
University roles and responsibilities
- Academic Integrity Officer
- MSc Coordinator
- MSc Admissions Tutor
ResearchResearch interests
François's research revolves around proving cryptographic, side-channel and partial compromise security properties of concrete realizations and implementations of cryptographic primitives and protocols. This involves tackling problems in modelling adversaries and systems, designing and applying proof methodologies and verification tools, and generally finding less tedious ways of verifying complex properties of important (but not vast) quantities of code.
In the past, he briefly worked on abstract interpretation and some aspects of programming and natural languages.
Research interests
François's research revolves around proving cryptographic, side-channel and partial compromise security properties of concrete realizations and implementations of cryptographic primitives and protocols. This involves tackling problems in modelling adversaries and systems, designing and applying proof methodologies and verification tools, and generally finding less tedious ways of verifying complex properties of important (but not vast) quantities of code.
In the past, he briefly worked on abstract interpretation and some aspects of programming and natural languages.
Publications
We present a high-assurance and high-speed implementation of the SHA-3 hash function. Our implementation is written in the Jasmin programming language, and is formally verified for functional correctness, provable security and timing attack resistance in the EasyCrypt proof assistant. Our implementation is the first to achieve simultaneously the four desirable properties (efficiency, correctness, provable security, and side-channel protection) for a non-trivial cryptographic primitive.
Concretely, our mechanized proofs show that: 1) the SHA-3 hash function is indifferentiable from a random oracle, and thus is resistant against collision, first and second preimage attacks; 2) the SHA-3 hash function is correctly implemented by a vectorized x86 implementation. Furthermore, the implementation is provably protected against timing attacks in an idealized model of timing leaks. The proofs include new EasyCrypt libraries of independent interest for programmable random oracles and modular indifferentiability proofs.