Question
Does TenSEAL support vector/ciphertext rotation? If so, how exactly can I implement it in Python?
Further Information
I want to perform cyclic shifts/rotations on ciphertext vectors encoded with CKKS (e.g., rotate [x0, x1, x2, …] left/right by a given number of positions) for convolution-like use cases. I have the following questions:
- Does TenSEAL natively support rotation?
- What prerequisites are required (e.g., generating and sharing rotation/Galois keys)?
- What is the exact Python API usage (function names, parameters, and the sign convention for step size)?
- What are the potential limitations (scheme/slots/performance, etc.)?
- Can you provide a minimal reproducible code example?
System Information
- OS: Ubuntu
- OS Version: 22.04
- Language Version: Python 3.8.5
- Package Manager Version: Conda 25.3.1
- Library Version: TenSEAL 0.3.15
Question
Does TenSEAL support vector/ciphertext rotation? If so, how exactly can I implement it in Python?
Further Information
I want to perform cyclic shifts/rotations on ciphertext vectors encoded with CKKS (e.g., rotate
[x0, x1, x2, …]left/right by a given number of positions) for convolution-like use cases. I have the following questions:System Information