Efficient Mod Approximation and Its Applications to CKKS Ciphertexts
About
The mod function plays a critical role in numerous data encoding and cryptographic primitives. However, the widely used CKKS homomorphic encryption (HE) scheme supports only arithmetic operations, making it difficult to perform mod computations on encrypted data. Approximating the mod function with polynomials has therefore become an important yet challenging problem. The discontinuous and periodic characteristics of the mod function make it particularly difficult to approximate accurately under HE. Existing homomorphic mod constructions provide accurate results only within limited subranges of the input range, leaving the problem of achieving accurate approximation across the full input range unresolved. In this work, we propose a novel method based on polynomial interpolation and Chebyshev series to accurately approximate the mod function. Building upon this, we design two efficient data packing schemes, BitStack and CRTStack, tailored for small-integer inputs in CKKS. These schemes significantly improve the utilization of the CKKS plaintext space and enable efficient ciphertext uploads. Furthermore, we apply the proposed HE mod function to implement a homomorphic rounding operation and a general transformation from additive secret sharing to CKKS ciphertexts, achieving accurate ciphertext rounding and complete secret-share-to-CKKS conversion. Experimental results demonstrate that our approach achieves high approximation accuracy (up to 1e-8). Overall, our work provides a practical and general solution for performing mod operations under CKKS, extending its applicability to a broader range of privacy-preserving computations.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Function Approximation | ModP (x, 4) over [0, 29] | MAE2.76e-8 | 12 | |
| Polynomial Approximation | ModP(x, 5) over [0, 29] | Avg Absolute Error2.66e-8 | 12 | |
| Ciphertext Packing Efficiency Evaluation | vectors in Z4 96 length 2000 (random) | Encryption Time (s)0.24 | 4 | |
| Transciphering | Random vectors (length 24 x 2^15 over Z4) (benchmarking) | Latency (s)0.81 | 3 |