Skip to content

Commit c993658

Browse files
committed
BV11
1 parent 97d651a commit c993658

File tree

2 files changed

+60
-4
lines changed

2 files changed

+60
-4
lines changed

FHE/BV11.md

Lines changed: 60 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,67 @@
44

55
LWE problem(Learning With Error)
66

7-
## Scheme Description
7+
## Scheme Brief Description
88

9-
plaintext: $m \in \{0, 1\}$
9+
Plaintext: $ m \in \{0, 1\}$
1010

11-
## Re-linearization technique
11+
Secret key: $\textbf{s} \in \mathbb{Z}_q^n$
1212

13-
Aim: Reduce the size of the ciphertext back down to n+1
13+
Random vector: $\textbf{a} \in \mathbb{Z}_q^n$
14+
15+
Ciphertext: $c =(\textbf{a},b) \in \mathbb{Z}_q^n \times \mathbb{Z}_q$
16+
17+
Encryption function: $b=\langle\textbf{a},\textbf{s}\rangle+2e+m \in \mathbb{Z}_q$
18+
19+
Decryption fuction: $f_{\textbf{a},b}(\textbf{x})=b-\langle{\textbf{a},\textbf{x}}\rangle (mod\ q)=b-\sum_{i=1}^n{\textbf{a}[i]\cdot\textbf{x}[i]} \in \mathbb{Z}_q$
20+
21+
## Homomorphic addition
22+
23+
$$
24+
f_{\textbf{a}+\textbf{a}^{'},b+b^{'}}(\textbf{x})=b+b^{'}-\langle{\textbf{a}+\textbf{a}^{'},\textbf{x}}\rangle (mod\ q)=f_{\textbf{a},b}(\textbf{x})+f_{\textbf{a}^{'},b^{'}}(\textbf{x})
25+
$$
26+
27+
The homomorphic addition can be computed directly.
28+
29+
## Homomorphic multiplication
30+
31+
$$
32+
f_{\textbf{a},b}(\textbf{x})\cdot f_{\textbf{a}^{'},b^{'}}(\textbf{x}) = \left(b-\sum{\textbf{a}[i]\textbf{x}[i]}\right)\cdot \left(b^{'}-\sum{\textbf{a}^{'}[i]\textbf{x}[i]}\right)\\ = h_0+\sum{h_i\cdot \textbf{x}[i]}+\sum{h_{i,j}\cdot \textbf{x}[i]\textbf{x}[j]}
33+
$$
34+
35+
The decryption algorithm has to know all the coefficients of this quadratic polynomial, which means that the size of the ciphertext just went up from $n+1$ elements to (roughly) $n^2/2$
36+
37+
### Re-linearization technique
38+
39+
Aim: Reduce the size of the ciphertext back down to $n+1$
40+
41+
Idea: Imagine that we publish “encryptions” of all the linear and quadratic terms in the secret key $s$, namely all the numbers $s[i]$ as well as $s[i]s[j]$, under a new secret key $t$.
42+
43+
New ciphertexts:
44+
45+
$b_{i}=\langle\textbf{a}_{i},\textbf{t}\rangle + 2e_{i} + s[i] \approx \langle\textbf{a}_{i},\textbf{t}\rangle + s[i] \in \mathbb{Z}_q$
46+
47+
$b_{i,j}=\langle\textbf{a}_{i,j},\textbf{t}\rangle + 2e_{i,j} + s[i]s[j] \approx \langle\textbf{a}_{i,j},\textbf{t}\rangle + s[i]s[j] \in \mathbb{Z}_q$
48+
49+
Now, the sum $h_0+\sum{h_i\cdot \textbf{x}[i]}+\sum{h_{i,j}\cdot \textbf{x}[i]\textbf{x}[j]}$ can be written (approximately) as
50+
51+
$h_0+\sum_i{h_i\cdot (b_i - \langle{\textbf{a}_i},\textbf{t}\rangle)}+\sum_{i,j}{h_{i,j}\cdot (b_{i,j}-\langle{\textbf{a}_{i,j},\textbf{t}}\rangle)}$
52+
53+
which is a linear function of $t$ after simplification.
54+
55+
A “chain” of L secret keys (together with encryptions of quadratic terms of one secret key using the next secret key) allows us to perform up to L levels of multiplications without blowing up the ciphertext size.
56+
57+
#### Flatten(described in the [GSW13](GSW13.md))
58+
59+
Consider the binary representation of $h_{i,j}$, namely $h_{i,j} = \sum_{\tau=0}^{\lfloor{log\ q}\rfloor}h_{i,j,\tau}2^{\tau} \textbf{s}[i]\cdot \textbf{s}[j]$
60+
61+
For each value of $\tau$, we have a pair $(\textbf{a}_{i,j,\tau},b_{i,j,\tau})$ such that
62+
63+
$b_{i,j,\tau} = \langle{\textbf{a}_{i,j,\tau}, \textbf{t}}\rangle + 2e_{i,j,\tau} + 2^{\tau}\textbf{s}[i]\cdot \textbf{s}[j] \approx\langle{\textbf{a}_{i,j,\tau}, \textbf{t}}\rangle + 2^{\tau}\textbf{s}[i]\cdot \textbf{s}[j] $
64+
65+
then $h_{i,j}\cdot \textbf{s}[i]\textbf{s}[j] = \sum_{\tau=0}^{\lfloor{log\ q}\rfloor}2^{\tau}\textbf{s}[i]\cdot \textbf{s}[j] \approx h_{i,j,\tau}(b_{i,j,\tau} - \langle \textbf{a}_{i,j,\tau}, \textbf{t} \rangle)$
66+
67+
### Dimension-Modulus Reduction
68+
69+
Aim: Taking a ciphertext with parameters $(n,log\ q)$ as above, and convert it into a ciphertext of the same message, but with parameters $(k,log\ p)$ which are much smaller than $(n,log\ q)$.
1470

FHE/GSW13.md

Whitespace-only changes.

0 commit comments

Comments
 (0)