Fermat数和一类极大周期序列的2-adic复杂度
王艳, 李顺波, 赵松, 薛改娜     
西安建筑科技大学 理学院, 西安 710055
摘要

发现了Fermat数和由单圈T函数生成的极大周期序列的关系,利用Fermat数的素性理论研究了单圈T函数生成的第k位序列,按状态输出序列的2-adic复杂度取值和界.结果表明,单圈T函数序列生成的这2种序列不能形成l序列.

关键词: Fermat数     序列     2-adic复杂度     单圈T函数    
中图分类号:TN918.1 文献标志码:A 文章编号:1007-5321(2018)02-0081-05 DOI:10.13190/j.jbupt.2017-158
Fermat Number and 2-Adic Complexity of a Class of Maximum Period Sequence
WANG Yan, LI Shun-bo, ZHAO Song, XUE Gai-na     
Department of Mathematics, Xi'an University of Architecture and Technology, Xi'an 710055, China
Abstract

The relationship between the Fermat number and the T function generated by single cycle T-function's maximal periodic sequence were found. The 2-adic complexity of the kth coordinate sequence and the state output sequence were studied. Values and bounds of the 2-adic complexity were obtained. It is shown that the two sequences generated by the single cycle T-function cannot form l-sequences.

Key words: Fermat number     sequence     2-adic complexity     single circle T-function    

法国数学家Pierre de Fermat于1640年提出了形如Fn=22n+1的数(后人称Fermat数)为素数的猜想,但Euler于1732年在研究该问题时发现F5为合数,此后关于Fermat数的研究持续了几个世纪. Fermat数在二进制计算机算法、二元序列的复杂度等研究中都有重要应用.

Lenstra等[1-2]利用Fermat数的素性和分解问题给出了一类由单圈T函数生成的极大周期序列,即第k位序列的2-adic复杂度,给出了该类序列由带进位的反馈移位寄存器(FCSR,feedback with carry shift register)的生成级数,并由此研究了单圈T函数按状态输出序列的2-adic复杂度,给出了其2-adic复杂度的估计.

1 预备知识 1.1 Fermat数

定义1  称形如22n+1(n=0, 1, 2, …)的数为Fermat数,记作Fn.

对Fermat数的因子分解问题,有如下结论[3]

1) F0F1F2F3F4为素数;

2) F5~F11为合数,且人们对这些Fermat数已全部找到了素因子分解;

3) 对F12F13F15F16F17F18F19F21F23已经找到部分因子;

4) 对F14F20F22F24已证明为合数,但未找到因子;

5) F0F1F2F3Fn=Fn+1-2;

6) 任意2个Fermat数FmFn(mn)互素,即

$ \left( {{F}_{m}}, {{F}_{n}} \right)=1 $

引理1[3]  若2m+1是素数,则m=2n;反之不真.

引理2[3]  当n≥2时,Fn的素因数必为形式

$ p={{2}^{n+2}}h+1\ \ \left( h\in \mathbb{N} \right) $

引理3[3]  Fermat合数除641外,没有其他小于106的因子.

引理4[3]  形如4t+3(t≥1)的素数均不为Fermat数的因子.

1.2 序列的2-adic复杂度

考虑到线性移位寄存器容易被攻击的问题,Klapper等[4-5]提出了FCSR.一个FCSR由r个系数q1, q2, …, qr, (qi∈{0, 1},i=1, 2…, r)以及一个初始存储整数mr-1(可为任意整数)确定.其结构如图 1所示.

图 1 r级FCSR结构

记FCSR的任一个状态为(an-1, an-2, …, an-r), ai∈{0, 1},存储整数为mn-1,则移位寄存器的运算为

A1:计算${{\delta }_{n}}=\sum\limits_{k=1}^{r}{{{q}_{k}}{{a}_{n-k}}+{{m}_{n-1}}}$

A2:右移一位,输出寄存器最右端的an-r

A3:令an=δn(mod 2),将其放入寄存器的最左端;

A4:令mn=(δn-an)/2=$\left\lfloor {{\sigma }_{n}}/2 \right\rfloor $.

