基于遗传算法构建S盒的探析
2014-10-21张凯
计算机光盘软件与应用 2014年17期
摘 要:S盒是作为分组密码的重要组件,对密码的安全性起着关键作用。而遗传算法作为一种启发式的全局优化搜索算法,可以很好地用于S盒的构建。本文就此进行了技术细节探讨,并对相关难点做了分析与总结。
关键词:S盒;遗传算法;非线性度;差分均匀度;雪崩度
中图分类号:TP18;TN918.1
S盒是多数分组的密码中的唯一非线性组件[1],其所起的混淆作用是分组密码必不可缺的,影响着整个密码结构的强度。目前分组密码中8×8的S盒较为普遍,传统的随机生成、数学构造等方法构建的S盒不有稳定的密码学性质,难以达到非线性度、差分均匀度等密码分析的要求。本文利用 遗传算法的全局优化搜索特性,快速构建S盒。
1 遗传算法原理
遗传算法(Genetic Algorithm)一种基于遗传学原理模拟自然界生物种群进化规律而产生的优化搜索模型,其最初由J.Holland教授于1975年提出,因诸多良好特性而广泛应用[2]。
遗传算法本质上是一种种群基因迭代并优胜劣汰的过程。算法从一个随机初始种群出发,经过竞争、选择、交叉、变异,形成新的种群,如此重复迭代,直到产生符合约束条件的个体。图1展示的是遗传算法的一般流程结构:
图1 遗传算法流程
由此可见,将遗传算法应用于S盒有着两大关键点:一是基因如何编码;二是适应度如何评估。
2 S盒的设计原则
任意一个n×m的S盒可以看做是映射
S(x)=(f1(x),f2(x),…,fm(x)):F2n→F2m。在实际使用中分组密码多采用8×8的双射S盒,由于8的阶乘种可能性,给S盒构建带来了极大的困难。
目前,S盒的安全性主要通过以下指标来度量:非均匀度、雪崩度和差分均匀度等。……
登录APP查看全文