Print

发布时间: 2018-06-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.170433
2018 | Volume 23 | Number 6




    图像处理和编码    




  <<上一篇 




  下一篇>> 





位级同步置乱扩散和像素级环形扩散图像加密算法
expand article info 梁颖, 张绍武
西北工业大学自动化学院, 信息融合技术教育部重点实验室, 西安 710072

摘要

目的 针对基于位平面信息量分布的选择性加密算法安全性不高、像素置换加密算法不能很好抵抗统计攻击问题,提出一种基于位级同步置乱扩散和像素级环形扩散的图像加密算法(BSPDPAD算法),提高图像加密效率和安全性。方法 BSPDPAD算法首先通过分段线性混沌映射产生两组混沌序列,其中一组混沌序列对图像进行随机分块,另一组混沌序列分解到位平面构成位级密钥流;然后,将各像素块分解到位平面,利用位级密钥流同步置乱扩散高位平面、置乱低位平面,实现位平面上块内置乱扩散及块间扩散;最后,再次迭代分段线性混沌映射产生新的密钥流,利用该密钥流对经过位级加密的中间密文图像进行横向顺序扩散和纵向逆序扩散,完成图像加密。结果 灰度图像及彩色图像上的计算机仿真实验与性能分析表明:BSPDPAD算法密钥空间大于2100,信息熵接近于8,密文图像直方图趋近于均匀分布;与其他加密算法相比,BSPDPAD算法密文图像相邻像素相关性系数绝对值减小约12数量级,像素变化率和归一化平均强度明显提高,说明BSPDPAD算法在密钥、明文敏感性、抵抗多种攻击能力等性能上优于其他加密算法,且算法扩散效果好,仅一轮加密就能获得较理想的加密效果。结论 将位级选择性加密与像素级环形扩散相结合的BSPDPAD算法可有效抵抗各种攻击,安全性高,适合各种类型的灰度及彩色图像加密,潜在应用价值大。

关键词

位级; 同步置乱扩散; 环形扩散; 分块; 图像加密

Image encryption algorithm based on bit-level synchronous permutation diffusion and pixel-level annular diffusion
expand article info Liang Ying, Zhang Shaowu
Key Laboratory of Information Fusion Technology of Ministry of Education, , School of Automation, NorthwestPolytechnical University, Xi'an 710072, China
Supported by: National Natural Science Foundation of China (61473232, 91430111)

Abstract

Objective With the rapid development and popularity of the Internet and information technologies, computers and mobile phones have become an important part of the daily lives of people. Through these electronic devices, a large number of pictures that may contain private information are transmitted and stored. Image information security is becoming increasingly important. However, the use of traditional encryption algorithms (e.g., data encryption standard, advanced encryption standard, and international data encryption algorithm) to encrypt images will result in low efficiency and poor security because of the data size and high redundancy among the pixels of digital images. An effective approach to deal with this issue is to develop secure and effective digital image encryption algorithms. The existing image algorithms can be categorized into pixel-permutation-based, chaotic-system-based, and bitplane-based methods. The image encryption algorithms of the pixel-permutation-based method change the pixel position to destroy adjacent pixel dependencies by performing the permutation operation on the pixel matrix, thereby generating noise-like and meaningless cipher images. However, only the encryption algorithms that use pixel permutation have weak resistance to statistical attacks and poor security. The image encryption algorithms of the chaotic-system-based method take advantage of the excellent intrinsic properties of a chaotic sequence, such as ergodicity, pseudorandomness, and sensitivity to initial conditional and control parameters, to enable diffusion and confusion encryption. These methods have a large key space, strong keystream adaptivity, and high security and often combine with other encryption methods to achieve effective image encryption. The image encryption algorithms of the bitplane-based method decompose the pixels into bit levels, implementing the permutation and diffusion operations on the bitplanes. Bitplane matrix transformation, selective encryption based on bitplane information distribution, and integrating bit-level encryption with pixel-level encryption are the typical bitplane encryption algorithms. The bitplane encryption operation can enhance the sensitivity of the algorithm to small changes in the original image, thus improving the capability to resist differential attack. Moreover, the bitplane permutation operation can change the position and value of a pixel simultaneously, thereby reducing the computational complexity of the image encryption algorithm. Most bitplane encryption algorithms have desirable encryption performance with only one round. Therefore, a novel image encryption algorithm with the bit-level synchronous permutation diffusion and pixel-level annular diffusion (called BSPDPAD) was proposed in this study to improve image encryption efficiency and security to solve the security problem of the selective encryption algorithms with the bitplane information distribution, the statistical attack problem of pixel permutation encryption algorithms, and the problem of sequential diffusion producing stop point mechanism and nonuniform plaintext sensitivity effectively. Method BSPDPAD uses the chaotic sequence generated by the piecewise linear chaotic map (PWLCM) to construct bit-level and pixel-level keystreams and simultaneously encrypts the image at the bit and pixel levels. At the bit-level encryption stage, BSPDPAD first generates two sets of chaotic sequences by iteratively executing the PWLCM. One set is used to block an image randomly, and the other set is decomposed into bitplanes to obtain the binary keystream sequences. For the four lower bitplanes that contain few information, only the circular shift operation is performed on them. However, for the four higher bitplanes that contain abundant information, exclusive disjunction of the binary elements of the four higher bitplanes with the binary elements of the four lower bitplanes and bit-level keystream is necessary in addition to the cyclic shift operation. Thus, BSPDPAD synchronously permutes and diffuses the four higher bitplanes with the binary keystream sequences and permutes the four lower bitplanes to achieve intra-block and inter-block diffusion. At the pixel-level encryption stage, BSPDPAD iterates the PWLCM again to generate a new keystream. We use the new keystream to perform horizontal sequential diffusion and vertical inversion diffusion of the intermediate encryption image, which completely underwent the bit-level encryption operation, thereby avoiding the problem of stop point mechanism and nonuniform plaintext sensitivity. In addition, the initial value of the PWLCM is modified according to the plain image information at the bit-level and pixel-level encryption stages to enhance the adaptation and the plaintext sensitivity of BSPDPAD. Result Simulation experiments on several gray-scale images and color images show that the key space of BSPDPAD is more than 2100, indicating that the BSPDPAD algorithm can effectively resist the exhaustive attack. The histogram of the cipher image tends to be evenly distributed, which can cover the distribution of image pixels well and ensure that the algorithm is effective against statistical attack and known cipher attack. The absolute value of the adjacent pixel correlation coefficient of the cipher image encrypted by the BSPDPAD is lower than that of the plaintext image and that of similar encryption algorithms. The entropy of the BSPDPAD ciphering image is close to the theoretical value of 8. Therefore, BSPDPAD has a strong capability to resist entropy attack. The key sensitivity analysis shows that BSPDPAD has satisfactory key sensitivity in the encryption and decryption phases. BSPDPAD also has high NPCR and UACI values, thereby indicating that BSPDPAD has strong plaintext sensitivity and high capability to resist differential attack. Moreover, color image encryption experiments show that BSPDPAD is also suitable for color image encryption, and its encryption performance is excellent. In summary, BSPDPAD is superior to other state-of-the-art encryption algorithms in terms of correlation, information entropy, key space, sensitivity, and capacity to resist multiple attacks. In addition, BSPDPAD has a better diffusion effect, which can obtain excellent encryption performance with only one round of encryption. Conclusion By integrating bit-level selective encryption and pixel-level annular diffusion, BSPDPAD can effectively resist various attacks and exhibit high security. Therefore, BSPDPAD is suitable for all kinds of grayscale and color images and has a large potential application value in the image encryption field.