引理5[4]  设x为最终周期序列.则$\alpha =\sum\limits_{i=0}^{\infty }{{{x}_{i}}{{2}^{i}}}$是2个整数的商p/q,其中q为生成x的FCSR的连接整数.进而x是严格周期序列,当且仅当1≤α≤0.

这说明每一个最终周期序列都可以由一个FCSR产生.反过来,下面的结果说明所有由FCSR生成的序列也都是最终周期的.

引理6[6]  设序列x由FCSR生成,qx的连接整数,则x为最终周期序列,且存在整数p使得$\alpha =\sum\limits_{i=0}^{\infty }{{{x}_{i}}{{2}^{i}}=p/q}$.

x为最终周期序列,q为生成x的FCSR的连接整数,则称qx的一个连接整数.称x的连接整数中的最小的那个为x的极小连接整数.

下面的结果给出连接整数满足的性质:

引理7[6]  设x为严格周期二元序列,qx的极小连接整数,则q′为x的一个连接整数当且仅当q′可被q整除.

引理8[6]  设x为严格周期序列,Tx的周期,则x的极小连接整数q满足q≤2T-1.

FCSR序列的周期完全由其极小连接整数确定.类似于线性复杂度,2-adic复杂度衡量一个周期序列需要用多大的FCSR来生成. 2-adic复杂度定义如下.

定义2[6]  设x为严格周期序列,$\sum\limits_{i=0}^{\infty }{{{x}_{i}}{{2}^{i}}=p/q}$,其中gcd (p, q)=1,称ϕ2(x)=lb(Φ(p, q))为x的2-adic复杂度,其中Φ(p, q)=max(|p|, |q|).

2-adic复杂度度量一个二元序列由FCSR[4]生成的难度,它与线性复杂度没有必然的联系,即具有高线性复杂度的序列,其2-adic复杂度可能会很低,反之亦然. Klapper提出了有理逼近算法,即对一条固定序列,只要已知其约2倍2-adic复杂度比特,就能唯一确定原序列.这就要求密钥序列必须具有较高的2-adic复杂度,才能有效抵抗有理逼近攻击.

引理9[6]  设x为严格周期二元序列,极小连接数为q,则x的2-adic复杂度为ϕ2(x)=lb q.

1.3 单圈T函数及其生成序列

F2为二元域,F2nF2上的n维向量空间,其中n为正整数,称x=(x0, x1, …, xn-1)∈F2n为一个n长单字.在剩余类环Z/(2n)中,x可被表示成$\sum\limits_{j=0}^{n-1}{{{x}_{i}}{{2}^{i}}}$.称x =(x0, …, xm-1)TF2m×n为一个多字,其中每一个xi(i=0, 1, …, m-1)为n长单字,显然,多字x也可被看作一个m×n矩阵.

定义3[7-10]  设映射f:F2m×nF2l×nf(x)= x,其中xy是多字.若输出y的第i列只与输入x的第0,1,…,i(0≤in)列有关,则称f为一个T函数.当m=l=1时,称f为一个单字T函数;反之称其为多字T函数.注意,后面出现的T函数均指单字T函数,其相应性质都可推广到多字T函数中.

x0为初始状态,T函数f:F2nF2n为状态转移函数,即f(xi)= xi+1,于是可得f的状态序列{xi}i≥0.若序列{xi}i≥0的极小周期为N =2n,则称f是单圈的.

定义“+”为域上的加法,“⊕”为模2加法.称由xik位形成的序列{xi, k}i=02n-1(0≤kn)为xi的第k位序列,记为xk.由文献[11-12]知,xk的周期为Nk=2k+1,且

$ {{x}_{i+{{N}_{k}}/2, k}}={{x}_{i, k}}\oplus 1 $ (1)

T函数f(x)也可被表示为向量布尔函数,即f(x)=(f0(x), f1(x), …, fn-1(x)),其中每一个分量函数fk(x) (0≤kn)称为第k位布尔函数,其取值只与x的前k位有关[11].据定义3可知,第k位序列即为第k位分量布尔函数的输出序列.

2 单圈T函数序列的2-adic复杂度

引理10  设f:F2nF2n为单圈T函数,其状态序列{xi}i≥0的第k位序列{xi, k}i=02n-1(0≤kn)的极小连接整数q满足q≤22k+1-1.

