|
| 1 | +# Homomorphic Encryption from Learning with Errors: Conceptually-Simpler, Asymptotically-Faster, Attribute-Based |
| 2 | + |
| 3 | +## Basic Introduction |
| 4 | + |
| 5 | +secret key: $\textbf{v} \in \mathbb{Z}_q^N$ |
| 6 | + |
| 7 | +plaintext: $\mu_i \in \{0,1\}$ |
| 8 | + |
| 9 | +ciphertext: $C_i \in \mathbb{Z}_q^{N \times N}$ with “small” entries (much smaller than q) |
| 10 | + |
| 11 | +error: $e$ |
| 12 | + |
| 13 | +$C_i \cdot \textbf{v} \approx \mu_2 \cdot \textbf{v}$ |
| 14 | + |
| 15 | +$C_i \cdot \textbf{v} = \mu_2 \cdot \textbf{v} + \textbf{e}$ |
| 16 | + |
| 17 | +$(C_1 + C_2) \cdot \textbf{v} = (\mu_1 + \mu_2) \cdot \textbf{v} + \textbf{e}_1 + \textbf{e}_2$ |
| 18 | + |
| 19 | +$(C_1 \cdot C_2) \cdot \textbf{v} = C_1 \cdot (\mu_2 \cdot \textbf{v} + \textbf{e}_2) = \mu_1 \cdot \mu_2 \cdot \textbf{v} + \mu_2 \cdot \textbf{e}_1 + C_1 \cdot \textbf{e}_2$ |
| 20 | + |
| 21 | +Assumption: $\mu_2, C_1$ are small |
| 22 | + |
| 23 | +Lattice Gadget: |
| 24 | + |
| 25 | +1. Let $\vec{a}, \vec{b}$ be vectors of some dimension $k$ over $\mathbb{Z}_q$, $l=\lfloor log_2q \rfloor + 1$ and $N = k \cdot l$. |
| 26 | + |
| 27 | + $\textbf{BitDecomp}(\vec{a}) = (a_{1,0},...,a_{1,l-1},...,a_{k,0},...,a_{k,l-1})$, where $a_{i,j}$ is the j-th bit in $a_i$’s binary representation |
| 28 | + |
| 29 | +2. For $\vec{a^{'}} = (a_{1,0},...,a_{1,l-1},...,a_{k,0},...,a_{k,l-1}) \in \mathbb{Z}_q^N$, let $\textbf{BitDecomp}^{-1}(\vec{a^{'}}) = \sum{2^j \cdot a_{1,j} + ... + \sum{2^j \cdot a_{k,j}}}$ |
| 30 | + |
| 31 | +3. For N-demensional $\vec{a^{'}}$, let $\textbf{Flatten}(\vec{a^{'}}) = \textbf{BitDecomp}(\textbf{BitDecomp}^{-1}(\vec{a^{'}}))$ |
| 32 | + |
| 33 | +4. For N-demensional $\vec{b}$, let $\textbf{Powerof2}(\vec{b}) = (b_1, 2b_1,..., 2^{l-1}b_1,...,b_k,2b_k,...2^{l-1}b_k)$ |
| 34 | + |
| 35 | +5. |
| 36 | + |
| 37 | + |
| 38 | + |
| 39 | +## Basic Encryption Scheme |
| 40 | + |
| 41 | +* $\textbf{Setup}(1^\lambda,1^L)$ |
| 42 | +* $\textbf{SecretKeyGen}(params)$ |
| 43 | + |
0 commit comments