Computer Science and Application
Vol.07 No.06(2017), Article ID:21098,8 pages
10.12677/CSA.2017.76066

A Digital Image Encryption Algorithm Based on Improved ZigZag Transformation and Chaotic Sequence

Chi Feng, Hua Ye

School of Automation, Southeast University, Nanjing Jiangsu

Received: Jun. 2nd, 2017; accepted: Jun. 20th, 2017; published: Jun. 23rd, 2017

ABSTRACT

For the phenomenon that digital information is easily stolen during transmission, we purpose a digital image encryption algorithm based on improved ZigZag transformation and chaotic sequence. Firstly, the original image is transformed with the improved ZigZag method. Then each bit of the image is bit-computed using the chaotic sequence. Decryption is the reverse of encryption. According to the theoretical analysis and experimental verification, the encrypted image has a uniform gray distribution. Besides, the new algorithm has a large key space, and has a high sensitivity to the keys.

Keywords:ZigZag, Chaotic Sequence, Image Encryption

基于改进ZigZag变换与混沌序列相结合的数字图像加密算法

冯炽,叶桦

东南大学自动化学院,江苏 南京

收稿日期:2017年6月2日;录用日期:2017年6月20日;发布日期:2017年6月23日

摘 要

针对数字信息在传输过程中易被窃取的现象,本文提出了一种基于改进的ZigZag变换与混沌序列相结合的数字图像加密算法。首先对原始图像进行改进ZigZag置乱变换,然后利用混沌序列对图像的每一个像素进行位运算,得到加密后的图像。解密正是加密的反过程。通过理论分析与实验验证,新算法能够使加密后的图像灰度分布均匀,具有更大的密钥空间,并且对密钥具有更高的敏感性。

关键词 :ZigZag,混沌序列,图像加密

Copyright © 2017 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

1. 引言

数字技术的日益发展和互联网的快速普及给人们的生产和生活提供了极大的便利,但是由于数字信息易获取、易被篡改的特点,导致数字信息在互联网上的传输受到了极大的威胁。通过特定的技术手段对图像加密处理,可以掩盖图像的原始信息,这种方法成为了当今网络环境中一种极其有效的策略,避免了数字图像的恶意盗取与篡改。

传统的图像加密算法有Arnold置乱、应用混沌序列加密、ZigZag变换等方法。Arnold置乱容易实现,图像置乱效果好 [1] ,但用迭代次数作为密钥,密钥空间太小;利用单一混沌序列对图像进行加密的算法 [2] [3] [4] ,具有易于实现、对密钥敏感性高等特点,但其属于一类简单的混沌系统,密钥空间小,不能抵抗穷举性攻击;ZigZag变换具有算法简单、密钥周期大的特点 [5] ,但是传统的ZigZag算法存在一定的缺陷,并且对密钥的灵敏度低,易被非法用户破解。为了克服传统算法的缺陷,本文对ZigZag置乱算法进行改进,设计了基于改进ZigZag置乱与应用混沌序列改变像素值相结合的图像加密算法,显著增大了密钥空间,并且保留了混沌序列的密钥敏感性,打乱了加密图像的相邻像素之间的相关性,提高了加密图像的安全性。

2. 改进ZigZag置乱

标准的ZigZag置乱算法是从矩阵的左上角开始,对矩阵中的各元素依次进行“之”字形扫描,扫描路径如图1所示。

Figure 1. Standard ZigZag scan path

图1. 标准ZigZag的扫描路径

根据图1可知,对矩阵连续进行不同次数的ZigZag变换可以得到不同的矩阵,这说明了迭代次数可以作为图像保密信息的一个十分重要的密钥。同时,由于矩阵元素个数是确定的,因此,ZigZag变换具有周期性。ZigZag的周期会随着矩阵的维数增大而增大。Arnold变换同样可以将离散化的数字图像矩阵中的点进行重新排列并具有周期性 [6] ,表1列出了ZigZag变换与Arnold变换的周期。

根据表1可知,对于相同大小(维数)的矩阵,ZigZag变换的周期比Arnold的周期大,并且随着矩阵维数的不断扩大,ZigZag变换的周期大的更多,因此ZigZag变换对比Arnold变换来说具有更大的密钥。然而,传统的ZigZag算法只能对方阵进行处理,而且根据图1可以看出,不论经过多少次变换,1、2、15与16的位置始终是不变的,这是标准ZigZag变换的一个重要缺陷。改进的ZigZag算法有效的改进了这个缺陷,同时可以运用于非方阵矩阵。具体步骤如下:

我们定义扫描的起始点为矩阵的右下角,然后依次进行“之”字形变换,这样保证了在迭代过程中,每一个元素的位置都可以得到改变。同时,改进后的ZigZag变换可适用与非方阵矩阵。拿一个3 × 4大小的矩阵进行举例,如图2所示。

3. 混沌序列模型