该结果可由引理9获得.

定理1  设f:F2nF2n为单圈T函数,其状态序列{xi}i≥0的第k位序列sk$\triangleq ${xi, k}i=02n-1(0≤kn)的2-adic复杂度ϕ2(sk)满足:

1) k=0, 1, 2, 3, 4时,ϕ2(sk)=lbFk,其中Fk为第k个Fermat数;

2) k≥5时,若Fk=p1p2pt,记sk的后1/2序列对应的十进制数$\sum\limits_{i={{2}^{n-1}}}^{2n-1}{{{x}_{i, k}}{{2}^{i-{{2}^{n-1}}}}}$的因子集合为P,并记P∩{p1, p2, …, pt}={pj1, pj2, …, pju},则${{\phi }_{2}}\left( {{s}_{k}} \right)=\text{lb}\frac{{{F}_{k}}}{{{p}_{j1}}{{p}_{j1}}\cdots {{p}_{ju}}}$.

证明  根据2-adic复杂度的定义,需讨论

$ \begin{align} &\sum\limits_{i=0}^{\infty }{{{x}_{i}}{{2}^{i}}=\frac{\sum\limits_{i=0}^{T-1}{{{x}_{i}}{{2}^{i}}}}{1-{{2}^{T}}}}=-\frac{\sum\limits_{i=0}^{{{2}^{k+1}}-1}{{{x}_{i}}{{2}^{i}}}}{{{2}^{{{2}^{k+1}}}}-1}= \\ &\ \ \ \ \ \ \ \ \ \ \ \ \ -\frac{\sum\limits_{i=0}^{{{2}^{k+1}}-1}{{{x}_{i}}{{2}^{i}}}}{\left( {{2}^{{{2}^{k}}}}-1 \right)\left( {{2}^{{{2}^{k}}}}+1 \right)} \\ \end{align} $ (2)

由单圈T函数的性质,式(2)中分子可表示为

$ \begin{align} &\sum\limits_{i=0}^{{{2}^{k+1}}-1}{{{x}_{i}}{{2}^{i}}}=\sum\limits_{i=0}^{{{2}^{k}}-1}{\left( {{x}_{i, k}}{{2}^{i}}+{{x}_{i+{{2}^{k}}, k}}{{2}^{i+{{2}^{k}}}} \right)}= \\ &\ \ \ \sum\limits_{i=1}^{{{2}^{k}}-1}{\left[{{x}_{i, k}}{{2}^{i}}+\left( {{x}_{i, k}}\oplus 1 \right){{2}^{i+{{2}^{k}}}} \right]} \\ \end{align} $ (3)

考虑到{xi, xi⊕1}={0, 1},记S={i|xi+2k, k=1, 0≤i≤2k-1},设|S|=m,则S也可简记为{i1, i2, …, im},其中i1i2<…<im,于是式(3)可表示为

$\begin{align} &\ \ \ \ \sum\limits_{i=1}^{{{2}^{k}}-1}{\left[{{x}_{i, k}}{{2}^{i}}+\left( {{x}_{i, k}}\oplus 1 \right){{2}^{i+{{2}^{k}}}} \right]}= \\ &\ \ \sum\limits_{i=1}^{{{2}^{k}}-1}{\left( 1\cdot {{2}^{i}} \right)}+\sum\limits_{i=1, i\in S}^{{{2}^{k}}-1}{{{x}_{i, k}}\left( {{2}^{i+{{2}^{k}}}}-{{2}^{i}} \right)}= \\ &({{2}^{{{2}^{k}}}}-1)+({{2}^{{{2}^{k}}}}-1)({{2}^{{{i}_{1}}}}+{{2}^{{{i}_{2}}}}+\cdots +{{2}^{{{i}_{m}}}})= \\ &\ \ \ \ \ ({{2}^{{{2}^{k}}}}-1)(1+{{2}^{{{i}_{1}}}}+{{2}^{{{i}_{2}}}}+\cdots +{{2}^{{{i}_{m}}}})~ \\ \end{align} $

因而式(1)成为

