论文导读:分组密码体制是目前在商业比较流行的一种加密体制。基于混沌状态空间搜索的混沌分组密码算法没有利用“置换”和“替代”这两个分组密码设计的基本手段。因此传统的密码分析方法无法对基于混沌状态空间搜索的混沌分组密码算法进行攻击。而混沌系统本身就存在混沌轨道对初值或控制参数敏感的特性。
关键词:状态空间,搜索,混沌,分组密码
1. 引言
分组密码体制是目前在商业比较流行的一种加密体制,它广泛地应用于数据的保密传输、加密存储等应用场合。现代分组密码算法研究始于20世纪70年代中期。1477年,数字加密标准DES的制定,促进了分组密码算法的发展。密码学界公布了许多分组密码算法,例如LOKI,FEAL等。但随着人们对分组密码算法的研究更加深入,其算法结构的缺陷也逐渐暴露出来,特别是差分密码分析和线性密码分析的提出,迫使人们不得不研究新的密码结构。
不同于传统的分组密码,基于混沌状态空间搜索的混沌分组密码算法没有利用“置换”和“替代”这两个分组密码设计的基本手段,因此传统的密码分析方法无法对基于混沌状态空间搜索的混沌分组密码算法进行攻击。
2. 分组密码
分组密码是先将明文分成长为l的组,然后各个组分别在密钥k的控制下进行加密。从数学的角度看,分组密码的实质是一个从明文组空间到密文组空间的映射。对于传统的分组密码,这个映射只不过是加密的两个基本技术:置换和替代的组合[1]。
DES是一个分组长度为64位,密钥长度为56位的分组密码。毕业论文,混沌。首先,64位的明文通过一个初始的置换后,分成左右两部分 ,各32位长,然后进行16次完全相同的轮变换,其中i=1,2,…16;ki是第i轮的48位密钥,是密钥k通过密钥置换得到的;f被称为轮函数,包括扩展置换、S-盒替代、P-置换三部分。最后对 进行末置换(初值置换的逆置换),就得了密文。毕业论文,混沌。
轮函数 首先进行的是扩展置换,通过重复其中的16位,将右半部分 从32位扩展为48位。这个操作有两个目的:它产生了与子密钥同长度的数据,以便于二者可以进行“异或”运算;由于复用了16位,这些位输入比特,一位将影响两个后面S-盒的替代,所以输出对输入的依赖传播得更快,实现密文对明文输入或密钥敏感,这也叫雪崩效应。
从上述过程可以看出,为了实现密文对明文或是密钥敏感,要进行复杂的变换。而混沌系统本身就存在混沌轨道对初值或控制参数敏感的特性,因此,混沌分组密码算法为分组密码算法研究提供了新的思路。
在1991年的欧洲密码学会上,Habutsu等人第一个提出了混沌分组密码算法[2],开启了混沌分组密码的研究纪元。Habutsu等人提出的分组密码算法将控制参数当作明文作为混沌映射的初值状态,多次迭代后的混沌信号作为密文输出。分析表明,因为密码分析者可以直接知道混沌轨道信息,从而利用混沌理论工具进行密码分析,此密码算法不够安全。
此外,Jakimoski等应用混沌映射替代DES中的S-盒[3]。这种混沌映射的应用方式,没有改变密码系统是Feistel网络结构的事实,不能抵抗差分密码分析和线性密码分析。
本文设计了一类带参数变换单元的基于状态空间搜索的混沌分组密码。此密码隐藏了混沌轨道信息,并且不是Feistel网络结构,与传统的分组密码存在着巨大差异。分析表明,此类密码具有密码学意义上的安全性。毕业论文,混沌。
3. 基于状态空间搜索的混沌分组密码
近年来,利用混沌对状态空间遍历的特性,一些混沌随机数发生器[4]和混沌伪随机数发生器[5]的设计方法不断的被提出。它们的设计基本思想是首先将状态空间划分成若干个区间,然后根据混沌信号落在的具体区间确定输出的是“0”比特,还是“1”比特。例如:设混沌系统的状态空间为S=[-1,1],状态空间的一个划分为 , , ;然后如果混沌信号落在 上,输出“0”比特;反之输出“1”比特。
受上述思想启发,一些基于状态空间划分的分组密码算法被提出。Alvarez等人提出的算法由于把混沌信号作为密文的一部分进行传输[6],这将泄漏混沌轨道信息给密码分析者,从而降低了攻击密码系统的复杂度[7]。Li Shujun等人提出的算法将混沌系统的初值状态和控制参数一起当作密钥进行遍历[8]。此密码算法的缺陷是如果密钥选择的不好,加密速度会很慢,甚至加密不可行。
3.1. 基于状态空间搜索混沌分组密码结构
针对Alvarez等人和Li Shujun等人所提出的密码算法的缺陷,本文设计一类基于状态空间搜索的分组混沌密码,其结构如图1所示,由状态控制参数变换单元、控制参数变换单元、状态选择开关、混沌系统、搜索单元五部分组成。

图1 基于状态空间搜索混沌分组密码
图1中 、 为系统的密钥,即k={ , }:P为明文;c为密文。xn为混沌系统的轨迹。Sel为状态选择开关的控制信号,当其为高电平(或为“真”)时,xn+1 xn;当其为低电平(或为“否”)时, xn。 (t)为混沌系统的控制参数。
3.2. 基于状态空间搜索混沌分组密码实现
3.2.1. 混沌系统
选择四分段区间的分段线性混沌映射作为混沌系统映射,其数学表达如下:

式中 是控制参数,且 (0,0.5), xn [0,1)。此混沌映射可以采用固点算法实现。由于控制参数 (0,0.5),所以要求图3.1中的 和 (t)的最高有效为“0”,设混沌系统的实现精度为L,则 = (0, ,… :), 表示 左面第i个比特。毕业论文,混沌。
3.2.2. 搜索单元
将xn的状态空间[0,1)划分为 =[0, (t))、 =[ (t),0.5), =[0.5,1- (t))、 =[1- (t),1)四个区间。设定系统最大分组长度为 。
1/2 1 2 下一页 尾页 |