NTRU学习笔记

定义参数

( N , p , q ) (N,p,q) (N,p,q), L f , L g , L ϕ , L m \mathcal{L}_f,\mathcal{L}_g,\mathcal{L}_\phi,\mathcal{L}_m Lf,Lg,Lϕ,Lm N − 1 N-1 N1阶多项式,系数为整数。 p , q p,q p,q并不一定需要是质数,但要满足 g c d ( p , q ) = 1 , q > p gcd(p,q)=1,q>p gcd(p,q)=1,q>p,工作在环 R = Z [ X ] / ( X N − 1 ) R=\mathbb{Z}[X]/(X^N-1) R=Z[X]/(XN1),对于 F ∈ R F\in R FR,可记为 F = ∑ i = 0 N − 1 F i x i = [ F 0 , F 1 , . . . , F N − 1 ] F=\sum\limits_{i=0}^{N-1}F_ix^i=[F_0,F_1,...,F_{N-1}] F=i=0N1Fixi=[F0,F1,...,FN1]

秘钥生成

随机选择两个 f , g ∈ L g f,g\in \mathcal{L}_g f,gLg,满足
F q ∗ f ≡ 1 m o d    q , F p ∗ f ≡ 1 m o d    p . F_q*f\equiv1 \mod q,F_p* f\equiv 1 \mod p. Fqf1modq,Fpf1modp.
公钥为: h ≡ F q ∗ g m o d    q h\equiv F_q*g \mod q hFqgmodq,私钥为 f f f

加密

m ∈ L m m\in \mathcal{L}_m mLm
e ≡ p ϕ ∗ h + m m o d    q e\equiv p\phi*h+m \mod q eh+mmodq

解密

m = F p ∗ ( f ∗ e m o d    q ) m o d    p = F p ∗ ( f ∗ p ϕ ∗ h + f ∗ m m o d    q ) m o d    p = F p ∗ ( f ∗ p ϕ ∗ F q ∗ g + f ∗ m m o d    q ) m o d    p = F p ∗ ( p ϕ ∗ g + f ∗ m m o d    q ) m o d    p = m m o d    p \begin{align} m&=F_p*(f*e \mod q) \mod p\\ &=F_p*(f*p\phi*h+f*m \mod q)\mod p\\ &=F_p*(f*p\phi*F_q*g+f*m \mod q)\mod p\\ &=F_p*(p\phi*g+f*m \mod q)\mod p\\ &=m \mod p \end{align} m=Fp(femodq)modp=Fp(fh+fmmodq)modp=Fp(fFqg+fmmodq)modp=Fp(g+fmmodq)modp=mmodp
注意,合理的参数选择会使得极大概率 a = p ϕ ∗ g + f ∗ m a=p\phi*g+f*m a=g+fm的所有系数都在 [ − q / 2 , q / 2 ] [-q/2,q/2] [q/2,q/2]之间,即可以省去取模。

L m = { m ∈ R , 系数 [ − 1 2 ( p − 1 ) , 1 2 ( p − 1 ) ] } \mathcal{L}_m=\{m\in R,系数[-\frac{1}{2}(p-1),\frac{1}{2}(p-1)]\} Lm={mR,系数[21(p1),21(p1)]}
定义 L ( d 1 , d 2 ) = { F ∈ R : 有 d 1 个 1 , d 2 个 − 1 , 剩余为 0 } \mathcal{L}(d_1,d_2)=\{F\in R:有d_1个1,d_2个-1,剩余为0\} L(d1,d2)={FR:d11d21,剩余为0}

