CHIMERA: Combining Ring-LWE-based Fully Homomorphic Encryption Schemes
Mariya Georgieva 1,2
1 2
Joint work with: C. Boura, N. Gama, D. Jetchev
1 / 30
CHIMERA: Combining Ring-LWE-based Fully Homomorphic Encryption - - PowerPoint PPT Presentation
CHIMERA: Combining Ring-LWE-based Fully Homomorphic Encryption Schemes Mariya Georgieva 1 , 2 1 2 Joint work with: C. Boura, N. Gama, D. Jetchev 1 / 30 Homomorphic encryption Given ( c 1 , c 2 , . . . , c k ) = ( E ( m 1 ) , E ( m 2 ) , . . .
1 2
1 / 30
2 / 30
3 / 30
Geometry of the ciphertext
1
2
4 / 30
Geometry of the ciphertext
5 / 30
Geometry of the ciphertext
2 = 0 is defined!
2 is not defined!
1 2 1 4 3 4
6 / 30
Geometry of the ciphertext
2 = 0 is defined!
2 is not defined!
1 2 1 4 3 4
6 / 30
Geometry of the ciphertext
2 = 0 is defined!
2 is not defined!
1 2 1 4 3 4
6 / 30
Geometry of the ciphertext
2 = 0 is defined!
2 is not defined!
1 2 1 4 3 4
6 / 30
Geometry of the ciphertext
7 / 30
Geometry of the ciphertext
1
2
7 / 30
Geometry of the ciphertext
1
2
7 / 30
Geometry of the ciphertext
1
2
7 / 30
Geometry of the ciphertext
1
2
7 / 30
Geometry of the ciphertext
1
2
7 / 30
Geometry of the ciphertext
R
8 / 30
Geometry of the ciphertext
R
8 / 30
Geometry of the ciphertext
R
2 )
4 )
8 )
2 )
4 )
8 )
1
2
9 / 30
Geometry of the ciphertext
R
2 )
4 )
8 )
2 )
4 )
8 )
1
2
9 / 30
Geometry of the ciphertext
R
2 )
4 )
8 )
2 )
4 )
8 )
1
2
9 / 30
Geometry of the ciphertext
R
TLWE
+ TRLWE
+ TRGSW
+, ⊠
External product TRLWE ⊡ (Gate) Bootstrapping Key Switching* * Change the key and evaluate morphisms (private or public) Extract Circuit Bootstrapping Key switching
10 / 30
Geometry of the ciphertext
R
TLWE
+ TRLWE
+ TRGSW
+, ⊠
External product TRLWE ⊡ (Gate) Bootstrapping Key Switching* * Change the key and evaluate morphisms (private or public) Extract Circuit Bootstrapping Key switching
10 / 30
Geometry of the ciphertext
R
TLWE
+ TRLWE
+ TRGSW
+, ⊠
External product TRLWE ⊡ (Gate) Bootstrapping Key Switching* * Change the key and evaluate morphisms (private or public) Extract Circuit Bootstrapping Key switching
10 / 30
Geometry of the ciphertext
R
TLWE
+ TRLWE
+ TRGSW
+, ⊠
External product TRLWE ⊡ (Gate) Bootstrapping Key Switching* * Change the key and evaluate morphisms (private or public) Extract Circuit Bootstrapping Key switching
10 / 30
Geometry of the ciphertext
R
TLWE
+ TRLWE
+ TRGSW
+, ⊠
External product TRLWE ⊡ (Gate) Bootstrapping Key Switching* * Change the key and evaluate morphisms (private or public) Extract Circuit Bootstrapping Key switching
10 / 30
Geometry of the ciphertext
R
TLWE
+ TRLWE
+ TRGSW
+, ⊠
External product TRLWE ⊡ (Gate) Bootstrapping Key Switching* * Change the key and evaluate morphisms (private or public) Extract Circuit Bootstrapping Key switching
10 / 30
Geometry of the ciphertext
R
TLWE
+ TRLWE
+ TRGSW
+, ⊠
External product TRLWE ⊡ (Gate) Bootstrapping Key Switching* * Change the key and evaluate morphisms (private or public) Extract Circuit Bootstrapping Key switching
10 / 30
The Chimera framework
1
2
11 / 30
The Chimera framework
12 / 30
The Chimera framework
13 / 30
The Chimera framework
14 / 30
The Chimera framework
15 / 30
The Chimera framework
1 1 1 1 1 1
1
16 / 30
The Chimera framework
17 / 30
The Chimera framework
5 8 3 8
0=(0,1)/(1,0)
1 4 = (0, 0) 3 4 = (1, 1)
18 / 30
The Chimera framework
19 / 30
The Chimera framework
p .
2 p 1 p
20 / 30
The Chimera framework
3 and µ2 = 2 3
3)(I2 + 2 3 ) = I + 2 3 = + 2 3
1 p ≫ noise
21 / 30
The Chimera framework
C0
C2
22 / 30
The Chimera framework
23 / 30
The Chimera framework
2 ≤ |m| < 1
24 / 30
The Chimera framework
2 ≤ |m| < 1
24 / 30
The Chimera framework
2L 1 2L
1
y = lift(x) y =
1 2πsin(2πx)
Domain [− 1
2L , 1 2L ] mod 1
2 1 2
2L , 1 2L ]
25 / 30
The Chimera framework
2L 1 2L 1 q
q where q ≈ 2L+ρ.
q RZ mod 1 (avoids lifting)
2L , 1 2L ] → [− 1 2L−ρ , 1 2L−ρ ]...
26 / 30
The Chimera framework
27 / 30
The Chimera framework
N−1
N−1
28 / 30
The Chimera framework
T TR
P = X − p
Ball∞( 1
2ℓ )
C
N 2
TLWE TRLWE B/FV B/FV-Slot B/FV-BigNum
TFHE Gate bootstrap B/FV bootstrap HEAAN bootstrap
TLWE TLWE HEAAN-Slot HEAAN
P = p P −1R/R
29 / 30
The Chimera framework
30 / 30