Fundamentals of Fully Homomorphic Encryption
Amina Bassit
Computer Vision over Homomorphically Encrypted Data
CVPR 2025 Tutorial
June 12, 2025
Decryption causes costly damages that are hard to recover from.
Securing data in use is now a business must.
FHE enables AI models to process encrypted data without decryption.
Breaking FHE $\Leftrightarrow$ Solving LWE problem: recovering private key from public key.
System | Problem | Complexity | Solution |
$b=As$ in $\mathbb{R}$ | System of Linear Equations | P | Gaussian Elimination |
$b=As+e$ in $\mathbb{R}$ | Least Squares Problem | P | Least Squares Estimator |
$b=As+e \mod q$ in $\mathbb{Z}_q$ | Learning with Errors Problem | NP-hard | No known efficient algorithm (not even quantum) |
$b(X)=A(X)s(X)+e(X) \mod q$ in $\mathbb{Z}_q[X]/(X^N+1)$ | Ring Learning with Errors Problem | NP-hard | No known efficient algorithm (not even quantum) |
Encoding/Decoding
Key generation
Encryption/Decryption
Evaluation
Ex: CKKS encoding operates in the cyclotomic ring $\mathbb{Z}_q[X]/(X^N+1)$
Security | $N$ | $log_2(q)$ | Pt Slots ($\frac{N}{2}$) | Mult Depth |
128 bits
128 bits
|
8192 | 218 bits |
4096
4096
4096
|
5
5
5
|
16384 | 438 bits |
8192
8192
|
7
7
|
|
192 bits
192 bits
|
16384 | 307 bits |
8192
8192
8192
|
5
5
5
|
32768 | 620 bits | 16384 | 8 | |
256 bits
256 bits
|
16384 | 239 bits |
8192
8192
|
3
3
|
32768 | 440 bits |
16384
16384
16384
|
5
5
5
|
Higher security allows more packing at fixed depth, but reduces depth at fixed packing.
Ex: CKKS ciphertext is composed of two polynomials.
Choosing the right packing scheme significantly reduces latency.
Security | Plaintext | SIMD | Bootstrapping |
Ring LWE | Integer | CRT packing | Reduce noise after n ops ๐ |
Security | Plaintext | SIMD | Bootstrapping |
Ring LWE | Integer | CRT packing | Reduce noise after n ops ๐ |
Security | Plaintext | SIMD | Bootstrapping |
LWE & Ring LWE | Binary | โ | Reset noise after op โก |
Security | Plaintext | SIMD | Bootstrapping |
Torus LWE | Binary | โ | Reset noise per op โกโก |
Security | Plaintext | SIMD | Bootstrapping |
Ring LWE | Real & Complex | Polynomial rings | Increase modulus level after n ops ๐ |
Vector operations
Squared Euclidean distance
Polynomial evaluation
Matrix operations