一种(n,m)-S盒的自动生成方法及系统技术方案

技术编号:34037012 阅读:54 留言:0更新日期:2022-07-06 12:32
本发明专利技术涉及一种(n,m)

An automatic generation method and system of (n, m) -s box

【技术实现步骤摘要】
一种(n,m)

S盒的自动生成方法及系统


[0001]本专利技术信息安全密码领域,具体涉及一种(n,m)

S盒的自动生成方法及系统。

技术介绍

[0002]当今世界,信息已经成为一种重要的战略资源,信息安全问题是世界各国政府和军队关注的重点,也是一个重大的科学研究课题,密码学和密码技术是信息安全的理论核心和技术基础,而由分组密码、序列密码、Hash函数、消息认证码MACs和签密等密码算法实现的保密性、完整性、认证性是密码学和密码技术的首要内容。S盒是设计这些密码算法非线性部件的重要工具。
[0003]为了抵抗目前已有的攻击方法,密码算法中使用的S盒需要满足一定的安全性要求。S盒的安全性指标包括非线性度、差分均匀度、平衡性、代数次数等。值得一提的是,这些安全性指标是相互影响相互制约的,具体在设计和选择S盒作为密码算法的非线性部件时,需要综合考虑。另外,还需注意的是S盒输出F(x)=(f1(x),f2(x),

,f
m
(x))中的每个分量f1(x),f2(x),

,f
m
(x)的安全性指标良好,但是它们组合后所构成的输出函数F(x)=(f1(x),f2(x),

,f
m
(x))的安全性指标未必就好。所以,设计“多种密码学安全性指标折衷最优”的S盒是设计分组密码、序列密码、伪随机数生成器、Hash函数和消息认证码MACs、签密等密码算法的难点和重点。
[0004]尽管近几年国内外密码学家在构造S盒的密码函数的安全性指标及其构造的研究方面已经取得了许多重要成果,但是一些基本的问题仍然不清楚:比如:几乎完全非线性函数(AlmostPerfectNonlinearFunction,简称APN函数)的幂函数是否只有6类?人们虽然已经给出了S盒Bent函数的构造,但是,S盒Bent函数从低维函数构造高维函数的二次构造要少得多。另外,2012年虽然解决了抗快速代数工具的完全代数免疫布尔函数的存在性问题,但是,在构造S盒方面目前还是欠缺。最后,多种密码学安全性指标折衷最优的S盒的构造还很匮乏,尤其是而多种密码学安全性指标折衷最优的(n,m)(n=16,32且n≥m)S盒的构造还很困难,是S盒设计的最难点。

技术实现思路

[0005]为了解决上述技术问题,本专利技术提供一种(n,m)

S盒的自动生成方法及系统。
[0006]本专利技术技术解决方案为:一种(n,m)

S盒的自动生成方法,包括:
[0007]令(n,m)

S盒为S:F
2n

F
2m
,在已有的n次既约多项式集合中选取一个既约多项式,并用二进制表示为对非零值利用EA

等价方法以及并行反复移位方法,构造可实现较高上界的(n,m)

S盒:其中
[0008]判断所述(n,m)

S盒是否满足密码学安全性指标;如果满足预设的所述密码学安全性指标,则输出(n,m)

S盒,否则重新生成新的(n,m)

S盒并判断其是否满足所述密码学安全性指标;其中,所述密码学安全性指标包括:差分均匀度、非线性度、平衡性、代数次数、
不动点个数、严格雪崩准则、代数免疫阶、一阶相关免疫度、透明阶指标、代数正规型项数、输入输出1比特差分个数和输入输出1比特线性掩码个数的中任意指标组合构成的所述密码学安全性指标。
[0009]本专利技术与现有技术相比,具有以下优点:
[0010]1、本专利技术公开了一种(n,m)

S盒的自动生成方法,可构造任意输入长度、任意输出长度、较高上界、“折衷最优”、可证明安全的(n,m)

S盒;并可以给出每类S盒的上界。将生成的S盒用于分组密码算法、序列密码算法、伪随机数生成器、Hash函数、消息认证码MACs、认证加密算法设计中常用的高度非线性部件;也可以用于向量函数构造以及几乎完全非线性置换(APN)的研究和设计中。
[0011]2、本专利技术利用并行方法,解决了快速实现高次多项式求逆的技术难题,使得求逆算法的复杂度由O(n)降低到O(log(n))。
附图说明
[0012]图1为本专利技术实施例中一种(n,m)

S盒的功能图;
[0013]图2为本专利技术实施例中一种(n,m)

