APP下载

结合小波变换与混沌键控的视频加密算法

2019-04-15

计算机应用与软件 2019年4期
关键词:明文加密算法解密

朱 艳 平

(信阳农林学院信息工程学院 河南 信阳 464000)

0 引 言

互联网大数据时代的到来,视频已成为学习、工作、交流和娱乐的重要方式之一。由于其应用范围和领域不断扩大,对其安全性的要求也越来越高,因此视频信息的加密算法就成为了研究的热点问题[1]。

文献[2]采用3DES,文献[3-4]采用AES对视频信息进行加密,但此类加密方法主要适用于文本信息,如果应用在视频加密上,需要对视频进行预处理操作,达不到它的实时性要求[5]。文献[6-8]采用低维混沌系统作为密钥源,密钥空间小,安全性差;由于基于特定的视频编码标准,其应用范围具有局限性。文献[9-10]均采用四维超混沌系统作为密钥源,密钥空间得到了提升,但并未考虑明文对加密算法的影响,明文敏感性不强。文献[11]提出的视频加密算法具有通用性,但为了提高加密速度,舍弃了置乱加密过程,仅保留了像素替代加密过程,安全性能有所下降。

针对以上问题,本文提出小波变换与混沌键控相结合的视频加密算法。根据文献[13]对各混沌系统动力学行为特性的分析结果,选取三维CNN系统、三维Rossler系统和三维Chen系统作为密钥源;因为低频部分集中了视频帧的大部分信息,只需对此进行置乱就能达到加密的目的[14],所以在置乱加密过程中使用小波变换技术,仅对原视频帧四分之一的数据进行处理,大大提高了加密的效率;混沌键控技术既能扩大密钥空间,又能提升算法的并行性;密钥源的初始值、密钥的选取以及像素的加密值都与明文信息有关,提高了算法的明文敏感性;“扩散”和“一次一密”加密思想的运用,也使加密算法的安全性得到了较大程度的提高。

1 混沌系统

1.1 数学模型

细胞神经网络CNN(Cellular Neural Network)的数学模型如下[15]:

j=1,2,…,n

(1)

(2)

三维Rossler系统的数据模型如下[16]:

(3)

当a=b=0.2,c的取值在4.2与9之间时,该系统处于混沌状态,此处c=5.7。

三维Chen系统的数学模型如下[17]:

(4)

当a=35,b=3,c=28时,该系统进入混沌状态。

1.2 混沌特性分析

(1) 混沌吸引子 当初始值x1(0)=0.1,x2(0)=x3(0)=0.2时,图1(a)为三维CNN系统所产生的混沌吸引子,(b)为三维Rossler系统产生的混沌吸引子,(c)为三维Chen系统产生的混沌吸引子。

(a) CNN系统混沌吸引子 (b) Rossler系统混沌吸引子

(c) Chen系统混沌吸引子图1 三种混沌系统所产生的部分混沌吸引子

(2) 初始值敏感性 对初始条件极为敏感是混沌系统的显著特征,使用密钥变化率KCR(Key Change Rate)对三种混沌系统的初始值敏感性进行分析。初始值x1(0)=0.1,x2(0)=x3(0)=0.2。当x1(0)=0.1+1e-16,而x2(0)和x3(0)的值不变,则三维CNN系统、三维Rossler系统和三维Chen系统的KCR值分别为0.998 8、0.983 4和0.999 6;当x2(0)=0.2+1e-16,而x1(0)和x3(0)的值不变,则上述三个混沌系统的KCR值分别为0.999 9、0.986 8和0.999 8;当x3(0)=0.2+1e-15,而x1(0)和x2(0)的值不变,则它们的KCR值分别为0.999 8、0.990 3和0.999 9。KCR的值越大,表示该混沌系统的初始值敏感性越强,反之越弱。

从上述实验数据可以看出,这三个混沌系统对初始条件是极为敏感的,混沌特性显著,适合将其应用于视频加密系统中。

2 视频加密算法

该视频加密算法如下:

步骤1选择混沌系统作为密钥源。采用3通道同时对视频信息进行加解密。1通道对应CNN系统,2通道对应Rossler系统,3通道对应Chen系统。且在每个通道设置1个开关,分别记作t1、t2和t3。当其取值为1时,表示该通道处于忙状态,否则处于空闲状态。依次扫描t1、t2和t3,选择处于空闲状态的通道作为传输通道,并选择该通道对应的混沌系统作为密钥源。

步骤2混沌系统初始值的选取。采用式(5)来选取混沌系统的初始值。

