面向CALIC的图像加密算法研究
2019-09-12张淼佟晓筠张华
张淼 佟晓筠 张华
摘 要:将图像的加密和压缩结合在一起同步完成可以带来设计上的灵活和计算上的简化,同时也可以更好地保证安全性,为图像信息的安全高效存储和传输做出保障。基于CALIC良好的压缩效率,本文研究并设计了面向CALIC的图像加密算法。根据CALIC编码原理,算法实现在CALIC编码过程中的加密,主要包括GAP预测值的加密、最终残差的加密、明文像素的加密、熵编码码流的加密。实验结果表明面向CALIC的图像加密算法在压缩性能上取得较好效果的同时增加了安全性。
关键词:压缩加密聯合;混沌;CALIC
文章编号:2095-2163(2019)04-0315-05 中图分类号:TP309 文献标志码:A
0 引 言
数字图像,作为现代通信领域重要的信息载体,其存储传输与安全性也被提出了更高的要求。图像的数据量庞大且存在冗余,为了提高存储和传输效率,对图像进行压缩显得非常必要。防止图像信息泄露提高安全性,一种非常有效的保护技术是图像加密技术。将图像的加密和压缩结合在一起同步完成,可以带来设计上的灵活和计算上的简化。同时,加密和压缩混合完成,可以更好地保证安全性。
混沌作为一种自由度很高的非线性动态系统,其运动轨道表现出的内随机性、遍历性和初值敏感性等特性,使得混沌系统相邻迭代点经有限次迭代后得到完全不同的序列。微小的变化引起不同计算结果的这种特性使得混沌密码可以满足传统密码在扩散、混淆和伪随机的重要需求。同时,混沌运动的确定性使得混沌应用于密码学的方法易于实现,其计算代价远小于其它传统密码的计算代价,非常适合大数据量的图像的加密处理。由于混沌的良好性质,一些基于混沌的图像加密算法已被提出[1-13]。
基于上下文的自适应无损编码(context-based,adaptive, lossless image Codec, CALIC)由Wu等人[14]于1997年提出。由于良好的压缩效率,CALIC获得了广泛的关注。然而,CALIC编码方法仅仅关注于压缩,并没有考虑安全性。本文基于混沌理论,研究并设计了面向CALIC的图像加密算法。通过研究与分析CALIC编码方法,在尽量保证压缩效率的同时,将加密嵌入到CALIC编码中,获得安全的CALIC编码。
1 Rabinovich混沌系统与伪随机序列产生
Rabinovich系统[15]是一个著名的三维混沌系统,该系统有着复杂的动力学行为,与Lorenz系统关系密切,但并不拓扑等价,其方程如下:
2 CALIC算法原理
CALIC是一种顺序编码,其编码和解码都是以光栅扫描的顺序扫描一次图像。CALIC编码过程使用预测和上下文模板,仅仅涉及编码像素的前两扫描行。因此编码和解码算法仅需要一个能存放2行像素的简单的2行缓冲区。CALIC编码器的原理描述如图1所示。解码过程是编码过程的逆。CALIC是对称的,即编码器和解码器具有相同的时间和空间复杂度。
从图1中可以看出,CALIC具有2种工作模式:二值模式和连续色调模式。根据当前像素的上下文,2种模式在编码过程中自动选择,对用户是透明的。在连续色调模式下,系统包括4个主要部分:梯度自适应预测器(GAP)、上下文选择和量化、预测误差上下文建模、预测误差熵编码。
3 加密方法设计
通过分析CALIC编码原理,将加密嵌入到CALIC编码中,形成安全的CALIC编码,算法流程如图2所示。
由图2可知,在CALIC编码过程中,实现了4处加密,分别是 GAP预测值加密、最终残差加密、2行像素加密和熵编码码流加密。
3.1 明文像素加密
作为编码初始值的图像前2行像素值在编码结束后要写入文件中。由于这2行像素值不涉及后续的压缩编码操作,因此采用扩散置乱结构对其加密。
设2行像素为图像X,其像素序列pixseq长度为l,如下所示:
3.2 熵编码码流加密
这里对熵编码码流进行加密提供最后一层安全保护以增强安全性。熵编码码流不涉及后续的压缩编码操作,因此采用扩散置乱结构对其加密。
首先,执行扩散操作,码流以2个字节为单位进行处理。具体扩散公式如下:
3.3 GAP预测值与最终残差加密
GAP预测值是编码过程中根据当前像素生成的初始预测值,后续的上下文选择和量化、预测误差的上下文建模都要使用该预测值。为了不对后续的操作造成较大影响从而影响压缩性能,GAP预测值的加密操作不能过于复杂。同时GAP预测值是在编码过程中一个一个按顺序产生的,如果执行置乱加密将增加空间复杂度。因此只对GAP预测值执行替换加密。
残差的结果最终要执行熵编码,因此最终残差的加密操作也不能过于复杂而导致压缩性能下降。同时,最终残差结果也是一个一个顺序产生,且其数量只有在算法结束才能确定。因此,对最终残差执行置乱加密将增加算法的空间复杂度和时间复杂度。在这里仅对最终残差执行替换加密。 加密方法如下:
4 实验和讨论
4.1 实验结果
算法的实验环境为3.19 GHz 处理器, 2 GB内存,MATLAB 2012R。选取USC-SIPI数据库中的标准图像进行测试,图5给出了3幅512×512的灰度图像Lena、Barbara和Baboon的重构图像。
4.2 压缩性能评估
表1列出原始没有添加加密的CALIC算法的压缩比,及添加加密的安全的CALIC的压缩比。从表中结果可以看出,添加加密后对原有CALIC算法的压缩性能的影响较小。
4.3 密钥空间分析
系统包括置乱密钥和扩散密钥,均取混沌系统的初始值(x0, y0, z0)。因此置乱密钥和扩散密钥各含3个变量。根据IEEE 754-2008标准,采用双精度(binary64)类型存储,8个字节表示1个双精度数。因此密钥空间为2384。该加密算法的密钥空间为2384。显然在目前的计算能力下,该密钥空间足够大,可以抵抗穷举攻击。
4.4 信息熵分析
密文信息熵測试结果见表2。从表中看出,密文的信息熵接近理想值8,说明密文随机性很好。
5 结束语
针对CALIC虽具有良好的图像无损压缩特性,而没有考虑安全性的问题,研究了面向CALIC的图像加密算法。首先,基于混沌的良好性质,利用三维混沌系统Rabinovich产生伪随机序列。其次,研究了CALIC无损压缩原理。在CALIC压缩编码的过程中加入加密算法,实现面向CALIC的图像加密过程。面向CALIC的图像加密方法主要体现在4个方面:GAP预测值的加密、最终残差的加密、明文像素的加密、熵编码码流的加密。根据加密处CALIC编码的特点,设计了适合于4个编码位置的、对压缩性能影响最小的加密算法。
最后对算法的压缩性能、安全性能进行了分析。在压缩性能上取得了好的效果。在安全性上,通过对密钥空间、密文信息熵的分析测试证明了算法的安全性。
参考文献
[1]MIRZAEI O, YAGHOOBI M, IRAN H. A new image encryption method:Parallel sub-image encryption with hyper chaos[J]. Nonlinear Dynamics, 2012,67(1):557-566.
[2] ZHANG W, WONG K W, YU H, et al. Asymmetric color image encryption using the intrinsic features of bit distributions[J].Commun Nonlinear Sci Numer Simul, 2013,18:584-600.
[3] ZHANG Yingqian, WANG Xingyuan. Analysis and improvement of a chaos-based Symmetric image encryption scheme using a bit-level permutation[J]. Nonlinear Dynamics, 2014,77(3):687-698.
[4] LIU Hongjun, WANG Xingyuan. Color image encryption using spatial bit-level permutation and high-dimension chaotic system[J]. Optics Communications,2011,284(16/17):3895-3903.
[5] TENG Lin,WANG Xinyuan. A bit-level image encryption algorithm based on spatiotemporal chaotic system and self-adaptive [J]. Optics Communications, 2012,285(20):4048-4054.
[6] XU Lu, LI Zhi, LI Jian, et al. A novel bit-level image encryption algorithm based on chaotic maps[J]. Optics and Lasers in Engineering, 2016,78:17-25.
[7] ZHANG Wei, WONG K W, YU Hai, et al. An image encryption scheme using reverse 2-dimensional chaotic map and dependent diffusion[J]. Communications in Nonlinear Science and Numerical Simulation, 2013,18(8):2066-2080.
[8] KUMAR A, GHOSE M K. Extended substitution-diffusion based image cipher using chaotic standard map[J]. Communication in Nonlinear Science and Numerical Simulation, 2011, 16(1):372-382.
[9] WANG Xinyuan, TENG Lin. An image blocks encryption algorithm based on spatiotemporal chaos[J]. Nonlinear Dynamics, 2012, 67(1):365-371.
[10]LIU Hongjun, WANG Xingyuan, KADIR A. Image encryption using DNA complementary rule and chaotic maps s[J]. Applied Soft Computing, 2012,12(5):1457-1466.
[11]CHAI Xiuli, CHEN Yiran, BROYDE L. A novel chaos-based image encryption algorithm using DNA sequence operations[J]. Optics and Lasers in Engineering, 2017,88:197-213.
[12]BIGDELI N, FARID Y, AFSHAR K. A novel image encryption/decryption scheme based on chaotic neural networks[J]. Engineering Applications of Artificial Intelligence, 2012, 25(4):753-765.
[13]SABERIKAMARPOSHTI M, MOHAMMAD D, RAHIM M S M, et al. Using 3-cell chaotic map for image encryption based on biological operations[J]. Nonlinear Dynamics, 2014, 75(3):407-416.
[14]WU Xiaolin,MEMON N D. Context-based,adaptive,lossless image coding[J]. IEEE Transcations on communications,1997,45(4):437-444.
[15]Cheng Chen, Jinlong Cao and Xiang Zhang. The topological structure of the Rabinovich system having an invariant algebraic surface[J]. Nonlinearity,2008,21(2):211-220.