CryptoDB
Antonio Guimarães
Publications
Year
Venue
Title
2024
ASIACRYPT
HELIOPOLIS: Verifiable Computation over Homomorphically Encrypted Data from Interactive Oracle Proofs is Practical
Abstract
Homomorphic encryption (HE) enables computation on encrypted data, which in turn facilitates the outsourcing of computation on private data. However, HE offers no guarantee that the returned result was honestly computed by the cloud. In order to have such guarantee, it is necessary to add verifiable computation (VC) into the system.
The most efficient recent works in VC over HE focus on verifying operations on the ciphertext space of the HE scheme, which usually lacks the algebraic structure that would make it compatible with existing VC systems. For example, multiplication of ciphertexts in the current most efficient HE schemes requires non-algebraic operations such as real division and rounding. Therefore, existing works for VC over HE have to either give up on those efficient HE schemes, or incur a large overhead (an amount of constraints proportional to the ciphertext ring's size) in order to emulate these non-algebraic operations.
In this work, we move away from that paradigm by placing the verification checks in the \emph{plaintext space} of HE, all while the prover remains computing on ciphertexts. We achieve this by introducing a general transformation for Interactive Oracle Proofs (IOPs) to work over HE, whose result we denote as HE-IOPs. We apply this same transformation to the FRI [Ben-Sasson et al., ICALP 2018] IOP of proximity and we show how to compile HE-Reed Solomon-encoded IOPs and HE-$\delta$-correlated-IOPs with HE-FRI into HE-IOPs. Furthermore, our construction is compatible with a prover that provides input in zero-knowledge, and only relies on building blocks that are plausibly quantum-safe.
Aligning the security parameters of HE and FRI is a difficult task for which we introduce several optimizations. We demonstrate their efficiency with a proof-of-concept implementation and show that we can run FRI's commit phase for 4096 encrypted Reed Solomon codewords with degree bound $2^{11}$ in just 5.4 seconds (using 32 threads) on a \texttt{c6i.metal} instance using less than 4GB of memory. Verification takes just 12.3 milliseconds (single-threaded) for the same parameter set and can be reduced to just 5.6ms with parameters optimized for the verifier.
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.
2021
TCHES
Revisiting the functional bootstrap in TFHE
📺
Abstract
The FHEW cryptosystem introduced the idea that an arbitrary function can be evaluated within the bootstrap procedure as a table lookup. The faster bootstraps of TFHE strengthened this approach, which was later named Functional Bootstrap (Boura et al., CSCML’19). From then on, little effort has been made towards defining efficient ways of using it to implement functions with high precision. In this paper, we introduce two methods to combine multiple functional bootstraps to accelerate the evaluation of reasonably large look-up tables and highly precise functions. We thoroughly analyze and experimentally validate the error propagation in both methods, as well as in the functional bootstrap itself. We leverage the multi-value bootstrap of Carpov et al. (CT-RSA’19) to accelerate (single) lookup table evaluation, and we improve it by lowering the complexity of its error variance growth from quadratic to linear in the value of the output base. Compared to previous literature using TFHE’s functional bootstrap, our methods are up to 2.49 times faster than the lookup table evaluation of Carpov et al. (CT-RSA’19) and up to 3.19 times faster than the 32-bit integer comparison of Bourse et al. (CT-RSA’20). Compared to works using logic gates, we achieved speedups of up to 6.98, 8.74, and 3.55 times over 8-bit implementations of the functions ReLU, Addition, and Maximum, respectively.
Coauthors
- Diego F. Aranha (2)
- Edson Borin (1)
- Anamaria Costache (1)
- Antonio Guimarães (3)
- Hilder V. L. Pereira (1)
- Eduardo Soria-Vazquez (1)
- Barry van Leeuwen (1)