CryptoDB
Jean-Philippe Bossuat
Publications
Year
Venue
Title
2025
CIC
Security Guidelines for Implementing Homomorphic Encryption
Abstract
<p> Fully Homomorphic Encryption (FHE) is a cryptographic primitive that allows performing arbitrary operations on encrypted data. Since the conception of the idea in [RAD78], it has been considered a holy grail of cryptography. After the first construction in 2009 [Gen09], it has evolved to become a practical primitive with strong security guarantees. Most modern constructions are based on well-known lattice problems such as Learning With Errors (LWE). Besides its academic appeal, in recent years FHE has also attracted significant attention from industry, thanks to its applicability to a considerable number of real-world use-cases. An upcoming standardization effort by ISO/IEC aims to support the wider adoption of these techniques. However, one of the main challenges that standards bodies, developers, and end users usually encounter is establishing parameters. This is particularly hard in the case of FHE because the parameters are not only related to the security level of the system, but also to the type of operations that the system is able to handle. In this paper we provide examples of parameter sets for LWE targeting particular security levels, that can be used in the context of FHE constructions. We also give examples of complete FHE parameter sets, including the parameters relevant for correctness and performance, alongside those relevant for security. As an additional contribution, we survey the parameter selection support offered in open-source FHE libraries. </p>
2021
EUROCRYPT
Efficient Bootstrapping for Approximate Homomorphic Encryption with Non-Sparse Keys
📺
Abstract
We present a bootstrapping procedure for the full-RNS variant of the approximate homomorphic-encryption scheme of Cheon et al., CKKS (Asiacrypt 17, SAC 18).
Compared to the previously proposed procedures (Eurocrypt 18 & 19, CT-RSA 20), our bootstrapping procedure is more precise, more efficient (in terms of CPU cost and number of consumed levels), and is more reliable and 128-bit-secure.
Unlike the previous approaches, it does not require the use of sparse secret-keys.
Therefore, to the best of our knowledge, this is the first procedure that enables a highly efficient and precise bootstrapping with a low probability of failure for parameters that are 128-bit-secure under the most recent attacks on sparse R-LWE secrets.
We achieve this efficiency and precision by introducing three novel contributions:
(i) We propose a generic algorithm for homomorphic polynomial-evaluation that takes into account the approximate rescaling and is optimal in level consumption.
(ii) We optimize the key-switch procedure and propose a new technique for linear transformations (double hoisting).
(iii) We propose a systematic approach to parameterize the bootstrapping, including a precise way to assess its failure probability.
We implemented our improvements and bootstrapping procedure in the open-source Lattigo library.
For example, bootstrapping a plaintext in C^32768 takes 18 seconds, has an output coefficient modulus of 505 bits, a mean precision of 19.1 bits, and a failure probability of 2^-15.58.
Hence, we achieve 14.1x improvement in bootstrapped throughput (plaintext-bit per second), with respect to the previous best results, and we have a failure probability 468x smaller and ensure 128-bit security.
2021
CRYPTO
SSE and SSD: Page-Efficient Searchable Symmetric Encryption
📺
Abstract
Searchable Symmetric Encryption (SSE) enables a client to outsource a database to an untrusted server, while retaining the ability to securely search the data. The performance bottleneck of classic SSE schemes typically does not come from their fast, symmetric cryptographic operations, but rather from the cost of memory accesses. To address this issue, many works in the literature have considered the notion of locality, a simple design criterion that helps capture the cost of memory accesses in traditional storage media, such as Hard Disk Drives. A common thread among many SSE schemes aiming to improve locality is that they are built on top of new memory allocation schemes, which form the technical core of the constructions.
The starting observation of this work is that for newer storage media such as Solid State Drives (SSDs), which have become increasingly common, locality is not a good predictor of practical performance. Instead, SSD performance mainly depends on page efficiency, that is, reading as few pages as possible. We define this notion, and identify a simple allocation problem, Data-Independent Packing, that captures the main technical challenge required to build page-efficient SSE. As our main result, we build a page-efficient and storage-efficient data-independent packing scheme, and deduce an SSE scheme with the same properties. The technical core of the result is a new generalization of cuckoo hashing to items of variable size. Practical experiments show that this approach achieves excellent performance.
Coauthors
- Jean-Philippe Bossuat (3)
- Raphael Bost (1)
- Rosario Cammarota (1)
- Ilaria Chillotti (1)
- Benjamin R. Curtis (1)
- Wei Dai (1)
- Pierre-Alain Fouque (1)
- Huijing Gong (1)
- Erin Hales (1)
- Jean-Pierre Hubaux (1)
- Duhyeong Kim (1)
- Bryan Kumara (1)
- Changmin Lee (1)
- Xianhui Lu (1)
- Carsten Maple (1)
- Brice Minaud (1)
- Christian Mouchet (1)
- Alberto Pedrouzo-Ulloa (1)
- Rachel Player (1)
- Yuriy Polyakov (1)
- Michael Reichle (1)
- Luis Antonio Ruiz Lopez (1)
- Yongsoo Song (1)
- Juan Troncoso-Pastoriza (1)
- Donggeon Yhee (1)