近世代数

近世代数理论基础39:线性递归序列

2019-03-17  本文已影响0人  溺于恐

线性递归序列

k阶线性递归序列

计算机中信息表示为0,1序列,且运算为模2运算,故可将序列中的元看作域F_2=\Z_2中的元

k\in Z_+,F_2中的一个序列s_0,s_1,s_2,\cdots满足:

s_n=c_1s_{n-1}+c_2s_{n-2}+\cdots+c_ks_{n-k},n\ge k,其中c_1,c_2,\cdots,c_{k-1}\in F_2是一组给定元,c_k=1

则称之为一个k阶线性递归序列

s_0,s_1,\cdots,s_{k-1},称为初始值,初始值给定后,序列后所有元均可生成

S(x)=s_0+s_1x+s_2x^2+\cdots,称为线性递归序列的生成函数

f(x)=1+c_1x+c_2x^2+\cdots+c_kx^k\in F_2[x]​,称为该序列的联结多项式

f(x)S(x)=(1+c_1x+c_2x^2+\cdots+c_kx^k)(s_0+s_1x+s_2x^2+\cdots)​

=s_0+(s_1+c_1s_0)x+\cdots+(s_n+c_1s_{n-1}+c_2s_{n-2}+\cdots+c_ks_{n-k})x^n+\cdots

=s_0+(s_1+c_1s_0)x+\cdots+(s_{k-1}+c_1s_{k-2}+c_2s_{k-3}+\cdots+c_{k-1}s_0)x^{k-1}

=g(x)

其中,由递推关系,x^k,x^{k+1},\cdots的系数为0,g(x)的次数\le k-1

S(x)={g(x)\over f(x)},令\widehat{f}(x)=x^kf({1\over x})=x^k+c_1x^{k-1}+\cdots+x+1

假设\alpha_1,\alpha_2,\cdots,\alpha_k\widehat{f}(x)F_2的扩域中的k个根

\widehat{f}(x)=(x-\alpha_1)(x-\alpha_2)\cdots(x-\alpha_k)

f(x)=x^k\widehat{f}({1\over x})=(1-\alpha_1x)(1-\alpha_2x)\cdots(1-\alpha_kx)

S(x)={g(x)\over f(x)}={g(x)\over (1-\alpha_1x)(1-\alpha_2x)\cdots(1-\alpha_kx)}

={\beta_1\over 1-\alpha_1x}+{\beta_2\over 1-\alpha_2x}+\cdots+{\beta_k\over 1-\alpha_kx}

=\beta_1\sum\limits_{i=0}^\infty(\alpha_1x)^i+\beta_2\sum\limits_{i=0}^\infty(\alpha_2x)^i+\cdots+\beta_k\sum\limits_{i=0}^k(\alpha_kx)^i

=\sum\limits_{i=0}^\infty(\beta_1\alpha_1^i+\beta_2\alpha_2^i+\cdots+\beta_k\alpha_k^i)x^i

比较系数可得

s_i=\beta_1\alpha_1^i+\beta_2\alpha_2^i+\cdots+\beta_k\alpha_k^i,i=0,1,2,\cdots

\widehat{f}(x)F_2上的k次不可约多项式,所有根可表为

\alpha_1=\alpha,\alpha_2=\alpha^2,\alpha_3=\alpha^{2^2},\cdots,\alpha_k=\alpha^{2^{k-1}},即\alphaF_{2^k}/F_2中所有共轭元

定义:设\xi\in F_{2^k},则称Tr_{F_{2^k}/F_2}(\xi)=\xi+\xi^2+\cdots+\xi^{2^{j-1}}\xi相对F_2的迹,简写作Tr(\xi)

{g(x)\over f(x)}={\beta_1\over 1-\alpha x}+{\beta_2\over 1-\alpha^2x}+\cdots+{\beta_k\over 1-\alpha^{2^{k-1}}x}

g(x),f(x)\in F_2[x],将上式两端的系数作用伽罗瓦自同构\xi\to \xi^2,\forall \xi\in F_{2^k}

{g(x)\over f(x)}={\beta_1^2\over 1-\alpha^2x}+{\beta_2^2\over 1-\alpha^{2^2}x}+\cdots+{\beta_k^2\over 1-\alpha x}

上式左端有理函数表达为有段的有理分式表示法唯一

\beta_2=\beta_1^2,\beta_3=\beta_1^{2^2},\cdots,\beta_k=\beta_1^{2^{k-1}}=Tr(\beta\alpha^i),称为线性递归序列的迹表达式

显然s_0,s_1,s_2,\cdots的周期为元\alpha的阶

\alpha^{p+i}=\alpha^i(i\ge 0),则s_{p+i}=s_i,当f(x)为本原多项式时,\alpha的阶为2^k-1,此时序列的周期为2^k-1,达到最大可能的周期,这类序列称为m序列

迹表达式是研究序列性质的有用工具

流密码

在数字通信中,任一信息都可用一个0,1序列m=(m_0,m_1,m_2,\cdots)表示,其中m_i=0或1,流密码的加密方法是取一个与m有相同长度的0,1序列K=(k_0,k_1,k_2,\cdots),将K与m按位模2相加:

c=m+K=(c_0,c_1,c_2,\cdots)

c_i\equiv m_i+k_i(mod\;2)

此时加密方和解密方需要知道相同的密钥序列K

线性递归常用于构造密钥序列K,所用的线性递归序列的性质将影响所生成的密钥序列的性质

但是线性递归序列并不能直接当作密钥序列,常采用一个非线性处理来提高序列的随机性

上一篇 下一篇

猜你喜欢

热点阅读