$ \frac{1+{{2}^{{{i}_{1}}}}+{{2}^{{{i}_{2}}}}+\cdots +{{2}^{{{i}_{m}}}}}{{{2}^{{{2}^{k}}}}+1} $ (4)

而式(4)分母恰好为第k个Fermat数,记作Fk,由文献[1-3]可知,前5个Fermat数F0=3,F1=5,F2=17,F3=257,F4=65 537均为素数,由引理10知ϕ2(sk)=lbFk.

k≥5时,由文献[1-2]可知,在目前可计算范围内Fk为合数,且皆为一次因子,记Fk=p1p2pt,则问题转化为求式(4)的最简分数.记sk的后1/2序列对应的十进制数$\sum\limits_{i={{2}^{n-1}}}^{{{2}^{n}}-1}{{{x}_{i, k}}{{2}^{i-{{2}^{n-1}}}}}$的因子集合为P,并记P∩{p1, p2, …, pt}={pj1, pj2, …, pju},则式(4)的最简分数为

$\frac{\frac{1+{{2}^{{{i}_{1}}}}+{{2}^{{{i}_{2}}}}+\cdots +{{2}^{{{i}_{m}}}}}{~{{p}_{{{j}_{1}}}}{{p}_{{{j}_{2}}}}\cdots {{p}_{{{j}_{u}}}}}}{\frac{{{F}_{k}}}{{{p}_{{{j}_{1}}}}{{p}_{{{j}_{2}}}}\ldots {{p}_{{{j}_{u}}}}}} $

因而ϕ2(sk)=lb$\frac{{{F}_{k}}}{{{p}_{{{j}_{1}}}}{{p}_{{{j}_{2}}}}\ldots {{p}_{{{j}_{u}}}}}$.特别地,sk的后1/2序列对应的十进制数$\sum\limits_{i={{2}^{n-1}}}^{{{2}^{n}}-1}{{{x}_{i, k}}{{2}^{i-{{2}^{n-1}}}}}$恰为Fk的某个因子pi时,ϕ2(sk)= $ \text{lb}\frac{{{F}_{k}}}{{{p}_{i}}}$.

推论1  设f:F2nF2n为单圈T函数,其状态序列{xi}i≥0的第k位序列为sk$\triangleq ${xi, k}i=02n-1(2≤kn).则当式(4)中1+2i1+2i2+…+2im≠2n+2h+1(hN)时,ϕ2(sk)=lbFk.

证明  由引理2可知,当n≥2时,Fn的素因数必为形式p=2n+2h+1(hN),于是对满足

$ 1+{{2}^{{{i}_{1}}}}+{{2}^{{{i}_{2}}}}+\cdots +{{2}^{{{i}_{m}}}}\ne {{2}^{n+2}}h+1 $

的单圈T函数k位序列,式(4)为既约分式,故ϕ2(sk)=lbFk.

推论2  设f:F2nF2n为单圈T函数,其状态序列{xi}i≥0的第k位序列为sk$\triangleq ${xi, k}i=02n-1(6≤kn),则当$\underset{{{i}_{j}}\in S}{\mathop{\text{max}}}\, \ {{i}_{j}}={{i}_{m}}\le 19$时,ϕ2(sk)=lbFk.

证明  由引理3可知,当im<lb 106≈19.93时,式(4)分母的因子都大于106.此时式(4)的分子1+2i1+2i2+…+2im≤106.于是式(4)为既约分式,故ϕ2(sk)=lbFk.

推论3  设f:F2nF2n为单圈T函数,其状态序列{xi}i≥0的第k位序列为sk$\triangleq ${xi, k}i=02n-1(6≤kn),则当式(4)中1+2i1+2i2+…+2im为二进制形如…112的素数时,ϕ2(sk)=lbFk.

证明  由引理4可知,形如4t+3(t≥1)的素数,即二进制形如…112的素数均不是Fermat数的因子.因而式(4)为既约分式,故ϕ2(sk)=lbFk.

进一步,对单圈T函数的第k位序列,有定理2.

定理2  设f:F2nF2n为单圈T函数,其状态序列{xi}i≥0的第k位序列sk(0≤kn)的周期为T,则ϕ2(sk)<Tϕ(q)<2T/2 (k=0, 1, 2, …,13),其中qsk的极小连接整数,φ(q)为q的欧拉函数值.