Key words

bit-level; synchronous permutation-diffusion; annular diffusion; blocking; image encryption

0 引言

随着互联网、计算机等技术迅速发展,手机、电脑等已进入人们的日常生活,大量私密信息通过这些电子设备传输、存储,因而信息安全问题越来越重要。图像因其直观、形象的特点,成为众多信息形式中必不可少的一种,其安全问题的重要性不言而喻。图像数据具有尺寸大、冗余高的特性,采用诸如DES(data encryption standard)、AES(advanced encryption standard)、IDEA(international data encryption algorithm)等传统加密算法加密图像数据,效率低、安全性差[1]。针对这一情况,研究者提出了许多新的数字图像加密算法,这些加密算法一般可归类为:基于像素置换的图像加密算法、基于混沌系统的图像加密算法、基于位平面的图像加密算法。

基于像素置换的图像加密算法[1-3]通过对像素矩阵进行有限次置换操作,改变像素位置,破坏相邻像素相关性,生成类似噪声或纹理的、无意义的密文图像,典型的置换加密方法主要包括:基于仿射变换的图像加密算法[1]、基于Arnold变换的图像加密算法[2]、基于魔方变换的图像加密算法[3]等。采用像素置换方法加密图像操作简单、便于计算,但由于未破坏原图像的统计特性,因而,仅采用像素置换方法进行图像加密,其抵抗统计攻击能力弱、安全性不高。

基于混沌系统的图像加密算法[4-12]利用混沌序列良好的遍历性、伪随机性、初始条件敏感性等性质,实现图像加密的扩散和混淆操作。常用的基于混沌系统的加密方法主要包括:基于Logistic映射的图像加密算法[4-5]、基于Tent映射的图像加密算法[6-7]、基于Henon映射的图像加密算法[8]等。这类方法密钥空间大,密钥流自适应性强,安全性高。但随着混沌理论的深入研究,人们发现一些低维混沌系统存在结构简单、周期窗口等问题,意味着这些混沌系统产生的伪随机序列抗攻击能力弱、易被破解,无法保证加密算法的安全性。针对此问题,研究者提出了一些新的混沌系统,如文献[9-10]采用混沌范围宽、分岔图中无窗口的分段线性混沌映射(PWLCM),替代动态特性弱、混沌范围窄的Logistic映射;文献[11]将两种不同的已有1维混沌映射作为种子映射构造混沌范围宽、混沌行为好的非线性新混沌映射;文献[12]采用超混沌系统等。这些混沌系统产生的伪随机序列随机性好、范围广,能够确保加密算法的安全性。

基于位平面的图像加密算法[13-15]将像素分解到比特级,在位平面上进行置乱和扩散操作。典型的代表性方法包括:基于矩阵变换的位平面加密方法[13]、基于位平面信息量分布的选择性加密方法[14]、位级与像素级加密相结合的方法[15]。基于矩阵变换的位平面加密方法[13]将分解到位平面的图像看作一个3维矩阵,通过3维矩阵变换操作完成位平面内和位平面间的置乱,实现图像加密。该算法加密性能好,但不适用于大尺寸图像加密。基于位平面信息量分布的选择性加密方法[14]针对图像高位平面包含大量图像信息、低位平面几乎不包含图像信息的位平面分布特点,重点加密高位平面,不加密或简单加密低位平面。该算法计算量小,加密速度快,但安全性能一般。位级与像素级加密相结合的方法[15]在位级和像素级同时加密图像,以提高算法加密效率和加密性能。位平面加密操作可增强算法对明文微小改变的敏感性,增加算法抵抗差分攻击能力。且位平面上的置换操作可同时改变像素比特位置和像素值,从而降低加密算法计算量,多数位平面加密算法仅一轮加密就可达到较理想的加密效果。

基于上述分析,针对基于位平面信息量分布的选择性加密算法安全性不高;像素置换加密算法不能有效抵抗统计攻击;现有位级与像素级相结合加密算法多采用顺序扩散方式、位级加密阶段仅执行扩散操作或置换操作、缺少块间扩散导致算法明文敏感性不高和抗差分攻击能力弱等问题。本文提出一种基于位级同步置乱扩散和像素级环形扩散的图像加密算法(BSPDPAD),并通过图像仿真实验验证算法加密性能。

1 位平面特性

设一幅$N \times N$图像灰度级为255,通过二进制位平面分解(BBD)产生8个位平面$\left[ {{\mathit{\boldsymbol{b}}_8}, {\mathit{\boldsymbol{b}}_7}, \cdots {\mathit{\boldsymbol{b}}_i}, \cdots , {\mathit{\boldsymbol{b}}_1}} \right]$${{\mathit{\boldsymbol{b}}_i}}$为图像所有像素第$i$比特的集合,表示为

$ {\mathit{\boldsymbol{b}}_i} = \left[ {\begin{array}{*{20}{c}} {b_{11}^i}&{b_{12}^i}& \cdots &{b_{1N}^i}\\ {b_{21}^i}&{b_{22}^i}& \cdots &{b_{2N}^i}\\ \vdots&\vdots &{}& \vdots \\ {b_{N1}^i}&{b_{N2}^i}& \cdots &{b_{NN}^i} \end{array}} \right] $ (1)

${{\mathit{\boldsymbol{b}}_8}}$是最高位平面,${{\mathit{\boldsymbol{b}}_1}}$是最低位平面。

8个位平面所包含的信息量如表 1所示[15]。从表 1可以看出,高4位平面包含了94.13%的信息量,而低位平面仅包含不到6%的信息量。鉴于高4位平面包含了大量图像信息,加密算法应考虑重点对高4位平面进行加密。

表 1 不同位平面所包含的信息量[15]
Table 1 Percentage of pixel information for different bits

下载CSV
位平面 信息量/%
8 50.20
7 25.10
6 12.55
5 6.28
4 3.14
3 1.57
2 0.78
1 0.39

