Introduction
One of the important signs of the information age is that people can realize information sharing without the limitation of time and space. The transmitted data also transits from the original text data to the multimedia data, and the color image is an important part of the multimedia data. Although classical cryptography can encrypt one-dimensional (1D) data well [1], it is not suitable for two-dimensional (2D) data such as image [2]–[3]. And because of the larger amount of information carried by color image, it is necessary to design a compression-encryption algorithm which can transmit it efficiently and safely.
Since Lorenz discovered the first chaotic attractor in 1963 [4], the research on the chaotic system has taken root and flourished. Because the state of the chaotic system is disordered and the generated chaotic sequence is highly sensitive to the initial value of the system [5], there are more and more complex chaotic systems [6], synchronization control methods between chaotic systems [7], and image encryption algorithm based on the chaos [8]–[11] have been proposed. Hua et al. used a 2D Logistic-adjusted-Sine map to encrypt images [9]. In [10], Pak et al. used the combination of the 1D chaotic map to encrypt color images. Zhang et al. introduced the unified image encryption algorithm based on chaos and cubic S-Box [11]. However, the trajectory of the low-dimensional chaotic system is simple and can be predicted to a certain extent, and its key space is small. Therefore, high dimensional chaotic systems have been applied to more and more encryption algorithms [12]–[19]. A new approach of image encryption based on 3D chaotic map is proposed through Hossain et al. [12]. Zhang et al. proposed a color image encryption algorithm based on the spatiotemporal chaos of the nonlinear coupled map lattices and genetic operations [13]. Ye et al. designed a block chaotic image encryption scheme based on self-adaptive modelling [17]. Yang et al. used Qi hyperchaotic system and singular value decomposition in YCbCr color space to encrypt color images [18]. Although the image encryption algorithm designed by high-dimensional chaotic system improves its security performance greatly, it is not involved in image compression.
Due to the high correlation and redundancy of image pixels, how to compress the image for transmission has become an urgent problem. To solve this problem, many related algorithms are proposed [20]–[26]. Chai et al. used block compressive sensing (CS) and elementary cellular automata to encrypt and compress images [20]. Li et al. introduced joint image encryption and compression schemes based on
DNA coding has the characteristics of high parallelism, low power consumption and high information density [27]. The application of DNA coding and DNA computing based on the chaotic system can further enhance the effect of pixel scrambling and confusion, and improve the security and parallelism of the algorithm [28]–[40]. Liu et al. proposed an RGB image encryption algorithm based on DNA encoding and chaos maps [28]. A novel chaotic image encryption scheme based on DNA sequence operations is proposed through Wang et al. [29]. Wang et al. proposed a novel color image encryption scheme based on DNA permutation and the Lorenz system [31]. Wu et al. used a 2D Hénon-Sine map and DNA approach to encrypt images [33]. Liu et al. presented an image encryption scheme based on the hyperchaotic system and DNA with fixed secret keys [38].
With the deepening of research, people find that there are a lot of fractional dimensions in reality, and fractional dimensions can describe natural phenomena preferably compared with the traditional integer-order chaotic system [41]. Besides, the fractional-order chaotic system has the characteristics of nonlocality, high nonlinearity, and can greatly enhance the key space [42], which makes the research on it become a new trend. Although the solution of fractional-order differential equation is more complex than that of integer order, many papers have proposed based on the Adomian decomposition method (ADM) to solve this problem [43]–[47], which can effectively reduce the calculation time. Then, more efficient image encryption schemes based on the fractional-order chaotic system have been proposed [48]–[59]. Yang et al. designed an image compression-encryption scheme based on fractional-order hyperchaotic systems combined with 2D compressed sensing and DNA encoding [49]. In [55], the authors proposed a three-dimensional fractional-order discrete Hopfield neural network and applied it to image encryption. In [56], Ismail et al. presented a lossless image encryption algorithm based on edge detection and generalized chaotic maps for key generation. Generalized chaotic maps are used to design pseudo-random number key generator. In [58], the authors proposed an image compression-encryption scheme based on set partitioning in hierarchical trees coding-decoding algorithm and synchronization of chaotic maps with non-integer order. Although the image encryption algorithm based on the chaotic system develops rapidly, not all algorithms based on this principle are secure. For example, image encryption algorithms [10], [28] and [33] are all proved to be able to be cracked by chosen-plaintext attack [60]–[62], because these encryption algorithms are not sensitive to changes of plaintext. Among the recently proposed algorithms, the fractional-order chaotic system is not used in the algorithm [38] and DNA computing is not used in the algorithm [42]. In addition, algorithm [48] only uses DNA addition and subtraction to encrypt images and algorithm [49] can only encrypt the gray image.
According to the above analysis, we design a new image compression-encryption algorithm to overcome these shortcomings, which has the following contributions. First of all, our algorithm can encrypt color images of any size effectively and can compress the image according to different quantization matrix. Secondly, we calculate the initial value of the chaotic system through different bit-planes of the image, which makes the initial value of the chaotic system highly sensitive to the plaintext and improves the performance of the encryption algorithm against the chosen-plaintext attack. Thirdly, we use four kinds of DNA operations (add, subtract, XOR, XNOR) to further confuse image pixels, and these four operations and DNA coding are controlled by chaotic sequence, which greatly enhances its security performance. At last, we give the calculation process of using the Adomain algorithm to solve the fractional-order hyperchaotic Chen system in detail, and take the initial state of the fractional chaotic system as the key, which greatly improves the key space of the system.
The rest of this paper is arranged as follows. Section 2 introduces the preliminaries about the fractional-order hyperchaotic Chen system, the Adomian decomposition method, the solution of fractional-order hyperchaotic Chen system and DNA coding and operations. Section 3 describes the image compression-encryption algorithm based on fractional-order hyperchaotic Chen system and DCT in detail. Section 4 deals with the experimental simulation and security analysis. Finally, a brief conclusion is drawn in Section 5.
Preliminaries
A. Fractional-Order Hyperchaotic Chen System
In 1999, Chen first proposed Chen chaotic system [63]. Then the hyperchaotic Chen system is proposed, which is defined as follows [64]:\begin{align*} \begin{cases} \dot {x_{1}} = a(x_{2} - x_{1}) + x_{4}\\ \dot {x_{2}} = bx_{1} + x_{1}x_{3} + cx_{2}\\ \dot {x_{3}} = x_{1}x_{2} - dx_{3}\\ \dot {x_{4}} = x_{2}x_{3} + rx_{4}, \end{cases}\tag{1}\end{align*}
In this paper, the Adomian decomposition method is used to solve the fractional differential equation, which uses Caputo differential operator. Caputo fractional differential is defined as follows [65]:\begin{align*}&\hspace {-1.8pc}{ ^{*}}{D_{t}^{q}}f(t) \\=&\begin{cases} 0 \dfrac {1}{\Gamma (m-q)}\int _{0}^{t} \dfrac {f(m)(\tau)}{(t - \tau)^{q + 1 - m}} d\tau, & m - 1 < q < m\\ \dfrac {d^{m}}{dt^{m}}f(t), & q = m, \end{cases}\tag{2}\end{align*}
According to the definition of fractional-order system, the fractional-order hyperchaotic Chen system can be described as \begin{align*} \begin{cases} { ^{*}}{D_{t_{0}}^{q}}x_{1} = a(x_{2} - x_{1}) + x_{4}\\ { ^{*}}{D{t_{0}}^{q}}x_{2} = bx_{1} - x_{1}x_{3} + cx_{2}\\ { ^{*}}{D_{t_{0}}^{q}}x_{3} = x_{1}x_{2} - dx_{3}\\ { ^{*}}{D_{t_{0}}^{q}}x_{4} = x_{2}x_{3} + rx_{4}, \end{cases}\tag{3}\end{align*}
B. Adomian Decomposition Method
For a given fractional-order system \begin{align*} \begin{cases} { ^{*}}{D_{t_{0}}^{q}}x(t) = Lx(t) + Nx(t) + g(t)\\ x^{(k)}(t_{0}^{+}) = b_{k}, k \in [{0, m - 1}]\\ m \in N, m - 1 < q \leq m, \end{cases}\tag{4}\end{align*}
\begin{equation*} x = J_{t_{0}}^{q} Lx + J_{t_{0}}^{q} Nx + J_{t_{0}}^{q} g + \Phi,\tag{5}\end{equation*}
\begin{align*} \begin{cases} J_{t_{0}}^{q}(t-t_{0})^{\gamma } = \dfrac {\Gamma (\gamma +1)}{\Gamma (\gamma +1+q)}(t-t_{0})^{\gamma +q}\\ J_{t_{0}}^{q}C = \dfrac {C}{\Gamma (q+1)}(t-t_{0})^{q} \\ J_{t_{0}}^{q} J_{t_{0}}^{r} x(t)= J_{t_{0}}^{q+r}x(t), \end{cases}\tag{6}\end{align*}
The nonlinear part is decomposed by Adomian decomposition algorithm as follows \begin{align*} \begin{cases} A_{j}^{i} = \dfrac {1}{i!} \left[{\dfrac {d^{i}}{d\lambda ^{i}} N(v_{j}^{i}(\lambda))}\right]_{\lambda = 0}\\ v_{j}^{i} = \displaystyle \sum \limits _{k = 0}^{i} (\lambda)^{k} x_{j}^{k}, \end{cases}\tag{7}\end{align*}
Then the nonlinear term in Eq. (7) can be expressed as [68]\begin{equation*} Nx = \sum _{i = 0}^{+ \infty } A^{i} (x^{0}, x^{1}, \cdots,x^{i}).\tag{8}\end{equation*}
Take Eq. (8) into Eq. (5), and the solution of the equation is as follows \begin{align*}&\hspace {-.5pc} x = \sum _{i = 0}^{+ \infty } x^{i} = J_{t_{0}}^{q} L \sum _{i = 0}^{+ \infty } x^{i} \\&\qquad\qquad\; \displaystyle { + J_{t_{0}}^{q} L \sum _{i = 0}^{+ \infty } A^{i} (x^{0}, x^{1}, \cdots, x^{i}) + J_{t_{0}}^{q} g + \Phi. } \tag{9}\end{align*}
The iterative relationship of the solution of Eq. (10) is as follows \begin{align*} \begin{cases} x^{0} = J_{t_{0}}^{q} g + \Phi \\ x^{1} = J_{t_{0}}^{q} L x^{0} + J_{t_{0}}^{q} A^{0} (x^{0})\\ x^{2} = J_{t_{0}}^{q} L x^{1} + J_{t_{0}}^{q} A^{1} (x^{0}, x^{1})\\ \cdots \\ x^{i} = J_{t_{0}}^{q} L x^{i - 1} + J_{t_{0}}^{q} A^{i - 1} (x^{0}, x^{1}, \cdots, x^{i - 1}).\\ \cdots \\ \end{cases}\tag{10}\end{align*}
C. Solution of Fractional-Order Hyperchaotic Chen System
Firstly, the fractional-order hyperchaotic Chen system Eq. (3) is decomposed into linear part \begin{align*} \begin{bmatrix} L_{x_{1}} \\ L_{x_{2}} \\ L_{x_{3}} \\ L_{x_{4}} \end{bmatrix} = \begin{bmatrix} 35(x_{2} - x_{1}) + x_{4} \\ 7x_{1} + 12x_{2} \\ -3x_{3} \\ 0.5x_{4} \end{bmatrix}, \begin{bmatrix} N_{x_{1}} \\ N_{x_{2}} \\ N_{x_{3}} \\ N_{x_{4}} \end{bmatrix} = \begin{bmatrix} 0 \\ -x_{1}x_{3} \\ x_{1}x_{2} \\ x_{2}x_{3} \end{bmatrix},\tag{11}\end{align*}
\begin{align*}&\begin{cases} A_{-x_{1}x_{3}}^{0} = A_{2}^{0} = -x_{1}^{0}x_{3}^{0}\\ A_{-x_{1}x_{3}}^{1} = A_{2}^{1} = -x_{1}^{1} x_{3}^{0}-x_{1}^{0} x_{3}^{1}\\ A_{-x_{1}x_{3}}^{2} = A_{2}^{2} = -x_{1}^{2} x_{3}^{0}-x_{1}^{1} x_{3}^{1}-x_{1}^{0} x_{3}^{2}\\ A_{-x_{1}x_{3}}^{3} = A_{2}^{3} = -x_{1}^{3} x_{3}^{0}-x_{1}^{2} x_{3}^{1}-x_{1}^{1} x_{3}^{2}-x_{1}^{0} x_{3}^{3}\\ A_{-x_{1}x_{3}}^{4} = A_{2}^{4} = -x_{1}^{4} x_{3}^{0}-x_{1}^{3} x_{3}^{1}-x_{1}^{2} x_{3}^{2}-x_{1}^{1} x_{3}^{3}\\ -x_{1}^{0} x_{3}^{4}\\ A_{-x_{1}x_{3}}^{5} = A_{2}^{5} = -x_{1}^{5} x_{3}^{0}-x_{1}^{4} x_{3}^{1}-x_{1}^{3} x_{3}^{2}-x_{1}^{2} x_{3}^{3}\\ -x_{1}^{1} x_{3}^{4}-x_{1}^{0} x_{3}^{5},\end{cases} \tag{12}\\&\begin{cases} A_{x_{1}x_{2}}^{0} = A_{3}^{0} = x_{1}^{0} x_{2}^{0}\\[-1pt] A_{x_{1}x_{2}}^{1} = A_{3}^{1} = x_{1}^{1} x_{2}^{0}+x_{1}^{0} x_{2}^{1}\\[-1pt] A_{x_{1}x_{2}}^{2} = A_{3}^{2} = x_{1}^{2} x_{2}^{0}+x_{1}^{1} x_{2}^{1}+x_{1}^{0} x_{2}^{2}\\[-1pt] A_{x_{1}x_{2}}^{3} = A_{3}^{3} = x_{1}^{3} x_{2}^{0}+x_{1}^{2} x_{2}^{1}+x_{1}^{1} x_{2}^{2}+x_{1}^{0} x_{2}^{3}\\[-1pt] A_{x_{1}x_{2}}^{4} = A_{3}^{4} = x_{1}^{4} x_{2}^{0}+x_{1}^{3} x_{2}^{1}+x_{1}^{2} x_{2}^{2}+x_{1}^{1} x_{2}^{3}\\[-1pt] +x_{1}^{0} x_{2}^{4}\\[-1pt] A_{x_{1}x_{2}}^{5} = A_{3}^{5} = x_{1}^{5} x_{2}^{0}+x_{1}^{4} x_{2}^{1}+x_{1}^{3} x_{2}^{2}+x_{1}^{2} x_{2}^{3}\\[-1pt] +x_{1}^{1} x_{2}^{4}+x_{1}^{0} x_{2}^{5},\end{cases} \tag{13}\\[-1pt]&\begin{cases} A_{x_{2}x_{3}}^{0} = A_{4}^{0} = x_{2}^{0} x_{3}^{0}\\[-1pt] A_{x_{2}x_{3}}^{1} = A_{4}^{1} = x_{2}^{1} x_{3}^{0}+x_{2}^{0} x_{3}^{1}\\[-1pt] A_{x_{2}x_{3}}^{2} = A_{4}^{2} = x_{2}^{2} x_{3}^{0}+x_{2}^{1} x_{3}^{1}+x_{2}^{0} x_{3}^{2}\\[-1pt] A_{x_{2}x_{3}}^{3} = x_{2}^{3} x_{3}^{0}+x_{2}^{2} x_{3}^{1}+x_{2}^{1} x_{3}^{2}+x_{2}^{0} x_{3}^{3}\\[-1pt] A_{x_{2}x_{3}}^{4} = A_{4}^{4} = x_{2}^{4} x_{3}^{0}+x_{2}^{3} x_{3}^{1}+x_{2}^{2} x_{3}^{2}+x_{2}^{1} x_{3}^{3}\\[-1pt] +x_{2}^{0} x_{3}^{4}\\[-1pt] A_{x_{2}x_{3}}^{5} = A_{4}^{5} = x_{2}^{5} x_{3}^{0}+x_{2}^{4} x_{3}^{1}+x_{2}^{3} x_{3}^{2}+x_{2}^{2} x_{3}^{3}\\[-1pt] +x_{2}^{1} x_{3}^{4}+x_{2}^{0} x_{3}^{5}.\\[-1pt] \end{cases}\tag{14}\end{align*}
The initial conditions are \begin{align*} \begin{cases} x_{1}^{1} = [{35(c_{2}^{0}-c_{1}^{0})+c_{4}^{0}}]\dfrac {(t-t_{0})^{q}}{\Gamma (q+1)} = c_{1}^{1}\dfrac {(t-t_{0})^{q}}{\Gamma (q+1)}\\[-1pt] x_{2}^{1} = (7c_{1}^{0}+12c_{2}^{0}-c_{1}^{0} c_{3}^{0})\dfrac {(t-t_{0})^{q}}{\Gamma (q+1)} = c_{2}^{1}\dfrac {(t-t_{0})^{q}}{\Gamma (q+1)}\\[-1pt] x_{3}^{1} = (c_{1}^{0} c_{2}^{0}-3c_{3}^{0})\dfrac {(t-t_{0})^{q}}{\Gamma (q+1)} = c_{3}^{1}\dfrac {(t-t_{0})^{q}}{\Gamma (q+1)}\\[-1pt] x_{4}^{1} = (c_{2}^{0} c_{3}^{0}+0.5c_{4}^{0})\dfrac {(t-t_{0})^{q}}{\Gamma (q+1)} = c_{4}^{1}\dfrac {(t-t_{0})^{q}}{\Gamma (q+1)}. \end{cases}\tag{15}\end{align*}
The other five coefficients can be calculated as follows \begin{align*}&\begin{cases} c_{1}^{2} = 35(c_{2}^{1}-c_{1}^{1})+c_{4}^{1}\\[-1pt] c_{2}^{2} = 7c_{1}^{1}+12c_{2}^{1}-c_{1}^{1} c_{3}^{0}-c_{1}^{0} c_{3}^{1}\\[-1pt] c_{3}^{2} = -3c_{3}^{1}+c_{1}^{1} c_{2}^{0}+c_{1}^{0} c_{2}^{1} \\[-1pt] c_{4}^{2} = 0.5c_{4}^{1}+c_{2}^{1} c_{3}^{0}+c_{2}^{0} c_{3}^{1},\end{cases} \tag{16}\\[-1pt]&\begin{cases} c_{1}^{3} = 35(c_{2}^{2}-c_{1}^{2})+c_{4}^{2}\\[-1pt] c_{2}^{3} = 7c_{1}^{2}+12c_{2}^{2}-c_{1}^{2} c_{3}^{0}-c_{1}^{0} c_{3}^{2}\\[-1pt] -c_{1}^{1} c_{3}^{1}\dfrac {\Gamma (2q+1)}{\Gamma ^{2}(q+1)}\\[-1pt] c_{3}^{3} = -3c_{3}^{2}+c_{1}^{2} c_{2}^{0}+c_{1}^{0} c_{2}^{2}+c_{1}^{1} c_{2}^{1}\dfrac {\Gamma (2q+1)}{\Gamma ^{2}(q+1)}\\[-1pt] c_{4}^{3} = 0.5c_{4}^{2}+c_{2}^{2} c_{3}^{0}+c_{2}^{0} c_{3}^{2}+c_{2}^{1} c_{3}^{1}\dfrac {\Gamma (2q+1)}{\Gamma ^{2}(q+1)},\end{cases} \tag{17}\\[-1pt]&\begin{cases} c_{1}^{4} = 35(c_{2}^{3}-c_{1}^{3})+c_{4}^{3}\\[-1pt] c_{2}^{4} = 7c_{1}^{3}+12c_{2}^{3}-c_{1}^{3} c_{3}^{0}-c_{1}^{0} c_{3}^{3}\\[-1pt] -(c_{1}^{1} c_{3}^{2} +c_{1}^{2} c_{3}^{1})\dfrac {\Gamma (3q+1)}{\Gamma (2q+1)\Gamma (q+1)}\\[-1pt] c_{3}^{4} = -3c_{3}^{3}+c_{1}^{3} c_{2}^{0}+c_{1}^{0} c_{2}^{3}+(c_{1}^{1} c_{2}^{2}\\[-1pt] +c_{1}^{2} c_{2}^{1})\dfrac {\Gamma (3q+1)}{\Gamma (2q+1)\Gamma (q+1)}\\[-1pt] c_{4}^{4} = 0.5c_{4}^{3}+c_{2}^{3} c_{3}^{0}+c_{2}^{0} c_{3}^{3}\\[-1pt] +(c_{2}^{2} c_{3}^{1}+c_{2}^{1} c_{3}^{2})\dfrac {\Gamma (3q+1)}{\Gamma (2q+1)\Gamma (q+1)},\end{cases} \tag{18}\\[-1pt]&\begin{cases} c_{1}^{5} = 35(c_{2}^{4}-c_{1}^{4})+c_{4}^{4}\\[-1pt] c_{2}^{5} = 7c_{1}^{4}+12c_{2}^{4}-c_{1}^{4} c_{3}^{0}-c_{1}^{2} c_{3}^{2}\frac {\Gamma (4q+1)}{\Gamma ^{2}(2q+1)}\\[-1pt] -c_{1}^{0} c_{3}^{4}-(c_{1}^{3} c_{3}^{1}+c_{1}^{1} c_{3}^{3})\dfrac {\Gamma (4q+1)}{\Gamma (3q+1)\Gamma (q+1)}\\[-1pt] c_{3}^{5} = -3c_{3}^{4}+c_{1}^{4} c_{2}^{0}+c_{1}^{0} c_{2}^{4}+c_{1}^{2} c_{2}^{2}\frac {\Gamma (4q+1)}{\Gamma ^{2}(2q+1)}\\[-1pt] +(c_{1}^{3} c_{2}^{1}+c_{1}^{1} c_{2}^{3})\dfrac {\Gamma (4q+1)}{\Gamma (3q+1)\Gamma (q+1)}\\[-1pt] c_{4}^{5} = 0.5c_{4}^{4}+c_{2}^{4} c_{3}^{0}+c_{2}^{0} c_{3}^{4}+c_{2}^{2} c_{3}^{2}\frac {\Gamma (4q+1)}{\Gamma ^{2}(2q+1)}\\[-1pt] +(c_{2}^{3} c_{3}^{1}+c_{2}^{1} c_{3}^{3})\dfrac {\Gamma (4q+1)}{\Gamma (3q+1)\Gamma (q+1)},\end{cases} \tag{19}\\[-1pt]&\begin{cases} c_{1}^{6} = 35(c_{2}^{5}-c_{1}^{5})+c_{4}^{5}\\[-1pt] c_{2}^{6} = 7c_{1}^{5}+12c_{2}^{5}-c_{1}^{5} c_{3}^{0}-c_{1}^{0} c_{3}^{5}\\[-1pt] -(c_{1}^{4} c_{3}^{1}+c_{1}^{1} c_{3}^{4})\dfrac {\Gamma (5q+1)}{\Gamma (4q+1)\Gamma (q+1)}\\[-1pt] -(c_{1}^{3} c_{3}^{2}+c_{1}^{2} c_{3}^{3})\dfrac {\Gamma (5q+1)}{\Gamma (3q+1)\Gamma (2q+1)}\\[-1pt] c_{3}^{6} = -3c_{3}^{5}+c_{1}^{5} c_{2}^{0}+c_{1}^{0} c_{2}^{5}\\[-1pt] +(c_{1}^{4} c_{2}^{1}+c_{1}^{1} c_{2}^{4})\dfrac {\Gamma (5q+1)}{\Gamma (4q+1)\Gamma (q+1)}\\[-1pt] +(c_{1}^{3} c_{2}^{2}+c_{1}^{2} c_{2}^{3})\dfrac {\Gamma (5q+1)}{\Gamma (3q+1)\Gamma (2q+1)}\\[-1pt] c_{4}^{6} = 0.5c_{4}^{5}+c_{2}^{5} c_{3}^{0}+c_{2}^{0} c_{3}^{5}\\[-1pt] +(c_{2}^{4} c_{3}^{1}+c_{2}^{1} c_{3}^{4})\dfrac {\Gamma (5q+1)}{\Gamma (4q+1)\Gamma (q+1)}\\[-1pt] +(c_{2}^{3} c_{3}^{2}+c_{2}^{2} c_{3}^{3})\dfrac {\Gamma (5q+1)}{\Gamma (3q+1)\Gamma (2q+1)}. \end{cases}\tag{20}\end{align*}
The solution of the system Eq. (4) can be expressed as follows \begin{align*} \widetilde {x_{j}}(t)=&c_{j}^{0}+c_{j}^{1}\frac {(t-t_{0})^{q}}{\Gamma (q+1)}+c_{j}^{2}\frac {(t-t_{0})^{2q}}{\Gamma (2q+1)} \\&+c_{j}^{3}\frac {(t-t_{0})^{3q}}{\Gamma (3q+1)}+c_{j}^{4}\frac {(t-t_{0})^{4q}}{\Gamma (4q+1)} \\&+c_{j}^{5}\frac {(t-t_{0})^{5q}}{\Gamma (5q+1)}+c_{j}^{6}\frac {(t-t_{0})^{6q}}{\Gamma (6q+1)},\tag{21}\end{align*}
Attractor phase diagram of the fractional-order hyper-chaotic Chen system.(a)Attractor x-y of fractional hyperchaotic Chen system;(b)Attractor x-z of fractional hyperchaotic Chen system;(c)Attractor x-w of fractional hyperchaotic Chen system;(d)Attractor z-w of fractional hyperchaotic Chen system.
D. DNA Coding and Computing
In biology, each DNA contains four bases: C (cytosine), T (thymine), A (adenine), and G (guanine). According to the principle of DNA base complementary pairing, A and T, C and G can be complementary pairing respectively. The coding rules are dynamically controlled by the chaotic sequences. On this basis, the addition, subtraction, XOR, and XNOR operation between DNA sequences can achieve a better encryption effect. Table. 1 shows 8 ways of DNA coding [49].
Because each DNA encoding and decoding method has a corresponding DNA operation, in terms of the first encoding and decoding method, the corresponding DNA addition and subtraction operation are shown in Table. 2. The XOR operations corresponding to the fourth DNA coding method are shown in Table. 3. The XNOR operations corresponding to the seventh DNA coding method are shown in Table. 4.
Image Compression-Encryption and Decryption Algorithm
A. Compression-Encryption Algorithm
The flow chart of the color image compression encryption algorithm we proposed is shown in Fig. 2. The color image
Step 1:
The image
is decomposed into the components of R, G, and B channels.I ,I_{1} , andI_{2} are three two-dimensional matrices.I_{3} Step 2:
In order to process image data of any size, it is necessary to add an appropriate number of pixels with zero value to these three two-dimensional matrices.
represents the size of the segmented image block. The image size after zero fillings is given tot andM again. Each two-dimensional matrix can be divided intoN image blocks.(M \times N)/t^{2} Step 3:
Setting initial values
,x_{00} ,x_{01} andx_{02} , then the sequence {\mu }, {k_{i} } and {k_{x} } are obtained iteratively according to Logistic mapping. The length of {k_{y} } isk_{i} , which is used for DNA operation with the original image. The length of {M \times N } and {k_{x} } arek_{y} andM respectively, which are used for pixel scrambling. The formula for logistic mapping is as follows [69]N here, when\begin{equation*} x_{n} = \mu x_{n-1}(1 - x_{n - 1}),\tag{22}\end{equation*} View Source\begin{equation*} x_{n} = \mu x_{n-1}(1 - x_{n - 1}),\tag{22}\end{equation*}
and\mu \in (3,5699, 4] , the system is chaotic.x_{0} \in (0, 1) The formula for calculating the initial value
,x_{00} , andx_{01} is as followsx_{02} where\begin{align*} \begin{cases} x_{00} = \dfrac {\sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{1}(i,j) + \sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{2}(i,j)}{255 \times M \times N \times 2}\\ x_{01} = \dfrac {\sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{1}(i,j) + \sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{3}(i,j)}{255 \times M \times N \times 2}\\ x_{02} = \dfrac {\sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{2}(i,j) + \sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{3}(i,j)}{255 \times M \times N \times 2}, \end{cases}\tag{23}\end{align*} View Source\begin{align*} \begin{cases} x_{00} = \dfrac {\sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{1}(i,j) + \sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{2}(i,j)}{255 \times M \times N \times 2}\\ x_{01} = \dfrac {\sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{1}(i,j) + \sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{3}(i,j)}{255 \times M \times N \times 2}\\ x_{02} = \dfrac {\sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{2}(i,j) + \sum \limits _{i=0}^{M}\sum \limits _{j=0}^{N}I_{3}(i,j)}{255 \times M \times N \times 2}, \end{cases}\tag{23}\end{align*}
is the average gray value ofx_{00} andI_{1} , which is related to the original image and can be used as one of the keys. In the same way,I_{2} andx_{01} can be obtained.x_{02} Step 4:
The sequence {
} is transformed into a matrix ofk_{i} of the same size asM \times N , which is used for DNA operation with the original imageI_{i}(i=1,2,3) . In this process, the value of the matrix transformed by the chaotic sequence should be between 0 and 255, which can be obtained by Eq. (24)I_{i}(i=1,2,3) \begin{align*} \begin{cases} k_{i} = \text {mod}(\text {round}(k_{i} \times 10^{4}), 256)\\ R = \text {reshape}(k_{i}, N, M)'. \end{cases}\tag{24}\end{align*} View Source\begin{align*} \begin{cases} k_{i} = \text {mod}(\text {round}(k_{i} \times 10^{4}), 256)\\ R = \text {reshape}(k_{i}, N, M)'. \end{cases}\tag{24}\end{align*}
Step 5:
Set the initial value of the chaotic system. These initial values are calculated according to the original image. Then, four chaotic sequences {
}, {X_{i} }, {Y_{i} } and {Z_{i} } can be obtained by solving the fractional-order chaotic system with the Adomian algorithm. The calculation formula of initial values is as followsH_{i} where 17 represents the binary number 00010001,\begin{align*} \begin{cases} X(0) = \dfrac {\text {sum}(\text {bitand}(I_{1},17))}{17 \times M \times N}\\[5pt] Y(0) = \dfrac {\text {sum}(\text {bitand}(I_{2},34))}{34 \times M \times N}\\[5pt] Z(0) = \dfrac {\text {sum}(\text {bitand}(I_{3},68))}{68 \times M \times N}\\[5pt] H(0) = \dfrac {\text {sum}(\text {bitand}(I_{1},136))}{136 \times M \times N}, \end{cases}\tag{25}\end{align*} View Source\begin{align*} \begin{cases} X(0) = \dfrac {\text {sum}(\text {bitand}(I_{1},17))}{17 \times M \times N}\\[5pt] Y(0) = \dfrac {\text {sum}(\text {bitand}(I_{2},34))}{34 \times M \times N}\\[5pt] Z(0) = \dfrac {\text {sum}(\text {bitand}(I_{3},68))}{68 \times M \times N}\\[5pt] H(0) = \dfrac {\text {sum}(\text {bitand}(I_{1},136))}{136 \times M \times N}, \end{cases}\tag{25}\end{align*}
represents the value of acquiring the first and fifth bit-plane of\text {bitand}~(I_{1},17) . The four initial values are determined by the average values of the first and fifth bit-planes ofI_{1} , the second and sixth bit-planes ofI_{1} , the third and seventh bit-planes ofI_{2} and the fourth and eighth bit-planes ofI_{3} , respectively.I_{1} Step 6:
,I_{1} andI_{2} are divided intoI_{3} size image blocks. In this paper, we sett \times t . The fourth-order DCT matrix T is used to do DCT for each sub-block, and the coefficient matrixt=4 in the frequency domain is obtained. The DCT formula is as follows [70]J_{i}(i=1,2,3) where\begin{align*}&\hspace {-.5pc} J_{i}(u, v)=c(u)c(v)\sum _{m=0}^{M-1}\sum _{n=0}^{N-1} I_{i} \text {cos} \frac {(2m+1)u\pi }{2M} \\&\qquad\qquad\qquad\qquad\qquad\qquad\qquad \displaystyle { \times \text {cos} \frac {(2n+1)v\pi }{2N}, } \tag{26}\end{align*} View Source\begin{align*}&\hspace {-.5pc} J_{i}(u, v)=c(u)c(v)\sum _{m=0}^{M-1}\sum _{n=0}^{N-1} I_{i} \text {cos} \frac {(2m+1)u\pi }{2M} \\&\qquad\qquad\qquad\qquad\qquad\qquad\qquad \displaystyle { \times \text {cos} \frac {(2n+1)v\pi }{2N}, } \tag{26}\end{align*}
andc(u) arec(v) \begin{align*} c(u)=&\begin{cases} \dfrac {1}{\sqrt {M}}, u=0\\ \sqrt {\frac {2}{M}}, u \neq 0,\end{cases} \tag{27}\\ c(v)=&\begin{cases} \dfrac {1}{\sqrt {N}}, v=0\\ \sqrt {\frac {2}{N}}, v \neq 0.\\ \end{cases}\tag{28}\end{align*} View Source\begin{align*} c(u)=&\begin{cases} \dfrac {1}{\sqrt {M}}, u=0\\ \sqrt {\frac {2}{M}}, u \neq 0,\end{cases} \tag{27}\\ c(v)=&\begin{cases} \dfrac {1}{\sqrt {N}}, v=0\\ \sqrt {\frac {2}{N}}, v \neq 0.\\ \end{cases}\tag{28}\end{align*}
Step 7:
The DCT transform coefficients are quantized according to the compression matrix, and different compression matrix determines different compression ratios(CR). The compression matrices used in the experiment are as follows
where the compression ratio of Mask1 is 0.875, Mask2 is 0.8125, Mask3 is 0.75, Mask4 is 0.5, Mask5 is 0.4, Mask6 is 0.2. After processing, the quantized coefficient matrix\begin{align*} \begin{matrix} Mask1&=&\begin{bmatrix} 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 0 &\quad 0 \end{bmatrix}, \\[8pt] Mask2 &=& \begin{bmatrix} 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 1 &\quad 0\\ 1 &\quad 1 &\quad 0 &\quad 0 \end{bmatrix}, \end{matrix} \\ \begin{matrix} Mask3&=&\begin{bmatrix} 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 0 &\quad 0\\ 1 &\quad 1 &\quad 0 &\quad 0 \end{bmatrix}, \\[8pt] Mask4 &=& \begin{bmatrix} 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 0 &\quad 0\\ 1 &\quad 0 &\quad 0 &\quad 0\\ 1 &\quad 0 &\quad 0 &\quad 0 \end{bmatrix}, \end{matrix} \\ \begin{matrix} Mask5&=&\begin{bmatrix} 1 &\quad 1 &\quad 1 &\quad 0\\ 1 &\quad 1 &\quad 0 &\quad 0\\ 1 &\quad 0 &\quad 0 &\quad 0\\ 0 &\quad 0 &\quad 0 &\quad 0 \end{bmatrix}, \\[8pt] Mask6 &=& \begin{bmatrix} 1 &\quad 1 &\quad 0 &\quad 0\\ 1 &\quad 0 &\quad 0 &\quad 0\\ 0 &\quad 0 &\quad 0 &\quad 0\\ 0 &\quad 0 &\quad 0 &\quad 0 \end{bmatrix}, \end{matrix}\end{align*} View Source\begin{align*} \begin{matrix} Mask1&=&\begin{bmatrix} 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 0 &\quad 0 \end{bmatrix}, \\[8pt] Mask2 &=& \begin{bmatrix} 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 1 &\quad 0\\ 1 &\quad 1 &\quad 0 &\quad 0 \end{bmatrix}, \end{matrix} \\ \begin{matrix} Mask3&=&\begin{bmatrix} 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 0 &\quad 0\\ 1 &\quad 1 &\quad 0 &\quad 0 \end{bmatrix}, \\[8pt] Mask4 &=& \begin{bmatrix} 1 &\quad 1 &\quad 1 &\quad 1\\ 1 &\quad 1 &\quad 0 &\quad 0\\ 1 &\quad 0 &\quad 0 &\quad 0\\ 1 &\quad 0 &\quad 0 &\quad 0 \end{bmatrix}, \end{matrix} \\ \begin{matrix} Mask5&=&\begin{bmatrix} 1 &\quad 1 &\quad 1 &\quad 0\\ 1 &\quad 1 &\quad 0 &\quad 0\\ 1 &\quad 0 &\quad 0 &\quad 0\\ 0 &\quad 0 &\quad 0 &\quad 0 \end{bmatrix}, \\[8pt] Mask6 &=& \begin{bmatrix} 1 &\quad 1 &\quad 0 &\quad 0\\ 1 &\quad 0 &\quad 0 &\quad 0\\ 0 &\quad 0 &\quad 0 &\quad 0\\ 0 &\quad 0 &\quad 0 &\quad 0 \end{bmatrix}, \end{matrix}\end{align*}
andJ_{i}' (i = 1,2,3) are obtained.R^{'} Step 8:
Processing the quantized data
to getJ_{i}' (i=1,2,3) . Since the quantized coefficients are not guaranteed to be between 0 and 255, and the DCT coefficient has positive and negative, the algorithm we proposed can adaptively adjust the quantized coefficients to meet the coding format. Taking the fractional part and sign of the coefficient matrix as one of the keys and using it in the decryption process can effectively avoid the block effect of the decrypted image caused by the direct discard. The detailed process is presented in Algorithm 1.J_{i}'' (i=1,2,3) Step 9:
Perform the DNA encoding on
andJ_{i}''(i=1,2,3) respectively, which is controlled by chaotic sequence {R' } and {X_{i} }. Then the results of DNA coding are calculated by DNA operations. There are four kinds of operations, which are controlled by chaotic sequence {Y_{i} }. Finally, the process of DNA decoding is controlled by chaotic sequence {Z_{i} }. Among the four chaotic sequences, {H_{i} }, {X_{i} } and {Y_{i} } are between 1 and 8 and {H_{i} } is between 0 and 3, which is transformed by the following formulaZ_{i} where {\begin{align*} \begin{cases}X_{i} = \text {mod}(\text {round}(X_{i} \times 10^{4}),8) + 1\\ Y_{i} = \text {mod}(\text {round}(Y_{i} \times 10^{4}),8) + 1\\ Z_{i} = \text {mod}(\text {round}(Z_{i} \times 10^{4}),4) + 1\\ H_{i} = \text {mod}(\text {round}(H_{i} \times 10^{4}),8) + 1, \end{cases}\tag{29}\end{align*} View Source\begin{align*} \begin{cases}X_{i} = \text {mod}(\text {round}(X_{i} \times 10^{4}),8) + 1\\ Y_{i} = \text {mod}(\text {round}(Y_{i} \times 10^{4}),8) + 1\\ Z_{i} = \text {mod}(\text {round}(Z_{i} \times 10^{4}),4) + 1\\ H_{i} = \text {mod}(\text {round}(H_{i} \times 10^{4}),8) + 1, \end{cases}\tag{29}\end{align*}
}, {X_{i} } and {Y_{i} } sequence values correspond to 8 ways of DNA encoding and decoding, and {H_{i} } sequence values correspond to 4 ways of DNA operations. Except for the first sub block, the DNA calculation of the result of the current sub-block and the last sub-block is performed again to obtain a better diffusion effect, which controlled by the sequence {Z_{i} }.Z_{i} Step 10:
Pixel scrambling. The sequences {
} and {k_{x} } are arranged in descending order. The sequence {k_{y} } and {U_{x} } composed of the index values of the sorted elements in the original sequence are obtained. Taking the {U_{y} }, {U_{x} } sequence values and their corresponding indexes as row and column exchange coordinates, row and column permutations are performed on the matrices of the three channels after DNA decoding. The detailed process is presented in Algorithm 2.U_{y} Step 11:
Combining three two-dimensional matrices to get encrypted image.
Algorithm 1 The Proposed Data Processing Algorithm
Set
Initialize matrices S and T, where
Set
Divide quantized date
find the maximum value
find the maximum value
for
end for
for
for
end for
end for
Algorithm 2 The Proposed Pixel Scrambling Algorithm
Chaotic sequence with length M;
for
end for
for
end for
Denote
B. Decryption Algorithm
The decryption process is the reverse operation of the encrypted image, and the decrypted image can only be obtained by using the same key as the encrypted image. The flow chart of the decryption algorithm we proposed is shown in Fig. 3.
There are several points to pay attention to when decrypting. Firstly, in the case of inverse pixel scrambling, the order of row and column permutation is opposite to that of encryption. Secondly, in encryption, the DNA decoding method of the image is determined by {
Experimental Results and Analysis
This part introduces the detailed experimental results and performance analysis of our compression-encryption algorithm. All the experimental results are run on MATLAB 2015b in a personal computer with Intel(R) Core(TM) i5-5200, CPU 2.20GHZ and memory 6.00GB, and the operating system is Microsoft Windows 10. When the parameters of chaotic system set in the experiment are:
Experimental simulation results. (a) original Lena image; (b) encrypted Lena image; (c) decrypted Lena image; (d) original peppers image; (e) encrypted peppers image; (f) decrypted peppers image; (g) original baboon image; (h) encrypted baboon image; (i) decrypted baboon image; (j) original airplane image; (k) encrypted airplane image; (l) decrypted airplane image; (m) original house image; (n) encrypted house image; (o) decrypted house image; (p) original lake image; (q) encrypted lake image; (r) decrypted lake image.
A. Compression Performance Analysis
Six compression matrices are used in the experiment, and the compression ratios are 0.875, 0.8125, 0.75, 0.5, 0.4 and 0.2 respectively. Peak signal-to-noise ratio (PSNR) is used to measure the quality of the decompressed image. Generally, the larger PSNR is, the smaller the distortion of the decompressed image is. The calculation formula of PSNR index is as follows [49]\begin{align*} \begin{cases} \text {MSE} = \dfrac {1}{M \times N} \displaystyle \sum \limits _{i = 1}^{M}\displaystyle \sum \limits _{j = 1}^{N}(P'(i,j)-P(i,j))^{2}\\ \text {PSNR} = 10\text {log}_{10}\left({\dfrac {255^{2}}{\text {MSE}}}\right) \end{cases}{,} {5pt}\tag{30}\end{align*}
The experimental results of encryption and decryption under different compression ratios are shown in Fig. 5. We combined the proposed encryption algorithm with CS, and compared with our algorithm. The discrete wavelet transform (DWT) is used for sparse representation of the image, the measurement matrix is obtained from partial Hadamar matrix, and the orthogonal matching pursuit (OMP) algorithm is used to reconstruct the image. The change of encrypted image data size with compression ratio is shown in Table. 5, and the corresponding PSNR indexes are shown in Table. 6. It can be seen from Table. 5 and Table. 6 that with the decrease of the compression rate, the amount of data and PSNR index of encrypted image decrease gradually. Although the compression algorithm based on CS can obtain smaller encrypted image, the PSNR index of reconstructed image is not ideal. As can be seen from Table. 6, the PSNR index of the decompressed image is still greater than 30dB when CR = 0.2 in our algorithm, which shows that it can reconstruct the original image well.
Decrypted image with different compression ratio. (a) original Lena image; (b) encrypted Lena of CR = 0.875; (c) encrypted Lena of CR = 0.8125; (d) encrypted Lena of CR = 0.75; (e) decrypted Lena of CR = 0.875; (f) decrypted Lena of CR = 0.8125; (g) decrypted Lena of CR = 0.75; (h) encrypted Lena of CR = 0.5; (i) encrypted Lena of CR = 0.4; (j) encrypted Lena of CR = 0.2; (k) decrypted Lena of CR = 0.5; (l) decrypted Lena of CR = 0.4; (m) decrypted Lena of CR = 0.2.
B. Histogram Analysis
Gray histogram reflects the statistical feature of gray value and frequency in the image. Taking the components of R channel of each color picture as an example, the histogram before encryption and after decryption is shown in Fig. 6, where (a), (b), (c), (g), (h) and (i) represent the histogram of original image, (d), (e), (f), (j), (k) and (l) represent the histogram of decrypted image. In general, we hope that the histogram of the plaintext image and the encrypted image have a great change, and the histogram of the encrypted image of different plaintext images has a similar structure. The theoretical analysis of the variance of the histogram [71] can further illustrate the anti-statistical attack performance of the algorithm. The calculation formula of histogram variance is as follows [38]\begin{equation*} \text {var}(C) = \frac {1}{n^{2}}\sum \limits _{i=1}^{n}\sum \limits _{j=1}^{n} (c_{i} - c_{j}),\tag{31}\end{equation*}
Histogram before and after encryption of R channel. (a) original Lena of R channel; (b) original peppers of R channel; (c) original baboon of R channel; (d) encrypted Lena of R channel; (e) encrypted peppers of R channel; (f) encrypted baboon of R channel; (g) original airplane of R channel; (h) original house of R channel; (i) original lake of R channel; (j) encrypted airplane of R channel; (k) encrypted house of R channel; (l) encrypted lake of R channel.
C. Correlation Analysis of Adjacent Pixels
The correlation of adjacent pixels reflects the correlation degree of pixel values in adjacent positions of the image, which is one of the important statistical characteristics of the image. The smaller the correlation between the adjacent pixels of the encrypted image, the better the performance of the designed encryption system. Then 10000 pixels are selected from plaintext image and encrypted image to test the pixel correlation. The correlation \begin{align*} \begin{cases}{l}r_{x y}=\frac{\operatorname{cov}(x, y)}{\sqrt{D(x) D(y)}}=\frac{E\{[x-E(x)][y-E(y)]\}}{\sqrt{D(x) D(y)}} \\E(x)=\frac{1}{M} \sum_{i=1}^{M} x_{i} \\D(x)=\frac{1}{M} \sum_{i=1}^{M}\left[x_{i}-E(x)\right]^{2}\end{cases}\tag{32}\end{align*}
Taking the R components of Lena as an example, the pixel distribution in the horizontal, vertical and diagonal directions before and after encryption is shown in Fig. 7. Observing Fig. 7, after encryption, the pixel distribution of the image is particularly chaotic, and there is no rule to follow. Table. 8 lists the adjacent pixel correlations of different cipher images with our proposed encryption algorithm. Table. 9 lists the adjacent pixel correlation of encrypted Lena image with different encryption algorithms. From the data listed in Table. 8, it can be seen that the correlation of adjacent pixels in all directions of the encrypted image is close to 0, which shows that our proposed encryption algorithm can effectively reduce the correlation of adjacent pixels and improve the security of the encryption system. Moreover, Table. 9 shows the comparison results of our encryption algorithm with those in references [5], [12] and [33]. It can be seen that the pixel correlation of our algorithm is similar to that of other algorithms, and the correlation in some directions is even smaller, which indicates that our algorithm has excellent encryption performance.
Distribution of adjacent pixels in plain and cipher image. (a) Horizontal direction on the R components of Lena; (b) Vertical direction on the R components of Lena; (c) Diagonal direction on the R components of Lena; (d) Horizontal direction on the R components of Lena; (e) Vertical direction on the R components of Lena; (f) Diagonal direction on the R components of Lena.
D. Key Space
The key space is used to measure the resistance of the encryption system to the brute-force attack. For an encryption system, the key space needs to be greater than 2100 to ensure security. In our encryption algorithm, the key space consists of block size
E. Key Sensitivity Analysis
The basic requirement for the encryption system is to have a high sensitivity to the key, even if the input key changes to a very small extent, it can’t get the correct decryption image. Taking the Lena image as an example, we test the key sensitivity of
Decryption image with key changed slightly. (a) Lena with
F. Information Entropy
In the image encryption algorithm, information entropy is usually used as an index to evaluate the randomness of the image. The formula of information entropy is as follows \begin{equation*} H(x) = -\sum _{i=0}^{2^{N}-1} p(x_{i}) \text {log}_{2} p(x_{i}),\tag{33}\end{equation*}
Table. 11 shows the information entropy comparison of different plain images and cipher images. It can be seen that the information entropy of the encrypted image is closer to the theoretical value than the image before encryption, which shows that our encryption algorithm can better resist the information entropy attack. The comparison results of information entropy with other encryption algorithms are shown in Table. 12. From the experimental data in Table. 12, we can see that the average information entropy of our algorithm is better than other algorithms.
G. Differential Attack
In order to detect whether the encryption system has the ability to resist differential attack, number of pixels change rate (NPCR) and unified average changing intensity (UACI) are usually used to measure. The calculation formulas of these two indicators are as follows [36]\begin{align*} \text {NPCR}_{n}=&\frac {\sum _{i,j} D_{n}(i,j)}{M \times N} \times 100 \%, \qquad \tag{34}\\ \text {UACI}_{n}=&\frac {1}{MN} \times \left[{\sum _{i,j} \frac {|c_{n}'(i,j)-c_{n}(i,j)|}{255}}\right] \times 100 \%, \qquad \tag{35}\\ \text {D}_{n}(i,j)=&\begin{cases} 1, c_{n}'(i,j) - c_{n}(i,j)\neq 0 \\ 0, c_{n}'(i,j) - c_{n}(i,j)= 0, \end{cases}\tag{36}\end{align*}
We just change the value of a single pixel in the plain image to observe the NPCR and UACI indexes of the two encrypted images. The results of the two indexes are listed in Table. 13, which can be seen that the NPCR and UACI indexes of the encrypted image are very close to the ideal values, so it shows that the encryption algorithm can well resist the differential attack. Table. 14 shows the comparison results between our algorithm and other algorithms based on the Lena image. From the experimental data in Table. 14, it can be seen that the NPCR and UACI indexes of the comparison algorithm are poor when only changing the single pixel value, which can not resist the differential attack effectively. In contrast, our algorithm greatly improves the performance of resisting differential attack.
H. Resisting Known-Plaintext and Chosen-Plaintext Attacks Ability
From the previous analysis, because the parameters used for encryption in these algorithms are not sensitive to plaintext [10], [28], [33], they have been cracked by known plaintext attack and selective plaintext attack, which are often used to evaluate the security of the algorithm [73]. In our algorithm, we improved the performance of resisting these two attacks through corresponding operations. Firstly, our encryption algorithm is based on fractional-order hyperchaotic Chen system and logistic map, and its initial values are completely determined by plaintext. Secondly, our encryption algorithm is highly sensitive to the keys, and the chaotic sequences {
I. Anti-Noise Ability
In the process of transmission, the encrypted image will inevitably be disturbed by noise. The typical noise types are Gaussian noise (GN) and salt pepper noise (SPN). The encrypted image and the corresponding decrypted image under different noise densities are shown in Fig. 9. The variance of Gaussian noise is 0.15 and 0.20, respectively. The density of salt and pepper noise was 0.002 and 0.005, respectively. It can be seen from Fig. 9 that most of the original image information can be recovered after decrypting the cipher image with noise, so our algorithm has good anti-noise performance.
Experimental results of anti-noise performance. (a) encrypted image with Gaussian noise variance of 0.15; (b)decrypted image with Gaussian noise variance of 0.15; (c) encrypted image with Gaussian noise variance of 0.2; (d) decrypted image with Gaussian noise variance of 0.2; (e) encrypted image with salt and pepper noise density of 0.002; (f) decrypted image with salt and pepper noise density of 0.002; (g) encrypted image with salt and pepper noise density of 0.005; (h) decrypted image with salt and pepper noise density of 0.005.
J. Anti-Cropping Ability
When transmitting an encrypted image, it is easy to be attacked by occlusion. Therefore, we test the decrypted images with different degrees of data loss, which are
Experimental results of anti-noise performance. (a) 1/8 of the encrypted image is cropped; (b) 1/16 of the encrypted image is cropped; (c) 1/32 of the encrypted image is cropped; (d) decrypted image of 1/8 data cropped; (e) decrypted image of 1/16 data cropped; (f) decrypted image of 1/32 data cropped.
Conclusion
In this paper, we proposed a novel color image compression-encryption algorithm based on the fractional-order hyperchaotic system combined with DCT and DNA coding. In the compression stage, the two-dimensional DCT transforms the image to the frequency domain for processing, and the quantization operation is used to reduces the amount of image data. In the encryption stage, chaotic sequences are generated by fractional-order hyperchaotic Chen system, which are used to control DNA coding, decoding and DNA perations. Moreover, the logistic map is used to scramble the pixel position, which further improves the security of the algorithm. Experimental results verify that our algorithm can effectively compress image data and resist various attacks. However, although the high-dimensional fractional-order hyperchaotic system is used in the encryption algorithm to ensure that it has enough key space, the process of pixel scrambling is only controlled by the one-dimensional logistic map, and its parameter space is very limited, which may affect the key space. Secondly, we only use statistical tests to analyze the security of encryption algorithm, which are necessary but not sufficient. These shortcomings will be improved in future research.