一种真随机数生成器的非线性校正器的设计方法

文档序号:31474207发布日期:2022-09-10 00:02阅读:68来源:国知局

1.本发明涉及通信与密码学领域,具体涉及到一种真随机数生成器的非线性校正器的设计方法。


背景技术:

2.真随机数生成器在密码学和随机模拟中具有广泛的应用。在密码学领域,由真随机数生成器产生的随机比特串可被用来作为密钥在密码系统中使用,例如rsa算法就使用了这种随机比特串。另外,这种随机比特串也能够作为初始向量用于分组密码中的字节填充。在现实中还有一些场合需要模拟真随机数的生成,以实现不可预测性的功能。典型的真随机数生成器设计方法是利用物理噪声源来产生原始序列,再对这些序列进行处理以消除它的统计特性。这种噪声源一般由混沌、亚稳态、热噪声和电路中的时钟抖动等方式获得。但受到环境或人为的影响,原始序列通常不具备良好的随机性,并且和理想的统计独立性和均匀分布性有一些偏差。为了提高真随机数生成器输出比特串的随机性并校正有偏差的序列,需要一个有效的后处理操作部件,称之为校正器。弹性函数能够被用来设计真随机数生成器的校正器。一个(n,m,t)的弹性函数是指当输入的n维向量的任意t位被确定时,余下的n-t位取遍所有可能值时,输出的每个m长的向量出现的次数都相同。校正器的概念实际上是弹性函数的推广。一个(n,m,t)的弹性函数即是一个n输入 m输出的校正阶为t的校正器,简称(n,m,t)校正器。但反过来一个(n,m,t)校正器不一定是一个(n,m,t)的弹性函数。在实际应用中,校正器的非线性度、代数次数等特性决定了该校正器抵抗线性攻击、相关攻击、代数攻击的能力。非线性度和代数次数越低,则该校正器越容易受到对方的攻击,系统的安全性也越低,容易导致数据信息泄漏。patrick lacharme在其发表的文章“analysis andconstruction of correctors”(ieee transactions on information theory,2009,55:4742-4748) 中提出了一种校正器设计方法,但所得到的校正器是线性的,非线性度为0。且设计的校正器校正阶和弹性阶相等。这类校正器没有抵抗线性攻击、相关攻击和代数攻击的能力,存在重大安全隐患。


技术实现要素:

3.本发明要解决的技术问题在于从密码函数设计的角度给出一种设计(n,m,t) 校正器的方法。所得到的校正器是非线性的,非线性度为2
n-1-2
n-m
,且具有较高的代数次数m+1。同时,校正器的校正阶数大于弹性阶数,并且在n和m确定的前提下,校正阶数t达到目前最优。
4.为实现上述目的,本发明的技术方案实现步骤如下:
5.1)步骤a:选取一个[u,m,t]等距线性码c,其中n=m+u,m<u。构造从有限域到c的同构映射π,包括如下子步骤:
[0006]
步骤a1:选取有限域的一组基{1,γ,

,γ
m-1
},其中γ是f2上次数为m 的本原多项式的一个根。中的任意元素可表示为e1+e2γ+