(5)

式中:R、G和B分别表示明文视频帧所有像素的红色分量、绿色分量和蓝色分量的异或值,⊕为异或操作。k1、k2和k3为初始值调节参数,可以取0到255之间的任意实数。

步骤3密钥的选取。每一个混沌系统均可生成3路混沌序列,每1路混沌序列产生Q个混沌值即可满足“一次一密”的密钥要求。其中Q=M×N,M为视频帧的高,N为视频帧的宽。使用式(6)对混沌序列进行映射处理,使其取值均在[0~255]的值域内。x(i,j)为最初生成的混沌值,Y(i,j)为经过映射处理后的混沌序列,fix为向0靠近取整,mod为取余操作。

(6)

步骤4小波置乱加密。将视频帧进行小波分解,取其低频部分信息,按如下公式进行置乱加密:

(7)

若像素点(i,j)和像素点(fi,fj)的位置均未发生变化,则将这两个像素点互换位置。其中Y(ii,roadi)表示第roadi路混沌序列的第ii个混沌值,ii的取值从1到(M/2)×(N/2)。dk=0,1,2,…,n-1,n是正整数,为置乱的循环次数。最后将置乱后的低频部分与高频部分进行小波重构,得到小波置乱后的加密视频帧。

步骤5像素替代加密。对于小波置乱后的加密视频帧,采用如下公式进行像素替代加密:

(8)

式中:FXR(k)、FXG(k)和FXB(k)分别表示经像素替代加密后第k个像素的红色、绿色和蓝色分量的值;XR(k)、XG(k)和XB(k)分别表示经小波置乱后的第个像素的红色、绿色和蓝色分量的值;Y为加密密钥,i和j分别为视频帧像素的行号和列号。

步骤6解密。解密过程是加密过程的逆过程。

3 实验结果分析

3.1 加密效果分析

对摄像头采集的视频信息使用上述算法进行加密和解密处理,此处k1=0.1,k2=0.2,k3=0.3,则图2(a)为明文视频,(b)为经由小波置乱加密后的视频,(c)为像素替代加密后的视频,(d)为逆替代解密后的视频,(e)为逆置乱解密后的视频。

(a) 明文视频 (b) 小波置乱加密视频

(c) 像素替代加密视频 (d) 逆替代解密视频

(e) 逆置乱解密视频 (f) 初始值密钥敏感性图2 视频的加密和解密效果

从图2可知,无论是小波置乱后的加密视频,还是像素替代后的加密视频,都已看不出任何影像,而解密后的视频与明文视频在视觉感观上毫无差异,说明该视频加密算法取得了良好的加密和解密效果。

3.2 密钥敏感性分析

表1 初始值密钥敏感性CPCR测试结果

从表1的实验数据可知,当解密的初始值密钥与加密的初始值密钥相差10-16时,文献[9]、文献[10]和文献[12]的CPCR值均为0,说明上述文献的初始值密钥敏感性达不到10-16,经实验验证,文献[9]和文献[12]的初始值密钥敏感性为10-15,文献[10]的初始值密钥敏感性为10-12。本算法的密钥敏感性为10-16,CPCR值均达到99.5%以上,平均值为0.995 43。文献[11]的密钥敏感性也达到了10-16,CPCR的平均值为0.994 96。本文算法的初始值密钥敏感性优于文献[9-12],初始值密钥敏感性良好。对模板参数密钥和调节参数密钥的敏感性分析与此相似。

3.3 明文敏感性分析

使用NPCR(Number of Pixels Change Rate)和UACI(Unified Average Changing Intensity)来衡量算法的明文敏感性。NPCR的理想值约为0.996,UACI的理想值约为0.333。表2为该视频加密算法的明文敏感性测试结果。

表2 明文敏感性NPCR和UACI测试结果

续表2

从表2的实验数据可知,文献[9]、文献[10]和文献[12]的NPCR和UACI值较理想值相去甚远,明文敏感性不强。而本算法NPCR和UACI的平均值分别为0.996 1和0.334 9,比文献[11]更接近于理想值,说明该算法的明文敏感性较强。

3.4 密钥空间

三维CNN系统有24个密钥,三维Rossler系统有6个密钥,三维Chen系统有6个密钥,共计36个密钥。采用16位有效数字作为计算机浮点数的计算精度,则该算法的密钥空间为10576。另外还有3个初始值调节参数密钥,它们分别可以取0至255之间的任意实数,使其密钥空间变得更大。文献[9]、文献[10]和文献[12]的密钥空间分别为10144、10144和1032,该算法在密钥空间方面,要优于文献[9]、文献[10]和文献[12]。

