CN114138336A - 一种0-1序列的k-错线性逼近方法 - Google Patents
一种0-1序列的k-错线性逼近方法 Download PDFInfo
- Publication number
- CN114138336A CN114138336A CN202111359672.8A CN202111359672A CN114138336A CN 114138336 A CN114138336 A CN 114138336A CN 202111359672 A CN202111359672 A CN 202111359672A CN 114138336 A CN114138336 A CN 114138336A
- Authority
- CN
- China
- Prior art keywords
- sequence
- sampling
- approximation
- linear
- optimal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000005070 sampling Methods 0.000 claims abstract description 76
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000004458 analytical method Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 abstract description 3
- 238000013461 design Methods 0.000 abstract description 3
- 239000008358 core component Substances 0.000 abstract description 2
- 238000012937 correction Methods 0.000 abstract description 2
- 239000000306 component Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种0‑1序列的k‑错线性逼近方法,该方法通过采样和计算子序列逼近,来计算得到原始序列,再与输入序列进行比较,如果错误比特数和线性复杂度均较低,就认为得到了序列的k‑错线性逼近。本发明能够对输入的任意序列计算得到较好的k‑错线性逼近序列,该方法对输入序列的长度和周期均无限制,一定程度上解决了现有方法仅对特定结构序列能够进行较好逼近的局限性问题。本发明能够适用于通信序列的纠错、序列密码算法的核心部件设计与安全性分析等领域。
Description
技术领域
本发明涉及线性移位寄存器的线性复杂度技术领域,具体而言,涉及一种0-1序列的k-错线性逼近方法。
背景技术
线性移位寄存器是许多流密码和伪随机数发生器的主要部件,所生成的线性递归序列的极小多项式的次数就是序列的线性复杂度,利用BM算法(即Berlekamp-MasseyAlgorithm,后文简称BM算法),若已知连续两倍线性复杂度长度的序列,就可以快速地得到序列的极小多项式。因此在设计伪随机数发生器时,所使用的极小多项式的线性复杂度越高,其抗BM算法攻击分析的能力就越强。
在上世纪80年代末,我国密码学者肖国镇和丁存生等指出仅仅有高的线性复杂度这一特性对序列的安全是不够的,还要在改变少量比特后线性复杂度不会大幅下降。同一时期美国学者M.Stamp和C.F.Martin也提出了衡量序列线性复杂度稳定性的k-错线性复杂度这一概念。对通信加密技术领域的研究者而言,研究序列的k-错线性逼近就成了一个很重要的问题。
序列的k-错线性逼近是指对线性复杂度较高的序列a,改变其中的k个比特,使其成为线性复杂度较低的序列。对原序列a来讲就是寻找一条含有k个错误比特、线性复杂度较低的序列来对序列a进行逼近。由此产生的问题是,如何选取尽量少的k个错误比特,并使逼近序列的线性复杂度尽可能低?
对此问题,目前并没有通用的求解算法,现有的方法大多只能针对特定结构的序列计算其逼近,如要求输入序列的周期(或长度)必须为2的幂次,或者要求序列的周期较短等,这些都是对特定序列设计的特定算法,具有相当大的局限性。
发明内容
本发明旨在提供一种0-1序列的k-错线性逼近方法,以解决上述存在的问题。
本发明提供的一种0-1序列的k-错线性逼近方法,包括如下步骤:
S1,对输入长度为n的0-1比特序列a进行s采样,采样步长s>1,且s=2h(h=1,2,3,…),得到s条采样序列a0 (s),a1 (s),…,as-1 (s);
S2,对第i个采样序列ai (s)(i=0,1,…,s-1)的所有子序列使用BM算法计算极小多项式f与线性复杂度l;
S3,对采样序列的每一个子序列的极小多项式f与子序列本身,计算出与采样序列等长的序列,称该计算出的序列为采样序列的逼近序列;将逼近序列与采样序列比较,计算两者不同比特的个数k’;并计算k’与逼近序列的线性复杂度之和,选择k’与线性复杂度之和最小所对应的逼近序列ai (s)’,作为采样序列ai (s)的最佳k-错线性逼近序列,将最佳k-错线性逼近序列ai (s)’的线性复杂度记为l’,则采样序列ai (s)的k-错线性复杂度为(k’,l’);
S4,对采样序列a0 (s),a1 (s),…,as-1 (s)都采用步骤S2~S3,若第j个采样序列aj (s)得到的最佳k-错线性逼近序列aj (s)’为最佳,即在所有采样序列中,第j个采样序列aj (s)的最佳k-错线性逼近序列aj (s)’所对应的k’+l’的值为所有采样序列的最佳k-错线性逼近序列所对应的k’+l’的值中的最小值,则将第j个采样序列aj (s)在序列a中对应位置的值替换为最佳k-错线性逼近序列aj (s)’的值,得到序列a’;
S5,利用第j个采样序列aj (s)的最佳k-错线性逼近序列aj (s)’的极小多项式f和序列a’的前l’个值,计算出与序列a等长的序列b;将序列b称为序列a在s采样下得到的最佳逼近,记序列b与序列a不同比特的个数为kb,得到序列a的k-错线性复杂度为(kb,l’);
S6,改变采样步长s,s的取值从h=1开始,每次h加1递增,递增若干次,每次递增后重复步骤S1~S5;选择每次经过步骤S1~S5得到的k-错线性复杂度中kb+l’的值最小所对应的序列b,将此序列b作为序列a的最佳k-错线性逼近序列,并输出此最佳k-错线性逼近序列b。
进一步的,步骤S2中第i个采样序列ai (s)(i=0,1,…,s-1)的所有子序列是指,从第i个采样序列ai (s)的任意一个点开始不间断地道其后任意一个点组成的序列。
进一步的,步骤S2中使用BM算法计算极小多项式f与线性复杂度l的方法包括:
设fi和li分别表示第i步(i=0,1,2…,N)计算出的极小多项式及其线性复杂度;并定义:
f(E)ak=ak+c1ak-1+c2ak-2+…+cn-1ak-n+1+ak-n;
f(x)=1+c1x+c2x2+…+cn-1xn-1+xn;
其中,cn为极小多项式的系数,ak为序列a在时刻k的值;
然后执行BM算法的流程:
S2-1,输入长度为N+1的子序列(a0,a1,…,aN),并取极小多项式的初始值f0(x)=1,线性复杂度的初始值l0=0;
S2-2,设已经求出〈fi(x),li〉,i=0,1,…,n,n表示BM算法当前已计算的序列长度:
如果n=N,输出〈fn(x),ln〉=〈fN(x),lN〉,结束BM算法的流程;
如果n<N,计算dn=fn(E)zn;
S2-3,根据dn和(l0,l1,…,ln)的以下3种不同情况分别定义〈fn+1(x),ln+1〉:
第一种情况:如果dn=0,令
〈fn+1(x),ln+1〉=〈fn(x),ln〉;
第二种情况:如果dn=1,且l0=l1=l2=…=ln=0,令
〈fn+1(x),ln+1〉=〈1+xn+1,n+1〉;
第三种情况:如果dn=1,且有下标计数符号m使得lm<lm+1=lm+2=…=ln,令
〈fn+1(x),ln+1〉=〈fn(x)+xn-mfm(x),max{ln,n+1-ln}〉;
S2-4,令n=n+1,转到步骤S2-2。
进一步的,步骤S3中对采样序列的每一个子序列的极小多项式f与子序列本身,计算出与采样序列等长的序列的方法包括:
S3-1,对于采样序列(a0,a1,…,at)及其子序列为(ap0,ap1,…,apt),0≤p0<pt≤t,在步骤S2中计算得到子序列的极小多项式ft和线性复杂度lt,若ft(x)=1+c1x+c2x2+…+clt-1xlt-1+xlt,先进行正向计算,即递归计算alt+1=1+c1ap0+c2ap1+…+clt-1alt-1+alt,计算t-(p0+lt)次;
S3-2,再进行前向计算,前向计算是指从子序列起始点ap0向采样序列起始点a0方向计算,向前递归计算ap0-1=1+c1alt+c2alt-1+…+clt-1ap1+ap0,计算p0次,从而得到与采样序列(a0,a1,…,at)等长的序列。
进一步的,步骤S4中将第j个采样序列aj (s)在序列a中对应位置的值替换为最佳k-错线性逼近序列aj (s)’的值,得到序列a’的方法包括:
若序列a=(a0,…,a0*s+j,…,as,…,a1*s+j,…,a2s,…,a(n-1)*s+j,…,an),则采样序列aj (s)=(a0*s+j,a1*s+j,…,a(n-1)*s+j),设采样序列aj (s)的最佳k-错线性逼近序列 其中符号表示向下取整;将采样序列aj (s)在序列a中对应位置的值替换为最佳k-错线性逼近序列aj (s)’的值,得到序列a’,则
进一步的,步骤S5中利用第j个采样序列aj (s)的最佳k-错线性逼近序列aj (s)’的极小多项式f和序列a’的前l’个值,计算出与序列a等长的序列b的方法包括:
序列a长度为n,若f(x)=1+c1x+c2x2+…+clt-1xl’+xl’,序列a’的前l’个值为(a’0,a’1,…,a’l’),递归计算a’l’+1=1+c1a’0+c2a’1+…+clt-1a’l’-1+a’l,递归计算n-l’次,得到序列b为(a’0,a’1,…,a’l’,a’l’+1,…,a’n)。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明的0-1序列的k-错线性逼近方法,能够对输入的任意序列计算得到较好的k-错线性逼近序列,该方法对输入序列的长度和周期均无限制,一定程度上解决了现有方法仅对特定结构序列能够进行较好逼近的局限性问题。本发明能够适用于通信序列的纠错、序列密码算法的核心部件设计与安全性分析等领域。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例的0-1序列的k-错线性逼近方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本发明的构思为:侧重在降低序列的线性复杂度上,假定输入序列都是由线性复杂度较低的序列修改若干比特来构造而成(这在算法设计与实现方面是方便的),恢复其原始序列是攻击者的理想目标。本发明则可以通过采样和计算子序列逼近,来计算得到原始序列,再与输入序列进行比较,如果错误比特数和线性复杂度均较低,我们就认为得到了序列的k-错线性逼近。由此,如图1所示,本实施例提出一种0-1序列的k-错线性逼近方法,包括如下步骤:
S1,对输入长度为n的0-1比特序列a进行s采样,采样步长s>1,且s=2h(h=1,2,3,…),得到s条采样序列a0 (s),a1 (s),…,as-1 (s)。所述0-1比特序列a表示为a=(a0,a1,…,an),即ai(其中0≤i≤n)取值为0或1。序列a的s采样即给定正整数s,令a0 (s)=(a0,as,a2s,…),则称a0 (s)为a的一个采样序列,或a的s采样。对序列a进行s采样,则可以得到s条采样序列,分别为a0 (s)=(a0,as,a2s,…),a1 (s)=(a1,as+1,a2s+1,…),…,as-1 (s)=(as-1,a2s-1,a3s-1,…)。
S2,对第i个采样序列ai (s)(i=0,1,…,s-1)的所有子序列使用BM算法计算极小多项式f与线性复杂度l;
所述第i个采样序列ai (s)(i=0,1,…,s-1)的所有子序列是指,从第i个采样序列ai (s)的任意一个点开始不间断地道其后任意一个点组成的序列。例如对于采样序列a0 (s)=(a0,as,a2s,a3s,a4s,…)的所有子序列,按照从采样序列a0 (s)的任意一点开始不间断地到其后任意一点组成的序列,表示为:(a0,as)、(a0,as,a2s)、(a0,as,a2s,a3s,a4s)、…、(a0,as,a2s,a3s,a4s,…)、(as,a2s)、(as,a2s,a3s)、(as,a2s,a3s,a4s)、…、(as,a2s,a3s,a4s,…)、…、(a2s,a3s)、(a2s,a3s,a4s)、(a2s,a3s,a4s,a5s)、…。类似地,对采样序列a1 (s)=(a1,as+1,a2s+1,…),…,as-1 (s)=(as-1,a2s-1,a3s-1,…)用同样的方法取到其所有子序列。
所述使用BM算法计算极小多项式f与线性复杂度l的方法包括:
设fi和li分别表示第i步(i=0,1,2…,N)计算出的极小多项式及其线性复杂度;并定义:
f(E)ak=ak+c1ak-1+c2ak-2+…+cn-1ak-n+1+ak-n;
f(x)=1+c1x+c2x2+…+cn-1xn-1+xn;
其中,cn为极小多项式的系数,ak为序列a在时刻k的值;
然后执行BM算法的流程:
S2-1,输入长度为N+1的子序列(a0,a1,…,aN),并取极小多项式的初始值f0(x)=1,线性复杂度的初始值l0=0;
S2-2,设已经求出〈fi(x),li〉,i=0,1,…,n,n表示BM算法当前已计算的序列长度:
如果n=N,输出〈fn(x),ln〉=〈fN(x),lN〉,结束BM算法的流程;
如果n<N,计算dn=fn(E)zn;
S2-3,根据dn和(l0,l1,…,ln)的以下3种不同情况分别定义〈fn+1(x),ln+1〉:
第一种情况:如果dn=0,令
〈fn+1(x),ln+1〉=〈fn(x),ln〉;
第二种情况:如果dn=1,且l0=l1=l2=…=ln=0,令
〈fn+1(x),ln+1〉=〈1+xn+1,n+1〉;
第三种情况:如果dn=1,且有下标计数符号m使得lm<lm+1=lm+2=…=ln,令
〈fn+1(x),ln+1〉=〈fn(x)+xn-mfm(x),max{ln,n+1-ln}〉;
S2-4,令n=n+1,转到步骤S2-2。
S3,对采样序列的每一个子序列的极小多项式f与子序列本身,计算出与采样序列等长的序列,称该计算出的序列为采样序列的逼近序列:
S3-1,对于采样序列(a0,a1,…,at)及其子序列为(ap0,ap1,…,apt),0≤p0<pt≤t,在步骤S2中计算得到子序列的极小多项式ft和线性复杂度lt,若ft(x)=1+c1x+c2x2+…+clt-1xlt-1+xlt,先进行正向计算,即递归计算alt+1=1+c1ap0+c2ap1+…+clt-1alt-1+alt,计算t-(p0+lt)次;
S3-2,再进行前向计算,前向计算是指从子序列起始点ap0向采样序列起始点a0方向计算,向前递归计算ap0-1=1+c1alt+c2alt-1+…+clt-1ap1+ap0,计算p0次,从而得到与采样序列(a0,a1,…,at)等长的序列,即逼近序列。
然后将逼近序列与采样序列比较,计算两者不同比特的个数k’;并计算k’与逼近序列的线性复杂度(因为逼近序列是用子序列的极小多项式计算而来,所以逼近序列的线性复杂度等于子序列的线性复杂度)之和,选择k’与线性复杂度之和最小所对应的逼近序列ai (s)’,作为采样序列ai (s)的最佳k-错线性逼近序列,将最佳k-错线性逼近序列ai (s)’的线性复杂度记为l’,则采样序列ai (s)的k-错线性复杂度为(k’,l’);
S4,对采样序列a0 (s),a1 (s),…,as-1 (s)都采用步骤S2~S3,若第j个采样序列aj (s)得到的最佳k-错线性逼近序列aj (s)’为最佳,即在所有采样序列中,第j个采样序列aj (s)的最佳k-错线性逼近序列aj (s)’所对应的k’+l’的值为所有采样序列的最佳k-错线性逼近序列所对应的k’+l’的值中的最小值,则将第j个采样序列aj (s)在序列a中对应位置的值替换为最佳k-错线性逼近序列aj (s)’的值,得到序列a’;例如,若序列a=(a0,…,a0*s+j,…,as,…,a1*s+j,…,a2s,…,a(n-1)*s+j,…,an),则采样序列aj (s)=(a0*s+j,a1*s+j,…,a(n-1)*s+j),设采样序列aj (s)的最佳k-错线性逼近序列其中符号表示向下取整;将采样序列aj (s)在序列a中对应位置的值替换为最佳k-错线性逼近序列aj (s)’的值,得到序列a’,则
S5,利用第j个采样序列aj (s)的最佳k-错线性逼近序列aj (s)’的极小多项式f和序列a’的前l’个值,计算出与序列a等长的序列b;其中,序列a长度为n,若f(x)=1+c1x+c2x2+…+clt-1xl’+xl’,序列a’的前l’个值为(a’0,a’1,…,a’l’),递归计算a’l’+1=1+c1a’0+c2a’1+…+clt-1a’l’-1+a’l,递归计算n-l’次,得到序列b为(a’0,a’1,…,a’l’,a’l’+1,…,a’n)。然后将序列b称为序列a在s采样下得到的最佳逼近,记序列b与序列a不同比特的个数为kb,得到序列a的k-错线性复杂度为(kb,l’);
S6,改变采样步长s,s的取值从h=1开始,每次h加1递增,递增若干次,每次递增后重复步骤S1~S5;选择每次经过步骤S1~S5得到的k-错线性复杂度中kb+l’的值最小所对应的序列b,将此序列b作为序列a的最佳k-错线性逼近序列,并输出此最佳k-错线性逼近序列b。
示例:
首先对符号进行说明。为了便于表示,均采用16进制来表示序列和多项式:
(1)对序列,例如16比特序列为1001 0010 1110 0111,位置从左至右排列,该序列第1比特的值为“1”,第2比特的值为“0”,第3比特的值为“0”,第4比特的值为“1”,以此类推。但在16进制表示时取其逆序,序列的16进制就表示为E749。
(2)对多项式,按其系数对应位置的0-1表示,按2进制转为16进制,如f(x)=x12+x11+x8+x6+x5+x2+1的系数位置按高位到低位用0-1表示为0001 1001 0110 0101,则其16进制表示为1965。
本示例中所述0-1序列的k-错线性逼近方法如下:
S1,输入长度n=1000比特的序列a,并对序列a进行s=2采样,得到2条采样序列a0 (2),a1 (2);其中,
16进制的序列a为:D6 CB3E7FE0 779F0A93 3995D91D 13683DCC 3AF5EF3E23BE4E91 ED9A34C4 1EFFFE6E B5DA484B 17CB309A 92C66EB6 45669CA4 3F8F1C01330F6939 611A8399 E28038B5 E9C7071F E2CCB6B9 4FD3569A 281F7F26 ECD5F1AFE446D31D B88C8740 876339F7 56E6256A D612191F 43F6E1DA 96FB5BA8 1374C8B94BFD4174 B5D3D4CD;
采样序列a0 (2)为:E96F8 F70557D7 587A4FB6 16A5B46A 6FEA7C89 79444AA6BA627361 53959415 80479B37 8A65BDE4 07F2AFD3 AAD74238 395FEA38 E4579E9C6DD05E85 9F9E7DEB;
采样序列a1 (2)为:9B77C 5B3968A2 166A7CF7 5F38EB48 3FF7CB23 1B4B997D05AC7B20 5366439A D86CE913 DADE391B 6375E8CF C192EA90 956D1D47 91231DCB9F3E14AE 3E04C98A。
S2,对采样序列ai (2)(i=0,1)的所有子序列使用BM算法计算极小多项式f与线性复杂度l。
S3,对采样序列的每一个子序列的极小多项式f与子序列本身,计算出与采样序列等长的序列,称该计算出的序列为采样序列的逼近序列;将逼近序列与采样序列比较,计算两者不同比特的个数k’;并计算k’与逼近序列的线性复杂度之和,选择k’与线性复杂度之和最小所对应的逼近序列ai (2)’,作为采样序列ai (2)的最佳k-错线性逼近序列,将最佳k-错线性逼近序列ai (2)’的线性复杂度记为l’,则采样序列ai (2)的k-错线性复杂度为(k’,l’)。
例如对采样序列a0 (2),当其子序列为采样序列a0 (2)的第196个比特开始往后的200比特长的这一段序列,计算得到采样序列a0 (2)的逼近序列a0 (2)’,a0 (2)’为采样序列a0 (2)的最佳k-错线性逼近序列,其线性复杂度为100,极小多项式为11E0F26C9C 0D6844D28E505697,得到采样序列a0 (2)的k-错线性复杂度为(6,100)。
S4,对采样序列a0 (2),a1 (2)都采用步骤S2~S3。
相应地,对采样序列a1 (2),当其子序列为a1 (2)的第216个比特开始往后的66比特长的这一段序列,计算得到采样序列a1 (2)的逼近序列a1 (2)’,a1 (2)’为采样序列a1 (2)的最佳k-错线性逼近序列,其线性复杂度为33,极小多项式为3 1A0C6183,得到采样序列a1 (2)的k-错线性复杂度为(178,33)。
由于6+100<178+33,可知对采样序列a0 (2),得到的最佳k-错线性逼近序列a0 (2)’最佳。则将采样序列a0 (2)在序列a中对应位置的值替换为最佳k-错线性逼近序列a0 (2)’的值,得到序列a’。
S5,利用采样序列a0 (2)的最佳k-错线性逼近序列a0 (2)’的极小多项式11E0F26C9C0D6844D2 8E505697和序列a’的前100个值,计算出与序列a等长的序列b;将序列b称为序列a在s采样下得到的最佳逼近,得到序列b与序列a不同比特的个数为12,得到序列a的k-错线性复杂度为(12,100)。
S6、改变采样步长s=4,重复步骤S1~S5,选择s=2和s=4时,经过步骤S1~S5得到的k-错线性复杂度中kb+l’的值最小所对应的序列b,将此序列b作为序列a的最佳k-错线性逼近序列,并输出此最佳k-错线性逼近序列b。
本示例中发现a0 (2)’的极小多项式11E0F26C9C 0D6844D2 8E505697生成的序列为最佳逼近,因此得到序列a的k-错线性复杂度为(12,100),且序列a的最佳k-错线性逼近序列b为:
D6 EB3E7FE0 779F0AD3 3995D91D 12683DCC 3AF5EF3E 23FE4E91 ED9A34C41EFFFE6E B5DA484B 97CB309A 92C66EB6 47669CA4 3F8F1C01 330F6139 611A8399E28038B5 E9C7071F E2C4B6B9 4FD356DA 281F7F26 ECD5F1AF E446D31D B88C8540876339F7 56E6356A D612191F 43F6E19A 96FB5BA8 1374C8B9 4BFD4174 B5D3D4CD。
该最佳k-错线性逼近序列b与原序列a相比,在第134,204,265,390,435,555,633,703,822,888,934,989个比特位置处的值不同。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种0-1序列的k-错线性逼近方法,其特征在于,包括如下步骤:
S1,对输入长度为n的0-1比特序列a进行s采样,采样步长s>1,且s=2h(h=1,2,3,…),得到s条采样序列a0 (s),a1 (s),…,as-1 (s);
S2,对第i个采样序列ai (s)(i=0,1,…,s-1)的所有子序列使用BM算法计算极小多项式f与线性复杂度l;
S3,对采样序列的每一个子序列的极小多项式f与子序列本身,计算出与采样序列等长的序列,称该计算出的序列为采样序列的逼近序列;将逼近序列与采样序列比较,计算两者不同比特的个数k’;并计算k’与逼近序列的线性复杂度之和,选择k’与线性复杂度之和最小所对应的逼近序列ai (s)’,作为采样序列ai (s)的最佳k-错线性逼近序列,将最佳k-错线性逼近序列ai (s)’的线性复杂度记为l’,则采样序列ai (s)的k-错线性复杂度为(k’,l’);
S4,对采样序列a0 (s),a1 (s),…,as-1 (s)都采用步骤S2~S3,若第j个采样序列aj (s)得到的最佳k-错线性逼近序列aj (s)’为最佳,即在所有采样序列中,第j个采样序列aj (s)的最佳k-错线性逼近序列aj (s)’所对应的k’+l’的值为所有采样序列的最佳k-错线性逼近序列所对应的k’+l’的值中的最小值,则将第j个采样序列aj (s)在序列a中对应位置的值替换为最佳k-错线性逼近序列aj (s)’的值,得到序列a’;
S5,利用第j个采样序列aj (s)的最佳k-错线性逼近序列aj (s)’的极小多项式f和序列a’的前l’个值,计算出与序列a等长的序列b;将序列b称为序列a在s采样下得到的最佳逼近,记序列b与序列a不同比特的个数为kb,得到序列a的k-错线性复杂度为(kb,l’);
S6,改变采样步长s,s的取值从h=1开始,每次h加1递增,递增若干次,每次递增后重复步骤S1~S5;选择每次经过步骤S1~S5得到的k-错线性复杂度中kb+l’的值最小所对应的序列b,将此序列b作为序列a的最佳k-错线性逼近序列,并输出此最佳k-错线性逼近序列b。
2.根据权利要求1所述的0-1序列的k-错线性逼近方法,其特征在于,步骤S2中第i个采样序列ai (s)(i=0,1,…,s-1)的所有子序列是指,从第i个采样序列ai (s)的任意一个点开始不间断地道其后任意一个点组成的序列。
3.根据权利要求1所述的0-1序列的k-错线性逼近方法,其特征在于,步骤S2中使用BM算法计算极小多项式f与线性复杂度l的方法包括:
设fi和li分别表示第i步(i=0,1,2…,N)计算出的极小多项式及其线性复杂度;并定义:
f(E)ak=ak+c1ak-1+c2ak-2+…+cn-1ak-n+1+ak-n;
f(x)=1+c1x+c2x2+…+cn-1xn-1+xn;
其中,cn为极小多项式的系数,ak为序列a在时刻k的值;
然后执行BM算法的流程:
S2-1,输入长度为N+1的子序列(a0,a1,…,aN),并取极小多项式的初始值f0(x)=1,线性复杂度的初始值l0=0;
S2-2,设已经求出〈fi(x),li〉,i=0,1,…,n,n表示BM算法当前已计算的序列长度:
如果n=N,输出〈fn(x),ln〉=〈fN(x),lN〉,结束BM算法的流程;
如果n<N,计算dn=fn(E)zn;
S2-3,根据dn和(l0,l1,…,ln)的以下3种不同情况分别定义〈fn+1(x),ln+1〉:
第一种情况:如果dn=0,令
〈fn+1(x),ln+1〉=〈fn(x),ln〉;
第二种情况:如果dn=1,且l0=l1=l2=…=ln=0,令
〈fn+1(x),ln+1〉=〈1+xn+1,n+1〉;
第三种情况:如果dn=1,且有下标计数符号m使得lm<lm+1=lm+2=…=ln,令
〈fn+1(x),ln+1〉=〈fn(x)+xn-mfm(x),max{ln,n+1-ln}〉;
S2-4,令n=n+1,转到步骤S2-2。
4.根据权利要求1所述的0-1序列的k-错线性逼近方法,其特征在于,步骤S3中对采样序列的每一个子序列的极小多项式f与子序列本身,计算出与采样序列等长的序列的方法包括:
S3-1,对于采样序列(a0,a1,…,at)及其子序列为(ap0,ap1,…,apt),0≤p0<pt≤t,在步骤S2中计算得到子序列的极小多项式ft和线性复杂度lt,若ft(x)=1+c1x+c2x2+…+clt-1xlt -1+xlt,先进行正向计算,即递归计算alt+1=1+c1ap0+c2ap1+…+clt-1alt-1+alt,计算t-(p0+lt)次;
S3-2,再进行前向计算,前向计算是指从子序列起始点ap0向采样序列起始点a0方向计算,向前递归计算ap0-1=1+c1alt+c2alt-1+…+clt-1ap1+ap0,计算p0次,从而得到与采样序列(a0,a1,…,at)等长的序列。
6.根据权利要求1所述的0-1序列的k-错线性逼近方法,其特征在于,步骤S5中利用第j个采样序列aj (s)的最佳k-错线性逼近序列aj (s)’的极小多项式f和序列a’的前l’个值,计算出与序列a等长的序列b的方法包括:
序列a长度为n,若f(x)=1+c1x+c2x2+…+clt-1xl’+xl’,序列a’的前l’个值为(a’0,a’1,…,a’l’),递归计算a’l’+1=1+c1a’0+c2a’1+…+clt-1a’l’-1+a’l,递归计算n-l’次,得到序列b为(a’0,a’1,…,a’l’,a’l’+1,…,a’n)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359672.8A CN114138336B (zh) | 2021-11-17 | 2021-11-17 | 一种0-1序列的k-错线性逼近方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111359672.8A CN114138336B (zh) | 2021-11-17 | 2021-11-17 | 一种0-1序列的k-错线性逼近方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114138336A true CN114138336A (zh) | 2022-03-04 |
CN114138336B CN114138336B (zh) | 2023-01-31 |
Family
ID=80390366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111359672.8A Active CN114138336B (zh) | 2021-11-17 | 2021-11-17 | 一种0-1序列的k-错线性逼近方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114138336B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674180A (zh) * | 2008-09-10 | 2010-03-17 | 中国人民解放军信息工程大学 | 一种伪随机序列产生方法及加密方法 |
CN103235714A (zh) * | 2013-04-02 | 2013-08-07 | 四川长虹电器股份有限公司 | 一种构造随机序列的最短线性移位寄存器的方法 |
CN104158557A (zh) * | 2014-07-31 | 2014-11-19 | 重庆邮电大学 | Gold序列参数估计方法 |
-
2021
- 2021-11-17 CN CN202111359672.8A patent/CN114138336B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674180A (zh) * | 2008-09-10 | 2010-03-17 | 中国人民解放军信息工程大学 | 一种伪随机序列产生方法及加密方法 |
CN103235714A (zh) * | 2013-04-02 | 2013-08-07 | 四川长虹电器股份有限公司 | 一种构造随机序列的最短线性移位寄存器的方法 |
CN104158557A (zh) * | 2014-07-31 | 2014-11-19 | 重庆邮电大学 | Gold序列参数估计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114138336B (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100388630C (zh) | 具有矩阵转换技术的循环冗余码计算方法及系统 | |
US10763890B2 (en) | Computational devices using thermometer coding and scaling networks on unary encoded data | |
JP3429037B2 (ja) | Atmセルヘッダにおけるエラー検出および補正方法および装置 | |
JPWO2004001701A1 (ja) | 符号演算装置 | |
CN106656459A (zh) | 一种针对sm3‑hmac的侧信道能量分析方法和装置 | |
Zong et al. | Towards key-recovery-attack friendly distinguishers: application to GIFT-128 | |
CN115622795B (zh) | 基于混沌加密算法的文件加密方法、电子设备及存储介质 | |
CN114138336B (zh) | 一种0-1序列的k-错线性逼近方法 | |
CN113204781A (zh) | 用于保留格式加密算法的实现方法及装置 | |
Salehi | Low-correlation low-cost stochastic number generators for stochastic computing | |
CN116825259A (zh) | 一种基于物联网的医疗数据管理方法 | |
CN109639290B (zh) | 一种半随机分组叠加编码及译码方法 | |
CN113922947B (zh) | 一种基于加权概率模型的自适应对称编码方法以及系统 | |
CN114911647A (zh) | 多项式可配的并行crc硬件实现方法、装置和计算机设备 | |
CN113204780A (zh) | 保留格式加密算法的实现方法及装置 | |
CN110943955B (zh) | 一种并行扰码器的生成方法 | |
Mandal et al. | Cryptographic D-morphic analysis and fast implementations of composited de Bruijn sequences | |
Beirami et al. | A performance metric for discrete-time chaos-based truly random number generators | |
Polani et al. | Low power and area efficient AES implementation using ROM based key expansion and rotational shift | |
CN113971015B (zh) | Uia2计算电路及其数据处理方法、芯片、电子设备及存储介质 | |
KR100578721B1 (ko) | XOR 논리를 이용한 n 비트 순환 중복 검사 생성 방법및 이를 이용한 병렬 순환 중복 검사 생성기 | |
Shubin et al. | Investigation of New Non-Binary Sequences Created on the Basis of Gold and de Bruijn Sequences | |
CN118153703B (zh) | 一种基于字处理的量子随机数后处理方法及装置 | |
CN114091117B (zh) | 数据存储方法、服务器、介质及装置 | |
CN111934712B (zh) | 基于动态重构的m序列跳频码结构还原方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |