一种基于Lorenz-Duffing混沌系统的视频图像加密新算法

2022-10-08 01:19立,汪
关键词:加密算法像素点密钥

涂 立,汪 彦

(1. 电子科技大学中山学院 机电工程学院,广东 中山 528402;2. 湖南城市学院 信息与电子工程学院,湖南 益阳 413000)

随着网络和多媒体通信的高速发展,视频技术在生活中得到了广泛应用.由于网络具备开放性的特点,图像视频信息的安全性受到了公众的广泛关注与重视,其相关研究显得非常重要.在视频图像安全研究领域,加密是最为有效的方法,但是视频的数据量比常规的静态图像要大,而且要求有一定的实时性,因此,对视频的加密技术提出了更高的要求.

混沌系统具有良好的伪随机性和对初值的高度敏感性,因此其被作为一种创新型研究应用于加密系统中.1989 年,著名数学家Robert A J Matthews 首次将混沌理论应用于保密通信,并提出了一种基于改进的Logistics 映射的数据加密方法.此后,大批学者在混沌加密研究方面取得了丰硕的研究成果.如Chen 等[1]提出先利用三维猫映射置乱加密,再利用混沌序列进行混合加密的算法;张错玲等[2]提出了基于Lorenz 超混沌理论的图像加密算法;朱艳平[3]提出了基于CNN 超混沌的视频加密新算法;Elamir 等[4]提出了由混沌映射和DNA 计算编码规则组合而成的密钥加密新算法;牛莹等[5]改进了约瑟夫遍历问题,将其与DNA 编码技术相结合并应用到图像加密中.以上加密算法均属于低维混沌映射,动力方程简单,密钥的敏感性不够高,所设计的密钥系统的密钥空间较小,使得加密算法不够安全.为了在安全性和稳定性等方面均达到较好的效果,还需要进一步研究新的视频加密算法.

因此,本文基于Lorenz 和Duffing 复合超混沌系统,提出了一种新的视频图像加密算法,并对其加密效果等相关性能进行了仿真测试.

1 混沌系统理论

1.1 Lorenz 混沌系统

1963 年,美国气象学家Lorenz 提出了混沌理论(Chaos),指出在三阶非线性自治系统中会出现非周期的无规律行为[6-9].Lorenz 系统方程式可表示为

将步长固定为0.01,并分别取a=10、b=28、c=8/3(组合参数1)和a=20、b=30、c=5/3(组合参数2),经过迭代计算,可以得到图1 所示的Lorenz系统吸引子图.由图1 可知,选取一定的参数组合,Lorenz 系统可表现为混沌状态.

图1 Lorenz 系统吸引子图

1.2 Duffing 混沌系统

Duffing 混沌系统方程式可表示为

其中,k为Duffing 系统的阻尼系数[10-12];x(t)+x3(t)为系统恢复力;Acosωt为外加周期激励.

当参数ω取值为1 时,Duffing 系统方程可以简化为

当选取参数k=0.1、a=48 时,该系统处于混沌状态,其X-Y平面的相图以及变量x的时域响应如图2 所示.

图2 Duffing 系统相图和变量x 时域响应图

1.3 Lorenz-Duffing 复合混沌系统

将Duffing 混沌系统的方程转换成等价方程,并且引入Duffing 方程的外部激励w˙=gx,使得Duffing 系统成为自治系统;同时在Lorenz 系统中的第1 项加入dzu-w作为反馈控制器,以此连接2 个混沌系统,构建一个六维Lorenz-Duffing复合混沌系统,其动力学方程式为

取图3 所用参数进一步分析,得到该系统时域响应如图4 所示.

图3 六维混沌系统相图

图4 六维混沌系统时域响应图

由图3~图4 可知,新构建的Lorenz-Duffing六维混沌系统有良好的混沌特性,可以应用于视频和图像的加密.

2 算法步骤

视频图像加密算法的步骤如下:

1)用高清摄像头实时采集视频,采用H.264视频编码标准对原始视频进行压缩并转存为video 文件.

2)导入压缩视频,利用VideoReader 工具包读取视频信息(在4-Duint8 格式文件Frame 中).

3)将Frame 文件转换成mov(k).cdata,其中k为视频帧数,所得RGB 数据全部转换成bmp 格式的图片.

