CryptoDB
Hilder V. L. Pereira
Publications
Year
Venue
Title
2023
TCHES
BASALISC: Programmable Hardware Accelerator for BGV Fully Homomorphic Encryption
Abstract
Fully Homomorphic Encryption (FHE) allows for secure computation on encrypted data. Unfortunately, huge memory size, computational cost and bandwidth requirements limit its practicality. We present BASALISC, an architecture family of hardware accelerators that aims to substantially accelerate FHE computations in the cloud. BASALISC is the first to implement the BGV scheme with fully-packed bootstrapping – the noise removal capability necessary for arbitrary-depth computation. It supports a customized version of bootstrapping that can be instantiated with hardware multipliers optimized for area and power.BASALISC is a three-abstraction-layer RISC architecture, designed for a 1 GHz ASIC implementation and underway toward 150mm2 die tape-out in a 12nm GF process. BASALISC’s four-layer memory hierarchy includes a two-dimensional conflict-free inner memory layer that enables 32 Tb/s radix-256 NTT computations without pipeline stalls. Its conflict-resolution permutation hardware is generalized and re-used to compute BGV automorphisms without throughput penalty. BASALISC also has a custom multiply-accumulate unit to accelerate BGV key switching.The BASALISC toolchain comprises a custom compiler and a joint performance and correctness simulator. To evaluate BASALISC, we study its physical realizability, emulate and formally verify its core functional units, and we study its performance on a set of benchmarks. Simulation results show a speedup of more than 5,000× over HElib – a popular software FHE library.
2023
ASIACRYPT
Amortized bootstrapping revisited: Simpler, asymptotically-faster, implemented
Abstract
Micciancio and Sorrel (ICALP 2018) proposed a bootstrapping algorithm
that can refresh many messages at once with sublinearly many homomorphic
operations per message.
However, despite the attractive asymptotic cost,
it is unclear if their algorithm could ever be practical,
which reduces the impact of their results.
In this work, we follow their general framework,
but propose an amortized bootstrapping procedure that is
conceptually simpler and asymptotically cheaper.
We reduce the number of homomorphic operations per refreshed message from
$O(3^\rho \cdot n^{1/\rho} \cdot \log n)$ to
$O(\rho \cdot n^{1/\rho})$,
and the noise overhead from
$\tilde{O}(n^{2 + 3 \cdot \rho})$
to $\tilde{O}(n^{1 + \rho})$.
We also make it more general, by handling non-binary messages and applying
programmable bootstrapping.
To obtain a concrete instantiation of our bootstrapping algorithm,
we describe a double-CRT (aka RNS) version of the GSW scheme, including a
new operation, called \emph{shrinking}, used to speed-up homomorphic
operations by reducing the dimension and ciphertext modulus of the
ciphertexts.
We also provide a C++ implementation of our algorithm,
thus showing for the first time the practicability of the amortized
bootstrapping.
Moreover, it is competitive with existing bootstrapping
algorithms, being even around 3.4 times faster than an equivalent
non-amortized version of our bootstrapping.
2019
ASIACRYPT
On Kilian’s Randomization of Multilinear Map Encodings
Abstract
Indistinguishability obfuscation constructions based on matrix branching programs generally proceed in two steps: first apply Kilian’s randomization of the matrix product computation, and then encode the matrices using a multilinear map scheme. In this paper we observe that by applying Kilian’s randomization after encoding, the complexity of the best attacks is significantly increased for CLT13 multilinear maps. This implies that much smaller parameters can be used, which improves the efficiency of the constructions by several orders of magnitude.As an application, we describe the first concrete implementation of multiparty non-interactive Diffie-Hellman key exchange secure against existing attacks. Key exchange was originally the most straightforward application of multilinear maps; however it was quickly broken for the three known families of multilinear maps (GGH13, CLT13 and GGH15). Here we describe the first implementation of key exchange that is resistant against known attacks, based on CLT13 multilinear maps. For
$$N=4$$
users and a medium level of security, our implementation requires 18 GB of public parameters, and a few minutes for the derivation of a shared key.
Coauthors
- David W. Archer (1)
- Jean-Sébastien Coron (1)
- Georgios Dimou (1)
- Robin Geelen (1)
- Antonio Guimarães (1)
- Brian Huffman (1)
- Tynan McAuley (1)
- Ben Selfridge (1)
- Michiel Van Beirendonck (1)
- Barry van Leeuwen (1)
- Ingrid Verbauwhede (1)
- Frederik Vercauteren (1)
- Daniel Wagner (1)