About Me

I am a lecturer in Secure Systems at the University of Surrey. My research revolves around proving cryptographic and side-channel security properties of concrete realizations and implementations of cryptographic primitives and protocols, in the presence of partial compromise. 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.

Before this, I 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).

Prior to that, I received a Ph.D. from the Open University on the 23rd of April 2013, for my dissertation on "Proving Cryptographic C Programs Secure with General-Purpose Verification Tools". It was written under the supervision of Andy Gordon, Jan Jürjens and Bashar Nuseibeh, and was supported by a Microsoft Research Ph.D. Scholarship. I spent most of my Ph.D. time at the MSR lab in Cambridge.

Research Interests

My current research interests are mainly in the formal verification of imperative programs, with a focus on computational cryptographic security properties and proofs of security in the presence of side-channels and partial compromise.

In the past, I have worked on abstract interpretation and some aspects of programming and natural languages.


If you are interested in research positions (including short summer internships) on implementation-aware security proofs, please contact me.

Professional Activities


Selected Publications

For the full list, see my publications page, on DBLP, or Google Scholar.