Paper 2026/1340
Generalized Batched Decomposition Key-Switching for CKKS
Abstract
A basic property of lattice-based homomorphic encryption schemes is that ciphertexts carry an inherent noise that accumulates as computation advances. The key-switching procedure of these schemes allows the homomorphic re-encryption of a ciphertext under a new secret key, but it is a major source of noise growth. Several strategies have been proposed to reduce the amount of noise introduced by key-switching in the CKKS scheme. In this work, we generalize the RNS-based decomposition technique to an arbitrary number of input polynomials and secret keys. Performing multiple relinearizations and rotations in batch enables one to hoist the modulus lowering and decomposition steps of key-switching, respectively, which restricts noise growth and avoids redundant computation. We prove the security and correctness of all the proposed algorithms, and derive explicit noise bounds for them. Practical examples illustrate the impact of these optimizations on applications like private deep neural network inference. In addition, we provide—to the best of our knowledge—the first noise analysis of the double-hoisted BSGS matrix-vector multiplication algorithm of Bossuat et al. 2021, which is a building block of state-of-the-art CKKS bootstrapping circuits. Our analysis additionally reveals an optimization concerning the automorphism applications during its giant steps.
Metadata
- Available format(s)
-
PDF
- Category
- Public-key cryptography
- Publication info
- Preprint.
- Keywords
- Fully Homomorphic EncryptionKey-SwitchingGadget Decomposition
- Contact author(s)
-
antonio pena @ bsc es
zaira pindado @ bsc es
hugo sanzgonzalez @ bsc es - History
- 2026-08-03: last of 2 revisions
- 2026-06-29: received
- See all versions
- Short URL
- https://ia.cr/2026/1340
- License
-
CC BY-NC-SA
BibTeX
@misc{cryptoeprint:2026/1340,
author = {Antonio J. Peña and Zaira Pindado and Hugo Sanz-González},
title = {Generalized Batched Decomposition Key-Switching for {CKKS}},
howpublished = {Cryptology {ePrint} Archive, Paper 2026/1340},
year = {2026},
url = {https://eprint.iacr.org/2026/1340}
}