证明

1) 由定理1可知

$ {{\phi }_{2}}({{s}_{k}})\le \text{lb}({{2}^{{{2}^{k}}}}+1)<\text{lb}{{2}^{{{2}^{k}}}}{{2}^{{{2}^{k}}}}={{2}^{k+1}}=T~ $

2) 当k=0, 1, 2, …,4时,22k+1为素数

$ \varphi \left( q \right)=\varphi ({{2}^{{{2}^{k}}}}+1)={{2}^{{{2}^{k}}}}\ge {{2}^{k+1}}=T $ (5)

式(5)中等号成立,当且仅当k=0, 1.

当5≤k≤13时,由Fk的分解式[1-2]可知,所有的φ(q)>2k+1=T.

3) 由定理1的证明知,序列sk的极小连接整数q≤1+22k=1+2T/2;同时,φ(q)≤q-1对所有整数q都成立.因而,φ(q)<2T/2.

对于单圈T函数的按状态输出序列,其周期较大,相应的2-adic复杂度由定理3给出.

定理3  设f:F2nF2n为单圈T函数,其状态序列为S,则S具有最大2-adic复杂度lb(2n·2n-1+1).

证明  记按状态输出序列为

$ \begin{align} &S={{\{{{x}_{i, k}}\}}_{0\le i\le {{2}^{n}}-1, 0\le k\le n-1}}\triangleq {{\{{{s}_{j}}\}}_{0\le j\le n\text{ }\cdot {{2}^{n}}-1}}, 考查 \\ &\sum\limits_{i=0}^{\infty }{{{x}_{i}}{{2}^{i}}=\frac{\sum\limits_{i=0}^{T-1}{{{x}_{i}}{{2}^{i}}}}{1-{{2}^{T}}}}=-\frac{\sum\limits_{i=0}^{n-1}{\sum\limits_{j=0}^{{{2}^{n}}-1}{{{x}_{i, j}}}{{2}^{j+i\cdot {{2}^{n}}}}}}{1-{{2}^{T}}} \\ \end{align} $ (6)

根据单圈T函数生成序列的性质,若xi, j=1,式(6)的分子前半部分的和为

$ \sum\limits_{i=0}^{n-1}{\sum\limits_{j=0}^{{{2}^{n}}-1}{1\times }{{2}^{j+i\cdot {{2}^{n}}}}={{2}^{n\cdot {{2}^{n-1}}}}-1} $

S的后半部分序列中非0位置的下标为t1, t2, …, tu,则式(6)的分子后半部分的和为(2n·2n-1-1)×(2t1+2t2+…+2tt),故式(6)的分子等于(2n·2n-1-1)(1+2t1+2t2+…+2tt),式(6)可约分为

$ \frac{1+{{2}^{{{t}_{1}}}}+{{2}^{{{t}_{2}}}}+\cdots +{{2}^{{{t}_{t}}}}}{1+{{2}^{n\cdot {{2}^{n-1}}}}}~ $

因而S的最大2-adic复杂度为lb(2n·2n-1+1).

S的2-adic复杂度ϕ2(S)依赖于数2n·2n-1+1的分解,当n=2m时,这依然是Fermat数的分解问题;n≠2m且较大时,这对应大整数分解问题.

推论4  设f:F2nF2n为单圈T函数,其状态序列S$\triangleq ${xi}i≥0的周期为T,则S的最大2-adic复杂度max ϕ2(S)满足

$ \frac{T}{2}<\text{max}\ {{\phi }_{2}}\left( S \right)<\frac{T}{2}+1~ $

证明  由

$ \begin{align} &\text{max}\ {{\phi }_{2}}\left( S \right)=\text{lb}({{2}^{n\cdot {{2}^{n-1}}}}+1)>\text{lb}~{{2}^{n\cdot {{2}^{n-1}}}}=\frac{T}{2} \\ &\ \ \ \ \text{lb}({{2}^{n\text{ }\cdot {{2}^{n-1}}}}+1)<\text{lb}2\times {{2}^{n\text{ }\cdot {{2}^{n-1}}}}=\frac{T}{2}+1 \\ \end{align} $

可得.