混沌现象是指发生在非线性动力系统中出现的确定的、类似随机的过程,这种过程没有周期性又不收敛,并对初值有极其敏感的依赖性,所以非常适用于信息安全的范畴 [7] 。

Logistic映射是一种非常简单却被广泛应用的经典混沌映射 [8] ,Logistic映射系统定义如下:

(1)

其中,,状态量。Schuster H.G证明式(1)生成的混沌序列的概率分布密度函数为 [9] :

(2)

由式(2)可知,Logistic映射不满足一致分布,为了得到随机性更好的一致分布的随机系统,我们再对式(1)进行变换,得到下式:

Table 1. The relation of periodic and dimension between standard ZigZag transform and Arnold transform

表1. 标准ZigZag变换与Arnold变换的周期与维数的关系

Figure 2. Improved ZigZag scan path

图2. 改进ZigZag的扫描路径

(3)

变量y的分布函数为:

(4)

所以,变量Y的概率分布函数为

(5)

所以,该式在(0, 1)区间满足一致分布,具有更好的随机性分布。根据式(3),我们提出了一种基于改进ZigZag变换和混沌序列相结合的数字图像加密算法。

4. 基于改进ZigZag变换与混沌序列相结合的数字图像加密算法

4.1. 加密算法

表示大小为的一幅图像,表示图像在点处的像素灰度值,表示为加密后的图像在点处的像素灰度值。基于图像像素值替代的加密算法设计如下:

(1) 给定迭代次数,将原图的灰度值矩阵进行改进ZigZag变换,得到变换后的矩阵

(2) 给定两个Logistic系统的参数,并给定两个系统初值

(3) 取原始图像的所有像素点的灰度值之和,然后对256进行取余运算,得到一个范围在[0, 255]之间的整数,再将该整数除以256作为密钥

(4) 使用密钥对混沌系统的初值进行修改:,。以作为混沌系统的初值,根据式(1)构造两个长度为的实数混沌序列;

(5) 将由步骤(3)得到的两个混沌序列按照式(3)进行转换,得到两个改进之后的混沌序列:

(6) 顺序从图像中取点,设该点序号为n,若n为奇数,则由实数混沌序列构造加密密钥:;若n为偶数,则由实数混沌序列构造加密密钥:,其中floor表示向下取整,mod表示第一个参数对第二个参数进行求余运算;

(7) 用步骤(6)得到的每个像素点的加密密钥与原始图像的该点的像素灰度值进行二进制异或运算,得到加密之后的该点的像素值。

解密过程是上述算法的逆过程,算法类似,整个算法的流程图如图3所示。

Figure 3. Algorithm flowchart

图3. 算法流程图

4.2. 评价指标

评价一个图像加密算法的好坏主要有密钥的空间大小、密钥的敏感性以及相邻像素的相关性几点[10],其中相邻像素的相关性主要体现在水平、垂直和对角三个方向上的相邻像素的相关系数,其计算式如下:

(6)

(7)

(8)

(9)

其中,为像素点的个数,为相邻像素点的灰度值,为协方差,为方差,为均值。

4.3. 算法思想的改进

在本节中我们主要描述了对一幅灰度图像进行加解密的过程,其实该方法也可以应用到彩色图像中来。在彩色图像中,我们可以对图像每个像素点的R、G、B三个分量分别应用上述提到的加密算法[11],最后对得到的三个加密结果使用cat函数即可以得到彩色图像的加密图像。同时,我们还可以针对不同的分量选取不同的初值,这样可以大大的增大密钥空间。

5. 实验结果及分析

在Windows 10操作系统、Intel(R) Core(M) i5-3210M CPU@2.50 GHz,内存为6 GB的计算机上,编程环境为MATLAB2014a,我们按照上述加解密算法对以下几幅图片进行了加密处理:lena(512 × 512)、全黑图像black(300 × 300)以及SEU(500 × 800)。本文选取密钥参数,对三幅图像进行处理,得到结果如图4。其中,(a)、(b)、(c)三幅图像表示的是原图,(d)、(e)、(f)表示的是经过上述算法加密后的图像,(g)、(h)、(i)表示经过解密之后的图像。

5.1. 密钥敏感度分析

为了测试解密过程中对解密参数的敏感度,我们在lena512图片解密的过程中将参数增加了103、10−4、10−10,结果解密结果都仍是一幅杂乱无章的图片。我们通过计算均方误差MSE(Mean Square Error)来统计错误的解密图像与原始图像的差异 [12] ,结果如图5所示。图5表明,只有当刚到等于0.2时,原始图像才能被正确解密。在使用其他初值时,MSE的值都非常大,由此可以看出算法对密钥的初值具有极强的敏感性。

5.2. 密钥空间分析

本算法过程中一共涉及到五个参数,他们分别是ZigZag迭代次数、混沌系统参数、混沌系统初值。其中ZigZag的迭代次数与图像的大小有关,由5.1节可知,另外四个参数都有10−15次方的精度,这样密钥空间的大小数量级可以达到1060,这样的密钥控件足以抵抗穷举攻击,具有极高的可靠性。