4)划分k个数据存储单元,读取视频转换后图片中的第i幅图片,将该图片的像素矩阵分解成红(R(m,n))、绿(G(m,n))、蓝(B(m,n)) 3 个分量,存储在对应的第i个数据存储单元中.

5)利用Lorenz-Duffing 方程生成3 个一维混沌序列U、V、W,这3 个混沌序列的长度均为待加密图像的像素数量m*n.

6)对3 个混沌序列进行优化.先取出序列值小数点后的第2、4、6 位小数,把这3 个数组成1 个3 位十进制数,再把该十进制数对256 求余数,生成优化后的U1、V1、W1混沌序列.

7)对图像进行约瑟夫环位置加密.先在2~20取E和F2 个整数(F<E);再读取视频转换后图片中的第i幅图片,并把该图片的红色分量部分(R(m,n))转换成一维数组K(m*n).

8)对红色分量图像R(m,n)进行加密.即把数组K(m*n)中的m*n个元素依次排列成环,从K(1)开始报数至K(E),把第F个数即K(F)取出来,放入J数组中;从K(E+1)开始,继续从1 开始报数至E,取出第2 轮报数的第F个数,再放入数组J中;如此循环报数取值,直到K数组中的数值全部放入数组J中为止,得加密数组J(m*n).

9)将步骤6)中所得U1、V1、W1转换成m*n形式,即U1(m*n) 、V1(m*n) 、W1(m*n),并与J(m*n)依次进行异或运算,所得结果Ri(m,n)即为加密后的红色分量图像.

10)对第i幅图片的绿色分量和蓝色分量部分均采用相同方法进行加密,可得加密后的Gi(m,n)和Bi(m,n).

11)将Ri(m,n)、Gi(m,n)和Bi(m,n)矩阵还原成加密视频的像素矩阵F,即为第i帧加密后的视频图像.

12)循环执行上述加密步骤,完成所有原始图片加密工作,并把所有加密帧进行重新整合,得到最终的密文视频流.

解密过程是加密过程的逆运算,收、发均采用相同的混沌序列参数,原始视频信号才能从加密视频信号中解调出来.需要注意的是,整个解密过程需要先进行像素值的灰度解密,再进行约瑟夫环位置解密,否则无法得到正确的解密视频.

3 仿真测试与结果分析

3.1 实验环境和视频图像加密

实验环境:硬件系统为 Intel Core(TM)i5-7400 CPU E5300@3.0 GHz,8.00 GB 内存的计算机;软件系统包括Microsoft Windows 10 专业版操作系统和Matlab 7.10.0.499 (R2010a)版本仿真软件.

实验以所得第20 帧图像作为原始图像对视频进行转换,如图5(a)所示.经红色分量转换后的灰度图像如图5(b)所示(以下实验均以图5(b)作为仿真图像).

图5 第20 帧采样图像

选取参数a=10、b=8/3、c=28、d=-2.5、e=0.6、f=-8 和g=9.7,变量x、y、z、u、v、w初值均为1,时间步长为 0.01,进行迭代计算,得到U1、V1、W1 3 个长度为65 536 的一维序列;将约瑟夫环位置加密参数设置为E=7 和F=4,对第20 帧原始彩色图像(图5(a))经红色分量转换后的灰度图像(图5(b))进行加密,得到其约瑟夫环加密图如图6(a)所示;进一步对该加密图进行像素值加密,得到的最终加密效果图如图6(b)所示.

图6 图像加密

3.2 直方图分析

直方图(histogram)又被称为柱状图,是一种统计报告图.图像的直方图被用来统计图像像素点出现的数量,其中横坐标表示图像的像素值;纵坐标表示该像素值出现的次数.直方图能够很直观地反映出图像加密的效果,即对于加密图像,若其加密安全性能高,那么它各像素点出现的次数是比较均匀的.图像加密前后的直方图如图7 所示.

图7 直方图分析

由图7(a)可知,加密前各像素级的像素分布波动非常大,其中一些像素值出现的频率很大,而另一些像素值出现的频率就非常小.图7(b)是图像加密后的直方图(密文图像).由图7(b)可知,加密后各像素级的像素分布非常均匀,因此掩盖了原始图像各像素级像素的分布规律,能够很好地抵御统计分析学的进攻.

3.3 相邻像素点的相关性分析

图片像素相关性[13]被用来表示图像中2 个像素点间的关系,它可以准确地反映加密算法的加密效果.相关性系数可用协方差表示,其计算公式为

