Jules Dumezy

PhD Student - Core Developer of poulpy

I am a second-year PhD student at the Université Paris Saclay/CEA-List in mathematics and computer science. My research focuses on fully homomorphic encryption - designing efficient algorithms for computation over encrypted data and exploring new FHE computation paradigms. I enjoy the mix of applied mathematics, algorithm design and performance engineering this field demands.

Interests

  • Cryptography
  • Fully Homomorphic Encryption
  • CKKS
  • High-Performance Computing
  • Numerical Methods
  • Applied Mathematics
  • Probability

Education

  • PhD Mathematics and Computer Science

    Université Paris Saclay - CEA-List

  • M.Sc Engineering

    Ecole Centrale de Lille

  • Classes préparatoires

    Lycée Saint-Louis - Paris VI

Featured Publications

View all →

IACR Eprint · Oct 2026

Fully Homomorphic Encryption for Small Batches of Complex Numbers

Jules Dumezy

Abstract

We propose a new approximate homomorphic encryption scheme to process small batches of complex numbers. Leveled operations are based on a new shaped rounding, whose error is a multiple of a fixed public ring element gg, small on the data slots and larger on the others. The unused slots form a guard band that is computed on but never decoded, and the polynomial scaling factor g−1Δg^{-1}\Delta generalizes the CKKS scaling factor, with g=1g=1 recovering CKKS. Guard-domain bounds determine the scaling factor needed for stability, while a norm bound limits the precision gain for a given guard amplification. A replicated layout uses a unit from a small cyclotomic subring to preserve shaping under admissible rotations and traces. We give a native bootstrapping algorithm whose forward transform reads only data slots, and conversions to and from CKKS with shared keys. Security reduces to Ring-LWE with the same parameters as CKKS. In poulpy, at ring degree 2152^{15} and parameters targeting 128-bit security, bootstrapping a ciphertext holding 16 or 64 values restores 21 levels and retains about 22.8 bits of minimum precision after 21 sequential products by fresh operands, while sparse CKKS supports only four levels at that degree and comparable precision. For these batch sizes, bootstrapping to restore 16 levels is about 3.6 times faster on one thread than sparse CKKS, which requires ring degree 2162^{16}.

ASIACRYPT'26 · Jun 2026

Character Block Encodings for Discrete CKKS: Single-Level LUTs and Low-Depth Arithmetic

Jules Dumezy, Elias Suvanto

Abstract

Functional bootstrapping has made discrete computation practical in the Cheon-Kim-Kim-Song (CKKS) scheme, but it fuses four distinct tasks - lookup table (LUT) evaluation, modular reduction, noise cleaning, and ciphertext refreshing - into a single rigid pipeline. As a consequence, a generic LUT over an alphabet of size tt costs multiplicative depth proportional to log⁡2t\log_2 t and consumes a large share of the modulus budget during a fixed bootstrapping procedure, invoked each time a LUT evaluation or modular reduction is needed. We show that this pipeline can be unbundled by changing the representation, rather than optimizing the bootstrapping, through block encodings. A finite-alphabet value is carried across several CKKS slots whose coordinates form a basis of functions on the alphabet, typically the characters of a finite abelian group. In such a basis, every LUT is an affine plaintext map evaluated in a single multiplicative level, with depth independent of tt. Modular reduction comes for free: a block encoding cannot represent anything but a residue, so arithmetic modulo tt is native. Because the encoded values lie on the unit circle, noise growth is independent of the alphabet size tt. In the worst case, it matches the noise growth of standard discrete CKKS on the smallest alphabet Z2\mathbb Z_2, and in more typical workloads it is linear in the number of operations, exponentially better than discrete CKKS at every t>2t > 2. Noise cleaning becomes a constant-depth procedure of at most four levels, because the alphabet-dependent part is an LUT and only a fixed-degree-3 smoothstep is nonlinear. Finally, since LUTs are no longer part of the bootstrapping, refreshing reverts to its classical role as a maintenance operation invoked only to regain multiplicative depth. Any CKKS bootstrapping can be used, rather than a constrained and expensive pipeline. We instantiate the framework with several block encodings that make modular addition, modular multiplication, xor or min/max possible with a single CKKS multiplication. We use them to build CRT arithmetic over large composite moduli, and finite-state prefix scans for radix addition and subtraction in depth 4+⌈log⁡2d⌉4 + \lceil\log_2 d\rceil and for equality and comparison in depth 3+⌈log⁡2d⌉3 + \lceil\log_2 d\rceil for dd radix digits. For example, a 256-bit CRT modular addition or multiplication consumes a single multiplicative level and has a latency of 4.7 ms on a single thread.

CCS'26 · Jun 2026

HEGIDE: A MIMD Oblivious Processor for Private Function Evaluation over CKKS

Jules Dumezy, Nicolas Ye, Pierre-Emmanuel Clet, Olive Chakraborty, Aymen Boudguiga

Abstract

While FHE enables computation on encrypted data, protecting the program itself remains a theoretical and practical challenge, often forcing practitioners to choose between exposing proprietary logic or suffering impractical performance penalties. This paper introduces HEGIDE, an oblivious processor based on the (discrete) Cheon-Kim-Kim-Song (CKKS) scheme that bridges the gap between theoretical Private Function Evaluation (PFE) and its practical realization. Central to our contribution is OSReM (Oblivious Shift Register Memory), a novel memory architecture that circumvents the linear complexity of standard FHE-RAM writes. By treating memory as a shift register, OSReM enables low-latency, constant-time writes without the need for expensive full-memory bootstrapping. HEGIDE leverages a MIMD (Multiple Instruction, Multiple Data) design, utilizing CKKS packing to evaluate distinct program threads in parallel, thus maximizing throughput. While the processor architecture natively supports arbitrary word sizes and instructions, we provide a compiler that manages memory scheduling to abstract the complexity of the shift-register design. We provide a proof-of-concept full implementation of HEGIDE using the OpenFHE library. Experimental results demonstrate the efficiency of our approach, achieving an amortized cycle time of just 7 ms for a 16-bit processor - two orders of magnitude faster in throughput than comparable approaches - offering a viable path for the secure execution of proprietary algorithms on encrypted data.

Recent Talks

View all →

PEPR Secure Compute · Jun 2026 · ENS Ulm, Paris, France

Evaluating Larger Lookup Tables using CKKS and Applications

Presenting the work Evaluating Larger Lookup Tables using CKKS and Applications.

FHE.org Meetup · Mar 2026

Evaluating Larger Lookup Tables using CKKS

Presenting the work Evaluating Larger Lookup Tables using CKKS.

FHE.org'26 · Mar 2026 · Taipei Marriott Hotel, Taipei, Taiwan

Evaluating Larger Lookup Tables using CKKS (Poster)

Presenting the work Evaluating Larger Lookup Tables using CKKS.