求域上多项式的逆元

问题描述

设域 F = Z p [ x ] f ( x ) \mathbb{F}=\mathbb{Z}_p[x]_{f(x)} F=Zp[x]f(x),其中 f ( x ) f(x) f(x) Z p \mathbb{Z}_p Zp上的不可约多项式,多项式 g ( x ) ∈ F g(x)\in\mathbb{F} g(x)F,求 g ( x ) g(x) g(x) F \mathbb{F} F上的逆元。

求逆过程

先做辗转相除法:令 r 0 = f ( x ) , r 1 = g ( x ) r_0=f(x),r_1=g(x) r0=f(x),r1=g(x)
r 0 = r 1 q 1 + r 2   … … 1 r 1 = r 2 q 2 + r 3   … … 2 … r n − 2 = r n − 1 q n − 1 + r n   … … n − 1 r n − 1 = r n q n + r n + 1   , 其 中 r n + 1 = 0   … … n \begin{aligned} r_0&=r_1q_1+r_2\ \dots\dots1\\ r_1&=r_2q_2+r_3\ \dots\dots2\\ &\dots\\ r_{n-2}&=r_{n-1}q_{n-1}+r_n\ \dots\dots n-1\\ r_{n-1}&=r_nq_n+r_{n+1}\ ,其中r_{n+1}=0\ \dots\dots n \end{aligned} r0r1rn2rn1=r1q1+r2 1=r2q2+r3 2=rn1qn1+rn n1=rnqn+rn+1 ,rn+1=0 n

方法1:

因为 s ( x ) f ( x ) + t ( x ) g ( x ) = ( f ( x ) , g ( x ) ) s(x)f(x)+t(x)g(x)=(f(x), g(x)) s(x)f(x)+t(x)g(x)=(f(x),g(x)),当 ( f ( x ) , g ( x ) ) = 1 (f(x),g(x))=1 (f(x),g(x))=1时有:
( t ( x ) g ( x ) ) f ( x ) = ( 1 − s ( x ) f ( x ) ) f ( x ) = 1 (t(x)g(x))_{f(x)}=(1-s(x)f(x))_{f(x)}=1 (t(x)g(x))f(x)=(1s(x)f(x))f(x)=1所以 t ( x ) t(x) t(x)即为 g ( x ) g(x) g(x)在域 F \mathbb{F} F上的逆元。

求域上多项式的逆元_第1张图片

其中 b i = b i − 2 − b i − 1 ∗ q n − i b_i=b_{i-2}-b_{i-1}*q_{n-i} bi=bi2bi1qni t ( x ) = b n − 1 t(x)=b_{n-1} t(x)=bn1

方法2:

b 1 = q n − 1 b_1=q_{n-1} b1=qn1,计算:

求域上多项式的逆元_第2张图片

其中 b i = b i − 2 + b i − 1 ∗ q n − i b_i=b_{i-2}+b_{i-1}*q_{n-i} bi=bi2+bi1qni
  当 n n n为奇数时, t ( x ) = b n − 1 t(x)=b_{n-1} t(x)=bn1
  当 n n n为偶数时, t ( x ) = − b n − 1 t(x)=-b_{n-1} t(x)=bn1

你可能感兴趣的:(信安数学基础)