【技术实现步骤摘要】
一种基于跳跃蜘蛛优化算法的S盒优化方法
[0001]本专利技术属于信息安全
,具体涉及一种基于跳跃蜘蛛优化算法的S盒优化方法。
技术介绍
[0002]S盒作为一个非线性组件在本质上相当于一个替代盒,起到混淆作用,决定了整个分组算法的安全强度。
[0003]S盒的构造方法可以大致分为两种,第一种方法为使用数学方法,例如对数函数和指数函数(SAFER 系列密码的构造方法
[1,2])、有限域上的逆映射(AES[3]的S盒构造方法)以及有限域上的幂函数,使用数学方法生成S盒的数量有限。第二种方法为随机生成构造,例如使用混沌方程或者通过某个特定的密码体系结构来构造S盒(CRYPTON[4]中的S盒就是利用3轮Feistel结构的密码算法来构造的),可以较为快速地生成S盒,但往往得到的S盒不能达到所需的安全强度,甚至可能出现严重的安全漏洞,所以通常会与优化算法结合生成S盒,如粒子群优化算法[5]、遗传算法[6]、随机重启爬山算法[7]。
[0004]混沌映射具有不可预测性、初值敏感性、遍历性以及随机性,适 ...
【技术保护点】
【技术特征摘要】
1.一种基于跳跃蜘蛛优化算法的S盒优化方法,该方法分为以下四步进行实现:第一步,生成100个初始值和控制参数;随机输入一个种子,使用线性同余法生成一个伪随机数,得到的伪随机数作为Tent映射的初值,Tent映射公式如下所示:Tent映射的控制参数取b=0.8,先迭代200次消除瞬态效应,接着生成200个值组成p
i,j
,i∈{i∈Z|0≤i<100},j∈{0,1};p
i,0
和p
i,1
分别作为第i个S盒的初始值和控制参数,并将其按照如下公式:p
i,j
=Lb
j
+p
i,j
×
(Ub
j
‑
Lb
j
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)处理边界;第二步,生成100个S盒,并计算相应的目标函数值;设置d=0.6,将p
i,0
和p
i,1
输入STCS映射中迭代生成256个值e
i
,i∈{i∈Z|0≤i≤256},STCS映射公式如下所示:并对e
i
按照如下公式:进行离散化,从而获得256个伪随机整数La
i
;其次将S盒中的256个位置都标记为0,然后逐个将La
i
的值输入如下公式中:L
i
=La
i
modB
i
,i∈[0,256)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)得到L
i
的值;其中B
i
代表S盒中标记为0的位置的个数;接下来,找到S盒中第L
i
个标记为0的位置S
i
,将此处的位置标记为1;直到所有La
i
的值都处理完毕,得到的所有S
i
构成了S盒,并满足双射特性;按照同样的步骤处理所有的p
i,j
,i∈{i∈Z|0≤i<100},j∈{0,1},最终得到100个初始...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。