Homomorphic Encryption for Biometric Template Protection
EAB Workshop on Biometric Template Protection
Vishnu Naresh Boddeti, Michigan State University
14th October, 2026
Privacy of user data is not guaranteed.
FHE enables AI models to process encrypted data without decryption.
Run programs on encrypted data without ever decrypting it.FHE can—in theory—handle universal computation.
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
Choosing the right packing scheme significantly reduces latency.
| $\log_2(d)-1$ | $1$ | $\log_2(d)$ |
MFIP lookup table applies this idea to reduce latency in face matching.
| $\log_2(d)-1$ | $0$ | $\log_2(d)$ |
Removing multiplications decreases latency by half.
| $\log_2(d)-1$ | $1$ | $\log_2(d)$ |
| $\log_2(d)-1$ | $0$ | $\log_2(d)$ |
| $d \cdot \left\lceil \frac{d \cdot m}{c} \right\rceil$ | $\left\lceil \frac{d \cdot m}{c} \right\rceil$ | $(d-1) \cdot \left\lceil \frac{d \cdot m}{c} \right\rceil$ |
| $(d-1) \cdot \left\lceil \frac{m}{c} \right\rceil$ | $d \cdot \left\lceil \frac{m}{c} \right\rceil$ | $0$ |
| $(d-1) \cdot \left\lceil \frac{m}{c} \right\rceil$ | $0$ | $0$ |
| $(d-1) \cdot \left\lceil \frac{m}{c} \right\rceil$ | $d \cdot \left\lceil \frac{m}{c} \right\rceil$ | $0$ |
| $(d-1) \cdot \left\lceil \frac{m}{c} \right\rceil$ | $0$ | $0$ |
Their complexity still depends on $d$.
Lookup table-based approach is practical (1:1M in $1.28s$)
FHE-based search takes $5min$ for a 1 Billion vector gallery with up to 512-dim
| Solutions | Application | $K$ | $\#M_{HE}$ | $\#R_{HE}$ | $\#A_{HE}$ | Storage | Protected Reference | Protected Probe | Runtime (1:1Million) |
|---|---|---|---|---|---|---|---|---|---|
| SecureFace (linear) | Biometric matching | $m$ | 1 | \(\log_2 \left( \frac{\text{RingDim}}{2} \right)\) | \(\log_2 \left( \frac{\text{RingDim}}{2} \right)\) | \(d \cdot m\) |
Encrypted
|
Encrypted
|
8.67h
|
| MFIPv2 (linear) | Biometric matching | \(m\) | 0 | \(\log_2 \left( \frac{\text{RingDim}}{2} \right)\) | \(\log_2 \left( \frac{\text{RingDim}}{2} \right)\) | \(\left( \sum_{i=1}^{d} N_i \right) \cdot m\) |
Permuted & Encrypted
|
Permuted
|
4.7h
|
| BOK'+22 | Biometric search | \(\left\lceil \frac{d \cdot m}{c} \right\rceil\) | 1 | \(d - 1\) | \(d\) | \(\left\lceil \frac{d \cdot m}{c} \right\rceil\) |
Encrypted
|
Encrypted
|
12.86h
|
| HERS | Biometric search and RAG | \(\left\lceil \frac{m}{c} \right\rceil\) | \(d\) | 0 | \(d - 1\) | \(d \cdot \left\lceil \frac{m}{c} \right\rceil\) |
Encrypted
|
Encrypted
|
38.37s
|
| BHV+'25 | Biometric search and CLIP | \(\left\lceil \frac{m}{c} \right\rceil\) | 0 | 0 | \(d - 1\) | \(\left( \sum_{i=1}^{d} N_i \right) \cdot \left\lceil \frac{m}{c} \right\rceil\) |
Permuted & Encrypted
|
Permuted
|
1.28s
|
Assumption: Secret Key is compromised.
End-to-end encrypted face recognition
Accuracy
89.42%
Average verification accuracy across five datasets
Preserved across all CPU and GPU versions
LFW · AgeDB · CALFW
CPLFW · CFP-FP
Latency per match pair
Original CPU
1,364s
22.7 minutes
Original paper
Baseline
Updated CPU
36s
Current
implementation
38× faster
Updated GPU
4s
Current
implementation
341× faster
Speedups relative to the original CPU result.
Thank you — Questions?