+emγ
m-1
,其中ei∈f2,1≤i≤m;
[0007]
步骤a2:找到c的一组基{θ1,

,θm},构造同构映射π将有限域中的元素映射到等距线性码c中。映射关系为
[0008]
π(e1+e2γ+

+emγ
m-1
)=e1θ1+e2θ2+...+emθm。
[0009]
2)步骤b:构造向量布尔函数的第i个分量函数fi,包括:
[0010]fi
(y,x)=π(γ
[y]+i-1
)
·
x+yi,其中[y] 是y的十进制表示。
[0011]
3)步骤c:设计校正器的结构为f(y,x)=(f1(y,x),f2(y,x),

,fm(y,x))。
[0012]
基于上述内容,由于本发明的(n,m,t)校正器的分量函数fi都是由2m个u元仿射函数级联得到,且分量函数的非零线性组合依旧是由由2m个u元仿射函数级联得到,这可使得所设计的校正器具有高非线性度2
n-1-2
n-m
。由于[u,m,t]等距线性码在设计中的运用,使得校正阶数为t。此外,校正器也是t-1阶弹性函数。
[0013]
本发明得到的校正器为非线性弹性函数,具有较高的非线性度、较高的代数次数和目前已知最优的校正阶数,且校正阶数大于弹性阶数。采用本发明设计的校正器,将具备抵抗线性攻击、相关攻击、代数攻击的能力,可以提高数据信息的安全保障能力。
附图说明
[0014]
图1为本发明的非线性校正器设计流程。
具体实施方式
[0015]
下面结合具体的实施方式和对本发明进一步描述。首先给出密码函数相关背景知识的介绍。
[0016]
设f2是二元有限域,n为正整数,为f2上的n维向量空间。则从到f2的映射称为n元布尔函数,记作:
[0017]
布尔函数f的代数正规型表示为其中λi∈f2。不同的代数正规型一定对应不同的布尔函数。本发明所得到的校正器函数均由代数正规型表示。
[0018]
一个n元布尔函数f的walsh谱定义为:
[0019]
将校正器看作一个多输出的布尔函数,即从到的映射,称为(n,m)函数,它是由m个分量函数组成,记作:f(x)=(f1(x),...fm(x))。校正器的代数次数是其所有分量函数的非零线性组合函数中代数次数最小值。校正器的非线性度是其所有分量函数的非零线性组合函数中非线性度最小值。校正器是t阶弹性函数当且仅当其所有分量函数的非零线性组合都是t阶弹性函数。
[0020]
校正器的弹性阶是衡量其抵抗相关攻击能力的指标,弹性阶越小,就越容易实施攻击。对于弹性函数有如下重要定理:对一个布尔函数f(x),1≤t≤n,f(x)的弹性阶为t当且仅当对任意的α,满足0≤wt(α)≤t时,都有wf(α)=0。
[0021]
非线性度是指函数到所有的仿射函数的汉明重量的最小值,记作nf,校正器的非线性度越高,抵抗线性攻击的能力越强,线性校正器是抵抗线性攻击能力最弱的一类校正器。
[0022]
对一个[n-m,m,t]等距线性码c,c中的任意一个非零码字α均满足wt(α)=t。且码c中的任意一个码字都能通过一个m
×
(n-m)的生成矩阵g来获得,矩阵g的 m行可作为等距线性码c的一组基。
[0023]
从一个集合m到一个集合的同构映射当且仅当映射是一个双射且保持运算。即对任意的a∈m,集合m和中的运算分别为ο和,满足
[0024]
基于上述的理论知识,本发明设计的非线性校正器实现步骤如下:
[0025]
1)步骤a:为得到级联的仿射函数的系数,首先选取一个[u,m,t]等距线性码c,其中n=m+u,m<u。构造从有限域到c的映射π,使得被级联的仿射函数的系数和等距线性码c中的码字一一对应。步骤a 包括:
[0026]
步骤a1:选取有限域的一组基{1,γ,

,γ
m-1
},其中γ是f2上次数为m 的不可约多项式的一个根。中的任意元素用含有γ的多项式表示出来,可表示为e1+e2γ+