Zhang等人[16]随机选取大量测试图像,统计图像相邻位平面中相同位置的比特值,发现大多数测试图像在第7位平面与第8位平面相同位置上,超过70%的位置存在比特值差异。也就是说,假设第7位平面上某一位置的比特值为0,那么第8位平面对应位置比特值等于1的可能性为70%,意味着如果攻击者获得了一个高位平面的比特值,那么就有可能恢复相邻高位平面70%以上的比特值。因此,图像加密时必须破坏高位平面相邻位平面间的相关性。

2 分段线性混沌映射

分段线性混沌映射(PWLCM)由多个线性段组成,其表达式为

$ \begin{array}{*{20}{c}} {{x_{n + 1}} = F\left( {{x_n},\eta } \right) = }\\ {\left\{ \begin{array}{l} {x_n}/\eta \;\;\;\;\;\;\;\;\;\;\;\;\;0 < {x_n} < \eta \\ \left( {{x_n} - \eta } \right)/\eta \;\;\;\;\;\eta \le {x_n} < 0.5\\ F\left( {1 - {x_n},\eta } \right)\;\;\;\;0.5 \le {x_n} < 1 \end{array} \right.} \end{array} $ (2)

式中,$η$为控制因子,$x_{n}$为第$n$次迭代混沌值,在$x_{n}$∈(0, 1)、$η$∈(0, 0.5)条件下,系统进入混沌状态。

鉴于Logistic映射混沌范围窄,产生的混沌序列不均匀,而PWLCM混沌范围宽,遍历性好,产生的混沌序列更均匀[17],本文选择PWLCM生成密钥流。

3 BSPDPAD算法及步骤

BSPDPAD算法框图如图 1所示,该算法主要包括明文图像预处理、位级同步置乱扩散和像素级环形扩散3个过程。首先,迭代PWLCM混沌映射产生混沌序列,分为两组,其中一组用来对明文图像进行随机分块,构建若干个8×8大小的像素块,另一组混沌序列分解到位平面生成位级密钥流;然后,将各像素块分解到位平面,利用位级密钥流对高位平面进行同步置乱扩散、低位平面进行整体置乱,实现位平面上块内置乱扩散及块间扩散;其次,以中间密文图像像素和扰动初始密钥,并将扰动后的初始密钥作为PWLCM的初始值和控制参数,迭代产生新的混沌序列,利用该混沌序列对中间密文图像进行横向顺序扩散和纵向逆序扩散,完成图像加密。

图 1 BSPDPAD算法方框图
Fig. 1 The schematic diagram of BSPDPAD algorithm

设明文图像为$M \times N$大小的灰度图像$\mathit{\boldsymbol{I}}$,算法加密步骤分别为明文图像预处理、位级同步置乱扩散、像素级环形扩散。

3.1 明文图像预处理

加密过程中需要将图像划分为8×8的像素块。对于宽和高非8整数倍、大小为$M \times N$的输入图像,将其整形为$S \times S$大小的方形图像,使其满足$S = \min \left\{ {\mathit{\boldsymbol{A}}\left| {S \ge \left\lceil {\sqrt {M \times N} } \right\rceil } \right.\;{\rm{and}}\;{\rm{mod}}\left( {S, 8} \right) = 0} \right\}$,其中$\left\lceil x \right\rceil $表示对$x$向上取整,$\bmod \left( {S, 8} \right)$表示$S$对8取模,$\min \left\{ \mathit{\boldsymbol{A}} \right\}$表示求集合$\mathit{\boldsymbol{A}}$中最小值。与直接将宽和高扩展为8整数倍的方法相比,这种方法能够尽可能减少整形所需添加的像素数。图像整形及分块过程如下:

1) 将2维明文图像$\mathit{\boldsymbol{I}}$按照光栅扫描顺序转换为1维向量$\mathit{\boldsymbol{P}}{\rm{ = }}\left\{ {{p_1}, {p_2}, \cdots , {p_{M \times N}}} \right\}$,若$M \times N \ne S \times S$,在P中添加随机数扩展其长度为$S \times S$。于是,图像一维向量$\mathit{\boldsymbol{P}}$变为$\mathit{\boldsymbol{P'}}{\rm{ = }}\left\{ {{p_1}, {p_2}, \cdots , {p_{M \times N}}, \cdots , {p_{S \times S}}} \right\}$

2) 设${x_1}$${l_1}$为初始密钥,将明文图像像素作为扰动因子,扰动初始密钥,使PWLCM混沌系统产生的密钥流与明文相关,保证算法能够抵抗已知明文攻击和选择明文攻击,即

$ {x_{11}} = \bmod \left( {{x_1} + \frac{{sum\left( \mathit{\boldsymbol{I}} \right)}}{{xor\left( \mathit{\boldsymbol{I}} \right) \times 256}},1} \right) $ (3)

式中,$sun\left( \mathit{\boldsymbol{I}} \right)$表示对明文图像$\mathit{\boldsymbol{I}}$中像素求和,$xor\left( \mathit{\boldsymbol{I}} \right)$表示明文图像$\mathit{\boldsymbol{I}}$中像素互相异或。${\mathit{\boldsymbol{y}}_2} = \left\{ {{y_{2, 1}}, {y_{2, 2}}, \cdots , {y_{2, S \times S}}} \right\}$,将${x_{11}}$${l_1}$作为初始值和控制参数,迭代式(2)${n_0} + 2 \times S \times S$次,舍弃前$n_0$项以避免暂态效应,生成两组长度为$S \times S$的混沌序列${\mathit{\boldsymbol{y}}_1} = \left\{ {{y_{1, 1}}, {y_{1, 2}}, \cdots , {y_{1, S \times S}}} \right\}$${\mathit{\boldsymbol{y}}_2} = \left\{ {{y_{2, 1}}, {y_{2, 2}}, \cdots , {y_{2, S \times S}}} \right\}$

根据式(4)对两组混沌序列进行标准化处理,获得序列${\mathit{\boldsymbol{z}}_1} = \left\{ {{z_{1, 1}}, {z_{1, 2}}, \cdots , {z_{1, S \times S}}} \right\}$${\mathit{\boldsymbol{z}}_2} = \left\{ {{z_{2, 1}}, {z_{2, 2}}, \cdots , {z_{2, S \times S}}} \right\}$

$ \begin{array}{l} {z_{k,i}} = floor\left( {\bmod \left( {{y_{k,i}} \times {{10}^{14}},256} \right)} \right)\\ k = \left\{ {1,2,3,4} \right\};\;\;\;\;i = 1,2, \cdots ,S \times S \end{array} $ (4)

式中,$floor\left( \psi \right)$表示对$\psi $下取整。

3) 按升序对${z_1}$排序,得到索引序列$\mathit{\boldsymbol{T}}{\rm{ = }}\left\{ {{t_1}, {t_2}, \cdots , {t_{S \times S}}} \right\}$。将$\mathit{\boldsymbol{P'}}$划分为${S^2}/64$个小块,记作$\mathit{\boldsymbol{D}} = \left\{ {{d_1}, {d_2}, \cdots , {d_i}, \cdots , {d_{{s^2}/64}}} \right\}$,其中${\mathit{\boldsymbol{d}}_i}$表示为

$ \begin{array}{*{20}{c}} {{\mathit{\boldsymbol{d}}_i} = \left\{ {\mathit{\boldsymbol{P'}}\left( {{t_{8 \times \left( {i - 1} \right) + 1}}} \right),\mathit{\boldsymbol{P'}}\left( {{t_{8 \times \left( {i - 1} \right) + 2}}} \right), \cdots ,} \right.}\\ {\left. {\mathit{\boldsymbol{P'}}\left( {{t_{8 \times \left( {i - 1} \right) + 8}}} \right)} \right\}} \end{array} $ (5)

3.2 位级同步置乱扩散

首先,对混沌序列进行位平面分解生成位级密钥流,并将各像素块分解到位平面。鉴于高4位平面包含94%以上的图像信息,可结合密钥流通过循环移位和异或操作重点加密高4位平面。鉴于低4位平面仅包含少量图像信息,可通过整体循环移位操作加密低4位平面。然后,通过参数传递实现块间扩散。具体实现步骤如下:

1) 通过二进制位平面分解(BBD)将混沌序列分解到位平面,鉴于低4位位平面分布比高4位更均匀,取低4位位平面生成密钥流序列,按照4×64一组进行分组,分组后的密钥流序列记作$z' = \left\{ {{{z'}_1}, {{z'}_2}, \cdots , {{z'}_i}, \cdots , {{z'}_{{S^2}/64}}} \right\}$${{{z'}_i}}$表示$4 \times 64$二进制密钥流。

2) 通过BBD将各像素块分解到位平面,按照光栅扫描顺序将各个位平面变换为1维向量,按照高位到低位顺序构成$8 \times 64$大小二进制像素块,记作$\mathit{\boldsymbol{B}}{\rm{ = }}\left\{ {{\mathit{\boldsymbol{b}}_1}, {\mathit{\boldsymbol{b}}_{\rm{2}}}, \ldots , {\mathit{\boldsymbol{b}}_i}, \cdots , {\mathit{\boldsymbol{b}}_{{S^2}/64}}} \right\}$${{\mathit{\boldsymbol{b}}_i}}$表示$8 \times 64$二进制像素块。

3) 设加密后的二进制中间密文为$\mathit{\boldsymbol{C}} = \left\{ {{\mathit{\boldsymbol{c}}_1}, {\mathit{\boldsymbol{c}}_2}, \cdots , {\mathit{\boldsymbol{c}}_i}, \cdots , {\mathit{\boldsymbol{c}}_{{S^2}/64}}} \right\}$${{\mathit{\boldsymbol{c}}_i}}$表示$8 \times 64$二进制像素块。将第$i$个像素块的高4位整体循环左移${s_1}$位。$i = 1$${s_1} = \bmod \left( {sum\left( \mathit{\boldsymbol{I}} \right), 256} \right)$$i > 1$时,${s_1} = \sum\limits_{k = 1}^{8 \times 64} {{c_{i - 1, k}}} $

4) 扩散加密第$i$个像素块的高4位,即

