任意分圆环下的 RLWE:如何产生正确的噪声分布

参考文献:

  1. [Con09] Conrad K. The different ideal[J]. Expository papers/Lecture notes. Available at: http://www.math.uconn.edu/∼kconrad/blurbs/gradnumthy/different.pdf, 2009.
  2. [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.
  3. [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.
  4. [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.
  5. [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.
  6. [AP13] Alperin-Sheriff J, Peikert C. Practical bootstrapping in quasilinear time[C]//Annual Cryptology Conference. Berlin, Heidelberg: Springer Berlin Heidelberg, 2013: 1-20.
  7. [Pei14] Peikert C. Lattice cryptography for the internet[C]//International workshop on post-quantum cryptography. Cham: Springer International Publishing, 2014: 197-219.
  8. [CP16] Crockett E, Peikert C. Λολ: Functional Lattice Cryptography[C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. 2016: 993-1005.
  9. [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.
  10. [ACC+18] Albrecht M, Chase M, Chen H, et al. Homomorphic encryption standard[J]. Protecting privacy through homomorphic encryption, 2021: 31-62.
  11. 分式理想 & 对偶群 & 对偶空间

文章目录

  • 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 sR 是取自环 R = O K R=\mathcal O_K R=OK 的对偶理想。两个主定理为:

  1. 对于任意的数域,存在从最坏情况下格上困难问题到 S-RLWE 的量子归约,其高斯噪声是近似球形的(我们总是在典范嵌入下说它的形状,整数环 R R R 分式理想 I I I 的典范嵌入是空间 H ≅ R n H\cong \mathbb R^n HRn 中的格)
  2. 对于任何的分圆域,存在从 S-RLWE 到平均情况下 D-RLWE 的经典归约

为了实现方便,我们希望移除对偶结构,变换到 s ∈ R s \in R sR,但是还需要采样出正确格式的噪声,才能让上述归约存在。[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} σ:KxRs1×C2s2(σ1(x),,σn(x))
易知 σ \sigma σ 是环同态,加法和乘法就是 point-wise 的加/乘。

元素 x ∈ K x \in K xK典范范数,定义为:
∥ 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} xpcan:=σ(x)p=(i=1nσ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×C2s2xs1+s2+j=xs1+j,j[s2]}
作为内积空间(inner product space)有同构 H ≅ R n H \cong \mathbb R^n HRn,单位正交基(列矢 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=2 1 Is1Os2Os2Os1Is2Is2Os1iIs2iIs2 ,H={haaRn}
像空间 σ ( 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)=iaihiH,那么有:
∥ 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} xpcan=(i=1s1aip+2i=s1+1s1+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)=iZm(xwmi),其中的 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,kZm,于是
σ 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:KQ范数 N K / Q : K → Q N_{K/\mathbb Q}: K \to \mathbb Q NK/Q:KQ 定义为嵌入的加和、乘积,
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(xy)=i[n]σi(x)σi(y)=σ(x),σ(y)
因此 T r ( x ⋅ y ) Tr(x \cdot y) Tr(xy) 是一个双线性函数。

Ring of Integers & Ideal Lattices

数域 K ≅ Q n K \cong \mathbb Q^n KQn,整数环 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]bixixiZ}
整理想 I ⊆ R I \subseteq R IR 也是秩为 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),xI

分式理想 I ⊆ K I \subseteq K IK,存在某个 d ∈ R d \in R dR 使得 d I ⊆ R dI \subseteq R dIR 成为整理想,即 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 HRn 中的 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 xR,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 ibixi,xiZ,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) xy=i,j[n](xibi)(yjbj)
于是只要预计算 b i b j , ∀ i , j ∈ [ n ] b_ib_j,\forall i,j \in [n] bibj,i,j[n],则环元素乘法就可以被线性化。同样的,整理想 I ⊆ R I \subseteq R IR 中的元素可以用基底 U I U_I UI 描述,而分式理想 J = 1 d I ⊆ K J =\frac{1}{d}I \subseteq K J=d1IK 中的元素可以用基底 U I U_I UI 以及额外的 d ∈ R d\in R dR 来描述。分式理想的范数、逆、对偶、积、采样,都可以有效计算。

Duality

数域 K ≅ Q n K \cong \mathbb Q^n KQn,任取一组 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:={xKTr(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:={xKσ(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 I1=d1Z相互对偶

对于非凡的数域 K K K 和分式理想 I ⊆ K I \subseteq K IK,并没有上述的两条性质,但是依然有:
I ∨ = I − 1 ⋅ R ∨ I^\vee = I^{-1} \cdot R^\vee I=I1R
即两者只相差一个因子 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=n1R,它仅仅为 R R R 的缩放,因此可以直接选取 s ∈ R s \in R sR,噪声 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 tIR,使得函数 θ t : u ∈ K ↦ t ⋅ u ∈ K \theta_t: u \in K \mapsto t \cdot u \in K θt:uKtuK 诱导了同构映射 θ 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)tw(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×AA标量乘法 ⋅ : K × A → A \cdot:K \times A \to A :K×AA,以及一个双线性乘法 ⟨ ⋅ , ⋅ ⟩ : A × A → A \langle\cdot,\cdot\rangle:A \times A \to A ,:A×AA,我们把 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 K1LK2,两个域 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 KQn,我们定义域张量积
K R : = K ⊗ Q R K_\mathbb R := K \otimes_\mathbb Q \mathbb R KR:=KQR
作为 Q \mathbb Q Q-代数有同构 K R ≅ R n ≅ H K_\mathbb R \cong \mathbb R^n \cong H KRRnH,它的同构映射就是嵌入 σ \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 xKR,扭曲的分布为 x ⋅ D r ⃗ = D r ⃗ ′ x \cdot D_{\vec r} = D_{\vec r'} xDr =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 JK 的商群 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 sRq 取自对偶格:

在这里插入图片描述

由于 s ∈ R q ∨ s \in R_q^\vee sRq 属于分式理想,因此吸收 a ⋅ s ∈ R ∨ / q R ∨ a \cdot s \in R^\vee/qR^\vee asR/qR,得到 a ⋅ s / q ∈ 1 q R ∨ / R ∨ a \cdot s/q \in \frac{1}{q}R^\vee/R^\vee as/qq1R/R,然而噪声 e ∈ K R e \in K_\mathbb R eKR,需要将它模掉 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=n1R 仅仅是缩放,于是上述的 RLWE 分布可以做变换 s ′ = n ⋅ s ∈ R q s'=n\cdot s \in R_q s=nsRq e ′ = n ⋅ e e'=n \cdot e e=ne,转换为样本 ( 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=as/q+e)Rq×KR/R,这就是我们常用的形式了。

Right Defifinition of Ring-LWE:[LPR10] 解释了为何秘密需要从对偶分式理想中选取,

  1. 在 BDD 到 S-LWE 的归约中,对偶理想 R ∨ R^\vee R 是自然出现的,从而可以给出最紧的归约
  2. 理想 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 能够容忍最高的错误规模
  3. 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):={zRm:iaizi=0Rq} 的对偶 ( 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/qsRq},RLWE 可被视为它上边的 BDD 问题
  4. 此外使用 [LPR13] 的 powerful basisdecoding basis 能够获得最好的性能

[LPR10] 证明了 RLWE 可以归约到 Ideal Lattice 上的 SVP、SIVP、BDD 问题。

在这里插入图片描述

  1. 对于任意数域,存在从 worst-case approx-SIVP 到 worst-case S-RLWE量子归约

在这里插入图片描述

  1. 约束在分圆域上,存在从 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 r2,这使得若干攻击失效。此外,文章还介绍了对偶版本和非对偶版本的等价性。

dual form of RLWE:秘密 s ∈ R q ∨ s \in R_q^\vee sRq 是均匀采样的,噪声分布 ψ \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:=sai+ei(modqR))Rq×KR/qR
non-dual form of RLWE:秘密 s ∈ R q s \in R_q sRq 是均匀采样的,噪声分布 ψ \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:=sai+ei(modqR))Rq×KR/qR
两者通过一个恰当的扭曲因子(tweak factor)等价,这在 [AP13] 和 [Pei14] 中最早出现。根据 [LPR10],对于任意的分式理想 I , J I,J I,J,都存在常数 t ∈ K t \in K tK,使得两个函数
θ 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:uIquKR/qItuJqtuKR/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,xK,可以简单选取 t = x − 1 ∈ K t=x^{-1} \in K t=x1K,就有 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 pm(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^/gmR,并且 R ∨ = ⟨ t m − 1 ⟩ R^\vee = \langle t_m^{-1} \rangle R=tm1 是主的,因此 t m ⋅ R ∨ = R t_m \cdot R^\vee = R tmR=R,这便得到了扭曲因子。

[Pei14] 使用了分布 ψ : = t m ⋅ D r \psi := t_m \cdot D_r ψ:=tmDr 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:=sa+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(sa+e)=sa+eKR/qR
其中 s ′ = t m ⋅ s = θ t ( s ) ∈ R q s'=t_m \cdot s=\theta_t(s) \in R_q s=tms=θt(s)Rq 是 non-dual 的秘密,噪声 e ′ = t m ⋅ e ∈ K R e'=t_m \cdot e \in K_\mathbb R e=tmeKR 的分布为 t m ⋅ D r = ψ t_m \cdot D_r = \psi tmDr=ψ

于是两者是等价的: 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,Drnon-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} AZqn×n 使得 s ⋅ a = s ⃗ t A s \cdot a=\vec s^t A sa=s tA,第 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,s tAi+ei)Zqn×R/qZ 就是 n n n 个标准 LWE 样本。虽然它们之间不独立,单个 RLWE 样本总是可以转换出一个 LWE 样本,因此有归约 RLWE ≤ LWE \text{RLWE} \le \text{LWE} RLWELWE

正确的噪声

对于二的幂的分圆域, 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=nQ,因此 ψ = n ⋅ D r \psi=n \cdot D_r ψ=nDr 依旧是球形的,我们可以直接对 K R K_\mathbb R KR 的各个分量(在 power basis 下的)分别独立采样。

但是对于一般的分圆域,元素 t m ∈ R t_m \in R tmR 并不属于 Q \mathbb Q Q,这就导致了 ψ = t m ⋅ D r \psi = t_m \cdot D_r ψ=tmDr 是倾斜的,直接对各个分量 i.i.d 采样,这显然是不对的。

由于 [LPR10] 的归约是针对于 “分圆环对偶理想” 和 “噪声分布的典范嵌入是近似球形高斯” 来说的,因此想要移除对偶结构,需要乘以元素 t m ∈ R t_m \in R tmR,确切地:

  1. 先在 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=tmeKR,这同构于环 R [ x ] / ( Φ m ( x ) ) \mathbb R[x]/(\Phi_m(x)) R[x]/(Φm(x)) 上的多项式乘积
  2. 或者先计算 σ ( e ) \sigma(e) σ(e) σ ( t m ) \sigma(t_m) σ(tm),在空间 H H H 中计算 ponit-wise 乘积 σ ( t m ⋅ e ) \sigma(t_m \cdot e) σ(tme),最后回到 e ′ ∈ K R e' \in K_\mathbb R eKR

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=2 1(In/2In/2iIn/2iIn/2)
那么 2 ⋅ T \sqrt2\cdot T 2 Tembedding 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 HQn 的同构映射为 v ⃗ ↦ 2 ⋅ T ⋅ v ⃗ \vec v \mapsto \sqrt2\cdot T\cdot\vec v v 2 Tv 。为了生成球形高斯分布,可以 i.i.d 采样各个坐标 v i ∈ Q v_i \in \mathbb Q viQ,然后计算出 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 RZ[ζm]mR,也就是 m ^ R ∨ \hat mR^\vee m^R R R R 的一个加法子群。

在这里插入图片描述

因此,我们可以将 R ∨ R^\vee R 映射到 R R R 中,

  1. 对于任意的 x ∈ R ∨ x \in R^\vee xR,都有 m ^ ⋅ x ∈ R \hat m \cdot x \in R m^xR
  2. 如果 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,xm1,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,k0,i1,就有:

在这里插入图片描述

并且 ∥ B ∥ 1 = 2 \|B\|_1 = 2 B1=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 αqw(mlogm ),忽略后面的复杂因子。根据 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=etmR。不过,存在更加高效的算法来计算它:利用 [LPR13] 的 decoding basis 和相关算法,可高效地采样 R ∨ R^\vee R 球形高斯分布;我们将它们扭曲到 R R R 上,依然保持性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/167409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

thinkphp6生成PDF自动换行

composer安装 composer require tecnickcom/tcpdf 示例 use TCPDF;public function info($university,$performance,$grade,$major){//获取到当前域名$domain request()->domain();//实例化$pdf new TCPDF(P, mm, A4, true, UTF-8, false);// 设置文档信息$pdf->SetCr…

Azkaban极简使用文档

登录 地址: http://服务器ip:8081/, 用户名密码默认都是azkaban 构建项目流程 添加Project 编写工作流文件 在本机新建文件夹如test, 创建一个flow20.project 文件, 内容 azkaban-flow-version: 2.0(固定步骤)编写flow文件, 例如一个最基础的实例 test1.flow nodes:- name…

JAVA序列化和反序列化

JAVA序列化和反序列化 文章目录 JAVA序列化和反序列化序列化什么是序列化?为什么要进行序列化?如何将对线进行序列化具体实现过程 完整代码 序列化 什么是序列化? 就是将对象转化为字节的过程 为什么要进行序列化? 让数据更高效的传输让数据更好的…

Vue中的$nextTick

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue中的$nextTick 目录 🐋Vue中的$nextTick有什么作用? 🐋一、…

socket can中是如何根据 结构体can_bittiming_const中的字段 计算bitrate的?

在 SocketCAN 中,can_bittiming_const 结构体用于表示 CAN 总线的定时参数,包括位率(bitrate)的计算。can_bittiming_const 包含了许多与位率相关的参数,其中一些参数用于计算实际的位率。 下面是一些与位率计算相关的…

小辰的智慧树(差分+前缀和)

登录—专业IT笔试面试备考平台_牛客网 1.考虑总长度之和不能超过m,2考虑限制每棵树高度不能低于ci,如果用二分最短输能截到的高度,还要另外去判断,是否每棵树mid都能严格大于ci ,这样容易超时,换个角度&…

SQL常见函数整理 _ lead() 向下偏移

1. 用法 是在窗口函数中使用的函数,它用于获取当前行的下一行(后一行)的某个列的值。具体来说,LEAD() 函数可用于查找任何给定行的下一行(后一行)的值,同时也可控制行数偏移量(offse…

竞赛选题 题目:基于LSTM的预测算法 - 股票预测 天气预测 房价预测

文章目录 0 简介1 基于 Keras 用 LSTM 网络做时间序列预测2 长短记忆网络3 LSTM 网络结构和原理3.1 LSTM核心思想3.2 遗忘门3.3 输入门3.4 输出门 4 基于LSTM的天气预测4.1 数据集4.2 预测示例 5 基于LSTM的股票价格预测5.1 数据集5.2 实现代码 6 lstm 预测航空旅客数目数据集预…

社交媒体广告数据采集:Jsoup 的最佳实践

搜狐是中国领先的综合门户网站之一,广告在其网站上广泛投放。为了了解搜狐广告的策略和趋势,采集和分析搜狐广告数据变得至关重要。但是,搜狐网站的广告数据通常需要通过网页抓取的方式获取,这就需要一个强大的工具来解析和提取数…

用友BIP与用友BIP对接集成销售出库列表查询连通销售出库单个保存((红字)销售出库审核-v)

用友BIP与用友BIP对接集成销售出库列表查询连通销售出库单个保存((红字)销售出库审核-v) 源系统:用友BIP 面向数智化市场,用友倾力打造了全球领先的数智商业创新平台——用友BIP,定位为数智商业的应用级基础设施、企业服务产业的共…

pat实现基于邻接矩阵表示的深度优先遍历

void DFS(Graph G, int v) {visited[v] 1;printf("%c ", G.vexs[v]);for (int i 0; i < G.vexnum; i) {if (!visited[i] && G.arcs[v][i]) DFS(G, i);} }

SpectralGPT: Spectral Foundation Model 论文翻译2

遥感领域的通用大模型 2023.11.13在CVPR发表 原文地址&#xff1a;[2311.07113] SpectralGPT: Spectral Foundation Model (arxiv.org) 实验 ​ 在本节中&#xff0c;我们将严格评估我们的SpectralGPT模型的性能&#xff0c;并对其进行基准测试SOTA基础模型&#xff1a;ResN…

03.依赖倒置原则(Dependence Inversion Principle)

概述 高层模块不应依赖低层模块&#xff0c;二者都应该依赖其抽象。而抽象不应依赖细节&#xff0c;细节应该依赖抽象。依赖倒置原则的中心思想其实就是面向接口编程。 相对于细节的多变性&#xff0c;抽象的东西会稳定的多&#xff0c;所以以抽象为基础搭建的架构自然也会比以…

EMG肌肉电信号处理合集(二)

本文主要展示常见的肌电信号特征的提取说明。使用python 环境下的Pysiology计算库。 目录 1 肌电信号第一次burst的振幅&#xff0c; getAFP 函数 2 肌电信号波长的标准差计算&#xff0c;getDASDV函数 3 肌电信号功率谱频率比例&#xff0c;getFR函数 4 肌电信号直方图…

华清远见嵌入式学习——网络编程——小项目

项目要求&#xff1a; 代码实现&#xff1a; 服务器端&#xff1a; #include <myhead.h>//定义协议包 struct proto {char type;char name[20];char text[128]; };int main(int argc, const char *argv[]) {//判断从终端输入的字符串的个数if(argc ! 3){printf("…

无需API开发,钱方QFPay连接营销系统和广告推广平台

随着电子商务市场的不断发展&#xff0c;企业需要集成各种业务系统&#xff0c;以提高业务效率和降低运营成本。钱方QFPay提供了一种创新的解决方案&#xff0c;帮助企业实现系统间的连接和集成&#xff0c;无需进行复杂的API开发。除了电商系统和客服系统&#xff0c;钱方还能…

mysql:修改密码的几种方式

背景 当我们 brew install mysql 新安装 mysql 的时候&#xff0c;是没有密码的&#xff0c;我们可以直接通过 mysql -u root 连接上。但是密码还是要设置的&#xff0c;一是为了安全&#xff0c;二是有些数据库软件如 Sequel 连接都是必须要密码的&#xff0c;接下来我们来看…

电磁建模的分布式并行计算技术

本文提出了一种新的分布式并行电磁建模技术&#xff0c;以加快电磁结构的神经网络建模过程。现有的电磁建模技术通常需要反复改变微波器件的参数&#xff0c;驱动电磁模拟器以获得足够的训练和测试样本。随着电磁建模问题复杂性的增加&#xff0c;由于单台计算机的性能有限&…

机器学习【00】pycharm使用远程服务器

我们使用conda在服务器上创建虚拟环境&#xff0c;远程使用pycharm进行编程 pycharm版本2023.1.3 一.首先在服务器上创建虚拟环境 注&#xff1a;anaconda的安装可以参考ubuntu系统miniconda的安装 conda create --name tac python3.7二.pycharm 连接 点击add interpreter …

查企业联系电话的方法

对于销售来说&#xff0c;获取准确、全面的企业联系方式&#xff0c;无疑是开发客户的基础与保障&#xff0c;因为任凭能力再高&#xff0c;说服能力多强&#xff0c;没有与客户接触的机会&#xff0c;这些都是无稽之谈。但是大家都知道&#xff0c;道理都懂&#xff0c;但是要…