相关性系数Cab范围为0~1,其值越接近1,说明图像相关性越强,加密效果越差;其值越接近0,说明图像相关性越弱,加密效果越好.

从明文图像和密文图像中各取5 000 个位置相同的像素点,分别计算出这些相邻像素点在水平、垂直和对角线方向的相关系数,结果如表1所示.

表1 相邻像素的相关系数

由表1 可知,明文图像中相邻像素的相关系数比较大,表明相邻的像素具有高度相关性;密文图像中相邻像素的相关性系数均值为0.003 17,接近0,表明相邻的像素已基本不相关.这说明所提算法的加密效果具有非常好的扩散性和加密性,对统计分析攻击具有良好的抵御性.

通常,还可以采用图像3 个方向(水平、垂直和对角线)上相邻像素点的相关性分析来了解其加密效果.从明文图像和密文图像中各选取5 000 个像素点,分析其水平、垂直和对角线相邻的相关性,结果分别如图8~图10 所示.

图8 水平相邻像素相关性分析

图9 垂直相邻像素相关性分析

图10 对角相邻像素相关性分析

由图(8)~图(10)可以看出,明文图像选取出来的点与相邻点的数值是非常接近的,而密文图像选取出来的点与相邻点没有明确的线性相关,呈混沌分布状态.

3.4 MSE 和PSNR 分析

MSE(mean squared error)为均方误差,是衡量“平均误差”的一种较方便的方法.其值越小,说明原始图像与加密图像间的联系越小.其计算表达式为

PSNR(peak signal to noise ratio)表示峰值信噪比,其单位为dB.PSNR越大,表示图像失真程度越少;反之,图像的失真程度越大.但对加密图像来说,PSNR越小,加密效果越好.其计算表达式为

3.5 密钥敏感性分析

由图11 可知,即使密钥参数发生极微小的变化,也不能成功解密,这说明本加密算法的密钥具有很高的敏感性.

图11 不同密钥参数的解密效果

当密钥参数细微变化时,经重新计算,得出解密图像的MSE和PSNR,结果如表2 所示.

表2 密钥敏感性分析

由表2 可知,所有情形下解密图像的MSE均非常大,PSNR均很小.这说明解密图像的失真程度很大,所提加密算法的密钥敏感性很高,具有较高安全性.

3.6 信息熵分析

信息熵是指某种指定信息出现的概率,它可以体现出一个系统的有序化程度.信息熵的值越小,表示系统有序性越好;信息熵的值越大,表示系统越混乱.在图像加密中,信息熵可被用来表示图像中灰度值的分布情况及其出现概率,即其值越大,表示图像中灰度分布越均匀,加密算法的保密性就越强;反之,加密效果就越差.

信息熵[14]计算公式为

3.7 密钥空间分析

密钥空间是一项用来衡量加密算法抵御暴力攻击的重要指标.如果要抵御暴力破解,加密算法的密钥空间的长度至少要达到100 位[15].本加密方法中使用的加密参数x、y、z、u、v、w均可作为密钥,假设密钥敏感性为10-10,且仅考虑参数u、v、w(其中u=[-1.7,1.7]、v=[-2.6,2.6]、w=[-115,115]),则u、v、w的取值分别有3.4×1010、5.2×1010和2.3×1012种可能.整个算法的密钥空间为4.066×1032,密钥空间长度为108 位,若用1台2.6 GHz 主机进行破解,所需时间为4.33×1015a,穷举搜索破解几乎不可能实现.

4 结论

1)基于Lorenz 和Duffing 低维混沌系统,构建了高维复合混沌系统,该系统包含多个参数和自变量,具有更好的混沌特性和更大的混沌区间.

2)针对Lorenz-Duffing 高维复合混沌系统所提出的视频图像加密算法扩展了密钥空间,使得暴力和已知明文攻击等破解方法更难解密,其具有更高的安全性,也具有更好的加密效果.

猜你喜欢
加密算法像素点密钥
加密文档排序中保序加密算法的最优化选取
幻中邂逅之金色密钥
幻中邂逅之金色密钥
基于局部相似性的特征匹配筛选算法
一种X射线图像白点噪声去除算法
Android密钥库简析
基于canvas的前端数据加密
图像采集过程中基于肤色理论的采集框自动定位
教育云平台的敏感信息保护技术研究
一种改进的加密算法在空调群控系统中的研究与实现