发现了Fermat数和由单圈T函数生成的极大周期序列的关系,利用Fermat数的素性理论研究了单圈T函数生成的第k位序列,按状态输出序列的2-adic复杂度取值和界.结果表明,单圈T函数序列生成的这2种序列不能形成l序列.
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.
法国数学家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) F0、F1、F2、F3、F4为素数;
2) F5~F11为合数,且人们对这些Fermat数已全部找到了素因子分解;
3) 对F12、F13、F15、F16、F17、F18、F19、F21、F23已经找到部分因子;
4) 对F14、F20、F22、F24已证明为合数,但未找到因子;
5) F0F1F2F3…Fn=Fn+1-2;
6) 任意2个Fermat数Fm、Fn(m≠n)互素,即
$ \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所示.
记FCSR的任一个状态为(an-1, an-2, …, an-r), ai∈{0, 1},存储整数为mn-1,则移位寄存器的运算为
A1:计算
A2:右移一位,输出寄存器最右端的an-r;
A3:令an=δn(mod 2),将其放入寄存器的最左端;
A4:令mn=(δn-an)/2=
引理5[4] 设x为最终周期序列.则
这说明每一个最终周期序列都可以由一个FCSR产生.反过来,下面的结果说明所有由FCSR生成的序列也都是最终周期的.
引理6[6] 设序列x由FCSR生成,q为x的连接整数,则x为最终周期序列,且存在整数p使得
设x为最终周期序列,q为生成x的FCSR的连接整数,则称q为x的一个连接整数.称x的连接整数中的最小的那个为x的极小连接整数.
下面的结果给出连接整数满足的性质:
引理7[6] 设x为严格周期二元序列,q为x的极小连接整数,则q′为x的一个连接整数当且仅当q′可被q整除.
引理8[6] 设x为严格周期序列,T为x的周期,则x的极小连接整数q满足q≤2T-1.
FCSR序列的周期完全由其极小连接整数确定.类似于线性复杂度,2-adic复杂度衡量一个周期序列需要用多大的FCSR来生成. 2-adic复杂度定义如下.
定义2[6] 设x为严格周期序列,
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为二元域,F2n为F2上的n维向量空间,其中n为正整数,称x=(x0, x1, …, xn-1)∈F2n为一个n长单字.在剩余类环Z/(2n)中,x可被表示成
定义3[7-10] 设映射f:F2m×n→F2l×n为f(x)= x,其中x和y是多字.若输出y的第i列只与输入x的第0,1,…,i(0≤i<n)列有关,则称f为一个T函数.当m=l=1时,称f为一个单字T函数;反之称其为多字T函数.注意,后面出现的T函数均指单字T函数,其相应性质都可推广到多字T函数中.
设x0为初始状态,T函数f:F2n→F2n为状态转移函数,即f(xi)= xi+1,于是可得f的状态序列{xi}i≥0.若序列{xi}i≥0的极小周期为N =2n,则称f是单圈的.
定义“+”为域上的加法,“⊕”为模2加法.称由xi第k位形成的序列{xi, k}i=02n-1(0≤k<n)为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≤k<n)称为第k位布尔函数,其取值只与x的前k位有关[11].据定义3可知,第k位序列即为第k位分量布尔函数的输出序列.
2 单圈T函数序列的2-adic复杂度引理10 设f:F2n→F2n为单圈T函数,其状态序列{xi}i≥0的第k位序列{xi, k}i=02n-1(0≤k<n)的极小连接整数q满足q≤22k+1-1.
该结果可由引理9获得.
定理1 设f:F2n→F2n为单圈T函数,其状态序列{xi}i≥0的第k位序列sk
1) k=0, 1, 2, 3, 4时,ϕ2(sk)=lbFk,其中Fk为第k个Fermat数;
2) k≥5时,若Fk=p1p2…pt,记sk的后1/2序列对应的十进制数
证明 根据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},其中i1<i2<…<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=p1p2…pt,则问题转化为求式(4)的最简分数.记sk的后1/2序列对应的十进制数
$\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
推论1 设f:F2n→F2n为单圈T函数,其状态序列{xi}i≥0的第k位序列为sk
证明 由引理2可知,当n≥2时,Fn的素因数必为形式p=2n+2h+1(h∈N),于是对满足
$ 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:F2n→F2n为单圈T函数,其状态序列{xi}i≥0的第k位序列为sk
证明 由引理3可知,当im<lb 106≈19.93时,式(4)分母的因子都大于106.此时式(4)的分子1+2i1+2i2+…+2im≤106.于是式(4)为既约分式,故ϕ2(sk)=lbFk.
推论3 设f:F2n→F2n为单圈T函数,其状态序列{xi}i≥0的第k位序列为sk
证明 由引理4可知,形如4t+3(t≥1)的素数,即二进制形如…112的素数均不是Fermat数的因子.因而式(4)为既约分式,故ϕ2(sk)=lbFk.
进一步,对单圈T函数的第k位序列,有定理2.
定理2 设f:F2n→F2n为单圈T函数,其状态序列{xi}i≥0的第k位序列sk(0≤k<n)的周期为T,则ϕ2(sk)<T≤ϕ(q)<2T/2 (k=0, 1, 2, …,13),其中q为sk的极小连接整数,φ(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:F2n→F2n为单圈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:F2n→F2n为单圈T函数,其状态序列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:F2n→F2n为单圈T函数,其状态序列S={xi}i≥0的周期为T,q为S的极小连接整数,则φ(q)<2T/2.
证明 一方面,由定理3可知,序列S的最大连接整数q≤1+2n·2n-1=1+2T/2;另一方面,φ(q)≤q-1对所有整数q都成立.因此,φ(q)<2T/2.
推论6 设f:F2n→F2n为单圈T函数,其状态序列S={xi}i≥0的周期为T,q为S的极小连接整数,则不等式
$ T<\varphi \left( q \right) $ |
在域F、F22、F24、F25、F26、F27、F28、F216、F232中成立.
对f:F2n→F2n(n=1, 2, 4, 5, 6, 7, 8, 16, 32),可以通过计算T和min{φ(qi)}(qi为2n2n-1+1的素因子)的值比较得到T<φ(q).
在分组密码高级加密标准(AES, advanced encryption standard)中,密钥在F27、F28中取得,流密码SOBER、LEVIARHAN等中,密钥在F216、F232中取得,而推论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 |