L f = L ( d f , d f − 1 ) , L g = L ( d g , d g ) , L ϕ = L ( d , d ) \mathcal{L}_f=\mathcal{L}(d_f,d_f-1),\mathcal{L}_g=\mathcal{L}(d_g,d_g),\mathcal{L}_\phi=L(d,d) Lf=L(df,df1),Lg=L(dg,dg),Lϕ=L(d,d).
∣ f ∣ 2 = 2 d f − 1 − N − 1 , ∣ g ∣ 2 = 2 d g , ∣ ϕ ∣ 2 = 2 d . |f|_2=\sqrt{2d_f-1-N^{-1}},|g|_2=\sqrt{2d_g},|\phi|_2=\sqrt{2d}. f2=2df1N1 ,g2=2dg ,ϕ2=2d .
则令 f ∈ L f , g ∈ L g , ϕ ∈ L ϕ f\in \mathcal{L}_f,g\in \mathcal{L}_g,\phi\in \mathcal{L}_\phi fLf,gLg,ϕLϕ

定义 ∣ F ∣ ∞ = max ⁡ 1 ≤ i ≤ N F i − min ⁡ 1 ≤ i ≤ N F i |F|_\infty=\max\limits_{1\le i\le N}{F_i}-\min\limits_{1\le i\le N}{F_i} F=1iNmaxFi1iNminFi, ∣ F ∣ 2 = ( ∑ i = 1 N ( F i − F ‾ ) 2 ) 1 / 2 |F|_2=(\sum\limits_{i=1}^{N}(F_i-\overline{F})^2)^{1/2} F2=(i=1N(FiF)2)1/2, F ‾ 为平均值 \overline{F}为平均值 F为平均值.

为了解密成功,需要满足如下条件:
∣ f ∗ m + p ϕ ∗ g ∣ ∞ < q . 为满足上述条件,令 ∣ f ∗ m ∣ ∞ ≤ q / 4   a n d ∣ p ϕ ∗ g ∣ ∞ ≤ q / 4. |f*m+p\phi*g|_\infty<q.\\ 为满足上述条件,令|f*m|_\infty\le q/4 \ and |p\phi*g|_\infty\le q/4. fm+g<q.为满足上述条件,令fmq/4 andgq/4.

NIST

round 1

三元多项式 是指系数在 { − 1 , 0 , 1 } \{-1,0,1\} {1,0,1}中的多项式
T \mathcal{T} T是一个度最大为 n − 2 n-2 n2的非0三元多项式
非负相关属性 , ∑ i v i v i + 1 ≥ 0 \sum_iv_iv_{i+1}\ge0 ivivi+10,即所有相临系数的积之和为非负数
T + \mathcal{T}_+ T+表示满足非负相关属性的 T \mathcal{T} T
T ( d ) \mathcal{T}(d) T(d)表示有 d 2 个 1 和 d 2 个 − 1 \frac{d}{2}个1和\frac{d}{2}个-1 2d12d1.

NTRU参数集

{ n , p , q , L f , L g , L r , L m , L i f t } \{n,p,q,\mathcal{L}_f,\mathcal{L}_g,\mathcal{L}_r,\mathcal{L}_m,Lift\} {n,p,q,Lf,Lg,Lr,Lm,Lift}, n , p , q n,p,q n,p,q为互质的正整数,
L f , L g , L r , L m \mathcal{L}_f,\mathcal{L}_g,\mathcal{L}_r,\mathcal{L}_m Lf,Lg,Lr,Lm为满足特定条件的多项式集合,
S 3 ‾ ( L i f t ( m ) ) = m \underline{S3}(Lift(m))=m S3(Lift(m))=m,其中, S 3 S3 S3表示多项式环的系数在 m o d 3 mod 3 mod3域上。
( p ⋅ r ⋅ g + f ⋅ L i f t ( m ) ) m o d   ( x n − 1 ) (p\cdot\mathbf{r}\cdot\mathbf{g}+\mathbf{f}\cdot Lift(\mathbf{m})) mod \ (x^n-1) (prg+fLift(m))mod (xn1)
上式的系数要在 [ − q / 2 , q / 2 − 1 ] [-q/2,q/2-1] [q/2,q/21]之间。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值