$ \begin{array}{*{20}{c}} {{c_{i,1}} = {b_{i,1}} \oplus {b_{i,4 \times 64 + 1}} \oplus {{z'}_{i,1}} \oplus {\tau _i}}\\ {i = 1,2, \cdots ,{S^2}/64} \end{array} $ (6)

$ \begin{array}{*{20}{c}} {{c_{i,j}} = {b_{i,j}} \oplus {b_{i,4 \times 64 + j}} \oplus {{z'}_{i,j}} \oplus {c_{i,j - 1}}}\\ {i = 1,2, \cdots ,{S^2}/64;j = 2,3, \cdots ,4 \times 64} \end{array} $ (7)

式中,${b_{i, j}}$表示第$i$个二进制明文像素块的第$j$位,${c_{i, j}}$表示第$i$个二进制中间密文块的第$j$位,${z'_{i, j}}$表示第$i$组密钥流的第$j$位,$ \oplus $表示异或操作。${\tau _i}$为传递参数,$i = 1$时,设${\tau _1} = 1$$i > 1$时,${\tau _i} = {c_{i - 1, 4 \times 64}}$,即前一个中间密文块高四位平面的最末位。

5) 将第$i$个像素块低4位整体循环左移${s_2}$位。$i$=1时,${s_2} = \sum\limits_{k = 1}^{8 \times 64} {{c_{1, k}}} $$i > 1$时,${s_2} = \sum\limits_{k = 1}^{8 \times 64} {{c_{i - 1, k}}} $

6) 重复步骤3)-5),直至所有像素块完成加密。将二进制中间密文$\mathit{\boldsymbol{C}}$恢复成十进制形式,并转换成$S \times S$大小的中间密文图像$\mathit{\boldsymbol{C'}}$

3.3 像素级环形扩散

仅采用顺序扩散方法会导致加密算法对明文前端像素敏感性强,而对末尾处像素几乎不敏感,且易发生停止点现象。因此,BSPDPAD算法完成图像位级加密后,进行像素级环形扩散加密。像素级环形扩散加密阶段,结合密钥序列执行一次横向顺序扩散和一次纵向逆序扩散,如图 2所示。

图 2 环形扩散顺序
Fig. 2 The order of annular diffusion((a) horizontal sequential diffusion; (b) vertical reverse diffusion)

1) 设${x_2}$${l_2}$为初始密钥,将中间密文图像像素和作为扰动因子,扰动初始密钥后,即

$ {x_{22}} = \bmod \left( {{x_2} + sum\left( {C'} \right)/256,1} \right) $ (8)

${x_{22}}$${l_2}$作为初始值和控制参数,迭代式(2)${n_0} + 2 \times S \times S$次。舍弃前${n_0}$项以避免暂态效应,生成两组长度为$S \times S$的混沌序列${\mathit{\boldsymbol{y}}_3} = \left\{ {{y_{3, 1}}, {y_{3, 2}}, \cdots , {y_{3, S \times S}}} \right\}$${\mathit{\boldsymbol{y}}_4} = \left\{ {{y_{4, 1}}, {y_{4, 2}}, \cdots , {y_{4, S \times S}}} \right\}$

根据式(4)对两组混沌序列进行标准化处理,获得密钥序列${\mathit{\boldsymbol{z}}_3} = \left\{ {{z_{3, 1}}, {z_{3, 2}}, \cdots , {z_{3, S \times S}}} \right\}$${\mathit{\boldsymbol{z}}_4} = \left\{ {{z_{4, 1}}, {z_{4, 2}}, \cdots , {z_{4, S \times S}}} \right\}$

2) 按照图 2(a)顺序将中间密文图像$\mathit{\boldsymbol{C'}}$转换成1维向量$\mathit{\boldsymbol{H = }}\left\{ {{H_1}, {H_2}, \cdots , {H_i}, \cdots , {H_{S \times S}}} \right\}$,进行横向顺序扩散,即

$ {{H'}_1} = {H_1} \oplus sum\left( H \right) \oplus {z_{3,1}} $ (9)

$ \begin{array}{*{20}{c}} {{{H'}_i} = {H_i} \oplus {{H'}_{i - 1}} \oplus {z_{3,i}}}\\ {i = 2,3, \cdots ,S \times S} \end{array} $ (10)

横向顺序扩散后的中间密文为

$ \mathit{\boldsymbol{H' = }}\left\{ {{{H'}_1},{{H'}_2}, \cdots ,{{H'}_i}, \cdots ,{{H'}_{S \times S}}} \right\} $

3) 将1维向量$\mathit{\boldsymbol{H'}}$变换成$S \times S$矩阵,按照图 2(b)顺序将该矩阵转换成1维向量$\mathit{\boldsymbol{V}} = \left\{ {{V_1}, {V_2}, \cdots , {V_i}, \cdots , {V_{S \times S}}} \right\}$,进行纵向逆序扩散,即

$ {E_1} = {V_1} \oplus sum\left( V \right) \oplus {z_{4,1}} $ (11)

$ \begin{array}{*{20}{c}} {{E_i} = {V_i} \oplus {E_{i - 1}} \oplus {z_{4,i}}}\\ {i = 2,3, \cdots ,S \times S} \end{array} $ (12)

纵向逆序扩散后的密文为$\mathit{\boldsymbol{E}} = \left\{ {{E_1}, {E_2}, \cdots , {E_i}, \cdots , {E_{S \times S}}} \right\}$

4) 将1维向量$\mathit{\boldsymbol{E}}$转换成$S \times S$矩阵,即获得最终加密图像。

3.4 解密过程

解密是加密的逆过程。

4 仿真结果与分析

基于MATLAB R2013a平台,首先选取大小为256×256像素的Lena、Baboon、Couple、Peppers 4幅标准测试图像,进行加密仿真实验,然后在Lena彩色图像上进行加密仿真实验。设加密密钥$\left[ {{x_1}, {l_1}, {x_2}, {l_2}} \right]$=[0.012 3,0.123 4,0.234 5,0.023 456 789 012 345 6],按照BSPDPAD算法加密步骤对Lena、Baboon、Couple、Peppers测试图像进行加密。其密文图像及对应的明文图像如图 3所示。

图 3 4幅测试图像及其对应密文图像
Fig. 3 Plain images and encryption images of the 4 test images with BSPDPAD algorithm ((a) Lena; (b) Baboon; (c) Couple; (d) Peppers)

4.1 密钥空间分析

密钥空间是指加密算法密钥的取值空间,每个密钥的密钥空间等于其取值范围与敏感度的比值,总密钥空间为各相互独立密钥空间的乘积。BSPDPAD算法的密钥包括两次PWLCM映射的控制参数和初始值$\left[ {{x_1}, {l_1}, {x_2}, {l_2}} \right]$,均为双精度浮点型数据。由敏感性实验可知${{x_1}, {l_1}, {x_2}, {l_2}}$的敏感度至少为10-16,因此,BSPDPAD算法的密钥空间${V_0} = {\left( {\frac{1}{{{{10}^{ - 16}}}}} \right)^2} \times {\left( {\frac{1}{2} \times \frac{1}{{{{10}^{ - 16}}}}} \right)^2} = 0.25 \times {10^{64}} > 1.51 \times {2^{210}}$。对于一个有效的加密系统,其密钥空间应不小于2100才能有效抵抗穷举攻击[8]。显然,BSPDPAD加密算法具有足够大的密钥空间,能够有效抵抗穷举攻击。

4.2 直方图分析

直方图是关于图像像素分布的函数,反映了各像素出现的频率。Lena、Baboon、Couple、Peppers 4幅测试图像的直方图及其BSPDPAD算法密文图像直方图如图 4所示,从图 4可以看出,图像加密前后直方图差别较大,密文图像直方图趋近于均匀分布,意味着密文图像各像素出现的频率非常接近,能够较好地掩盖图像像素分布规律,保证算法有效抵抗统计攻击和已知密文攻击。

图 4 4幅测试图像直方图及其对应密文图像直方图
Fig. 4 Plain images's histograms and encryption images's histograms for 4 test images ((a) Lena; (b) Baboon; (c) Couple; (d) Peppers)

4.3 相邻像素相关性分析

明文图像相邻像素间具有较强的相关性,降低或消除这一相关性,可有效避免攻击者利用相关性恢复明文图像,因此一个理想的加密算法应保证相邻像素相关性足够低,以抵抗统计攻击。为进一步分析BSPDPAD算法抵抗统计攻击性能,本文选用Lena、Baboon、Couple、Peppers 4幅测试图像,分析其明/密文图像相邻像素相关性。鉴于BSPDPAD算法属于位平面加密算法范畴,选取目前性能较优的位平面加密算法[18]、位级加密与像素级加密相结合的加密算法[19]、以及基于分块的位级加密与像素级加密相结合的图像加密算法[15]进行对比分析。

分别从4幅明/密文图像中随机选取2 000对像素点,采用文献[18]方法分别计算它们水平、垂直、对角线方向相邻像素间的相关性系数,BSPDPAD算法和文献[15, 18-19] 4种算法的明/密文图像相邻像素相关性系数对比结果如表 2所示,Lena明文图像及其BSPDPAD算法密文图像在水平、垂直、对角线方向上相邻像素分布图如图 5所示。

表 2 4种算法的明/密文图像相邻像素相关性系数
Table 2 Correlation coefficients between two adjacent pixels in plain/cipher images with four algorithms

下载CSV
测试图像 算法 水平方向 垂直方向 对角线方向
Lena 明文 0.971 1 0.934 4 0.910 9
BSPDPAD -0.000 4 -0.000 7 0.004 7
文献[15] -0.001 8 -0.022 1 0.002 8
文献[18] -0.023 0 0.001 9 -0.003 4
文献[19] 0.001 8 0.001 1 -0.001 2
Baboon 明文 0.790 6 0.865 8 0.749 5
BSPDPAD -0.000 9 0.001 3 0.007 4
文献[15] - - -
文献[18] 0.013 2 0.001 0 0.007 2
文献[19] -0.054 0 0.006 0 0.005 7
Couple 明文 0.949 5 0.940 7 0.901 4
BSPDPAD 0.001 8 -0.006 7 0.003 5
文献[15] - - -
文献[18] -0.003 3 -0.001 3 -0.014 5
文献[19] 0.003 2 -0.036 8 0.016 0
Peppers 明文 0.979 6 0.974 5 0.955 4
BSPDPAD 0.000 6 -0.005 5 0.000 5
文献[15] - - -
文献[18] 0.003 7 -0.016 1 -0.008 4
文献[19] 0.012 2 0.007 2 -0.005 8
注:“-”表示该文献原文未给出此性能值。
图 5 Lena明文图像及其BSPDPAD算法密文图像在水平、垂直、对角线方向上的相邻像素分布
Fig. 5 Distribution of adjacent pixels in horizontal, vertical and diagonal directions in Lena's plain image and its cipher image encrypted with BSPDPAD algorithm ((a)horizontal; (b)vertical; (c)diagonal)

表 2可知,4幅明文图像相邻像素间均存在较强相关性,4种算法的密文图像相邻像素相关性远小于明文图像,BSPDPAD算法的密文图像相邻像素相关性系数绝对值比文献[15, 18-19]算法约小12个数量级。这些结果说明,随机分块及位级同步置乱扩散策略能够有效降低相邻像素相关性,保证算法有效抵抗统计攻击,且效果略优于文献[15, 18-19]算法。

图 5可知,明文图像在水平、垂直、对角线方向上的相邻像素几乎分布在一条直线上,而BSPDPAD算法的密文图像在3个方向上的相邻像素均匀分布于整个像素空间,呈杂乱无章状态,能够有效隐藏明文图像像素统计信息。因此,BSPDPAD算法具有较强的抵抗统计分析能力。

4.4 信息熵分析

信息论中,信息熵是衡量随机性的重要指标之一。对于256灰度级的密文图像来说,理想信息熵值为8,表明信息是均匀分布的[19]。因此,密文图像的信息熵应尽可能接近8。为了研究BSPDPAD算法抵抗熵攻击性能,选用Lena、Baboon、Couple、Peppers 4幅测试图像,采用BSPDPAD算法对它们进行加密,计算明/密文图像信息熵,并与文献[18-19]进行比较,结果如表 3所示。显然,BSPDPAD算法的密文图像信息熵非常接近于理论值8,说明BSPDPAD算法具有较强的抵抗熵攻击能力。

表 3 3种算法密文图像信息熵
Table 3 Information entropy with three algorithms

下载CSV
测试图像 BSPDPAD算法 文献[18] 文献[19]
Lena 7.997 7 7.997 4 7.999 4
Baboon 7.998 3 - -
Couple 7.999 2 7.997 0 -
Pepper 7.997 2 7.997 3 -
注:“-”表示该文献原文未给出此性能值。

4.5 密钥敏感性分析

为保证加密算法的安全性,一个好的加密系统应具有良好的密钥敏感性,包括加密和解密两个方面。为了分析BSPDPAD算法的密钥敏感性,选用Lena图像进行加解密实验,实验结果如图 6图 7所示。图 6(a)为明文图像,图 6(b)(c)分别为使用原始密钥[0.012 3,0.123 4,0.234 5,0.023 456 789 012 345 6]和修改密钥[0.012 3,0.123 4,0.234 5,0.023 456 789 012 345 7]加密得到的密文图像,图 6(d)为两密文图像差值。显然,当密钥仅发生10-16微小改变,将获得完全不同的密文图像。图 7(a)为明文图像,图 7(b)为原始密钥加密的密文图像,图 7(c)(d)分别为使用修改密钥和原始密钥解密得到的解密图像。由图 7可知,当密钥发生仅10-16微小改变时,也无法正确解密。因此,BSPDPAD算法具有良好的密钥敏感性。

图 6 Lena图像上BSPDPAD算法加密阶段密钥敏感性实验结果
Fig. 6 Key sensitivity test for Lena encryption image with BSPDPAD algorithm ((a) The Lena image; (b) the encrypted image using the original key; (c) the encrypted image using the modified key; (d) the difference between (b) and (c))
图 7 Lena图像上BSPDPAD算法解密阶段密钥敏感性实验
Fig. 7 Key sensitivity test for Lena decryption image with BSPDPAD algorithm((a) the Lena image; (b) the encrypted image using the original key; (c) the decrypted image with an incorrect security key; (d) the decrypted image with the correct security key)

4.6 抗差分攻击分析

差分攻击是攻击者常用、有效的攻击方式。为抵抗差分攻击,一个安全的加密系统应确保明文中发生微小变化时,会产生完全不同的密文。像素变化率(NPCR)和归一化平均变化强度(UACI)是衡量明文像素微小变化对密文影响的常用指标[18],本文采用这两个指标分析BSPDPAD算法的明文敏感性,并与文献[15, 18-19]比较。

选取Lena、Baboon、Couple、Peppers 4幅测试图像,分别将4幅图像(100, 100)点处的像素值加1,生成一组新的测试图像,对两组测试图像采用相同的密钥进行加密,生成两组对应的密文图像,计算其NPCR值和UACI值,其计算结果如表 4所示。

表 4 4种算法的NPCR与UACI值
Table 4 The NPCR and UACI values with four algorithms

下载CSV
测试图像 NPCR/% UACI/%
BSPDPAD 文献[15] 文献[18] 文献[19] BSPDPAD 文献[15] 文献[18] 文献[19]
Lena 99.658 2 99.580 4 99.620 0 99.62 33.572 2 33.534 8 33.510 0 33.436 5
Baboon 99.620 7 99.591 4 - - 33.518 6 33.464 9 - -
Couple 99.641 4 - 99.616 6 - 33.539 2 - 33.510 0 -
Peppeer 99.617 0 - - - 33.569 0 - - -
注:“-”表示该文献原文未给出此性能值。

表 4可以看出,BSPDPAD算法的NPCR值和UACI值均高于文献[15, 18-19],表明本文算法能够提高算法明文敏感性。对于加密算法来说,明文敏感性越强,算法抗差分攻击能力就越强。因此,BSPDPAD算法所用块内块间同步扩散及环形扩散策略能够有效提高明文敏感性、扩散均匀性,较好地抵抗差分攻击,其抗差分攻击能力优于文献[15, 18-19]所提算法。

4.7 彩色图像加密

为验证BSPDPAD算法在彩色图像上的加密效果,选取24比特深度彩色图像Lena为测试图像,采用BSPDPAD算法分别加密R、G、B3个颜色分量。鉴于文献[15, 18-19]未给出彩色图像加密结果,选取目前彩色图像加密效果较好的二种算法(即文献[9-10]所提算法)进行对比分析。文献[9]采用基于位平面信息量分布的多相位级置换方法实现图像加密,文献[10]采用像素级同步置乱扩散和哈希密钥矩阵非线性分块扩散实现图像加密。

Lena彩色图像上,BSPDPAD算法测试结果如图 8表 5所示,3种算法的NPCR值、UACI值和信息熵如表 6所示。

图 8 Lena明文/BSPDPAD密文图像及其RGB颜色通道直方图
Fig. 8 Plain image, encryption image with BSPDPAD algorithm and their corresponding histograms for RGB components on the Lena image((a) the Lena image; (b)encryption image with BSPDPAD algorithm; (c)the histograms of R channel of Lena; (d) the histograms of G channel of Lena; (e) the histograms of B channel of Lena)

表 5 Lena彩色图像明文和BSPDPAD密文图像各颜色通道相邻像素相关性系数
Table 5 Correlation coefficients between two adjacent pixels in RGB components of plain/cipher images with BSPDPAD algorithm on the Lena image

下载CSV
明文图像 密文图像
R通道 水平方向 0.967 8 0.007 1
垂直方向 0.944 3 -0.004 4
对角线方向 0.917 7 -0.006 9
G通道 水平方向 0.971 8 0.003 3
垂直方向 0.949 0 0.000 9
对角线方向 0.921 1 -0.008 2
B通道 水平方向 0.970 7 -0.002 4
垂直方向 0.952 7 0.010 5
对角线方向 0.930 0 0.005 2

表 6 3种算法在Lena彩色图像RGB颜色通道上的加密结果
Table 6 Results of RGB components encrypted with three algorithms on Lena image

下载CSV
算法 NPCR/% UACI/% Entropy
R G B R G B
BSPDPAD 99.665 8 99.636 2 99.652 1 33.699 9 33.649 6 33.562 1 7.999 1
文献[9] 99.612 4 99.613 4 99.619 2 33.443 8 33.523 2 33.501 0 7.997 4
文献[10] 99.630 7 99.627 7 99.655 2 33.594 2 33.412 5 33.602 4 7.997 5

图 8(a)分别为Lena彩色明文图像和Lena彩色图像的BSPDPAD算法密文图像,图 8(c)-(e)分别为明文图像及密文图像Red、Green、Blue3个颜色通道的直方图。表 5为Lena彩色图像的明文图像,及其BSPDPAD算法密文图像各颜色通道在水平、垂直及对角线方向上相邻像素相关性系数(各颜色通道分别随机选取2 000对像素点进行计算)。

图 8可以看出,图像加密前后直方图差别很大,明文图像统计信息清晰可见,而密文图像像素点分布均匀,较好的掩藏了明文信息。由表 5可知,明文图像各颜色分量相邻像素间均存在较强相关性,经BSPDPAD算法加密后图像各颜色分量相邻像素相关性远小于明文图像。因此,BSPDPAD算法加密彩色图像能够很好的抵抗统计攻击和已知密文攻击。从表 6可以看出,相对于文献[9-10]所提算法,BSPDPAD算法取得了较优的加密效果,说明BSPDPAD算法同样适合彩色图像加密。

4.8 时间复杂度分析

除安全性指标外,算法时间复杂度也是衡量加密算法性能的重要指标之一。对于BSPDPAD算法来说,时间复杂度主要受位级同步置乱扩散和像素级扩散两部分影响。在位级同步置乱扩散阶段,BSPDPAD算法主要包括${\rm{O}}\left( {2MN} \right)$的浮点型操作构建混沌序列,以及${\rm{O}}\left( {4MN} \right)$的异或操作和循环移位操作;在像素级环形扩散阶段,BSPDPAD算法主要包括${\rm{O}}\left( {2MN} \right)$的浮点型操作构建混沌序列和${\rm{O}}\left( {2MN} \right)$的异或操作。因此,BSPDPAD算法的总复杂度为${\rm{O}}\left( {2MN} \right) + {\rm{O}}\left( {4MN} \right) + {\rm{O}}\left( {2MN} \right) + {\rm{O}}\left( {2MN} \right) \approx {\rm{O}}\left( {4MN} \right)$。文献[15]将图像分解成$M \times 8N$的比特矩阵,对各行各列仅进行一次整体循环移位操作,而后将像素矩阵分成4块进行扩散操作,其算法复杂度为${\rm{O}}\left( {2M} \right) + {\rm{O}}\left( {18N} \right){\rm{ + O}}\left( {MN/16} \right) + {\rm{O}}\left( {MN} \right) \approx {\rm{O}}\left( {MN} \right)$。文献[18]所有加密操作均在位平面上完成,包括${\rm{O}}\left( {8MN} \right) + {\rm{O}}\left( {4MN} \right)$的置换加密,及${\rm{O}}\left( {MN} \right) + {\rm{O}}\left( {4MN} \right)$的扩散加密,其算法总复杂度为${\rm{O}}\left( {8MN} \right) + {\rm{O}}\left( {4MN} \right) + {\rm{O}}\left( {MN} \right) + {\rm{O}}\left( {4MN} \right) \approx {\rm{O}}\left( {8MN} \right)$。文献[19]通过各个位平面与置换矩阵相乘的方法实现位级置乱,与混沌迭代过程相结合实现像素级扩散,其算法总复杂度为${\rm{O}}\left( {2MN} \right) + {\rm{O}}\left( {MN/64} \right) + {\rm{O}}\left( {8MN} \right) + {\rm{O}}\left( {2MN} \right) \approx {\rm{O}}\left( {8MN} \right)$。基于上述分析可知,4种算法的计算复杂度处于同一数量级,BSPDPAD算法计算复杂度略低于文献[18-19],稍高于文献[15]。但BSPDPAD算法在位级加密部分将循环移位与异或操作相结合,同步实现置乱和扩散操作,增强了算法抵抗差分攻击和统计分析攻击能力;在像素级通过环形扩散进一步加密图像,避免发生明文敏感性不均匀问题和停止点现象。因此,相对于文献[15],BSPDPAD算法以牺牲时间复杂度来换取较高的加密安全性。

5 结论

本文提出一种基于位级同步置乱扩散和像素级环形扩散的图像加密算法(命名为BSPDPAD算法),算法利用PWLCM产生的混沌序列生成位级和像素级密钥流,对图像进行位级和像素级加密,一般需要一轮的加密操作就能达到较理想的加密效果。与现有位级与像素级加密相结合的方法相比,BSPDPAD算法采用随机分块、块内块间同步置乱扩散、及环形扩散等操作,提高了密文图像安全性和加密算法效率。在位级加密阶段,首先利用密钥流对图像进行随机分块,破坏相邻像素相关性;然后,对包含信息量极少的低四位平面像素进行循环移位操作,而对包含信息量多的高4位像素,除进行循环移位操作外,需要将高四位平面的各个像素与低四位平面像素、前一密文像素及密钥流相互作用,将像素每一个比特的影响扩散到该块整个位平面中;通过参数传递的方法实现块间扩散,将像素每一个比特的影响扩散到整个像素矩阵中。在像素级加密阶段,将各像素与中间密文像素、前一密文像素及密钥流相互作用,实现横向顺序扩散和纵向逆序扩散。此种循环扩散方法避免了各像素沿一个方向扩散,而导致的明文敏感性不均匀问题和停止点现象。另外,本文根据明文图像信息对PWLCM的初值进行了修改,增强BSPDPAD算法的自适应性和明文敏感性。

实验结果及分析表明,本文所提出的BSPDPAD加密算法密钥空间大,密钥敏感性高,密文图像像素分布均匀,相邻像素相关性小,可有效抵抗穷举、统计分析、已知/选择明文、及差分攻击,加密效率高,具有较高的安全性、可靠性和潜在的应用价值。

参考文献

  • [1] Wen C C, Wang Q, Liu X H, et al. An encryption algorithm for image based on affine and composed chaos[J]. Journal of Computer Research and Development, 2013, 50(2): 319–324. [文昌辞, 王沁, 刘向宏, 等. 基于仿射和复合混沌的图像加密新算法[J]. 计算机研究与发展, 2013, 50(2): 319–324. ] [DOI:10.7544/issn1000-1239.2013.20110418]
  • [2] Wu C M. An improved discrete Arnold transform and its application in image scrambling and encryption[J]. Acta Physica Sinica, 2014, 63(9): #090504. [吴成茂. 离散Arnold变换改进及其在图像置乱加密中的应用[J]. 物理学报, 2014, 63(9): #090504. ] [DOI:10.7498/aps.63.090504]
  • [3] Wang X Y, Yang L. A novel chaotic image encryption scheme based on magic cube permutation and dynamic look-up table[J]. International Journal of Modern Physics B, 2012, 26(29): #1250139. [DOI:10.1142/S0217979212501391]
  • [4] Luo Y L, Du M H. Image encryption algorithm based on quantum logistic map in wavelet domain[J]. Journal of South China University of Technology:Natural Science Edition, 2013, 41(6): 53–62. [罗玉玲, 杜明辉. 基于量子Logistic映射的小波域图像加密算法[J]. 华南理工大学学报:自然科学版, 2013, 41(6): 53–62. ] [DOI:10.3969/j.issn.1000-565X.2013.06.010]
  • [5] Jain A, Rajpal N. A robust image encryption algorithm resistant to attacks using DNA and chaotic logistic maps[J]. Multimedia Tools and Applications, 2016, 75(10): 5455–5472. [DOI:10.1007/s11042-015-2515-7]
  • [6] Radwan A G, Abd-El-Hafiz S K. Image encryption using generalized tent map[C]//Proceedings of the 20th International Conference on Electronics, Circuits, and Systems. Abu Dhabi, United Arab Emirates: IEEE, 2013: 653-656. [DOI:10.1109/ICECS.2013.6815499]
  • [7] Zhai Y Y, Wang G Y. Digital image encryption algorithm based on tent chaotic sequence[J]. Modern Electronics Technique, 2014, 37(12): 73–77. [翟依依, 王光义. 基于Tent混沌序列的数字图像加密方法[J]. 现代电子技术, 2014, 37(12): 73–77. ] [DOI:10.3969/j.issn.1004-373X.2014.12.021]
  • [8] Zheng Y F, Jin J X. A novel image encryption scheme based on Hénon map and compound spatiotemporal chaos[J]. Multimedia Tools and Applications, 2015, 74(18): 7803–7820. [DOI:10.1007/s11042-014-2024-0]
  • [9] Wang X Y, Zhang H L. A color image encryption with heterogeneous bit-permutation and correlated chaos[J]. Optics Communications, 2015, 342: 51–60. [DOI:10.1016/j.optcom.2014.12.043]
  • [10] Song J L, Zhang S W. Adaptive image encryption algorithm of blocking diffusion based on the ChaCha20 hash operation[J]. Journal of Image and Graphics, 2016, 21(6): 698–710. [宋金林, 张绍武. 整合ChaCha20哈希运算的分块扩散自适应图像加密算法[J]. 中国图形图像学报, 2016, 21(6): 698–710. ] [DOI:10.11834/jig.20160603]
  • [11] Xu Y, Zhang S W. Encryption algorithm of image blocking and double adaptive diffusion with Arnold mapping[J]. Journal of Image and Graphics, 2015, 20(6): 740–748. [徐亚, 张绍武. 基于Arnold映射的分块双层自适应扩散图像加密算法[J]. 中国图象图形学报, 2015, 20(6): 740–748. ] [DOI:10.11834/jig.20150602]
  • [12] Li Y P, Wang C H, Chen H. A hyper-chaos-based image encryption algorithm using pixel-level permutation and bit-level permutation[J]. Optics and Lasers in Engineering, 2017, 90: 238–246. [DOI:10.1016/j.optlaseng.2016.10.020]
  • [13] Zhang W, Yu H, Zhao Y L, et al. Image encryption based on three-dimensional bit matrix permutation[J]. Signal Processing, 2016, 118: 36–50. [DOI:10.1016/j.sigpro.2015.06.008]
  • [14] Xiang T, Wong K W, Liao X F. Selective image encryption using a spatiotemporal chaotic system[J]. Chaos:An Interdisciplinary Journal of Nonlinear Science, 2007, 17(2): #023115. [DOI:10.1063/1.2728112]
  • [15] Ye G D, Huang X L. A feedback chaotic image encryption scheme based on both bit-level and pixel-level[J]. Journal of Vibration and Control, 2016, 22(5): 1171–1180. [DOI:10.1063/1.2728112]
  • [16] Zhang W, Wong K W, Yu H, et al. A symmetric color image encryption algorithm using the intrinsic features of bit distributions[J]. Communications in Nonlinear Science and Numerical Simulation, 2013, 18(3): 584–600. [DOI:10.1016/j.cnsns.2012.08.010]
  • [17] Li S J, Li Q, Li W M, et al. Statistical properties of digital piecewise linear chaotic maps and their roles in cryptography and pseudo-random coding[M]//Honary B. Cryptography and Coding. Berlin, Heidelberg: Springer, 2001, 2260: 205-221. [DOI:10.1007/3-540-45325-3_19]
  • [18] Xu L, Li Z, Li J, et al. A novel bit-level image encryption algorithm based on chaotic maps[J]. Optics and Lasers in Engineering, 2016, 78: 17–25. [DOI:10.1016/j.optlaseng.2015.09.007]
  • [19] Zhang Y S, Xiao D. An image encryption scheme based on rotation matrix bit-level permutation and block diffusion[J]. Communications in Nonlinear Science and Numerical Simulation, 2014, 19(1): 74–82. [DOI:10.1016/j.cnsns.2013.06.031]