About
I am an Associate Professor at École Polytechnique in the GRACE project-team since September 2025. My research interests focus on post-quantum cryptography, in particular code-based and lattice-based cryptography. I am also interested in a closely related topic, namely telecommunications reverse engineering, with a special emphasis on the blind recognition of error-correcting codes.
I received my PhD in 2019 on
Teaching
Period: 2025-2026
Location: École Polytechnique (Palaiseau)
Level: Bachelor 1
Volume: 44H TP per year
Description:
- Variables and Data Types
- Conditional Statements
- Loops
- Collections
- Functions
- File Handling
- Object-Oriented Programming
- Python Bytecode
Period: 2025-2026
Location: EPITA (Kremlin-Bicêtre)
Level: Bachelor 2
Volume: 9H CM and 12H TP per year
Description:
- Motivation and Application
- Binary vs source code
- Executables and file formats
- CPU architecture
- ABI sysV and MS
- Assembly/Disassembly
- Static vs Dynamic Analysis
- Control Flow Graph (IDA)
- Debugger (GDB, GEF)
- Patching
- Obfuscation
Period: 2025-2026
Location: EPITA (Kremlin-Bicêtre)
Level: Bachelor 2
Volume: 27H CM and 27H TD per year
Description:
- Basic definitions
- Representation of Graphs
- Special Types of Graphs
- Graph Operations
- Paths and Connectivity
- BFS,DFS
- Kosaraju-Sharir
- Bellman, Dijkstra
- Prim, Kruskal
Period: 2022-2025
Location: CY Cergy-Paris Université
Level: M1,M2
Description: Responsible of the Network and Security track of the Master SIC-IISC (Systèmes Intelligents et Communicants - Informatique et Ingénierie des Systèmes Complexes)
Period: 2021-2025
Location: CY Cergy Paris Université, ENSEA, Université Paris Cité
Level: M1,M2,ING3
Description: - Master's degree in Computer Science (professional and research) at CY Univ. and ENSEA - Master's degree in Mathematics, Computer Sciences and applications to Cryptology at Univ. Paris-Cité - DU Criminalistics Operations Coordinator (DU CoCrim) at CY Univ.
Period: 2024-2025
Location: ENSEA
Level: ING3
Volume: 8H CM + 16H TD/TP per year
Description:
- Rappels de probabilités discrètes
- Mesure de l'information
- Théorie de l’information de Shannon
- Schéma de communication numérique
- Codage Source, Compression
- Codage canal, Codes correcteurs d’erreurs.
Period: 2023-2025
Location: CY Cergy-Paris Université (CY Tech)
Level: ING3
Volume: 35H CM + 35H TD/TP per year
Description:
- Ancestral Ciphers
- Goal of cryptography
- Attacker model
- Side Channel Attack
- Shannon secrecy, Perfect secrecy, One-Time-Pad
- Computational security (Complexity theory)
- Stream Cipher (PRG, LFSR, A5/1)
- Block Cipher (DES, AES)
- Block Cipher Modes (ECB, CBC, CTR)
- Cryptographic Hash Function
- Message Authentication Code (MAC)
- Public Key Encryption (RSA)
- Digital signature (RSA, DSA)
- Key Establishment (Diffie-Hellmann)
- Introduction to post-quantum cryptography
Period: 2023-2025
Location: CY Cergy-Paris Université (CY Tech)
Level: ING3
Volume: 14H TP per year
Description:
- Ebios Risk Management
- Scapy, ARP spoofing, DNS spoofing
- Fishing
- Certificats (X509)
Period: 2022-2024
Location: ENSEA (Cergy)
Level: ING3
Volume: 24H CM per year
Description:
- Ancestral Ciphers
- Goal of cryptography
- Attacker model
- Side Channel Attack
- Shannon secrecy, Perfect secrecy, One-Time-Pad
- Computational security (Complexity theory)
- Stream Cipher (PRG, LFSR, A5/1)
- Block Cipher (DES, AES)
- Block Cipher Modes (ECB, CBC, CTR)
- Cryptographic Hash Function
- Message Authentication Code (MAC)
- Public Key Encryption (RSA)
- Digital signature (RSA)
Period: 2021-2025
Location: CY Cergy-Paris Université
Level: M2
Volume: 14H CM + 21H TP per year
Description:
- History of the smart card
- Smart/Hardwired-Logic/Memory Cards
- TPDU, APDU
- Authentication protocols
- Side Channel Attack (Time Attack)
Period: 2021-2023
Location: CY Cergy-Paris Université
Level: M2
Volume: 15H CM + 20H TP per year
Description:
- Ebios Risk Management
- Firewall, Tunneling (Pfsense, VPN, SSH, IPsec...)
- Kali Linux, Wireshark
- Port Knocking
- Scapy, ARP spoofing, DNS spoofing
- DHCP snooping
- Certificats (X509)
- Authentication (RADIUS)
- Dynamic VLAN
- Monitoring and Supervision (Syslog, Prometheus, Nagios)
Period: 2021-2025
Location: CY Cergy-Paris Université
Level: M1
Volume: 20H CM + 30H TD/TP per year
Description:
- Ancestral Ciphers
- Goal of cryptography
- Attacker model
- Side Channel Attack
- Shannon secrecy, Perfect secrecy, One-Time-Pad
- Computational security (Complexity theory)
- Stream Cipher (PRG, LFSR, A5/1)
- Block Cipher (DES, AES)
- Block Cipher Modes (ECB, CBC, CTR)
- Cryptographic Hash Function
- Message Authentication Code (MAC)
- Public Key Encryption (RSA)
Period: 2021-2025
Location: CY Cergy-Paris Université
Level: M2
Volume: 12H CM + 16H TP per year
Description:
- Digital signature (RSA, DSA)
- Diffie-Hellmann
- Blockchain
- Introduction to post-quantum cryptography
Period: 2021-2025
Location: Université Paris Cité
Level: M2
Volume: 10H CM + 15H TP per year
Description:
- Shannon digital transmission scheme
- Mapping, Scrambling, Interleaving...
- Quadrature Amplitude Modulation (QAM)
- QAM with AWGN
- Notions of Information Theory
- Linear codes over GF(q)
- Bounds on codes
- Shortening/Punctering
- Subfield-Subcodes/Trace-Codes
- Generalized Reed-Solomon Codes (GRS)
- List decoding of GRS
- Polar codes
- Low-Density Parity-Check (LDPC) codes
- Code-Based Crypto (McEliece, Niederreiter...)
- Decoding random linear codes (ISD)
- Attacks on GRS and LDPC
Period: 2021-2025
Location: CY Cergy-Paris Université
Level: L3
Volume: 25H TD per year
Description:
- Event, Probability...
- Dependencies, Conditional probability
- Probability tree
- Discrete Random Variable
- Uniform, Bernoulli, Binomial distributions
- Geometric, Poisson distributions
- Continuous Random Variable
- Uniform, Normal, Exponential distributions
- Pair of Random Variables
Period: 2021-2024
Location: CY Cergy-Paris Université
Level: L2
Volume: 30H TD per year
Description:
- Languages
- Automata
- Synchronization, Determinization, Minimization
- Regular Language
- Context-free Language
- Pushdown automaton
- Turing Machine
Period: 2016-2019
Location: ENSTA Paris Tech
Level: ING3
Volume: 16H TD per year
Description:
- Algebraic structures
- Construction and implementation of Finite Fields
- Applications to Error Correcting Codes: BCH codes, Reed-Solomon codes...
- Applications to Cryptography: Primality tests, Discrete Logarithm problem,
- Linear Feedback Shift Register (LFSR),
- Blum-Blum-Shub generator, Blum-Goldvasser cryptosystem
Period: 2016-2019
Location: Université Paris Diderot
Level: L1
Volume: 30H CM + 30H TD per year
Description:
- Limits, continuity and derivatives of real functions
- Riemann integration
- Linear differential equations
Period: Jan. 2013-Aug. 2013
Location: Collège René Cassin (Paray-Le-Monial, France)
Level: 6e, 5e, 4e, 3e
Volume: 20H per week
Supervision & Students
- PhD Student: Elric Isoardo, co-advised with Alain Couvreur (Inria Saclay) (Jan. 2026 - Now) Hybrid Algebraic-Combinatorial Attacks on Post-Quantum Cryptosystems
- PhD Student: Valérian Hatey, co-advised with Laura Luzzi (ENSEA) (Oct. 2023 - Now) Code and Lattice based Cryptanalysis
- MSc Projects: Valérian Hatey (Apr. 2023 - Aug. 2023) Ternary decoding at large distance
- MSc Projects: Julien Chaput (Apr. 2021 - Aug. 2021) Non-binary LDPC codes
- MSc Projects: Émile Lalo (Apr. 2021 - Aug. 2021) Polar codes in 5G
- Bachelor Projects: Thomas Remy (June 2023 - Aug. 2023) Technological watch on Smart Cards
Scientific Activities
- Principal Investigator and Coordinator of the ANR JCJC DECODE Project
- Program Committee and Reviewing: CRYPTO, EUROCRYPT, ASIACRYPT, PQCrypto, WCC, DCC, Journal of Cryptography, IEEE IT, and IEEE ISIT.
Publications
-
Assessing the Impact of a Variant of the Latest Dual Attack
Link: https://eprint.iacr.org/2022/1750
Abstract: The dual attacks on the Learning With Errors (LWE) problem are currently a subject of controversy. In particular, the results of [Matzov,2022], which claim to significantly lower the security level of Kyber a lattice-based cryptosystem currently being standardized by NIST, are not widely accepted. The analysis behind their attack depends on a series of assumptions that, in certain scenarios, have been shown to contradict established theorems or well-tested heuristics [Ducas,Pulles,2023]. In this paper, we introduce a new dual lattice attack on LWE, drawing from ideas in coding theory. Our approach revisits the dual attack proposed by [Matzov,2022], replacing modulus switching with an efficient decoding algorithm. This decoding is achieved by generalizing polar codes over Z/qZ, and we confirm their strong distortion properties through benchmarks. This modification enables a reduction from small-LWE to plain-LWE, with a notable decrease in the secret dimension. Additionally, we replace the enumeration step in the attack by assuming the secret is zero for the portion being enumerated, iterating this assumption over various choices for the enumeration part.We make an analysis of our attack without using the flawed independence assumptions used in [Matzov,2022] and we fully back up our analysis with experimental evidences.Lastly, we assess the complexity of our attack on Kyber; showing that the security levels for Kyber-512/768/1024 are 3/12/12 bits below the NIST requirements (143/207/272 bits) in the same nearest-neighbor cost model as in [Matzov,2022}.
-
Reduction from Sparse LPN to LPN, Dual Attack 3.0
Link: https://eprint.iacr.org/2023/1852
Abstract: The security of code-based cryptography relies primarily on the hardness of decoding generic linear codes. Until very recently, all the best algorithms for solving the decoding problem were information set decoders (ISD). However, recently a new algorithm called RLPN-decoding which relies on a completely different approach was introduced and it has been shown that RLPN outperforms significantly ISD decoders for a rather large range of rates. This RLPN decoder relies on two ingredients, first reducing decoding to some underlying LPN problem, and then computing efficiently many parity-checks of small weight when restricted to some positions. We revisit RLPN-decoding by noticing that, in this algorithm, decoding is in fact reduced to a sparse-LPN problem, namely with a secret whose Hamming weight is small. Our new approach consists this time in making an additional reduction from sparse-LPN to plain-LPN with a coding approach inspired by coded-BKW. It outperforms significantly the ISD's and RLPN for code rates smaller than 0.42. This algorithm can be viewed as the code-based cryptography cousin of recent dual attacks in lattice-based cryptography. We depart completely from the traditional analysis of this kind of algorithm which uses a certain number of independence assumptions that have been strongly questioned recently in the latter domain. We give instead a formula for the LPN noise relying on duality which allows to analyze the behavior of the algorithm by relying only on the analysis of a certain weight distribution. By using only a minimal assumption whose validity has been verified experimentally we are able to justify the correctness of our algorithm. This key tool, namely the duality formula, can be readily adapted to the lattice setting and is shown to give a simple explanation for some phenomena observed on dual attacks in lattices in [DP23].
-
Projective Space Stern Decoding and Application to SDitH
Link: https://eprint.iacr.org/2023/1865
Abstract: We show that here standard decoding algorithms for generic linear codes over a finite field can speeded up by a factor which is essentially the size of the finite field by reducing it to a low weight codeword problem and working in the relevant projective space. We apply this technique to SDitH and show that the parameters of both the original submission and the updated version fall short of meeting the security requirements asked by the NIST.
-
WAVE: Round 1 submission
Link: https://wave-sign.org/
Abstract: Wave is a post-quantum signature scheme based on hard problems in coding theory.
-
Statistical Decoding 2.0: Reducing Decoding to LPN.
Link: https://eprint.iacr.org/2022/1000
Abstract: The security of code-based cryptography relies primarily on the hardness of generic decoding with linear codes. The best generic decoding algorithms are all improvements of an old algorithm due to Prange: they are known under the name of information set decoders (ISD). A while ago, a generic decoding algorithm which does not belong to this family was proposed: statistical decoding. It is a randomized algorithm that requires the computation of a large set of parity-checks of moderate weight, and uses some kind of majority voting on these equations to recover the error. This algorithm was long forgotten because even the best variants of it performed poorly when compared to the simplest ISD algorithm. We revisit this old algorithm by using parity-check equations in a more general way. Here the parity-checks are used to get LPN samples with a secret which is part of the error and the LPN noise is related to the weight of the parity-checks we produce. The corresponding LPN problem is then solved by standard Fourier techniques. By properly choosing the method of producing these low weight equations and the size of the LPN problem, we are able to outperform in this way significantly information set decodings at code rates smaller than 0.3. It gives for the first time after 60 years, a better decoding algorithm for a significant range which does not belong to the ISD family.
-
Faster Dual Lattice Attacks by Using Coding Theory
Link: https://eprint.iacr.org/archive/2022/1750
Abstract: We present a faster dual lattice attack on the Learning with Errors (LWE) problem, based on ideas from coding theory. Basically, it consists of revisiting the most recent dual attack of [Matzov22] and replacing modulus switching by a decoding algorithm. This replacement achieves a reduction from small LWE to plain LWE with a very significant reduction of the secret dimension. We also replace the enumeration part of this attack by betting that the secret is zero on the part where we want to enumerate it and iterate this bet over other choices of the enumeration part. We estimate the complexity of this attack by making the optimistic, but realistic guess that we can use polar codes for this decoding task. We show that under this assumption the best attacks on Kyber and Saber can be improved by 1 and 6 bits.
-
Near-collisions finding problem for decoding and recognition of error correcting codes
Link: https://hal.science/tel-03370678v4
Abstract: Error correcting codes are tools whose initial function is to correct errors caused by imperfect communication channels. In a non-cooperative context, there is the problem of identifying unknown codes based solely on knowledge of noisy codewords. This problem can be difficult for certain code families, in particular LDPC codes which are very common in modern telecommunication systems. In this thesis, we propose new techniques to more easily recognize these codes. At the end of the 1970s, McEliece had the idea of redirecting the original function of codes to use in ciphers; thus initiating a family of cryptographic solutions which is an alternative to those based on number theory problems. One of the advantages of code-based cryptography is that it seems to withstand the quantum computing paradigm; notably thanks to the robustness of the generic decoding problem. The latter has been thoroughly studied for more than 60 years. The latest improvements all rely on using algorithms for finding pairs of points that are close to each other in a list. This is the so called near-collisions search problem. In this thesis, we improve the generic decoding by asking in particular for a new way to find close pairs. To do this, we use list decoding of Arikan's polar codes to build new fuzzy hashing functions. In this manuscript, we also deal with the search for pairs of far points. Our solution can be used to improve decoding over long distances. This new type of decoding finds very recent applications in certain signature models.
-
Identifying an Unknown Code by Partial Gaussian Elimination
Link: https://link.springer.com/article/10.1007/s10623-018-00593-7
Abstract: We consider in this paper the problem of reconstructing a linear code from a set of noisy codewords. We revisit the algorithms that have been devised for solving this problem and show that by generalizing and mixing two approaches that have been proposed in this setting, we obtain a significantly better algorithm. It basically consists in setting up a matrix whose rows are the noisy codewords, then running a partial Gaussian algorithm on it and detecting a small set of columns outside the echelon part of the matrix whose sum is sparse. We view the last task of the algorithm as an instance of the well known close neighbors search problem and we use an algorithm due to Dubiner to solve it more efficiently than the naive projection method which is generally invoked in this case. We analyze the complexity of our algorithm by focusing on an important practical case, namely when the code is an LDPC code. In doing so, we also obtain a result of independent interest, namely a tight upper-bound on the expected weight distribution of the dual of an LDPC code in a form that allows to derive an asymptotic formula.