(a) (b) (c) (d) (e) (f) (g) (h) (i)

Figure 4. The encryption effect and decryption effect of three different images

图4. 三幅不同图像的加密效果与解密效果

Figure 5. Key sensitivity test results

图5.密钥敏感性测试结果

5.3. 相邻像素的相关性分析

我们做出三幅图像加密前和加密后的直方图,如图6所示。其中,(a)、(b)、(c)分别表示lena512、black和SEU原图的灰度直方图,(d)、(e)、(f)为对应的加密后的灰度直方图。通过直方图看出,在加密前像素分布的比较集中,而在加密之后,图像的像素分布的十分均匀,攻击者很难利用灰度像素的统计特征来恢复原始图像。

(a) (b) (c)(d)(e)(f)

Figure 6. Comparison of the grayscale histogram of the original image and the encrypted image

图6. 原始图像与加密图像的灰度直方图对比

Table 2. The average correlation coefficient between adjacent pixels in different directions before and after encryption

表2. 加密前和加密后不同方向上相邻像素点之间的平均相关系数

我们分别从水平方向、垂直方向和对角线方向随机选取lena图像中5000对像素点,利用式(6~9)得到三个不同方向的相邻像素点的相关性,结果如表2。可以看出,原图在三个不同的方向上相邻像素之间都具有很强的相关性,而在加密之后,无论在哪一个方向上,相邻像素之间的平均相关系数几乎为0,可见加密算法打破了原图的结构,极大的降低了原图的相关性。

6. 结束语

本文提出了一种基于改进的ZigZag变换与混沌序列相结合的数字图像加密算法,该算法主要思想为先对原始图像进行改进 ZigZag置乱变换,然后通过混沌序列与原始图像的每一个像素点进行位运算来进行加密。该算法可以对非方阵图像进行加密,降低了相邻像素之间的相关性,对密钥具有极高的敏感性,同时该算法显著增大了密钥空间,能很好地抵抗穷举性攻击。

文章引用

冯 炽,叶 桦. 基于改进ZigZag变换与混沌序列相结合的数字图像加密算法
A Digital Image Encryption Algorithm Based on Improved ZigZag Transformation and Chaotic Sequence[J]. 计算机科学与应用, 2017, 07(06): 554-561. http://dx.doi.org/10.12677/CSA.2017.76066

参考文献 (References)

  1. 1. Wu, L., Zhang, J., Deng, W. and He, D. (2009) Arnold Transformation Algorithm and Anti-Arnold Transformation Algorithm. IEEE 1st International Conference on Information Science and Engineering, Nanjing, 26-28 December 2009, 1164-1167.

  2. 2. Som, S., Kotal, A., Mitra, A., et al. (2014) A Chaos Based Partial Image Encryption Scheme. IEEE 2nd International Conference on Business and Information Management, Durgapur, 9-11 January 2014, 58-63.

  3. 3. Zhang, H., Ma, T., Huang, G.B., et al. (2010) Robust Global Exponential Synchronization of Uncertain Chaotic Delayed Neural Networks via Dual-Stage Impulsive Control. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 40, 831-844. https://doi.org/10.1109/TSMCB.2009.2030506

  4. 4. Mandal, M.K., Banik, G.D., Chattopadhyay, D., et al. (2012) An Image Encryption Process based on Chaotic Logistic Map. IETE Technical Review, 29, 395-404.

  5. 5. 冀汶莉, 张敏瑞, 靳玉萍, 等. 基于Zigzag变换的数字图像置乱算法的研究[J]. 计算机应用与软件, 2009, 26(3): 71-73.

  6. 6. 黄仿元. 基于Arnold变换的图像置乱算法及实现[J]. 贵州大学学报(自然版), 2008, 25(3): 276-279.

  7. 7. 方鹏飞, 吴成茂. 分段式三角混沌及其加密应用[J]. 西安邮电大学学报, 2013, 18(2): 43-51.

  8. 8. 吴彬. 混沌序列的演变过程及应用分析[J]. 学周刊, 2015(34): 61.

  9. 9. 韩凤英. 一种基于改进Logistic混沌映射的图像加密算法[J]. 中南林业科技大学学报, 2008, 28(1): 153-157.

  10. 10. 李玉珍, 金鑫, 赵耿, 李晓东, 田玉露, 王子亦. 基于Zigzag变换与混沌的彩色图像加密方案[J]. 计算机工程与设计, 2016, 37(8): 2002-2006.

  11. 11. 鲁丁. 基于分数傅里叶变换的彩色图像加密技术研究[D]: [硕士学位论文]. 金华: 浙江师范大学, 2011.

  12. 12. 龚黎华, 曾绍阳, 周南润. 基于频谱切割和二维Arnold变换的彩色图像加密算法[J]. 计算机应用, 2012, 32(9): 2599-2602.

期刊菜单