About me
I am a Staff Cryptography Researcher at Consensys, where I work at the intersection of cryptographic research and high-performance engineering. I’m a developer and maintainer of gnark and gnark-crypto, an open-source Go ecosystem for zero-knowledge proofs and cryptographic primitives. I am also a founding member and developer of Linea, an Ethereum-equivalent Layer 2.
I received my PhD in Mathematics and Computer Science from École Polytechnique in France, where I was advised by François Morain, Daniel Augot, and later Aurore Guillevic.
My research sits at the intersection of algorithmic number theory and zero-knowledge proofs, with a particular interest in elliptic curves, finite fields, bilinear pairings, and the arithmetic underlying efficient SNARKs. I like turning mathematical ideas into cryptography that is fast enough to matter in practice.
Recover the secret.
64 sealed shares. 10 are corrupted.
Reveal every intact share to reconstruct the secret.
Click or tap to reveal. Numbers count nearby corrupted shares. Right-click to mark a share as untrusted, or turn on Seal mode.
Keyboard: arrows to move, Enter to reveal, F to seal.
Your first share is always intact. Click the padlock to start a new game.
Choose a sealed share to start.
One more block.
Your snake is a blockchain: linked blue blocks. Collect the gold mined blocks to extend your chain. Avoid the walls and your own chain.
Use the arrow keys or W A S D to turn. Press Space to pause.
On your phone, swipe the board or use the arrow buttons.
The pace picks up as your chain grows. Your best score stays on this device.
Ready when you are. Press Start or an arrow key.
Commit first. Reveal later.
Reveal two cards at a time. Match all eight pairs of cryptography symbols in as few moves as you can.
Keys, locks, hashes, elliptic curves, signatures, Merkle trees, blocks, and zero-knowledge proofs.
Each card starts with a SHA-256 commitment to its symbol and a random nonce. Matching symbols have different nonces, so their commitments look different.
Click, tap, or use arrows and Enter to reveal.
Inspect the last reveal
Reveal a card to inspect its commitment.
- Symbol ID
- Nonce
- SHA-256(symbol ID + ":" + nonce)
Preparing the commitments…
Research & writings
Recent publications
16 itemsRecent talks
28 itemsOn the Security of Constraint-Friendly Map-to-Curve Relations
Zero-Knowledge Proofs — The Bridge Between Cryptographic Theory and Blockchain Scalability
Fast Elliptic Curve Scalar Multiplications in SN(T)ARK Circuits
Recent posts
16 itemsDivide-and-Pair SMT for gnark-crypto Twisted Edwards Curves
A latent bug in optimized Fp2 square-root algorithms
A note on implementing subgroup membership using the Tate pairing
Cipher Challenge 2025 — UM6P
Recent media
2 itemsWhat is gnark? (video series)
Experience & education
Staff Cryptography ResearcherConsensys · New York, USA
- Applied cryptography research: zero-knowledge proofs.
- Development of high-performance cryptographic libraries in Go: gnark and gnark-crypto.
- Building Linea type-2 zkEVM.
Senior Cryptography ResearcherConsensys · Paris, France
- Applied cryptography research: zero-knowledge proofs.
- Development of high-performance cryptographic libraries in Go: gnark and gnark-crypto.
- Building Linea type-2 zkEVM.
Senior Cryptography EngineerEY Blockchain Hub · Paris, France
- Applied cryptography research: zero-knowledge proofs, proxy-reencryption.
- Blockchain development with focus on privacy (Rust, C++, Solidity).
R&D EngineerSecure-IC · Rennes, France
- Applied cryptography research: Elliptic curves, pairings, SCA and FIA countermeasures.
- Video steganography development on embedded devices (embedded C).
- Conception of stochastic models and statistical tests for hardware TRNG and PUF.