S盒的自动生成系统的结构框图。
具体实施方式
[0014]本专利技术提供了一种(n,m)

S盒的自动生成方法,可以构造任意输入长度、任意输出长度、较高上界、“折衷最优”、可证明安全的(n,m)

S盒;并可以给出每类S盒的上界,并利用并行方法,解决了快速实现高次多项式求逆的技术难题,降低求逆算法的复杂度。
[0015]为了使本专利技术的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本专利技术进一步详细说明。
[0016]为了更好地理解下述实施例,对其中用到的术语等进行解释:
[0017](n,m)

S盒是一个的映射,表示为:S(x)=f(x),展开为:
[0018]S(x1,x2,...,x
n
)=(f1(x1,x2,...,x
n
),f2(x1,x2,...,x
n
),...,f
m
(x1,x2,...,x
n
)),其中,n元布尔函数f1,f2,...,f
m
∈GF(2)称为每个S

盒的坐标函数或者分量函数。
[0019]对于n次多项式q(x)=d
n
x
n
+d
n
‑1x
n
‑1+...+d1x+d0,其中d
n
,d
n
‑1,...,d1,d0∈GF(2),该多项式的二进制表示为q=d
n
|d
n
‑1|...|d1|d0,显然例如:4次多项式q(x)=x4+x3+x+1的二进制表示为q=11011=0x1b。
[0020]定义1:对于一个n元布尔函数f
i
(x),Walsh谱变换为:
[0021]定义2(非线性度):任何一个n元布尔函数f
i
(x)的非线性度定义:N
fi(x)
=2
n
‑1(1

max|W
(fi(x))
(w)|)。非线性度时,布尔函数f(x)被称为Bent函数(完全非线性函数)。
[0022]定义3((n,m)

S盒平衡性):(n,m)

S盒记为函数计算在中每本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种(n,m)

S盒的自动生成方法,其特征在于,包括:令(n,m)

S盒为S:F
2n

F
2m
,在已有的n次既约多项式集合中选取一个既约多项式,并用二进制表示为对非零值利用EA

等价方法以及并行反复移位方法,构造可实现较高上界的(n,m)

S盒:其中判断所述(n,m)

S盒是否满足密码学安全性指标;如果满足预设的所述密码学安全性指标,则输出(n,m)

S盒,否则重新生成新的(n,m)

S盒并判断其是否满足所述密码学安全性指标;其中,所述密码学安全性指标包括:差分均匀度、非线性度、平衡性、代数次数、不动点个数、严格雪崩准则、代数免疫阶、一阶相关免疫度、透明阶指标、代数正规型项数、输入输出1比特差分个数和输入输出1比特线性掩码个数的中任意指标组合构成的所述密码学安全性指标。2.根据权利要求1所述的(n,m)

S盒的自动生成方法,其特征在于,所述步骤S1:令(n,m)

S盒为S:F
2n

F
2m
,在已有的n次既约多项式集合中选取一个既约多项式,并用二进制表示为对非零值利用EA

等价方法以及并行反复移位方法,构造可实现较高上界的(n,m)

S盒:其中判断所述(n,m)

S盒是否满足密码学安全性指标;如果满足预设的所述密码学安全性指标,则输出(n,m)

S盒,否则重新生成新的(n,m)

S盒并判断其是否满足所述密码学安全性指标;其中,所述密码学安全性指标包括:差分均匀度、非线性度、平衡性、代数次数、不动点个数、严格雪崩准则、代数免疫阶、一阶相关免疫度、透明阶指标、代数正规型项数、输入输出1比特差分个数和输入输出1比特线性掩码个数的中任意指标组合构成的所述密码学安全性指标,具体包括:步骤S101:令整数i=1,2,...,设置迭代轮数R=i;设定不小于n比特的寄存器A、B和C;步骤S102:给(a1,b1,c1),...,(a
i
,b
i
,c
i
)赋初始值,并转化为多项式表示,其中,步骤S103:将多项式x赋值给寄存器A;在二元扩域GF(2
n
)上,基于费马小定理,采用并行反复移位方法,得到高次多项式A的逆A
‑1;经R轮迭代计算a
i
A
‑1+b
i
A+c
i modq(x),将获得的值保存至寄存器A;此时,如果m=n,输出寄存器A的内容作为S(x),并转至步骤S104;如果m≠n,则执行下述步骤a和b:a.对任意τ,用n

LFSR生成m

序列λ

n

LFSR(τ),截取λ
n

bit
,其中,w...

【专利技术属性】
技术研发人员:袁征刘晨祎
申请(专利权)人:北京电子科技学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1