-
logistic映射[11]定义为:
$ {x_{n + 1}} = \mu {x_n}\left( {1 - {x_n}} \right) $
(1) 式中, μ是系统参量,且μ∈(0, 4],当μ∈(3.5699456, 4]时,logistic系统处于混沌态,具有非常复杂的动力学行为。
经典的Arnold映射[12]定义为:
$ \left[ {\begin{array}{*{20}{c}} {{x_{n + 1}}}\\ {{y_{n + 1}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 1&1\\ 1&2 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{x_n}}\\ {{y_n}} \end{array}} \right]\bmod 1 $
(2) 式中, (xn, yn)表示系统的状态变量,mod表示取余运算。
为了能更好地运用到实际应用中,Arnold映射扩展为更加普遍的形式[13],其数学表达式为:
$ \left[ {\begin{array}{*{20}{c}} {{x_{n + 1}}}\\ {{y_{n + 1}}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 1&p\\ q&{pq + 1} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{x_n}}\\ {{y_n}} \end{array}} \right]\bmod M $
(3) 式中, p和q为系统参量,M表示图像大小,本文中取M=256。
本文中加密算法的基本原理流程图如图 1所示,加密过程包括像素置乱和灰度值替代两部分。
-
假定原始图像为A,大小为M×N,将A转换成长度为L=M×N的1维序列P={p1, p2, p3, …, pL};再将P平均分割成4段序列,每段长度都为L/4,分别表示D1,D2,D3,D4,在这4段中,以每H个相邻元素(像素)为一个单位,将每个单位看成一个小块,每段有m个包含H个相邻元素的小块,m的个数由原始图像的大小决定,假设L=M×N,则m=L/(4H)。转换分割过程如图 2所示。
设置logistic映射的系统参量μ和初值x0,预迭代1000次,以消除暂态效应,从第1001项取值,通过下式产生4个长度为m的随机序列R1,R2,R3,R4:
$ \left\{ \begin{array}{l} {R_1}\left( i \right) = {\rm{floor}}\left( {x\left( i \right) \cdot S \cdot {{10}^4}\bmod 256} \right)\\ {R_2}\left( i \right) = {\rm{floor}}\left( {x\left( i \right) \cdot S \cdot {{10}^7}\bmod 256} \right)\\ {R_3}\left( i \right) = {\rm{floor}}\left( {x\left( i \right) \cdot S \cdot {{10}^{10}}\bmod 256} \right)\\ {R_4}\left( i \right) = {\rm{floor}}\left( {x\left( i \right) \cdot S \cdot {{10}^{13}}\bmod 256} \right) \end{array} \right. $
(4) 式中, x(i)为logistic映射迭代1000次后的状态值,S是原始图像所有像素值之和,floor(x)表示取不大于x的最大整数。
由小到大重新排列序列R1,R2,R3,R4,得到新的有序序列R11,R12,R13,R14。例如,对序列R1={r1, r2, r3, …, rm}按升序由小到大排序,得到新的有序序列R11={r11, r12, r13, …, r1m},同时生成用于记录序列R11中各个元素在原序列R1中的位置的新序列S1={s1, s2, s3, …, sm}。同理,以同样的方式重新排列序列R2,R3和R4得到S2,S3和S4。分别用序列S1, S2, S3和S4去置乱如图 2所示得到的序列D1,D2,D3和D4。为了方便分析,以第1段D1为例,在D1中,以H个相邻元素为一个单位,每个单位看成一个小块,那么D1可看成只包含m个小块的序列,则D1={d1, d2, d3, …, dm},然后通过序列S1置乱D1,得到置乱的D11={d11, d12, d13, …, d1m},置乱原理见下:
$ {d_{ij}} = {d_{{s_i}}},\left( {i,j = 1,2,3, \cdots ,m} \right) $
(5) 同理, 分别用S2, S3和S4置乱D2,D3和D4得到D12,D13和D14。
上述置乱效果仍不够理想,原因在于D11,D12,D13和D14中以H个相邻元素为单位的小块内部包含的像素仍处于相邻状态并没有置乱。为达到更好的置乱效果,分别从D11,D12,D13,D14中分别同时取出第1个包含H个相邻像素为单位的小块,组成4行H列的2维矩阵W4×H。通过设置Arnold映射初值x1和y1,以及控制参量p和q,并迭代产生两个混沌序列,通过下式产生密钥序列k1和k2,长度分别为4和H:
$ \left\{ \begin{array}{l} {k_1}\left( i \right) = {\rm{round}}\left( {x\left[ {i + 1000} \right] \cdot L \cdot {{10}^8}} \right)\bmod 256\\ {k_2}\left( i \right) = {\rm{round}}\left( {y\left[ {i + 1000} \right] \cdot L \cdot {{10}^{12}}} \right)\bmod 256 \end{array} \right. $
(6) 式中, x(i)和y(i)是由Arnold映射迭代产生的两个混沌序列,round(x)表示取最接近于x的整数。
按升序重新排列密钥序列k1和k2,用序列T1和T2分别记录k1和k2升序排列之前的元素位置,然后将2维矩阵W4×H的每一行按照序列T1对应的元素进行行移位置乱操作;同理,将W4×H的每一列按照序列T2对应的元素进行列移位置乱操作,得到W1, 4×H,操作过程如图 3所示。
从D11,D12,D13和D14中分别取出第2个以H个相邻像素为单位的小块,再以上述方式实现置乱操作,得到W2, 4×H,并依次循环执行下去,剩余小块同样以相同方式置乱,从而得到W3, 4×H,W4, 4×H,…,Wm, 4×H,最后将W1, 4×H,W2, 4×H,…,Wm, 4×H转换成1维矩阵,并连接成长度为L=M×N的1维序列CL,最后将CL转变成2维矩阵C,即得到置乱图像C。
-
像素置乱过程只改变原始图像像素位置的分布,并未改变像素灰度值的统计特性,为了提高加密算法的安全性,还必须对置乱图像进行灰度值替代。由Arnold映射迭代产生两个混沌序列,为消除暂态效应,舍弃前1000次的迭代值。从第1001项取,通过下式产生长度分别为M和N的密钥流k3和k4:
$ \left\{ \begin{array}{l} {k_3}\left( j \right) = {\rm{floor}}\left( {x\left( i \right) \cdot {{10}^7}} \right)\bmod 256\\ {k_4}\left( i \right) = {\rm{floor}}\left( {y\left( i \right) \cdot {{10}^{11}}} \right)\bmod 256 \end{array} \right. $
(7) 假设置乱图像表示为像素矩阵C(i, j),具体的灰度值替代操作包括行替代和列替代。
-
对置乱图像C的第1行像素C(1, j)按照下式进行替代加密,得到加密像素C′(1, j),j={1, 2, 3, …, N}。
$ \mathit{\boldsymbol{C'}}\left( {1,j} \right) = {k_3}\left( j \right) \oplus \mathit{\boldsymbol{C}}\left( {1,j} \right) $
(8) 从第2行至最后一行,按照下式执行行替代加密,直至每一行所有的灰度值都进行了行替代异或操作:
$ \mathit{\boldsymbol{C'}}\left( {i,j} \right) = \mathit{\boldsymbol{C'}}\left( {i - 1,j} \right) \oplus \mathit{\boldsymbol{C}}\left( {i,j} \right) \oplus {k_3}\left( j \right) $
(9) 式中, i表示行数,i={2, 3, 4, …, M}; j表示列数,j={1, 2, 3, 4, …, N}。
-
对行替代操作后的图像C′的第1列像素C′(i, 1)按照下式进行替代加密,得到加密像素E(i, 1),i={1, 2, 3, …, M}:
$ \mathit{\boldsymbol{E}}\left( {i,1} \right) = {k_4}\left( i \right) \oplus \mathit{\boldsymbol{C'}}\left( {i,1} \right) $
(10) 从第2列至最后一列,按照下式执行列替代加密,直至每一列所有的灰度值都进行了列替代异或操作:
$ \mathit{\boldsymbol{E}}\left( {i,j} \right) = \mathit{\boldsymbol{E}}\left( {i,j - 1} \right) \oplus \mathit{\boldsymbol{C'}}\left( {i,j} \right) \oplus {k_4}\left( i \right) $
(11) 式中, i表示行数,j表示列数,i={1, 2, 3, 4, …, M},j={2, 3, 4, …, N}。最终得到加密图像E,结合加密图像和正确密钥,经逆向运算操作可解密得到原始图像A。
-
在MATLAB R2013a平台进行仿真验证,选取256×256的Lena照片图像为对象,设定logistic的系统参量μ=3.99198012和初值x0=0.19910127,Arnold映射参量p=20,q=4,初值为x1=0.39920328,y1=8.91953206,在置乱过程可令H=2l,l={2, 3, 4, 5, 6, 7, 8, 9, 10, …},如此取l值,H跨度较大,当然H也可按其它方式取值。为方便分析,先设l=7,即H=27=128,按步骤对图像进行加解密操作,如图 4b所示,从密文图像看不到任何有效信息;如图 4c所示,对加密图像进行有效解密获得的图像与原始图像几乎一致。当密钥初值有微小误差:x0=0.19910127+10-12,其它密钥都正确的情况下,对加密图像进行解密,得到的图像效果如图 4d所示,可见,因密钥初值的细微误差可导致解密图像的严重变化和完全失真,验证了本算法具有很强的密钥敏感性。
-
密钥空间的大小可以反映一种加密算法的安全性高低,密钥空间须足够大才能有效抵御穷举攻击。在本算法中,系统的密钥包括logistic系统的初值x0和参量μ,Arnold映射的参量p和q,以及初值x1和y1,当数据精度达到10-15时,算法的密钥空间将达到1090≈2298,拥有如此大的密钥空间,因而足以抵御穷举攻击。
-
信息熵可以度量图像灰度值分布,即信息熵越大,图像的灰度值分布越均匀。信息熵[14]数学表达式定义为:
$ H\left( m \right) = \sum\limits_{i = 0}^{{2^N} - 1} {p\left( {{m_i}} \right){{\log }_2}\frac{1}{{p\left( {{m_i}} \right)}}} $
(12) 式中, mi表示像素值,p(mi)表示图像像素值mi出现的概率,N表示像素值的总数,对于具有256个灰度级的图像,其信息熵的理想理论值是H(m)=8。选取3个256×256的图像进行实验,根据(12)式计算其密文图像的信息熵,如表 1所示,均非常接近理论值8,表明经本算法加密后发生图像信息泄露的概率极低。
Table 1. Information entropy of different images
Lena.tiff Baboon.tiff Peppers.tiff original image 7.4451 7.3583 7.5937 cipher image 7.9973 7.9972 7.9973 -
图像灰度直方图在图像分析中有重要作用,一种优秀的图像加密算法应具有强大抵御统计分析攻击的能力。图 5中分别给出了Lena原始图像及其加密图像的直方图。明显可见,加密图像的直方图灰度值分布非常均匀,与原始图像的直方图差异明显,表明该算法能使统计分析攻击难以起作用。
-
像素数目变化率(number of pixels change rate, NPCR)和归一化平均变化强度(unified average change intensity, UACI)是权衡算法抵御差分攻击的一个重要指标。NPCR指随机改变某一个明文图像像素值后,密文图像像素值数目的变化率;UACI表示明文图像中某个像素点灰度值发生改变后,加密图像像素值数目的变化程度,NPCR和UACI的计算公式[15]如下:
$ {N_{{\rm{NPCR}}}} = \frac{1}{{M \times N}}\sum\limits_{i = 1}^M {\sum\limits_{j = 1}^N {\mathit{\boldsymbol{D}}\left( {i,j} \right)} } \times 100\% $
(13) $ {U_{{\rm{UACI}}}} = \frac{1}{{M \times N}}\sum\limits_{i = 1}^M {\sum\limits_{j = 1}^N {\frac{{\left| {{\mathit{\boldsymbol{C}}_1}\left( {i,j} \right) - {\mathit{\boldsymbol{C}}_2}\left( {i,j} \right)} \right|}}{{255}}} } \times 100\% $
(14) 式中, M×N为图像大小,假设两个明文图像中仅有一个像素点不同时,经加密后两者的密文图像中第(i, j)点的像素值分别是C1(i, j)和C2(i, j),如果C1(i, j)=C2(i, j),则D(i, j)=0;如果C1(i, j)≠C2(i, j),则D(i, j)=1,用数学公式表达为:
$ \mathit{\boldsymbol{D}}\left( {i,j} \right) = \left\{ \begin{array}{l} 0,\left( {{\mathit{\boldsymbol{C}}_1}\left( {i,j} \right) = {\mathit{\boldsymbol{C}}_2}\left( {i,j} \right)} \right)\\ 1,\left( {{\mathit{\boldsymbol{C}}_1}\left( {i,j} \right) \ne {\mathit{\boldsymbol{C}}_2}\left( {i,j} \right)} \right) \end{array} \right. $
(15) NPCR和UACI的理想期望值[16]分别为99.609%和33.463%。选取50组Lena图像来测试,每组两张图像,一张为原始图像,另一张为原始图像随机选取一个像素并令其值加1,对两幅图像分别加密,计算出50组的NPCR和UACI值,如图 6所示,NPCR和UACI的平均值高于理想期望值。另外,还对几个不同图像进行加密,并计算50组的NPCR和UACI的平均值,如表 2所示,平均值均大于或接近理想期望值,表明本算法具有良好的抗差分攻击性能。
Table 2. Average value of NPCR and UACI in different encrypted images
Lena.tiff Baboon.tiff Peppers.tiff Airplane.tiff $\overline{{{N}_{\text{NPCR}}}}$ 0.9962 0.9961 0.9960 0.9961 $ \overline{{{U}_{\text{UACI}}}}$ 0.3362 0.3349 0.3357 0.3351 -
在原始图像中,相邻像素相关系数很高,而加密图像相关系数应显著降低。为了检验原始图像和加密图像相邻像素间的相关性,选取若干图像进行测试,并分别从明文图像和密文图像的水平、垂直和对角3个方向中随机选取N=5000个的相邻像素,根据以下几个式子计算:
期望值:
$ E\left( x \right) = \frac{1}{N}\sum\limits_{i = 1}^N {{x_i}} $
(16) 方差:
$ D\left( x \right) = \frac{1}{N}\sum\limits_{i = 1}^N {{{\left[ {{x_i} - E\left( x \right)} \right]}^2}} $
(17) 协方差:
$ {\mathop{\rm cov}} \left( {x,y} \right) = \frac{1}{N}\sum\limits_{i = 1}^N {\left[ {{x_i} - E\left( x \right)} \right]\left[ {{y_i} - E\left( y \right)} \right]} $
(18) 相关系数:
$ {\rho _{xy}} = \frac{{{\mathop{\rm cov}} \left( {x,y} \right)}}{{\sqrt {D\left( x \right)} \cdot \sqrt {D\left( y \right)} }} $
(19) 式中, x和y分别表示图像中两个相邻像素的灰度值,ρxy即为2个相邻像素的相关系数。图 7是Lena原始图像与加密图像在3个方向的相关性图。可见该算法能使原始图像的统计特性很好地扩散到密文图像中。表 3中列出了本算法和其它算法[17-18]对Lena图像仿真得到的相关系数值,经比较发现,本算法的密文图像相邻像素相关系数更小,即本算法在降低相邻像素间相关性方面也具有一定优势,安全性更高。
Table 3. Comparison of the correlation coefficients between the algorithm with the adjacent pixels and the other algorithms
-
在实际应用中,数字图像由于信号传输环境不理想而造成数据丢失。攻击者截获到密文图像后,可能会采取剪切、加噪等恶意攻击来破坏图像,因此探究密文图像在数据丢失后解密图像的效果有一定现实意义。为了模拟数字图像数据丢失的情景,本文中设计了抗裁剪攻击实验。以256×256标准图像为实验对象,图 8a和图 8b所示分别为对密文图像裁剪0.39%和1.56%,图 8c和图 8d分别为对应的解密图像。可见,在不同比例的裁剪攻击下,本算法仍能还原出原图像的绝大部分信息,因此其具备一定的抗裁剪攻击性。
-
优秀的图像加密算法需要有较高的加密效率以满足实时应用,比较本文中算法和近期几种算法对256×256的Lena图像的加密速度。本文中使用MATLAB R2013a软件平台来运行加密算法程序,计算机采用Microsoft Windows 7操作系统,实验硬件环境设备为2.4GHz Intel(R) Core(TM) i3 CPU,2.0 RAM和300G硬盘的笔记本电脑,采用本文中算法和算法分别对不同尺寸的Lena标准图像进行加密,各算法对不同尺寸图像的加密时间如表 4所示。可见本算法在图像尺寸变大的情况下加密时间增加幅度最小,足见其具有加密效率更高的优势,符合实时加密要求,有效地解决了随图像尺寸变大而导致的加密时间迅速增加问题。
Table 4. Comparison of the encryption time of different algorithms
在置乱步骤中,令H=2l,当l取不同值时,用该算法分别对256×256和512×512的Lena图像执行一轮加密,图 9a和图 9b分别表示其加密时间随l的变化,可见对两幅图像都有各自的加密时间最低点。图 9a显示l=7时,加密时间最短为0.0817s;图 9b显示l=10时, 加密时间最短为0.1380s。经实验验证,该算法亦可运用于长宽不相等的图像,并获得良好效果。表 5中列出了l取不同值时,该算法对256×256的Lena图像进行加密的各项参量,综合各项参量分析并且考虑快速加密的要求,l=7可达到最理想状态,即选取l=7进行试验最为合适。本文中算法的一大优势在于加密者可根据图像大小,在像素置乱步骤适当选择l值,以2l相邻像素为单位进行置乱,对不同l值加密完成后的加密图像参量进行综合分析,可确定最符合要求的加密时间,反映该算法也具有良好灵活性。
Table 5. Performance parameters for different l values
l information entropy NPCR UACI vertical horizontal diagonal encryption speeds/s 2 7.9975 0.9962 0.3345 -0.0027 0.0050 8.9480×10-4 0.2979 3 7.9975 0.9960 0.3344 0.0021 0.0013 0.0045 0.1964 4 7.9973 0.9965 0.3350 -0.9782×10-4 0.0025 0.0026 0.1318 5 7.9973 0.9961 0.3342 -0.0048 -0.0023 -0.0027 0.1127 6 7.9968 0.9961 0.3351 0.0052 -9.5974×10-4 0.0042 0.0828 7 7.9973 0.9962 0.3362 -0.0028 0.0054 -4.4027×10-4 0.0817 8 7.9975 0.9962 0.3346 -0.0020 0.0037 1.3699×10-4 0.0832 9 7.9970 09961 0.3345 1.9570×10-4 0.0088 0.0048 0.0843 10 7.9964 0.9961 0.3342 0.0013 0.0028 -0.0040 0.0896 11 7.9970 0.9962 0.3353 5.3722×10-4 -0.0079 0.0046 0.1097 12 7.9972 0.9962 0.3355 -0.0044 -0.0010 8.4257×10-4 0.1295 13 7.9972 0.9963 0.3353 -0.0025 6.8750×10-4 -9.7786×10-4 0.1591
一种基于混沌映射的快速图像加密算法优化
Optimization of fast image encryption algorithm based on chaotic mapping
-
摘要: 为了解决现有图像加密算法存在随图像尺寸变大导致加密时间迅速增加的问题,采用基于logistic和Arnold映射的改进加密算法实现了快速图像加密算法的优化。该算法基于两种混沌映射对原文图像进行像素置乱和灰度值替代,像素置乱是按图像大小选择以H个相邻像素为单位进行,通过适当调整H的取值实现加密时间优化;灰度值替代是利用Arnold映射产生混沌序列对置乱图像进行操作而得到密文图像。结果表明,对于256×256的Lena标准图像,加密时间降低到0.0817s。该算法具有密钥空间大和加密速度快等优点,能有效抵抗穷举、统计和差分等方式的攻击。Abstract: In order to solve the rapid increase of the encryption time because of the increasing image size in the existing image encryption algorithm, the optimized encryption algorithm based on logistic and Arnold mapping was used to achieve the optimization of the fast image encryption algorithm. The algorithm was based on two kinds of chaotic maps to the original image, pixel scrambling and gray value substitution. Pixel scrambling was to select the H adjacent pixels according to the image size, appropriately adjust the H value and realize the encryption time optimization. Gray value substitution is to generate chaotic sequences by Arnold mapping, operate the scrambling image and get the cipher image. The results show that, for 256×256 Lena standard images, the encryption time is reduced to 0.0817s. The algorithm has advantages of large key space and fast encryption speed, and can effectively resist the attack of exhaustive, statistical, and differential means.
-
Key words:
- image processing /
- image encryption /
- chaotic mapping /
- Lena image
-
Table 1. Information entropy of different images
Lena.tiff Baboon.tiff Peppers.tiff original image 7.4451 7.3583 7.5937 cipher image 7.9973 7.9972 7.9973 Table 2. Average value of NPCR and UACI in different encrypted images
Lena.tiff Baboon.tiff Peppers.tiff Airplane.tiff $\overline{{{N}_{\text{NPCR}}}}$ 0.9962 0.9961 0.9960 0.9961 $ \overline{{{U}_{\text{UACI}}}}$ 0.3362 0.3349 0.3357 0.3351 Table 3. Comparison of the correlation coefficients between the algorithm with the adjacent pixels and the other algorithms
Table 4. Comparison of the encryption time of different algorithms
Table 5. Performance parameters for different l values
l information entropy NPCR UACI vertical horizontal diagonal encryption speeds/s 2 7.9975 0.9962 0.3345 -0.0027 0.0050 8.9480×10-4 0.2979 3 7.9975 0.9960 0.3344 0.0021 0.0013 0.0045 0.1964 4 7.9973 0.9965 0.3350 -0.9782×10-4 0.0025 0.0026 0.1318 5 7.9973 0.9961 0.3342 -0.0048 -0.0023 -0.0027 0.1127 6 7.9968 0.9961 0.3351 0.0052 -9.5974×10-4 0.0042 0.0828 7 7.9973 0.9962 0.3362 -0.0028 0.0054 -4.4027×10-4 0.0817 8 7.9975 0.9962 0.3346 -0.0020 0.0037 1.3699×10-4 0.0832 9 7.9970 09961 0.3345 1.9570×10-4 0.0088 0.0048 0.0843 10 7.9964 0.9961 0.3342 0.0013 0.0028 -0.0040 0.0896 11 7.9970 0.9962 0.3353 5.3722×10-4 -0.0079 0.0046 0.1097 12 7.9972 0.9962 0.3355 -0.0044 -0.0010 8.4257×10-4 0.1295 13 7.9972 0.9963 0.3353 -0.0025 6.8750×10-4 -9.7786×10-4 0.1591 -
[1] XU G X, XU Sh Q, GUO X J, et al. Image compression-encryption algorithm combined DCT transform with DNA operation[J]. Laser Technology, 2015, 39(6):806-810 (in Chinese). [2] ZHU C X, SUN K H. Encryption algorithm for a class of hyper chaotic image encryption algorithm and its improvement[J]. Acta Physica Sinica, 2012, 61(12):120503(in Chinese). [3] WANG X Y, LIU L T, ZHANG Y Q. A novel chaotic block image encryption algorithm based on dynamic random growth technique[J]. Optics & Lasers in Engineering, 2015, 66(66):10-18. [4] ZHANG W, YU H, ZHAO Z L, et al. Image encryption based on three-dimensional bit matrix permutation[J]. Signal Processing, 2016, 118(3): 36-50. [5] ZHOU Y C, BAO L, CHEN P C L. A new 1-D chaotic system for image encryption [J].Signal Processing, 2014, 97(7): 172-182. [6] REN X K, MA Ch. Improvement and implementation of 3D color image encryption[J].Microellectronics & Computer, 2015, 32(1): 96-99(in Chinese). [7] WANG L Y, SONG H J, LIU P. A novel hybrid color image encryption algorithm using two complex chaotic systems[J]. Optics and Lasers in Engineering, 2016, 77(15): 118-125. [8] LI F Y, XU J F. Image encryption algorithm based on Hash function and multi chaotic system[J].Computer Engineering and Design, 2010, 31(1): 141-144(in Chinese). [9] ZHENG H Y, LI W J, XIAO D. Novel image blocking encryption algorithm based on spatiotemporal chaos system[J].Journal of Computer Application, 2011, 31(11): 3053-3055(in Chinese). [10] WANG Ch L, WU X J. Fractional order chaotic color image encryption algorithm based on block scrambling and diffusion[J].Journal of Henan University(Natural Science Edition), 2014, 44(6): 715-724(in Chinese). [11] LIU P, YAN Ch, HUANG X G. Improved generation method of chaotic spread spectrum sequence based on Logistic map[J]. Journal of Communication, 2007, 28(2):134-140(in Chinese). [12] GU G S, LING J. A fast image encryption method by using chaotic 3-D cat maps[J]. Optik—International Journal for Light and Electron Optics, 2014, 124(17):4700-4705. [13] WANG X Y, LIU L T, ZHANG Y Q. A novel chaotic block image encryption algorithm based on dynamic random growth technique[J]. Optics & Lasers in Engineering, 2015, 66(3):10-18. [14] ZHAO J F, WANG S Y, CHANG Y X, et al. A novel image encryption scheme based on an improper fractional-order chaotic system[J]. Nonlinear Dynamics, 2015, 80(4):1721-1729. doi: 10.1007/s11071-015-1911-x [15] WU Y. NPCR and UACI randomness tests for image encryption [J]. Cyber Journals: Journal of Selected Areas in Telecommunications, 2011, 4(1):1-8. [16] PATIDAR V, PAREEK N K, SUD K K. A new substitution-diffusion based image cipher using chaotic standard and logistic maps[J]. Communications in Nonlinear Science and Numerical Simulation, 2009, 14 (7): 3056-3075. doi: 10.1016/j.cnsns.2008.11.005 [17] WANG X Y, WANG Q. A novel image encryption algorithm based on dynamic S-boxes constructed by chaos[J].Nonlinear Dynamics, 2014, 75(3):567-576. doi: 10.1007/s11071-013-1086-2 [18] LI L, WANG W N, LI J J. Security improvement for image encryption algorithm based on hyper-chaotic system[J]. Application Research of Computer, 2011, 28(11): 4335-4337(in Chinese). [19] YE R S. A novel chaos-based image encryption scheme with an efficient permutation-diffusion mechanism [J]. Optics Communications, 2011, 284(22): 5290-5298. doi: 10.1016/j.optcom.2011.07.070