计算机技术的快速发展以及计算机网络的普及,进一步加速了媒体数字化的进程,使得数字媒体的制作,传播。获取和复制变得更加容易。保护图像的隐私和图像通信中的信息安全已经成为急切需要解决的问题。混沌运动是一种普遍存在于自然界的现象。混沌系统也是一种复杂的非线性,非平衡的动力过程,其特点有:

(1)混沌动力学特性对初始条件具有敏感依赖性,初始条件略有差别或者微小的扰动都会导致系统的最终状态出现巨大的差别,其长期演化行为不可预测;

(2)系统由完全确定性的方程描述,无需附加任何因素,系统仍表现出类随机行为。混沌的这些特性使得基于混沌控制系统的加密方法具有很高的安全性。

由于人工神经网络具有非线性的映射能力,人工神经网络为解决混沌非动力系统加密方法提供了新的方法和思路。GRNN(广义回归神经网络)在逼近能力、分类能力以及学习速度上较BP网络和RBF网络有着鞍强的优势,网络收敛于样本量集聚较多的优化同归面,并且在样本数据缺乏时,预测效果以及网络的鲁棒性也比较好。因此本文提出一种将GRNN神经网络应用于数字图像的方法中,利用GRNN神经网络生成混沌数列,利用该混沌数列按行对图像进行排序置换加密。通过实验证实该算法具有良好的加密效果。

一、GRNN神经网络

广义回归神经网络(GRNN)是Donald FSpecht在1991年提出的。GRNN是一种正则化的径向基网络,通常用来实现函数逼近,图1为GRNN网络结构。

基于GRNN和混沌系统的数字图像文件加密方法

模式层的神经元数为训练样本数目,各神经元对应不同的模式。模式层中神经元的传递函数通常采用高斯函数。其表达式为:

基于GRNN和混沌系统的数字图像文件加密方法

式(1)中,xi为第i个神经元对应的训练样本,σ为光滑因子,其决定了模式层中基函数的形状,σ越大,其基函数越平滑。神经元i的输出为计算网络输入变量X与其对应的训练样本xi的欧氏距离。

求和层由SD和SN两种类型的神经元构成。其中SD为对所有模式层神经元的输出值求和,其表达式为:

基于GRNN和混沌系统的数字图像文件加密方法

SN为对所有模式层神经元的输出进行加权求和,其表达式为:

基于GRNN和混沌系统的数字图像文件加密方法

式(3)中,yij为第1个输出样本yt中的第j个元素。

输出层的神经元数目为训练样本的输出向量维数,第j个神经元的输出为:

基于GRNN和混沌系统的数字图像文件加密方法

GRNN连接权值的学习修正仍然采用BP算法。由于网络的输入层结点中的传递函数为高斯函数,而高斯函数是一种局部分别对中心径向对称衰减的非负非线性函数,对输入信号将产生局部响应,因此GRNN网络具有局部逼近能力,网络的学习速度快的特点。

二、基于GRNN和混沌系统的数字图像加密方法

1、Logistic混沌简介

混沌系统是一种确定系统中出现的类似随机过程。混沌系统产生的信号具有非周期性、对初始条件敏感性以及连续宽频谱等良好的密码学特性。利用混沌系统可以构造非常好的信息加密系统。Logistic方程是目前工程上广泛运用的一种混沌动力系统,其表达式为:

基于GRNN和混沌系统的数字图像文件加密方法

式中,λ是一个常数,yk∈[0,1],k∈N,当3.569945<λ≤4时,式(5)处于混沌状态。

2、基于GRNN和混沌系统的数字图像加密算法

基于GRNN和混沌系统的数字图像加密方法是通过选取不同的混沌初值,用混沌神经网络产生不同混沌序列作为密钥序列,对数字图像进行置换加密,密文经公开信道传输,接收方可以通过公开信道传输的混沌初值产生混沌解密序列实现数字图像的解密。其加密算法为:

(1)输入Logistic序列的初值,根据初值生成Logistic混沌序列;

(2)将Logistic混沌序列作为训练样本输入GRNN神经网络进行学习,确定GRNN网络的权值。将GRNN控制模型经秘密信道发送给接收方;

(3)输入数字图像文件。任选混沌初值x1,由GRNN计算得到混沌序列Xk,k=1,2,…,len,其中len为数字图像的列数;

(4)求出x1,X2,…,xq的排序置换,根据求出数字图像每一行的置换加密;

(5)将混沌初值x,和加密后的数字图像发送给接收方。

接受方接收到信息后,可以采用解密算法恢复数字图像。

解密算法为:

(1)由加密的数字图像文件可求出len,将x1输入GRNN得到相应的Xk;

(2)根据Xk求出数字图像每一行的逆置换得到解密后的图像。

三、加密实例和算法安全性分析

1、图像加密实例

算法使用Matlab7. 0仿真软件进行计算机仿真。取Logistic混沌序列的初值y1=0.2,μ=4,样本数为2000。GRNN网络的光滑因子为0.0001。网络的输入层神经元和输出层神经元的数目均为1。网络学习后其均方误差为王6973 X10-6,最大误差为2 0368X10-4。图2为网络训练后的误差图。

基于GRNN和混沌系统的数字图像文件加密方法

采用本文的加密算法对图像进行加密实验。图3 (a)为原始图像,图3(b)为混沌初始值为0.1时加密图像,图3 (c)混沌初始值为0.4时加密图像,图3 (e)为解密后的图像。

基于GRNN和混沌系统的数字图像文件加密方法

由图3可知,对原图像的加密结果都能得到类似于噪声的加密图像,从加密图像中也几乎不能得到原图像的任何信息。在得到正确的密钥的情况下,对加密图像进行解密操作,便能得到和原始图像一模一样的加密图像。

2、加密算法安全性分析

加密后的图像是原始图像像素的一种随机排列,其密钥量为len。本文选取图像的行数是为384,其密钥量为384,。对密码攻击者来说,使用穷举法破译密码将是一个非常困难的问题。

计算原图和密图的不动点比和灰度平均变化值,可以从数量上反映原图与加密后的图像素变化情况。表1给出各种混沌初值加密图像与原图的不动点比和灰度平均变化值。由表1可知,99%以上的像素发生了变换,各种混沌初值加密方案的灰度平均变化值非常接近。由此可以得出,原图的特征在密图中得到很好的隐藏。

基于GRNN和混沌系统的数字图像文件加密方法

相邻像素相关系数能够反映图像相邻像素间的相关程度。随机选取5000对相邻像素计算其相邻像素相关系数。表2为初值为0.2加密方案时水平、垂直和对角3种情况的相邻像素相关系数。

基于GRNN和混沌系统的数字图像文件加密方法

图4为原图和加密后的图的像素分布图。由表2和图4可以看出加密图像的置乱效果非常好。

小知识之神经元

神经元(neurone),又名神经原或神经细胞(nerve cell),是神经系统的结构与功能单位之一。神经元占了神经系统约10%,其他大部分由胶状细胞所构成。