对单圈T函数的按状态输出序列,引理8的结果可改进为推论5.

推论5  设f:F2nF2n为单圈T函数,其状态序列S={xi}i≥0的周期为TqS的极小连接整数,则φ(q)<2T/2.

证明  一方面,由定理3可知,序列S的最大连接整数q≤1+2n·2n-1=1+2T/2;另一方面,φ(q)≤q-1对所有整数q都成立.因此,φ(q)<2T/2.

推论6  设f:F2nF2n为单圈T函数,其状态序列S={xi}i≥0的周期为TqS的极小连接整数,则不等式

$ T<\varphi \left( q \right) $

在域FF22F24F25F26F27F28F216F232中成立.

f:F2nF2n(n=1, 2, 4, 5, 6, 7, 8, 16, 32),可以通过计算T和min{φ(qi)}(qi为2n2n-1+1的素因子)的值比较得到Tφ(q).

在分组密码高级加密标准(AES, advanced encryption standard)中,密钥在F27F28中取得,流密码SOBER、LEVIARHAN等中,密钥在F216F232中取得,而推论6表明,单圈T函数状态序列在这些域中不是l序列.

3 结束语

单圈T函数生成序列因其具有极大周期、好的游程分布、能将0作为初始状态等优点,受到了密码设计者的广泛关注. FCSR是一类可用于序列密码设计的非线性序列发生器,序列的2-adic复杂度反映了序列由FCSR生成的级数.通过分析单圈T函数生成的第k位序列和状态序列各位之间的关系,利用Fermat数理论,给出了这2种序列低位序列的2-adic复杂度的值和高位序列2-adic复杂度的估值,从FCSR生成的角度,揭示了单圈T函数序列的特性.结果表明,与文献[6, 12]的结果对比,尽管单圈T函数生成序列达到了最大周期并具有高的线性复杂度,但远没有达到最大2-adic复杂度,不是l序列.

参考文献
[1] Lenstra A K, Lenstra H W, JR, Manasse M S, et al. The factorization of the ninth Fermat number[J]. Mathematics of Computation, 1993, 61(203): 319–349. doi: 10.1090/S0025-5718-1993-1182953-4
[2] Brent R P. Factorization of the tenth and eleventh Fermat numbers[J]. Mathematics of Computation, 2000, 68(154): 627–630.
[3] 贾耿华. 关于费马数的研究[D]. 成都: 成都理工大学, 2006. http://cdmd.cnki.com.cn/Article/CDMD-10616-2006139515.htm
[4] Klapper A, Goresky M. 2-adic shift registers[C]//Fast Software Encryption. Leuven: Springer, 1994: 174-178.
[5] Klapper A, Goresky M. Feedback shift registers, 2-adic span, and combiners with memory[J]. Journal of Cryptology, 1997, 10(2): 111–147. doi: 10.1007/s001459900024
[6] Tian Tian, Qi Wenfeng. 2-adic complexity of binary m -sequences[J]. IEEE Transactions on Information Theory, 2010, 56(1): 450–454. doi: 10.1109/TIT.2009.2034904
[7] Klimov A, Shamir A. A new class of invertible mappings[C]//CHES 2002. London: Springer, 2003: 470-483.
[8] Klimov A, Shamir A. Cryptographic applications of T-functions[C]//SAC 2003. Ottawa: Springer, 2003: 248-261.
[9] Klimov A, Shamir A. New cryptographic primitives based on multiword T functions[C]//FSE 2004. Delhi: Springer, 2004: 1-15.
[10] Klimov A. Applications of T-functions in cryptography[D]. Rehovot: Weizmann Institute of Science, 2005. http://lib-phds1.weizmann.ac.il/vufind/Record/000099996
[11] Kolokotronis N. Cryptographic properties of nonlinear pseudorandom number generators[J]. Designs, Codes and Cryptography, 2008, 46(3): 353–363. doi: 10.1007/s10623-007-9164-4
[12] Wang Yan, Hu Yupu, Li Shunbo, et al. Linear complexity of sequences produced by single cycle T-function[J]. The Journal of China Universities of Posts and Telecommunications, 2011, 18(4): 123–128. doi: 10.1016/S1005-8885(10)60094-5