许 楠,刘丽杰,徐耀群
(1.黑龙江八一农垦大学信息技术学院,黑龙江大庆163319;2.哈尔滨商业大学系统工程研究所,哈尔滨150028)
近年来,混沌算法的研究一直是人们所关注的热点,它的应用的比较广泛,可以应用于组合优化问题,也可以应用函数优化,甚至可以将其与加密算法相结合,对图像进行加密解密.
混沌理论的一个显著性特点就是它对模型初值的高度敏感特征,且属于非线性科学的范畴,有着周期不固定,混沌行为的长期不可预测等特点,这些都使得它适合应用于密码学[1]的研究,保障了通信的安全性.
人们所熟悉的Chen’s暂态混沌神经元模型[2]采用Sigmoid函数作为激励函数,而下面介绍的的混沌神经元模型完全突破这一过程,选取高斯函数作为激励函数,下面简称“高斯激励混沌神经元模型”,其模型可以表示为:
其中:x(t)为神经元的输出即激励函数,这里采用的是高斯函数(它是径向基函数[3]的一种典型函数),c和δ为高斯函数的参数,δ也称为径向基函数的宽度系数;I0为一正参数;y(t)为神经元的内部状态;k的取值范围为0≤k≤1,称为神经隔膜阻尼因子,k越大说明网络保留内部状态的能力越强,越小网络遗忘内部状态的能力越强;z(t)称为自反馈连接项,它控制混沌状态的衰减速度,以及混沌搜索的快慢;β是模拟退火参数.
采用高斯函数作为激励函数,完全不同于Sigmoid函数是因为Sigmoid函数式非单调的函数,而高斯函数则是单调递减的函数,虽然采用飞单调函数作为激励函数能够提高混沌搜索的速度,但径向基函数(高斯函数是径向基函数的一种)具有较强的函数逼近能力[4],这也是研究这一新型模型的重要原因之一.在此说明:本文的仿真数据及图形均是在Matlab环境下实现的.图1是在不同的δ值时,高斯曲线情况.
图1 高斯函数的单调性
图2 β=0.000 7时神经元倒分岔与最大Lyapunov指数演化图
通过图1可以清楚的得知,高斯函数的单调性随着δ的增大,单调程度明显增强,那么采用高斯函数作为混沌神经元模型的输出函数,δ的初值对该模型的的混沌动力学特性有一定的影响.
当参数选取 y(1)=0.5,z(1)=0.7,k=0.1,I0=0.1,δ=0.6,c=0.000 3 固定不变,当分别选取与时神经元的倒分岔图[5]和最大Lyapunov指数演化图如图2、3所示.
图3 β=0.000 8时神经元倒分岔和Lyapunov指数演化图
通过图2、3不难看出:由高斯函数作为激励函数的混沌神经元系统,其模拟退火速度敏感依赖于模拟退火参数,两次模拟实验值仅仅相差0.000 1,但由两个神经元倒分岔图可以明显看出,其混沌搜索的收敛点一次在11 000左右,一次在10 000左右,而且越大混沌收敛越快,反之混沌收敛越慢.
通过两次的Lyapunov指数演化图可知:该神经元模型在混沌搜索过程中其Lyapunov指数始终在0值附近,最终通过采用梯度下降策略,消除了混沌搜索过程,使得系统达到稳定状态,此时体现在图中的Lyapunov指数值为0.由式(3)可知,自反馈连接项z(t)是不断衰减的,而且其衰减速度与模拟退火参数有直接关系,越大变化越快,衰减速度增大,那么混沌搜索区域就会减小,最终能够快速使得Lyapunov指数值为0,即达到收敛状态.
当参数选取 y(1)=0.5,z(1)=0.7,k=0.1,I0=0.1,δ=0.4,c=0.000 3,β =0.000 7 倒分岔图和最大Lyapunov指数演化图[6]如图4所示.
由图4可知:与图2相比,在其他参数初值不变的情况下,值由0.6变为0.4时,高斯激励混沌神经元系统的确有着明显的收敛点变化,δ=0.6时收敛点在11 000左右,而δ=0.4时收敛点在12 000左右,说明δ越小,混沌搜索速度越慢,较晚达到稳定的平衡点,因此,如果想充分利用混沌搜索,需要选取较小δ值,如果想提高系统的收敛速度,则需要选取较大δ值.
图4 δ=0.4时神经元倒分岔与最大Lyapunov指数演化图
试想如果β值无限趋近于1,则z(t)会无限趋近于0,即没有了自反馈过程,那么混沌动力学特性将无法体现;反之则不难想象:假设取β=0,那么z(t)将始终保持原值不变,不会衰减,该混沌状态将没有梯度下降的过程,神经元就会保持混沌搜索状态不变,永远无法收敛.该设想可以通过下面的仿真实验得以证实.
将高斯激励混沌神经元的模拟退火策略去除,即将原式(3)去掉,式(2)改为式(4)
选取参数 y(1)=0.5,z(1)=0.7,k=0.1,I0=0.1,δ=0.6,c=0.000 3,固定不变,永久保持混沌搜索的高斯激励混沌神经元的状态如图5所示.
图5 永久保持混沌搜索的高斯激励混沌神经元状态图
从图5看出,没有采用梯度下降策略[7]的混沌神经元系统,始终保持混沌搜索状态,Lyapunov指数演化图保持直线不变,说明Lyapunov指数值稳定在大于0的一点,神经元系统不能经过倒分岔过程达到平衡状态,混沌搜索过程将永久保持下去,这样就验证了前面的设想.
对于混沌神经元动力学系统的特征分析,上述的Lyapunov指数是一个重要的指标,除此之外,时间序列分析的重要指标还有功率谱,周期运动在功率谱中对应尖锋,混沌的特征是谱中出现“噪声背景”和“宽锋”[8],它是研究系统从分岔走向混沌的重要方法.下面选取参数 y(1)=0.5,z(1)=0.7,k=0.1,I0=0.1,δ=0.6,c=0.0003,观察高斯激励混沌神经元的功率谱如图6所示.
图6 高斯激励混沌神经元的功率谱
如图6所示,该高斯激励混沌神经元系统的功率谱无明显的峰值,说明此系统是具有混沌特征的时间序列,再次验证了该系统能够永久保持混沌搜索状态,不能形成倒分岔从而达到收敛点.
混沌是非周期与非随机的动力学过程,大量研究表明混沌时间序列构造的吸引子就是分形集,分形维数是刻划动力系统是否具有混沌的定量指标之一,关联维[9]则是比较有效的分形维计算方法,下面选取参数 y(1)=0.5,z(1)=0.7,k=0.1,I0=0.1,δ=0.6,c=0.000 3,高斯激励混沌神经元的关联维如图7所示.
图7 混沌时间序列的关联维
由图7可以看出,图7中存在直线的区域,说明此区域内客体具有自相似性,并可视为分形,说明该神经元系统能够持续保持混沌状态不变.抗统计性能.原图像、加密后图像分别如图9、10所示.
混沌算法可以提供良好的随机性、相关性、复杂性的伪随机序列,具有密码学特性,适合于序列密码加密.序列密码属于私钥密码范畴,密码算法基本上是利用密钥流和明文的异或运算得到密文,因此利用混沌算法进行加密其安全性主要取决于密钥流[10].可以通过控制混沌算法的初始循环,利用混沌加密信号对初值的敏感性等特点,从而使加密函数达到较高的复杂度,增强生成混沌序列的随机性,保证该系统加密过程的安全性以及抗攻击能力.加密过程描述如图8所示.
图8 加密体制解析图
那么对图像进行加密的秘钥如何产生呢?该算法[11]的具体实现步骤如下:
1)将原始图像按照分辨率转化为M行N列的二维矩阵,每个像素点按照明暗程度取值,大小范围为0~255,如式(5)所示:
2)将密钥映射为二维混沌序列,在此由永久保持混沌状态的高斯激励混沌神经元模型作用后产生此序列,给定的参数初值情况为:y(1)=0.5,z(1)=0.7,k=0.1,I0=0.1,δ=0.6,c=0.0003,key=0.273,其中key为根据实际图片确定的辅助密钥;
3)通过线性变换将混沌序列映射到0~255的8位二进制整数序列,从而得到加密因子序列;
4)将原图像矩阵元素与加密因子序列进行异或运算,得到加密图像的各像素加密值;
5)在公共信道输出加密后的图像.
本文对灰度图像按照上述算法进行加密解密,通过永久保持搜索状态的径向基函数混沌神经元系统的作用,使得加密因子有足够的抗穷举能力和
图9 原始图像
图10 加密图像
加密后密文图像如图10所示,可以看出加密后的图像是一张杂乱无章的,无任何明文信息的图片,因而满足了扩散和混乱的要求.
图像直方图[12]是用以表示数字图像中亮度分布的直方图,标绘了图像中每个亮度值的像素数.这种直方图中,横坐标的左侧为纯黑、较暗的区域,而右侧为较亮、纯白的区域[13].因此,一张较暗图片的图像直方图中的数据多集中于左侧和中间部分;而整体明亮、只有少量阴影的图像则相反.
图11 明文图像的直方图
图12 加密图像的直方图
图11、12是明文及密文图像灰度值的柱状分布图,可以看出明文图像的像素值分布不均匀,通过混沌加密算法进行加密后,从图12可以看出密文中0~255各个像素值出现的次数都在600~1 000之间,各像素值分布非常均匀,这表明了加密算法掩盖了所有的明文信息.充分说明该算法具有较强的抗统计分析能力.
本文突破以Sigmoid函数作为输出函数的过程,提出一种由高斯函数独自作为激励函数的混沌神经元模型,分析了该模型的混沌动力学特性;通过仿真试验验证了如果去掉模拟退火过程,该模型能够永久保持混沌搜索状态不收敛,并对混沌时间序列的特征指标进行了分析;将该模型应用于灰度图像的混沌加密系统中,给出加密算法的同时,通过直方图直观说明了该算法具有较强的抗统计分析的能力,图像加密效果较为理想.
[1]文昌辞,王 沁,黄付敏,等.基于仿射和复合混沌的图像自适应加密算法[J].通信学报,2012(11):123-131.
[2]CHEN L,AIHARA K.Chaotic simulated annealing by a neural network model with transient chaos [J].Neural networks,1995,8(6):915-930.
[3]夏祥华,孙汉文.基于遗传算法优化径向基函数人工神经网络的输入变量的研究[J].计算机与应用化学,2013(2):63-67.
[4]曾德惠.基于 Matlab实现函数逼近[J].现代电子技术,2009(18):149-151.
[5]XU N,LIU L J,XU Y Q.A Novel Chaotic Neural Network with Radial Basis Function and Their Application to TSP(EI)[C]//International Conference on Mechatronics and Materials Engineering,2011.Dec 10,- Dec 12.
[6]姚天亮,刘海峰,许建良,等.基于最大Lyapunov指数不变性的混沌时间序列噪声水平估计[J].物理学报,2012(6):59-63.
[7]杨 涛,刘文杰,丁 宁.基于梯度下降算法的神经网络模型研究[J].网络安全技术与应用,2013(4):77-79.
[8]王春兴.基于Matlab实现现代功率谱估计[J].现代电子技术,2011(16):73-75.
[9]王 基,杨爱波,刘树勇,等.改进的时间序列关联维数快速算法[J].华中科技大学学报:自然科学版,2012(10):106-109.
[10]李雨峰.混沌密码学技术及其应用[J].信息与电脑(理论版),2013(2):162-163.
[11]钟厚桥,李建民,林振荣,等.基于超混沌序列的图像加密方案[J].计算机应用研究,2013(10):236-239.
[12]张爱梅,杨志武,张 瑞.图像直方图参量规定化方法的理论分析[J].现代制造工程,2011(8):33-37.
[13]叶永刚,徐耀群.一种基于Bessel函数的混沌神经网络[J].哈尔滨商业大学学报:自然科学版,2013,29(5):561-564,585.