+emγ
m-1
,其中ei∈f2,1≤i≤m;
[0027]
步骤a2:找到等距线性码c的一个生成矩阵,将码c的生成矩阵的m 个行向量作为c的一组基{θ1,

,θm}。构造的映射π将有限域中的元素映射到等距线性码c中,映射π为同构映射。包括:具体的映射方式为π(e1+e2γ+

+emγ
m-1
)=e1θ1+e2θ2+...+emθm。
[0028]
2)步骤b:构造向量布尔函数的第i个分量函数fi,包括:
[0029]
其中校正器的每个分量函数都是由2m个仿射函数级联得到,第i个分量函数被级联的每个n-m元仿射函数的常数项等于第i个输入符号的值。设计校正器结构为fi(y,x)=π(γ
[y]+i-1
)
·
x+yi,其中其中[y]是y的十进制表示。
[0030]
3)步骤c:设计校正器的结构为f(y,x),其中
[0031]
f(y,x)=(f1(y,x),f2(y,x),

,fm(y,x))
[0032]
f(y,x)的分量函数的任意非零线性组合都是由2m个仿射函数级联得到,且被级联的函数的系数是等距线性码c中的码字。
[0033]
由此就得到了(n,m,t)校正器f(y,x)=(f1(y,x),f2(y,x),...fm(y,x))完整结构。
[0034]
下面对本发明的理论原理和优选实施例进行阐述。
[0035]
校正器f(y,x)的每个分量函数都由2m个仿射函数级联得到,且分量函数的非零线性组合fc有
[0036][0037]
设则代入上式中有
[0038][0039]
由此我们得到了分量函数非零线性组合函数式,fc在点(β,α)处的频谱大小为其中频谱大小计算如下:
[0040]
[0041]
当0≤wt(β,α)≤t-1时,0≤wt(α)≤t-1,码c是等距线性码,有于是线性函数一定是平衡函数,在这种情况下
[0042][0043]
从而fc是(t-1)阶弹性函数。
[0044]
当wt(β,α)=t且β≠0m时,此时有wt(α)<t,同样有时,此时有wt(α)<t,同样有
[0045]
当wt(β,α)=t且β=0m时,此时有wt(α)=t,设m={0m,1m},当y∈m时,且φc(y)≠φc(y

)当且仅当y≠y

对任意成立。于是有由以上证明可得分量函数线性组合fc是(n,1,t)校正器,f是(n,m,t)校正器。且函数f的校正阶大于函数的弹性阶,下面对函数f的代数次数进行说明。
[0046]
设函数fc又能表示为
[0047][0048]
其中由于是一个仿射函数,于是有deg(fc)≤m+1。又所有这些仿射函数的系数为码c中的2u个向量,除去当b=0的情况,所有仿射函数系数中xi出现的次数为0或2
u-1
。于是在fc的代数正规型中必定出现这一项,从而函数fc的代数次数为m+1。
[0049]
函数f在任意一点处频谱绝对值最大值为f为非线性函数,且非线性度nf=2
n-1-2
n-m

[0050]
为了更好地说明本发明的具体实施方式,优选实施例子如下:
[0051]
为设计一个5输入2输出的校正器f,设γ是有限域f2上本原多项式x2+x+1 的根。设θ1=(011),θ2=(110),{θ1,θ2}是[3,2,2]等距线性码c的一组基,于是 c={000,011,110,101}。建立从有限域到等距线性码c的同构关系为π(1)=(011),π(γ)=(110),π(γ2)=(101)。根据本发明给出的设计,构造的分量函数为:
[0052]
f1(y1,y2,x1,x2,x3)=(y1+1)(y2+1)(x2+x3)+(y1+1)y2(x1+x2)+y1(y2+1)(x1+x3)+y1y2(x2+x3)+y1[0053]
f2(y1,y2,x1,x2,x3)=(y1+1)(y2+1)(x1+x2)+(y1+1)y2(x1+x3)+y1(y2+2)(x1+x3)+y1y2(x1+x3)+y2[0054]
分量函数的非零线性组合函数真值表如下:
[0055]f10
:0,1,1,0,0,1,1,0,0,0,1,1,1,1,0,0,1,0,1,0,0,1,0,1,1,0,0,1,1,0,0,1
[0056]f01
:0,0,1,1,1,1,0,0,1,0,1,0,0,1,0,1,0,1,1,0,0,1,1,0,1,1,0,0,0,0,1,1
[0057]f11
:0,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,1,0,0,0,0,1,1,0,1,0,1,1,0,1,0
[0058]
其中f
10
=f1,f
01
=f2,f
11
=f1+f2。
[0059]
经过验证,fc是一个(5,1,2)的校正器,同时也是一个(5,1,1)弹性函数,这就表明设计的函数f是一个(5,2,2)校正器,也是(5,2,1)弹性函数。又fc的代数次数为3,于是校正器的代数次数为3。函数f的非线性度为2
n-1-2
n-m
,该校正器是非线性的。上述仅为本发明较佳实施例子,并不用限制本发明。
[0060]
以上结合具体例子对本发明进行详细说明,但本发明并不限于上述的具体实施方式,在本领域普通技术人员所具备的知识范围内,还可以对其做出一些变换。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1