参考文献:
- [Con09] Conrad K. The different ideal[J]. Expository papers/Lecture notes. Available at: http://www.math.uconn.edu/∼kconrad/blurbs/gradnumthy/different.pdf, 2009.
- [LPR10] Lyubashevsky V, Peikert C, Regev O. On ideal lattices and learning with errors over rings[J]. Journal of the ACM (JACM), 2013, 60(6): 1-35.
- [GHS11] Craig Gentry, Shai Halevi, and Nigel P. Smart, Fully homomorphic encryption with polylog overhead, Cryptology ePrint Archive, Report 2011/566, 2011, To appear in Eurocrypt 2012.
- [DD12] Ducas L, Durmus A. Ring-LWE in polynomial rings[C]//Public Key Cryptography–PKC 2012: 15th International Conference on Practice and Theory in Public Key Cryptography, Darmstadt, Germany, May 21-23, 2012. Proceedings 15. Springer Berlin Heidelberg, 2012: 34-51.
- [LPR13] Lyubashevsky V, Peikert C, Regev O. A toolkit for ring-LWE cryptography[C]//Advances in Cryptology–EUROCRYPT 2013: 32nd Annual International Conference on the Theory and Applications of Cryptographic Techniques, Athens, Greece, May 26-30, 2013. Proceedings 32. Springer Berlin Heidelberg, 2013: 35-54.
- [AP13] Alperin-Sheriff J, Peikert C. Practical bootstrapping in quasilinear time[C]//Annual Cryptology Conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 2013: 1-20.
- [Pei14] Peikert C. Lattice cryptography for the internet[C]//International workshop on post-quantum cryptography. Cham: Springer International Publishing, 2014: 197-219.
- [CP16] Crockett E, Peikert C. Λολ: Functional Lattice Cryptography[C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. 2016: 993-1005.
- [Pei16] Peikert C. How (not) to instantiate ring-LWE[C]//International Conference on Security and Cryptography for Networks. Cham: Springer International Publishing, 2016: 411-430.
- [ACC+18] Albrecht M, Chase M, Chen H, et al. Homomorphic encryption standard[J]. Protecting privacy through homomorphic encryption, 2021: 31-62.
- 分式理想 & 对偶群 & 对偶空间
文章目录
- RLWE
- Number Fields
- Canonical Embedding
- Trace & Norm
- Ring of Integers & Ideal Lattices
- Duality
- Error Distributions
- Hardness of RLWE
- Equivalence of dual and non-dual forms
- 正确的噪声
- DD12
- 第一个定理
- 第二个定理
- 采样算法
- CP16
RLWE
[LPR10] 给出了 Ring-LWE 的定义,其中的秘密 s ∈ R ∨ s \in R^\vee s∈R∨ 是取自环 R = O K R=\mathcal O_K R=OK 的对偶理想。两个主定理为:
- 对于任意的数域,存在从最坏情况下格上困难问题到 S-RLWE 的量子归约,其高斯噪声是近似球形的(我们总是在典范嵌入下说它的形状,整数环 R R R 分式理想 I I I 的典范嵌入是空间 H ≅ R n H\cong \mathbb R^n H≅Rn 中的格)
- 对于任何的分圆域,存在从 S-RLWE 到平均情况下 D-RLWE 的经典归约
为了实现方便,我们希望移除对偶结构,变换到 s ∈ R s \in R s∈R,但是还需要采样出正确格式的噪声,才能让上述归约存在。[DD12] 在扩环上采样球形噪声,然后取模,最后圆整得到整数环 R R R 下的噪声。[CP16] 在典范嵌入下采样球形噪声,然后乘以某个常数,扭曲出整数环 R R R 下的噪声。
Number Fields
Canonical Embedding
任意的数域 K = Q ( ζ ) ≅ Z [ x ] / ( f ) K=\mathbb Q(\zeta) \cong \mathbb Z[x]/(f) K=Q(ζ)≅Z[x]/(f),如果 deg f = n \deg f=n degf=n,那么都恰好存在 n n n 个嵌入 σ i : ζ ↦ α i \sigma_i: \zeta \mapsto \alpha_i σi:ζ↦αi,其中 α i \alpha_i αi 是极小多项式 f f f 在复数域上的所有根。假如有 s 1 s_1 s1 个实根, 2 s 2 2s_2 2s2 个复根(成对共轭),易知 n = s 1 + 2 s 2 n=s_1+2s_2 n=s1+2s2,那么定义它的典范嵌入(canonical embedding):
σ : K ↦ R s 1 × C 2 s 2 x ↦ ( σ 1 ( x ) , ⋯ , σ n ( x ) ) \begin{aligned} \sigma: K &\mapsto \mathbb R^{s_1} \times \mathbb C^{2s_2}\\ x &\mapsto (\sigma_1(x),\cdots,\sigma_n(x)) \end{aligned} σ:Kx↦Rs1×C2s2↦(σ1(x),⋯,σn(x))
易知 σ \sigma σ 是环同态,加法和乘法就是 point-wise 的加/乘。
元素 x ∈ K x \in K x∈K 的典范范数,定义为:
∥ x ∥ p c a n : = ∥ σ ( x ) ∥ p = ( ∑ i = 1 n ∣ σ i ( x ) ∣ p ) 1 / p \|x\|_p^{can} := \|\sigma(x)\|_p = \left( \sum_{i=1}^{n} |\sigma_i(x)|^p \right)^{1/p} ∥x∥pcan:=∥σ(x)∥p=(i=1∑n∣σi(x)∣p)1/p
我们定义 C n \mathbb C^n Cn 的子空间:
H : = { ( x 1 , ⋯ , x n ) ∈ R s 1 × C 2 s 2 ∣ x s 1 + s 2 + j = x s 1 + j ‾ , ∀ j ∈ [ s 2 ] } H := \{(x_1,\cdots,x_n) \in \mathbb R^{s_1} \times \mathbb C^{2s_2} \mid x_{s_1+s_2+j} = \overline{x_{s_1+j}}, \forall j \in [s_2]\} H:={(x1,⋯,xn)∈Rs1×C2s2∣xs1+s2+j=xs1+j,∀j∈[s2]}
作为内积空间(inner product space)有同构 H ≅ R n H \cong \mathbb R^n H≅Rn,单位正交基(列矢 h i h_i hi)表示为矩阵:
T = 1 2 ⋅ ( I s 1 O s 1 O s 1 O s 2 I s 2 i ⋅ I s 2 O s 2 I s 2 − i ⋅ I s 2 ) , H = { h ⋅ a ∣ ∀ a ∈ R n } T = \dfrac{1}{\sqrt2} \cdot \left(\begin{array}{c|c|c} I_{s_1} & O_{s_1} & O_{s_1}\\\hline O_{s_2} & I_{s_2} & i \cdot I_{s_2}\\\hline O_{s_2} & I_{s_2} & -i \cdot I_{s_2}\\ \end{array}\right),\,\, H = \{h \cdot a \mid \forall a \in \mathbb R^n\} T=21⋅ Is1Os2Os2Os1Is2Is2Os1i⋅Is2−i⋅Is2 ,H={h⋅a∣∀a∈Rn}
像空间 σ ( K ) ⊆ H \sigma(K) \subseteq H σ(K)⊆H 是子集,坐标表示 σ ( x ) = ∑ i a i h i ∈ H \sigma(x)=\sum_i a_i h_i \in H σ(x)=∑iaihi∈H,那么有:
∥ x ∥ p c a n = ( ∑ i = 1 s 1 ∣ a i ∣ p + 2 ∑ i = s 1 + 1 s 1 + s 2 ( a i 2 + a i + s 2 2 2 ) p / 2 ) 1 / p \|x\|_p^{can} = \left( \sum_{i=1}^{s_1} |a_i|^p + 2\sum_{i=s_1+1}^{s_1+s_2}\left( \frac{a_i^2+a_{i+s_2}^2}{2} \right)^{p/2} \right)^{1/p} ∥x∥pcan=(i=1∑s1∣ai∣p+2i=s1+1∑s1+s2(2ai2+ai+s22)p/2)1/p
对于分圆数域 K = Q ( ζ ) K=\mathbb Q(\zeta) K=Q(ζ),其中 ζ = ζ m \zeta=\zeta_m ζ=ζm(抽象的本原单位根), f = Φ m ( x ) = ∑ i ∈ Z m ∗ ( x − w m i ) f=\Phi_m(x)=\sum_{i \in \mathbb Z_m^*}(x-w_m^i) f=Φm(x)=∑i∈Zm∗(x−wmi),其中的 w m = exp ( 2 π i / m ) ∈ C w_m=\exp(2\pi i/m) \in \mathbb C wm=exp(2πi/m)∈C 是复数本原单位根。它的 Galois 群包含全部的自同构,形如 τ k : ζ ↦ ζ k , ∀ k ∈ Z m ∗ \tau_k:\zeta \mapsto \zeta^k, \forall k \in \mathbb Z_m^* τk:ζ↦ζk,∀k∈Zm∗,于是
σ i ( τ k ( ζ ) ) = σ i ( ζ k ) = w m i k = σ i k ( ζ ) \sigma_i(\tau_k(\zeta)) = \sigma_i(\zeta^k) = w_m^{ik} = \sigma_{ik}(\zeta) σi(τk(ζ))=σi(ζk)=wmik=σik(ζ)
也就是说,自同构 τ k \tau_k τk 导致了典范嵌入 σ \sigma σ 的各个分量做某个固定置换。
Trace & Norm
迹 T r K / Q : K → Q Tr_{K/\mathbb Q}: K \to \mathbb Q TrK/Q:K→Q 和范数 N K / Q : K → Q N_{K/\mathbb Q}: K \to \mathbb Q NK/Q:K→Q 定义为嵌入的加和、乘积,
T r ( x ) = ∑ i ∈ [ n ] σ i ( x ) , N ( x ) = ∏ i ∈ [ n ] σ i ( x ) Tr(x)=\sum_{i \in [n]} \sigma_i(x),\,\, N(x)=\prod_{i \in [n]} \sigma_i(x) Tr(x)=i∈[n]∑σi(x),N(x)=i∈[n]∏σi(x)
可以证明,乘积的迹等于典范嵌入的(复空间)典范内积,
T r ( x ⋅ y ) = ∑ i ∈ [ n ] σ i ( x ) ⋅ σ i ( y ) = ⟨ σ ( x ) , σ ( y ) ‾ ⟩ Tr(x \cdot y) = \sum_{i \in [n]}\sigma_i(x) \cdot \sigma_i(y) = \langle \sigma(x),\overline{\sigma(y)}\rangle Tr(x⋅y)=i∈[n]∑σi(x)⋅σi(y)=⟨σ(x),σ(y)⟩
因此 T r ( x ⋅ y ) Tr(x \cdot y) Tr(x⋅y) 是一个双线性函数。
Ring of Integers & Ideal Lattices
数域 K ≅ Q n K \cong \mathbb Q^n K≅Qn,整数环 R = O K R=\mathcal O_K R=OK,易知 R R R 是一个秩为 n n n 的自由 Z \mathbb Z Z-模,存在整基(integral basis)
B = { b 1 , ⋯ , b n } ⊆ R , R = { ∑ i ∈ [ n ] b i ⋅ x i ∣ x i ∈ Z } B=\{b_1,\cdots,b_n\}\subseteq R,\,\, R=\{\sum_{i \in [n]} b_i\cdot x_i \mid x_i \in \mathbb Z\} B={b1,⋯,bn}⊆R,R={i∈[n]∑bi⋅xi∣xi∈Z}
整理想 I ⊆ R I \subseteq R I⊆R 也是秩为 n n n 的自由 Z \mathbb Z Z-模,也存在一组整基 U I = { u 1 , ⋯ , u n } ∈ R U_I=\{u_1,\cdots,u_n\} \in R UI={u1,⋯,un}∈R,理想的范数定义为它作为子加群的指标 N ( I ) : = ∣ R / I ∣ N(I):=|R/I| N(I):=∣R/I∣,理想的乘积满足 N ( I J ) = N ( I ) N ( J ) N(IJ)=N(I)N(J) N(IJ)=N(I)N(J),主理想的范数 N ( ⟨ x ⟩ ) = ∣ N ( x ) ∣ N(\langle x\rangle)=|N(x)| N(⟨x⟩)=∣N(x)∣,并且 ∣ N ( x ) ∣ ≥ N ( I ) , ∀ x ∈ I |N(x)| \ge N(I),\forall x \in I ∣N(x)∣≥N(I),∀x∈I
分式理想 I ⊆ K I \subseteq K I⊆K,存在某个 d ∈ R d \in R d∈R 使得 d I ⊆ R dI \subseteq R dI⊆R 成为整理想,即 I = 1 d R I=\frac{1}{d}R I=d1R,范数为 N ( I ) = N ( d I ) / ∣ N ( d ) ∣ N(I)=N(dI)/|N(d)| N(I)=N(dI)/∣N(d)∣。全部的分式理想,在理想的乘积下构成了群,并且 norm 是一个群同态。整理想是 d = 1 d=1 d=1 的特殊分式理想。
分式理想 I I I 的典范嵌入 σ ( I ) ⊆ H \sigma(I) \subseteq H σ(I)⊆H,具有一组整基 σ ( U ) = { σ ( u 1 ) , ⋯ , σ ( u n ) } ⊆ H \sigma(U)=\{\sigma(u_1),\cdots,\sigma(u_n)\} \subseteq H σ(U)={σ(u1),⋯,σ(un)}⊆H,因此我们将 fractional ideal 视为 H ≅ R n H \cong \mathbb R^n H≅Rn 中的 lattice(离散线性空间)
由于 B B B 既是整数环 R R R 的 Z \mathbb Z Z-基,同时也是数域 K K K 的 Q \mathbb Q Q-基,因此 x ∈ R , K x \in R,K x∈R,K 都可以表示为坐标形式 ∑ i b i ⋅ x i , ∀ x i ∈ Z , Q \sum_i b_i \cdot x_i, \forall x_i \in \mathbb Z,\mathbb Q ∑ibi⋅xi,∀xi∈Z,Q,那么有
x ⋅ y = ∑ i , j ∈ [ n ] ( x i ⋅ b i ) ( y j ⋅ b j ) x \cdot y = \sum_{i,j \in [n]} (x_i\cdot b_i)(y_j \cdot b_j) x⋅y=i,j∈[n]∑(xi⋅bi)(yj⋅bj)
于是只要预计算 b i b j , ∀ i , j ∈ [ n ] b_ib_j,\forall i,j \in [n] bibj,∀i,j∈[n],则环元素乘法就可以被线性化。同样的,整理想 I ⊆ R I \subseteq R I⊆R 中的元素可以用基底 U I U_I UI 描述,而分式理想 J = 1 d I ⊆ K J =\frac{1}{d}I \subseteq K J=d1I⊆K 中的元素可以用基底 U I U_I UI 以及额外的 d ∈ R d\in R d∈R 来描述。分式理想的范数、逆、对偶、积、采样,都可以有效计算。
Duality
数域 K ≅ Q n K \cong \mathbb Q^n K≅Qn,任取一组 Q \mathbb Q Q-基 B B B,它的 Z \mathbb Z Z-span 构成了一个格 L L L,对偶格定义为:
L ∨ : = { x ∈ K ∣ T r ( x L ) ⊆ Z } L^\vee := \{ x \in K \mid Tr(xL) \subseteq \mathbb Z \} L∨:={x∈K∣Tr(xL)⊆Z}
也就是说,那些将格 L L L 映射到 Z \mathbb Z Z 子集的全部线性态射 x x x 组成了对偶格。根据 T r Tr Tr 和 σ i \sigma_i σi 的关系,也可以写成:
L ∨ : = { x ∈ K ∣ ⟨ σ ( x ) , σ ( L ) ‾ ⟩ = 0 ( m o d 1 ) } L^\vee := \{ x \in K \mid \langle\sigma(x), \overline{\sigma(L)}\rangle =0 \pmod1 \} L∨:={x∈K∣⟨σ(x),σ(L)⟩=0(mod1)}
对于平凡的数域 K = Q K=\mathbb Q K=Q,整数环 R = Z R=\mathbb Z R=Z,因此 R ∨ = R = Z R^\vee=R=\mathbb Z R∨=R=Z 是自对偶的(self-dual),并且理想 I = d Z I=d\mathbb Z I=dZ 和它的形式逆 I − 1 = 1 d Z I^{-1}=\frac{1}{d}\mathbb Z I−1=d1Z 是相互对偶。
对于非凡的数域 K K K 和分式理想 I ⊆ K I \subseteq K I⊆K,并没有上述的两条性质,但是依然有:
I ∨ = I − 1 ⋅ R ∨ I^\vee = I^{-1} \cdot R^\vee I∨=I−1⋅R∨
即两者只相差一个因子 R ∨ R^\vee R∨,它被称为 codifferent。它的逆 ( R ∨ ) − 1 (R^\vee)^{-1} (R∨)−1 被称为 different ideal。对于二的幂分圆域 n = ϕ ( m ) = m / 2 n=\phi(m)=m/2 n=ϕ(m)=m/2,有 R ∨ = n − 1 R R^{\vee}=n^{-1}R R∨=n−1R,它仅仅为 R R R 的缩放,因此可以直接选取 s ∈ R s \in R s∈R,噪声 e e e 简单地是 R R R 上的球形高斯。根据 [Con09],分圆环 Z [ ζ m ] \mathbb Z[\zeta_m] Z[ζm] 的对偶,可以写成如下的主分式理想:
Z [ ζ m ] ∨ = 1 Φ m ′ ( ζ m ) Z [ ζ m ] \mathbb Z[\zeta_m]^\vee = \dfrac{1}{\Phi_m'(\zeta_m)}\mathbb Z[\zeta_m] Z[ζm]∨=Φm′(ζm)1Z[ζm]
其中的 Φ m ′ ( x ) \Phi_m'(x) Φm′(x) 是形式导数。也可以选取其他的生成元,也许会更加高效。
利用 CRT,[LPR10] 给出了以下的引理:
存在并且可以快速找出 t ∈ I ⊆ R t \in I \subseteq R t∈I⊆R,使得函数 θ t : u ∈ K ↦ t ⋅ u ∈ K \theta_t: u \in K \mapsto t \cdot u \in K θt:u∈K↦t⋅u∈K 诱导了同构映射 θ t : w ( m o d J M ) ↦ t ⋅ w ( m o d I J M ) \theta_t: w \pmod{JM} \mapsto t \cdot w \pmod{IJM} θt:w(modJM)↦t⋅w(modIJM),它将被用于 non-dual form 的噪声生成过程。
Error Distributions
代数(algebra over a field):域 K K K 上的代数 A A A 是一个向量空间 K n K^n Kn,运算包括向量加法 + : A × A → A +:A \times A \to A +:A×A→A、标量乘法 ⋅ : K × A → A \cdot:K \times A \to A ⋅:K×A→A,以及一个双线性乘法 ⟨ ⋅ , ⋅ ⟩ : A × A → A \langle\cdot,\cdot\rangle:A \times A \to A ⟨⋅,⋅⟩:A×A→A,我们把 A A A 叫做 K K K-代数,而 K K K 被称为 A A A 的基域(base field)
域的张量积(field tensor product):记作 K 1 ⊗ L K 2 K_1 \otimes_L K_2 K1⊗LK2,两个域 K 1 , K 2 K_1,K_2 K1,K2 有公共子域 L L L,它们作为 L L L-代数(两个向量空间)做张量积。对于没有显式指定的子域,默认 L L L 是素域,这要求 K 1 , K 2 K_1,K_2 K1,K2 有相同的特征。
数域 K ≅ Q n K \cong \mathbb Q^n K≅Qn,我们定义域张量积
K R : = K ⊗ Q R K_\mathbb R := K \otimes_\mathbb Q \mathbb R KR:=K⊗QR
作为 Q \mathbb Q Q-代数有同构 K R ≅ R n ≅ H K_\mathbb R \cong \mathbb R^n \cong H KR≅Rn≅H,它的同构映射就是嵌入 σ \sigma σ,其中的双线性乘法就是 point-wise 乘法。我们在数域 K R K_\mathbb R KR 上定义高维椭圆高斯分布 D r ⃗ , r ⃗ ∈ ( R + ) n D_{\vec r},\vec r \in (\mathbb R^+)^n Dr,r∈(R+)n,对于元素 x ∈ K R x \in K_\mathbb R x∈KR,扭曲的分布为 x ⋅ D r ⃗ = D r ⃗ ′ x \cdot D_{\vec r} = D_{\vec r'} x⋅Dr=Dr′,其中 r i ′ = r i ⋅ ∣ σ i ( x ) ∣ r_i' = r_i \cdot |\sigma_i(x)| ri′=ri⋅∣σi(x)∣,这是根据 H H H 中双线性乘法得出的。
我们定义 “一族有界的椭圆高斯分布” 的随机分布 Υ α \Upsilon_\alpha Υα,
在 RLWE 的定义中,需要模掉对偶格 R ∨ R^\vee R∨,因此需要让 α \alpha α 不超过它的平滑参数,使得 RLWE 分布并非统计接近均匀分布,从而不是平凡的问题。
Hardness of RLWE
一些符号:任意数域 K K K,它的整数环 R R R,模数 q q q,分式理想( K K K 的 R R R-子模,子加群) J ⊆ K J \subseteq K J⊆K 的商群 J q : = J / q J J_q:=J/qJ Jq:=J/qJ, 对偶分式理想 R ∨ R^\vee R∨(视为对偶格),环面 T : = K R / R ∨ \mathbb T:=K_\mathbb R/R^\vee T:=KR/R∨
[LPR10] 给出的 Ring-LWE 分布是 “dual form”,秘密 s ∈ R q ∨ s \in R_q^\vee s∈Rq∨ 取自对偶格:
由于 s ∈ R q ∨ s \in R_q^\vee s∈Rq∨ 属于分式理想,因此吸收 a ⋅ s ∈ R ∨ / q R ∨ a \cdot s \in R^\vee/qR^\vee a⋅s∈R∨/qR∨,得到 a ⋅ s / q ∈ 1 q R ∨ / R ∨ a \cdot s/q \in \frac{1}{q}R^\vee/R^\vee a⋅s/q∈q1R∨/R∨,然而噪声 e ∈ K R e \in K_\mathbb R e∈KR,需要将它模掉 R ∨ R^\vee R∨ 进入 T \mathbb T T
S-RLWE 和 D-RLWE 的定义为:
对于 m = 2 k m=2^k m=2k 的分圆域, R ∨ = n − 1 R R^\vee=n^{-1}R R∨=n−1R 仅仅是缩放,于是上述的 RLWE 分布可以做变换 s ′ = n ⋅ s ∈ R q s'=n\cdot s \in R_q s′=n⋅s∈Rq 和 e ′ = n ⋅ e e'=n \cdot e e′=n⋅e,转换为样本 ( a , b ′ = a ⋅ s ′ / q + e ′ ) ∈ R q × K R / R (a,b'=a\cdot s'/q+e') \in R_q \times K_\mathbb R/R (a,b′=a⋅s′/q+e′)∈Rq×KR/R,这就是我们常用的形式了。
Right Defifinition of Ring-LWE:[LPR10] 解释了为何秘密需要从对偶分式理想中选取,
- 在 BDD 到 S-LWE 的归约中,对偶理想 R ∨ R^\vee R∨ 是自然出现的,从而可以给出最紧的归约
- 理想 I I I 中能够正确解码的最大错误反比于 λ n ( I ∨ ) \lambda_n(I^\vee) λn(I∨),并且分圆域下的 λ n ( R ) = n \lambda_n(R)=\sqrt n λn(R)=n 是最小的,导致选取 I = R ∨ I=R^\vee I=R∨ 能够容忍最高的错误规模
- 格 L ⊥ ( a ) : = { z ∈ R m : ∑ i a i z i = 0 ∈ R q } L^\perp(a):=\{z \in R^m:\sum_i a_iz_i=0 \in R_q\} L⊥(a):={z∈Rm:∑iaizi=0∈Rq} 的对偶 ( L ⊥ ( a ) ) ∨ = ( R ∨ ) m + { a s / q ∣ s ∈ R q ∨ } (L^\perp(a))^\vee=(R^\vee)^m+\{as/q \mid s \in R_q^\vee\} (L⊥(a))∨=(R∨)m+{as/q∣s∈Rq∨},RLWE 可被视为它上边的 BDD 问题
- 此外使用 [LPR13] 的 powerful basis 和 decoding basis 能够获得最好的性能
[LPR10] 证明了 RLWE 可以归约到 Ideal Lattice 上的 SVP、SIVP、BDD 问题。
- 对于任意数域,存在从 worst-case approx-SIVP 到 worst-case S-RLWE 的量子归约
- 约束在分圆域上,存在从 worst-case S-RLWE 到 average-case D-RLWE 的经典归约
主定理:存在从 worst-case approx-SIVP 到 average-case D-RLWE 的量子归约。对于有界数量样本(数量 l l l 较小),随机的椭圆高斯可以替换为固定的球形高斯,分布 D ξ D_\xi Dξ 接近于从 Υ α \Upsilon_\alpha Υα 采样出的 ψ \psi ψ 分布。
Equivalence of dual and non-dual forms
[Pei16] 研究了一些不安全的 RLWE 实例,发现它们的根本原因都是噪声分布的不充分传播。[Pei16] 给出的建议是,困难实例的 D r D_r Dr 的参数选取为 r ≥ 2 r \ge 2 r≥2,这使得若干攻击失效。此外,文章还介绍了对偶版本和非对偶版本的等价性。
dual form of RLWE:秘密 s ∈ R q ∨ s \in R_q^\vee s∈Rq∨ 是均匀采样的,噪声分布 ψ \psi ψ 是(近似)球形的,样本形如
( a i , b i : = s ⋅ a i + e i ( m o d q R ∨ ) ) ∈ R q × K R / q R ∨ (a_i, b_i := s \cdot a_i + e_i \pmod{qR^\vee}) \in R_q \times K_\mathbb R/qR^\vee (ai,bi:=s⋅ai+ei(modqR∨))∈Rq×KR/qR∨
non-dual form of RLWE:秘密 s ∈ R q s \in R_q s∈Rq 是均匀采样的,噪声分布 ψ \psi ψ 需要被正确地设置(可能是长扁的椭球),样本形如
( a i , b i : = s ⋅ a i + e i ( m o d q R ) ) ∈ R q × K R / q R (a_i, b_i := s \cdot a_i + e_i \pmod{qR}) \in R_q \times K_\mathbb R/qR (ai,bi:=s⋅ai+ei(modqR))∈Rq×KR/qR
两者通过一个恰当的扭曲因子(tweak factor)等价,这在 [AP13] 和 [Pei14] 中最早出现。根据 [LPR10],对于任意的分式理想 I , J I,J I,J,都存在常数 t ∈ K t \in K t∈K,使得两个函数
θ t : u ∈ I q ↦ t ⋅ u ∈ J q κ t : u ∈ K R / q I ↦ t ⋅ u ∈ K R / q J \begin{array}{clcl} \theta_t:& u \in I_q &\mapsto& t \cdot u \in J_q\\ \kappa_t:& u \in K_\mathbb R/qI &\mapsto& t \cdot u \in K_\mathbb R/qJ \end{array} θt:κt:u∈Iqu∈KR/qI↦↦t⋅u∈Jqt⋅u∈KR/qJ
都是高效可逆的双射。设置 I = R ∨ I=R^\vee I=R∨ 和 J = R J=R J=R,假如分式理想 R ∨ R^\vee R∨ 是主的 I = R x , ∃ x ∈ K I=Rx,\exists x \in K I=Rx,∃x∈K,可以简单选取 t = x − 1 ∈ K t=x^{-1} \in K t=x−1∈K,就有 t R ∨ = R tR^\vee=R tR∨=R。即使不是主的, t t t 也总存在,但是找出它更加繁琐些,用到 CRT 和素理想分解。
对于分圆环,[LPR13] 给出了 t t t 的构造:对于 m m m 次分圆环 R R R,定义元素
g m : = ∏ odd prime p ∣ m ( 1 − ζ p ) ∈ R g_m := \prod_{\text{odd prime }p|m} (1-\zeta_p) \in R gm:=odd prime p∣m∏(1−ζp)∈R
再定义整数
m ^ : = { m / 2 , m is even m , m is odd \hat m := \left\{\begin{aligned} m/2,&& m\text{ is even}\\ m,&& m\text{ is odd}\\ \end{aligned}\right. m^:={m/2,m,m is evenm is odd
那么总是有 t m : = m ^ / g m ∈ R t_m := \hat m/g_m \in R tm:=m^/gm∈R,并且 R ∨ = ⟨ t m − 1 ⟩ R^\vee = \langle t_m^{-1} \rangle R∨=⟨tm−1⟩ 是主的,因此 t m ⋅ R ∨ = R t_m \cdot R^\vee = R tm⋅R∨=R,这便得到了扭曲因子。
[Pei14] 使用了分布 ψ : = t m ⋅ D r \psi := t_m \cdot D_r ψ:=tm⋅Dr 在 R R R 上的离散化 χ : = ⌊ χ ⌉ \chi := \lfloor \chi \rceil χ:=⌊χ⌉ 作为噪声分布。我们考虑 D r D_r Dr 下的 dual form 样本 ( a , b : = s ⋅ a + e ) ∈ R q × K R / q R ∨ (a,b:=s\cdot a+e) \in R_q \times K_\mathbb R/qR^\vee (a,b:=s⋅a+e)∈Rq×KR/qR∨,将第二分量乘以 t m t_m tm,得到
b ′ = κ t ( b ) = t m ⋅ ( s ⋅ a + e ) = s ′ ⋅ a + e ′ ∈ K R / q R b' = \kappa_{t}(b) = t_m \cdot (s \cdot a + e) = s' \cdot a + e' \in K_\mathbb R/qR b′=κt(b)=tm⋅(s⋅a+e)=s′⋅a+e′∈KR/qR
其中 s ′ = t m ⋅ s = θ t ( s ) ∈ R q s'=t_m \cdot s=\theta_t(s) \in R_q s′=tm⋅s=θt(s)∈Rq 是 non-dual 的秘密,噪声 e ′ = t m ⋅ e ∈ K R e'=t_m \cdot e \in K_\mathbb R e′=tm⋅e∈KR 的分布为 t m ⋅ D r = ψ t_m \cdot D_r = \psi tm⋅Dr=ψ
于是两者是等价的: dual D-RLWE q , D r ⟺ non-dual D-RLWE q , ψ \text{dual D-RLWE}_{q,D_r} \iff \text{non-dual D-RLWE}_{q,\psi} dual D-RLWEq,Dr⟺non-dual D-RLWEq,ψ,dual 使用的是球形高斯噪声,而 non-dual 使用的是椭球形高斯噪声(在典范嵌入下)。
[Pei16] 认为 RLWE 可以视为特殊的 LWE:考虑 non-dual form RLWE 样本 ( a , b = s a + e ) ∈ R q × K R / q R (a,b=sa+e) \in R_q \times K_\mathbb R/qR (a,b=sa+e)∈Rq×KR/qR,由于 R R R 的一组 Z \mathbb Z Z-基 B B B 也是 K R K_\mathbb R KR 的一组 R \mathbb R R-基,从而可将私钥写成 s ⃗ ∈ Z q n \vec s \in \mathbb Z_q^n s∈Zqn 使得 s = ∑ s i b i s=\sum s_i b_i s=∑sibi,可将 a a a 扩写矩阵 A ∈ Z q n × n A \in \mathbb Z_q^{n \times n} A∈Zqn×n 使得 s ⋅ a = s ⃗ t A s \cdot a=\vec s^t A s⋅a=stA,第 i i i 行是 A i = ∑ j a j b i b j A_i=\sum_j a_jb_ib_j Ai=∑jajbibj,噪声写成 e ⃗ ∈ R n \vec e \in \mathbb R^n e∈Rn 使得 e = ∑ e i b i e=\sum e_i b_i e=∑eibi,那么 ( A i , s ⃗ t A i + e i ) ∈ Z q n × R / q Z (A_i, \vec s^tA_i+e_i) \in \mathbb Z_q^n \times \mathbb R/q\mathbb Z (Ai,stAi+ei)∈Zqn×R/qZ 就是 n n n 个标准 LWE 样本。虽然它们之间不独立,单个 RLWE 样本总是可以转换出一个 LWE 样本,因此有归约 RLWE ≤ LWE \text{RLWE} \le \text{LWE} RLWE≤LWE
正确的噪声
对于二的幂的分圆域, m ^ = n , g m = 1 , t m = n ∈ Q \hat m=n, g_m=1, t_m=n \in \mathbb Q m^=n,gm=1,tm=n∈Q,因此 ψ = n ⋅ D r \psi=n \cdot D_r ψ=n⋅Dr 依旧是球形的,我们可以直接对 K R K_\mathbb R KR 的各个分量(在 power basis 下的)分别独立采样。
但是对于一般的分圆域,元素 t m ∈ R t_m \in R tm∈R 并不属于 Q \mathbb Q Q,这就导致了 ψ = t m ⋅ D r \psi = t_m \cdot D_r ψ=tm⋅Dr 是倾斜的,直接对各个分量 i.i.d 采样,这显然是不对的。
由于 [LPR10] 的归约是针对于 “分圆环对偶理想” 和 “噪声分布的典范嵌入是近似球形高斯” 来说的,因此想要移除对偶结构,需要乘以元素 t m ∈ R t_m \in R tm∈R,确切地:
- 先在 K R K_\mathbb R KR 上按照 D r D_r Dr 采样出 e e e,然后计算乘积 e ′ = t m ⋅ e ∈ K R e'=t_m \cdot e \in K_\mathbb R e′=tm⋅e∈KR,这同构于环 R [ x ] / ( Φ m ( x ) ) \mathbb R[x]/(\Phi_m(x)) R[x]/(Φm(x)) 上的多项式乘积
- 或者先计算 σ ( e ) \sigma(e) σ(e) 和 σ ( t m ) \sigma(t_m) σ(tm),在空间 H H H 中计算 ponit-wise 乘积 σ ( t m ⋅ e ) \sigma(t_m \cdot e) σ(tm⋅e),最后回到 e ′ ∈ K R e' \in K_\mathbb R e′∈KR
DD12
[DD12] 给出了一种更简单的转换方案:
对于分圆域 K = Q ( ζ m ) ≅ Q [ x ] / ( Φ m ) K=\mathbb Q(\zeta_m) \cong \mathbb Q[x]/(\Phi_m) K=Q(ζm)≅Q[x]/(Φm),令 n = ϕ ( m ) n=\phi(m) n=ϕ(m),矩阵
T = 1 2 ⋅ ( I n / 2 i ⋅ I n / 2 I n / 2 − i ⋅ I n / 2 ) T = \dfrac{1}{\sqrt2} \cdot \left(\begin{array}{c|c} I_{n/2} & i \cdot I_{n/2}\\\hline I_{n/2} & -i \cdot I_{n/2}\\ \end{array}\right) T=21⋅(In/2In/2i⋅In/2−i⋅In/2)
那么 2 ⋅ T \sqrt2\cdot T 2⋅T 是 embedding space H : = σ ( K ) ⊆ C n H:=\sigma(K) \subseteq \mathbb C^n H:=σ(K)⊆Cn 的一组 Q \mathbb Q Q-基,即 H ≅ Q n H \cong \mathbb Q^n H≅Qn 的同构映射为 v ⃗ ↦ 2 ⋅ T ⋅ v ⃗ \vec v \mapsto \sqrt2\cdot T\cdot\vec v v↦2⋅T⋅v。为了生成球形高斯分布,可以 i.i.d 采样各个坐标 v i ∈ Q v_i \in \mathbb Q vi∈Q,然后计算出 H H H 中元素,最后回到 K K K 中。
第一个定理
根据 [Con09], Z [ ζ m ] ∨ = 1 Φ m ′ ( ζ m ) Z [ ζ m ] \mathbb Z[\zeta_m]^\vee = \frac{1}{\Phi_m'(\zeta_m)}\mathbb Z[\zeta_m] Z[ζm]∨=Φm′(ζm)1Z[ζm],采用 [LPR13] 定义的 m ^ \hat m m^,[DD12] 证明了 m ^ Φ m ′ ( ζ m ) ∈ Z [ ζ ] \frac{\hat m}{\Phi_m'(\zeta_m)} \in \mathbb Z[\zeta] Φm′(ζm)m^∈Z[ζ],总是有 R ≅ Z [ ζ m ] ⊇ m R ∨ R\cong \mathbb Z[\zeta_m] \supseteq mR^\vee R≅Z[ζm]⊇mR∨,也就是 m ^ R ∨ \hat mR^\vee m^R∨ 是 R R R 的一个加法子群。
因此,我们可以将 R ∨ R^\vee R∨ 映射到 R R R 中,
- 对于任意的 x ∈ R ∨ x \in R^\vee x∈R∨,都有 m ^ ⋅ x ∈ R \hat m \cdot x \in R m^⋅x∈R
- 如果 y ( m o d R ∨ ) y \pmod{R^\vee} y(modR∨) 统计/计算均匀,那么 m ^ ⋅ y ( m o d R ) \hat m \cdot y \pmod{R} m^⋅y(modR) 也统计/计算均匀,损失因子仅为 m / ϕ ( m ) \sqrt{m/\phi(m)} m/ϕ(m)
第二个定理
现在我们考虑如何高效采样噪声。一种自然方法是在 H H H 上采样,然后计算逆范德蒙矩阵 σ − 1 \sigma^{-1} σ−1。对于二的幂情况, σ \sigma σ 是正交阵(FFT),求逆速度很快;但是对于一般的 m m m,这个操作十分低效。
我们定义:
Θ m ( x ) = { x m / 2 + 1 , m is even x m − 1 , m is odd \Theta_m(x) = \left\{\begin{aligned} x^{m/2}+1,&& m\text{ is even}\\ x^{m}-1,&& m\text{ is odd}\\ \end{aligned}\right. Θm(x)={xm/2+1,xm−1,m is evenm is odd
易知 Φ m ( x ) ∣ Θ m ( x ) \Phi_m(x) \mid \Theta_m(x) Φm(x)∣Θm(x),[DD12] 在扩环 Q [ x ] / ( Θ m ) \mathbb Q[x]/(\Theta_m) Q[x]/(Θm) 上快速采样,并且证明了它确实是一个球形高斯,满足 [LPR10] 的归约条件。
因为对于许多大类 m m m,取模运算 ( m o d Φ m ( x ) ) \pmod{\Phi_m(x)} (modΦm(x)) 存在 power basis 下的稀疏矩阵表示,计算速度较快。比如对于 m = 2 k p i , k ≥ 0 , i ≥ 1 m=2^kp^i, k\ge 0,i\ge1 m=2kpi,k≥0,i≥1,就有:
并且 ∥ B ∥ 1 = 2 \|B\|_1 = 2 ∥B∥1=2(按行矢),因此有 ∥ β ( f ) ∥ ∞ ≤ 2 ∥ f ∥ ∞ \|\beta(f)\|_\infty \le 2\|f\|_\infty ∥β(f)∥∞≤2∥f∥∞,取模后的范数增长也不算大。
[GHS11] 也采用了类似的 Θ m ( x ) \Theta_m(x) Θm(x) 以及 G m ( x ) G_m(x) Gm(x),但是被用于加速解密的计算,延迟模约简。[DD12] 在加密阶段使用,lift-then-map,生成正确噪声分布。
采样算法
[DD12] 给出了 LPR10 主定理的变体:
实际采样时,我们简单使用 s = m ′ α q ≥ w ( m ′ log m ) s=\sqrt{m'}\alpha q \ge w(\sqrt{m'\log m}) s=m′αq≥w(m′logm),忽略后面的复杂因子。根据 Arora-Ge 算法,如果标准差为 o ( ϕ ( m ) ) o(\sqrt{\phi(m)}) o(ϕ(m)),那么可以在压指数时间求解 SVP 问题,从而上述 s s s 的选取是紧的。
CP16
[CP16] 设计了一个算法工具包 “ Λ ∘ λ \Lambda \circ \lambda Λ∘λ”(奇奇怪怪的名字),它是格密码的通用框架(PQC、FHE),支持任意分圆环上的快速噪声采样。
它的采样算法就是 [Pei14] 的扭曲思路,先采样球形高斯噪声 e ′ e' e′,然后乘以 t m t_m tm 并圆整,获得 e = ⌊ e ′ ⋅ t m ⌉ ∈ R e=\lfloor e' \cdot t_m \rceil \in R e=⌊e′⋅tm⌉∈R。不过,存在更加高效的算法来计算它:利用 [LPR13] 的 decoding basis 和相关算法,可高效地采样 R ∨ R^\vee R∨ 球形高斯分布;我们将它们扭曲到 R R R 上,依然保持性能。