3.5 相关性分析

随机选取各个颜色分量上的(M/2)×(N/2)对像素值,分别计算其在水平、垂直和对角三个方向的相关性,则表3为实验所得的测试结果。

表3 明文和密文相邻像素的相关系数

从表3的实验数据可知,明文的相关性接近于1,相邻像素之间为极强相关;而该加密算法得到的密文相关性接近于0,相邻像素之间为极弱相关或无相关。在9个相关系数中,该算法有5个值比文献[9]小,有9个值比文献[12]小。说明该算法在相关性方面要优于文献[9]和文献[12]。

3.6 直方图

图3(a)为明文红色分量的直方图,(b)为密文红色分量的直方图。

(a) 明文直方图 (b) 密文直方图图3 红色分量直方图分析结果

从图3可知,明文视频帧的直方图呈现高低错落的山峰状,其中取值在[0~30]和[150~255]的像素个数较少,均在100个左右;取值在110左右的像素个数最多,达到1 000个以上。而密文视频帧的直方图呈现等概率的均匀分布,每个取值等级上的像素个数均在300个左右,明文的统计特性被完全打破。

3.7 视频帧的幅值频谱图分析

使用幅值频谱图来分析视频帧的频率分布情况。图4(a)为明文的二维幅值频谱图,(b)为密文的二维幅值频谱图,(c)为解密视频帧的二维幅值频谱图。

(a) 明文频谱图 (b) 密文频谱图(c) 解密视频频谱图图4 二维幅值频谱分析

从图4可知,明文的幅值频谱大多集中在中心区域,中心的亮点反映的是视频帧的低频信息。密文视频帧的幅值频谱在二维空间内分布较为均匀,呈离散化状态,在频域内的相关性较小,且明显不同于明文视频帧的幅值频谱图,可有效抵抗密文信息攻击,安全性较好。

3.8 信息熵分析

信息熵反映了视频帧分布的聚集特征,密文视频帧信息熵的理想值为8。该算法密文在红色、绿色和蓝色分量上的信息熵分别为7.989 5、7.989 3、7.989 3,接近于理想值8,而文献[12]的信息熵接近于7,说明该算法在信息熵方面要优于文献[12]。

3.9 抗噪性、抗剪裁性能分析

使用峰值信噪比PSNR进行抗噪性能分析。PSNR的值越大,抗噪性能越好。若密文视频帧受到均值为0、方差为0.01的高斯白噪声干扰,则解密视频帧如图5(a)所示,其PSNR值为17.169 1。若受到噪声密度为0.01的椒盐噪声干扰,则解密视频帧如图5(b)所示,PSNR值为29.446 1。若受到均值为0、方差为0.01的乘性噪声干扰,则解密视频帧如图5(c)所示,PSNR值为19.150 2。

(a) 受白噪声干扰 (b) 受椒盐噪声干扰

(c) 受乘性噪声干扰图5 加密算法的抗噪性能分析

从图5和计算得出的PSNR值可知,该加密算法的抗噪性能较好。虽然受到了噪声干扰,但仍可有效地解密视频帧信息。其中对椒盐噪声的抵抗性优于对乘性噪声的抵抗性,而对乘性噪声的抵抗性又优于对高斯白噪声的抵抗性。

若密文视频帧受到了左上角1/4的剪裁攻击,则图6(a)为受剪裁攻击的密文视频帧,(b)为解密视频帧。

(a) 受剪裁攻击的密文 (b) 解密视频帧图6 加密算法的抗剪裁性分析

从图6可知,即使密文视频帧遭受了1/4的剪裁攻击,仍能有效地解密出视频帧信息,该加密算法具有较好的抗剪裁性能。

4 结 语

本文提出了小波变换和混沌键控相结合的视频加密算法,并从加密效果、密钥敏感性、明文敏感性、密钥空间、直方图、相关性、幅值频谱图、信息熵、抗噪性能和抗剪裁性能十个方面进行了性能分析。实验结果表明,该加密算法有效地解决了安全性和实时性难以平衡的问题,加密效率和安全性均得到了提高,具有较高的应用价值。

猜你喜欢

明文加密算法解密
加密文档排序中保序加密算法的最优化选取
炫词解密
解密“一包三改”
炫词解密
炫词解密
基于整数矩阵乘法的图像加密算法
奇怪的处罚
教育云平台的敏感信息保护技术研究
奇怪的处罚
奇怪的处罚