I am a research fellow within the Valda team of the Computer Science Department at
École Normale Supérieure – PSL, in the framework of the
PR[AI]RIE Artificial Intelligence Cluster.
Valda is a joint team between Inria, CNRS and ENS-PSL.
More information about Valda can be found
here.
I currently develop algorithms for data provenance, uncertainty, and probabilistic inference in SQL systems.
Previously, I was a research fellow at CNRS@CREATE
in Singapore (Descartes program, WP2: Hybrid AI), where I built voting algorithms for ensemble
learning and added differential privacy to machine learning pipelines.
Before that, during my Ph.D. at Télécom Paris,
I worked on privacy-preserving ML systems using cryptographic tools and differential privacy. 😎
Get in Touch
Have a question or want to collaborate? Send me a message below.
Resume
Experience & Education
Experience
Researcher
École Normale Supérieure, Paris
Feb 2026 – Ongoing
Implement provenance and uncertainty features in ProvSQL (advanced SQL, semirings).
Develop efficient algorithms for provenance circuits and probabilistic inference.
Analyse complexity and semantics of provenance for advanced SQL queries.
Researcher
CNRS@CREATE, Singapore
Jun 2023 – Jun 2025
Integrate data privacy mechanisms like differential privacy into aggregation, training, and inference.
Design ensemble learning methods for aggregation across multiple heterogeneous models.
Build permutation-invariant machine learning models to measure the quality of data.
Construct integer-based mappings that linearize multidimensional data spaces for smart indexing.
Graduate Researcher
Télécom Paris, France
Nov 2019 – Jun 2023
Design hybrid privacy-preserving machine learning models with cryptographic tools and differential privacy.
Implement secure federated learning protocols ensuring data confidentiality across multiple parties.
Deploy and test a socket network for secure two-party computations in machine learning tasks.
Research Intern
CNRS@CREATE, Singapore
Aug 2022 – Nov 2022
Apply secure computation protocols for unsupervised information retrieval algorithms; truth discovery.
Research Intern
Inria Saclay, France
Mar 2019 – Aug 2019
Accelerate computations on encrypted data using mathematical tools like error-correcting codes and hyperinvertible matrices.
Education
Ph.D. in Computer Science
Télécom Paris, France
Nov 2019 – Jun 2023
Thesis: Applications of Secure Multi-party Computation Machine Learning
Advisors: Daniel Augot (Inria) and Matthieu Rambaud (Télécom Paris)
Doctoral scholarship: Labex Digicosme
M.Sc. in Computer Science
Université Paris-Saclay, France
Sep 2017 – Sep 2019
Specialization: Cryptography and Applied Algebra
Thesis: Mathematical Tools for Secure Multi-party Computation
Télécom Paris · Lab sessions: Fall 2020 · Course: Fall 2021
Course lectures and Java lab sessions covering optimization methods and numerical techniques.
BT5110
Data Management and Warehousing
National University of Singapore (NUS) · Lab sessions: Fall 2023
PostgreSQL lab sessions covering data management, warehousing concepts, and SQL querying techniques.
Cool Stuff
Side Projects
Kalendar
A tile puzzle: place 6 out of the 7 pieces on the 7×5 board to cover every cell except today's date.
Drag pieces from the tray, rotate & flip with the button. Every day has many solutions, you can see them if you click "Show Solution" to see one possible solution.
Cartes Mémoire · Sélectionner les leçons pour réviser le vocabulaire.
Cliquer sur la carte pour afficher le pinyin, puis cliquer à nouveau pour faire apparaître la définition.
cliquez pour révéler
0/0
🔐 Secure Multi-party Computation
Simulate an addition protocol for n parties.
All computations are done modulo 220 = 1048576.
Step 1. Choose number of parties (n) and hidden parties (k). You won't have access to the information of the hidden parties
2. Enter secrets for visible parties
Each secret s must be an integer with |s| < 55000. Hidden parties (🔒) get random secrets.
Step 3. Additive Secret Sharing
Secure computation protocols require a secret sharing scheme, it's like an "encryption". Each secret is encrypted by having its party generate n random numbers that sum to that secret (mod 220)
These random numbers are called the "shares" of the secret.
You can see how the shares generated by each party sum up to their secret.
Each party now sends one share to every party, including themselves.
Step 4. Share Exchange
In each column we have the shares that each player received from the others.
These shares are then added together in the next step.
Step 5. Each party adds the received shares
Step 6. Reveal the result
This is also called the reconstruction phase, it's like the "decryption" of the result.
Are you able to guess the secrets of the hidden parties? You can reveal the hidden information, scroll up and check if you were correct!
Try to simulate another experiment to see if you can infer something without the information of the hidden parties.
Contact me if you have questions about secure multi-party computation (MPC) or it's unlimited applications!
Oh what's that?
A special message just for you!
Let's go to Paris I don't care if we get lost in the scene!
Paint the city like Picasso would've done in his dreams
Do the things that we were way too terrified of before <3