由于混沌系统对初始条件和混沌参数非常敏感以及生成的混沌序列具有非周期性和伪随机性的特性,近年来在信息加密领域得到了较多的应用。但是大多数混沌序列发生器都是采用单混沌系统,可能存在一些潜在的动力学系统攻击方法。提出了一种基于两个参数随机变换的混沌系统的伪随机序列发生器,生成一个随机性好、长周期的密钥序列,并给出了统计特性分析的严格的理论证明。

一、基于双混沌系统的伪随机数发生器

1、参数随机变换的一维线性映射

具有良好随机统计特性的一维分段线性混沌映射,其定义为:

基于双混沌系统的序列加密方法研究

其中,x∈i=f [0,1 ],p∈(0,1/2)。

我们定义在n-bit精度下,迭代次数为k的一维线性映射的表达式:

基于双混沌系统的序列加密方法研究

该映射产生的混沌序列是混沌的,其输出信号为{X(t)},在[0,1]上遍历,且具有良好的自相关特性和均匀分布特性。

实值混沌随机序列经过计算机运算后都会变成伪随机序列甚至是周期序列。由于有限精度效应,直接通过迭代生成的序列有如下缺点:固定的混沌参数p易被破解。在有限精度实现下,易陷入周期循环j而且周期不能保证足够大。

为了解决这些问题,设计了一个混沌参数随机变换的混沌系统,如图1所示。Ep是2n个一维线性混沌映射,表示为Ep(1)~Ep(2n)。所有20个Ep都是基于同一个定义在[0,1]上的一维混沌映射F(x,p),只是控制参数p(1)-p(2n)和初始条件不同。所有的Ep都是在n=16bit精度下实现的。Cp是一个单独的一维线性混沌映射,用来控制2n个Ep的初始化和迭代过程,它也是定义在[0,1]上的一维混沌映射F(x'p)。

基于双混沌系统的序列加密方法研究

它的初始值是系统随机生成的一个伪随机序列s(i),利用它作为C。的初始条件,根据式(2)生成随机序列x(i)。可知f x(i))的取值空间为216。

以x(i)作为Ep的初始条件,系统中的参数根据x的量化值在p的可能取值P1,p2,…,pn中选取p,则p的选取次序为l=[x(i)炮16],从p(l)∈(p(216))中得到。其中[*]为取整。

在生成密钥的过程中,每次的p都不同,并且p的选取决定于s(i)。s(i)是随机选取的,所以p是随机变换的。这种系统可以看成是由n个具有不同参数的一维分段线性混沌级联而成的。

2、基于双混沌系统的数字化实现

根据式(2)产生的模拟序列基于双混沌系统的序列加密方法研究,用量化函数进行量化得到0-1二进制序列基于双混沌系统的序列加密方法研究

基于双混沌系统的序列加密方法研究

其中,n>0为任意正整数,I0n,I1n,I2n,…是区间[0,1]的2n个连续的等分区间。由于混沌序列(x(t))具有良好的随机统计特性,这样生成的(Sn(t))在理论上具有均衡的0-1比和&like的自相关等优良的统计特性。

定义两个一维线性映射F1,F2,用参数切换法进行控制。当它们都是满足式(1)定义的混沌映射,设计如图2所示的加密系统。其中,F1,F2为图1所示的参数随机变换的一维混沌映射;(s1(i)),(s2(i))均为n = 16bit的伪随机序列。为干扰混沌的动力学特性,将混沌轨道量化后又进行异或运算。

基于双混沌系统的序列加密方法研究

3、混沌系统的性能分析

(1)保证产生的0-1序列满足二值均匀分布。在迭代过程中,每切换一个系数相当于更换了一个混沌模型,由此来提高产生的混沌序列的复杂性。即使有个别不安全的参数,但由于参数数量庞大,而且又不断地切换,这种可分解的规律被迅速扰乱,故保证了产生的序列服从二值均匀分布。经过异或运算后,在不改变序列的均匀分布的基础上,状态向量之间的关系被完全置乱,这也是各种基于相空间重构的混沌预测方法对该结构会失效的一个重要原因。本文提出的方法既保证了产生的序列满足二值均匀分布的要求,又避免了序列性能退化,极大地增加了对方预测破译的难度。

(2)使得破解参数p变得异常复杂。破解一个一维分段线性混沌的参数需要该混沌同一分段的两个点对。本系统有n个不同的混沌过程,所以一个点对落入一个指定的混沌的概率为n1,两个点对同时落入同一个混沌的概率为n-2。因此,破解本系统的一个混沌参数的复杂度是破解一维分段线性混沌的n2倍。全部破解p1,p2,…,pn这n个参数,其复杂度是破解一维分段线性混沌的n×n2= n3倍。在异或条件下,破解参数的复杂度以平方关系增加,即为(n3)2。所以参数随机变换的混沌系统的复杂度远远大于一维混沌系统。

(3)进一步改善了序列的周期性能。作为密码序列,其周期通常应很长,而定常参数的方法所产生的序列,其周期完全取决于序列的精度。本文采用的方法其周期由混沌参数改变的周期乘积来决定,产生的序列周期大大加长,而且容易度量。

取精度n=16,则两个混沌系统生成的序列(X1(i))和{x2(i))的最小周期为22n=232,同样二进制序列{S1(i))和(S2(i))的取值空间为22n。由异或特性,22n个序列值异或遍历的序列空间为(22n)x( 22n)=24n =264,则二进制序列的最小周期长度为264,即混沌序列的最小周期Tmin=3.4 X1038,这对一般的加密系统已经足够了。而且我们可以通过提高精度n= 32使周期达到2128。这样安全性可进一步得到保障,其保密性能明显优于基于单个映射的混沌系统和固定的高维混沌系统。

二、计算机仿真实现

仿真采用图2所示的混沌系统,取混沌序列精度n=16bit,参数p的精度为16,互相关性为系统初值变化0.000 015(1/216)时两个序列的互相关。

在密码学应用领域中,要求伪随机序列具有δlike的自相关函数和近乎为零的互相关。图3给出了本文设计的混沌序列的自相关与互相关的仿真结果,可以看出这种序列具有类δ函数的自相关和非常小的互相关,旁瓣一般不超过0.01。这与理想的独立与分布的随机序列的相关值曲线几乎完全一致,说明该序列随机性很好。

基于双混沌系统的序列加密方法研究

线性复杂度是伪随机序列的一个非常重要的性能指标。如果线性复杂度(LC)低,只需两倍LC长的序列就可以通过B-M算法轻松地重构整个密码序列,这也是很多传统密码序列的致命弱点。用B-M算法进行统计分析的结果如图4所示。从图4中可以看出,该序列的线性复杂度约等于序列长度的一半,接近于纯随机序列的线性复杂度曲线,满足保密通信系统的要求。

基于双混沌系统的序列加密方法研究

小知识之旁瓣

天线方向图上,最大辐射波束叫做主瓣,主瓣旁边的小波束叫做旁瓣。
旁瓣使声能量扩散,衰减增多。目前减少旁瓣的最简单的方法是:减少物体的尺寸,使其小于或者等于波长的一半,此时将不会产生旁瓣效应。