Next Article in Journal
Traceability Analyses between Features and Assets in Software Product Lines
Previous Article in Journal
How Is a Data-Driven Approach Better than Random Choice in Label Space Division for Multi-Label Classification?
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Image Encryption Scheme Using the Composite Discrete Chaotic System

1
College of Sciences, Northeastern University, Shenyang 110819, China
2
Software College, Northeastern University, Shenyang 110819, China
3
Department of Mathematics and Computer Science, Indiana State University, Terre Haute, IN 47809, USA
*
Author to whom correspondence should be addressed.
Entropy 2016, 18(8), 276; https://doi.org/10.3390/e18080276
Submission received: 21 April 2016 / Revised: 17 July 2016 / Accepted: 21 July 2016 / Published: 1 August 2016
(This article belongs to the Section Information Theory, Probability and Statistics)

Abstract

:
The composite discrete chaotic system (CDCS) is a complex chaotic system that combines two or more discrete chaotic systems. This system holds the chaotic characteristics of different chaotic systems in a random way and has more complex chaotic behaviors. In this paper, we aim to provide a novel image encryption algorithm based on a new two-dimensional (2D) CDCS. The proposed scheme consists of two parts: firstly, we propose a new 2D CDCS and analysis the chaotic behaviors, then, we introduce the bit-level permutation and pixel-level diffusion encryption architecture with the new CDCS to form the full proposed algorithm. Random values and the total information of the plain image are added into the diffusion procedure to enhance the security of the proposed algorithm. Both the theoretical analysis and simulations confirm the security of the proposed algorithm.

Graphical Abstract

1. Introduction

With the rapid development of Internet and information technology, the secure transmission of image data becomes one of the most important problems. Due to some intrinsic features of image data, such as bulk data capacity, high redundancy and high correlation among adjacent pixels, traditional cryptosystems, for example, International Data Encryption Algorithm(IDEA), Data Encryption Standard (DES), and Advanced Encryption Standard (AES), are unsuitable for image data encryption [1,2,3]. It is well known that chaos theory has many unique characteristics, such as ergodicity, pseudo randomness, sensitivity to initial conditions and control parameters [4], and these characteristics meet the requirements of diffusion and mixing in the sense of cryptography. Hence, chaotic system has become a good choice for image encryption. Since the first chaos-based image encryption scheme was proposed by Fridrich [1], many chaos-based image encryption schemes can be found in recent literatures. Because low dimensional chaotic maps have the advantages of simplicity and efficiency, researchers in [5] realized an encryption scheme for color images permutated by using zigzag path scrambling with a spatiotemporal chaotic system. A RGB image encryption based on total image characteristics and modified Logistic map are presented in [6]. In [7], the authors presented a novel image encryption algorithm based on Henon map and compound spatiotemporal chaos with s superiority key sensitivity, plaintext sensitivity, and execution efficiency. Zhou et al. provided an image encryption algorithm with a simple structure and integrates the Logistic, Sine and Tent maps into one single system in [8]. However, these algorithms have some limitations, such as small key size and weak security. Recently, the purpose of using high dimensional chaotic maps and hyper chaotic systems is to enlarge the key space of the algorithms and resist brute force attack. For instance, a fast image encryption algorithm with a new two-dimensional Sine iterative chaotic map with infinite collapse (ICMIC) modulation map where the confusion and diffusion processes are combined for one stage with hyper chaotic behavior was introduced in [9]. Hua et al. proposed two new 2-dimensional (2D) Sine-Logistic modulation maps which were derived from the Logistic and Sine maps with wider chaotic range, better ergodicity, hyper chaotic property and relatively low implementation cost in [10,11]. In [12], Mollaeefar et al. provided a novel method for color image encryption based on high level chaotic maps Cosinus-Arcsinus and Sinus-Power Logistic map, which have better chaotic behavior against other available chaotic maps. Hyper-chaos has two or more Lyapunov exponents, and it indicates that the dynamics of this system is expanded in more than one direction instability [13,14,15,16]. Wang et al. in [13] proposed an effective image encryption algorithm based on genetic recombination and hyper-chaotic system. A new lossless encryption algorithm for color images based on a 6D hyper chaotic system and the 2D discrete wavelet transform in both the frequency domain and the spatial domain with key streams depend on the hyper chaotic system and the plain image is shown in [14]. Wu et al. in [15] introduced a novel color image cryptosystem based on synchronization of two different 6D hyper chaotic systems. Zhu et al. in [16] permutated the plain image twice by a discrete 2D hyper-chaos system to obtain good permutated effect. Moreover, many researchers suggested that composite chaotic system could be utilized to enhance the complexity and security level of the algorithm, because composite chaotic system may possess better randomness and complex chaotic character so that the cryptosystem can obtain higher security. Tong et al. in [17] adopted the Feistel network and constructed a Cubic function in the encryption algorithm and its key space was larger which was more efficiency and low resource depletion. A novel color image encryption algorithm was proposed based on the complex Chen and complex Lorenz systems, where One pixel in a channel may appear in any position and any channel in [18]. In [19,20,21], the authors provided several image encryption schemes with compound chaotic system by exploiting two 1D chaotic functions which switch randomly. All these references show the compound chaotic system has a better performance in speed, complexity, and security and can solve the problem that unable to resist short periods and low precision of low dimensional chaotic function by perturbation.
Besides the classic substitution-diffusion architecture, there are also other proposed chaos-based image encryption algorithms with their own structures. For example, the basic unit of an image can also be represented as bit (for example, a pixel value 54 can be represented as “00110110”). Some bit-level image encryption algorithms can be found in [22,23,24,25], which can play a permutation and diffusion effect simultaneously by a bit-level permutation. Zhu et al. in [22] proposed an image cryptosystem employing the 2D Arnold map for bit-level permutation, and this cryptosystem can obtain diffusion effect and save some encryption time. A new 3D bit matrix permutation algorithm was proposed where an image was considered as a natural three dimensional bit matrix (width, height, and bit length) in [23]. Fu et al. in [24] studied a symmetric chaos-based image cipher with a 3D cat map-based spatial bit-level permutation strategy where the diffusion effect of the new method was superior as the bits were shuffled among different bit-planes rather than within the same bit-plane. Zhu et al. in [25] arranged the positions of each bit by the generalized Arnold map in both row and column directions in a random way to get permutation and diffusion effect, then used affine cipher to obtain better diffusion effect to avoid the similarity existing in the bit-level permutation stage. Moreover, in [26], a novel image encryption scheme was proposed based on reversible cellular automata combining chaos. In [27,28], image encryption schemes based on DNA sequence operations rule and some improved chaotic systems were proposed, and an image encryption algorithm based on wave function and chaotic system was given in [29] where keystream was dependent on both the plain image and the secret key. However, some chaos-based image encryptions had been broken [30,31,32,33,34]. According to the Kerckhoff’s principle, the security level of cryptographic keys decides the security level of the cipher algorithms. To improve the security level of the chaos-based image encryption scheme, researchers have also attempted to generate good keystream providing cryptographic keys used in image encryption schemes. As an illustration, Seyedzadeh et al. in [35] designed a fast color image encryption algorithm based on a coupled two-dimensional piecewise chaotic map by a 256-bit external secret key as session keys. A 256-bit long hash value that depended on the three plain images was used to generate three random sequences to design a triple image encryption algorithm in [36].
In this paper, we aim to provide a novel image encryption method based on a composite discrete chaotic system with high chaotic behaviors, and a single permutation and double-diffusion operation are realized with scanning the plain image one time, which will lead to good encryption effect. Moreover, random values and the total information of the plain image are added into the diffusion procedure. As a result, the obtained cipher images are totally different even using the same secret key to encrypt a plain image several times. The rest of this paper is organized as follows.
In Section 2, we design a new composite discrete chaotic system (CDCS) that combines different chaotic systems in a random way, which can enhance the chaotic behaviors of the single chaotic system. In Section 3, we employ CDCS to perform the bit-level permutation and pixel-level diffusion operation to form the full proposed algorithm, and obtain a better diffusion effect. In Section 4, we analyze the security of the proposed scheme and evaluate its performance with several comparable algorithms through key size analysis, histogram analysis, chi-square test, correlation analysis, information entropy analysis, local Shannon entropy analysis, key sensitivity analysis, chosen/known plaintext attacks analysis, differential attack analysis, speed performance analysis, and the robustness of the proposed algorithm in noise and data loss. Finally, we summarize the main results in Section 5.

2. Composite Discrete Chaotic System

2.1. Two-Dimensional Composite Discrete Chaotic System

CDCS is a specific chaotic system combining two or more discrete chaotic systems. The merit of the new CDCS is that it can choose different chaotic system in the iteration procedure in a random way. The definition of the CDCS is given below:
Definition 1. 
Let x i = f q ( x i 1 ) , q = 0 , 1 , , m 1 , i = 1 , 2 , be m different discrete chaotic systems. For a random composite sequence S = { s 1 , s 2 , } { 0 , 1 , , m 1 } , we call the following functions an m-dimensional CDCS
x i = f s i ( x i 1 ) , i = 0 , 1 , , m 1 .
We denote this system as ( f 0 , f 1 , , f m 1 , S ) .
Definition 1 implies that the chaotic behavior of CDCS relies on the random composite chaotic sequence S and every discrete chaotic system in CDCS. Generally, the chaotic characteristics of CDCS is more complicated than that in every single chaotic system. Note that, if m = 1 or s i is a constant, CDCS degenerates to an ordinary single chaotic system.
Theorem 2. 
Let f q ( x ) , q = 0 , 1 , , m 1 , be m functions in Definition 1. If | f q ( x ) | > 1 , then for any random composite chaotic sequence S, the m-dimensional CDCS is chaotic.
Proof of Theorem 2. 
Let S = { s 1 , s 2 , } { 0 , 1 , , m 1 } be a random composite chaotic sequence, { x n } is iterated by Equation (1) with initial value x 0 , with a simple computation. The Lyapunov exponent of the CDCS is
λ = lim n 1 n l o g | f s n ( x n ) | > 0 .
We know that positive Lyapunov exponent means chaos. Thus, the m-dimensional CDCS is chaotic. This completes the proof. ☐
According to Theorem 2, we design a 2-dimensional CDCS by the following Equations (3) and (4):
f 0 ( x ) = 1 k x 0 < x < 1 k , 1 k x 1 1 k x 1 ,
f 1 ( x ) = 1 1 k x 0 < x < 1 k , k x 1 1 k x 1 ,
where k 2 , k N .
Note that
f 0 ( x ) = k 2 1 k x 0 < x < 1 k , k 2 k x 1 1 k x 1 ,
f 1 ( x ) = k 2 1 k x 0 < x < 1 k , k 2 k x 1 1 k x 1 ,
and, | f i ( x ) | > 1 , i = 0 , 1 . Thus, the new CDCS is chaotic by Theorem 2.

2.2. Sensitivity Analysis of the Initial Values and Control Parameters in CDCS

A good chaotic system must be sensitive to initial values and control parameters, respectively. First, we generate a chaotic random sequence X by Chebyshev map x n + 1 = F ( x n ) = c o s ( β × a r c c o s ( x n ) ) , n = 0 , 1 , , x n [ 1 , 1 ] . with initial value β = π , x 0 = 0.436879342 , then, we quantify it by y = x 10 9 ( m o d 2 ) , and obtain the composite random sequence S.
Now, we consider the initial value sensitivity of the proposed CDCS, with the help of the composite random sequence S, we set the initial value x 0 = 0.65382364 , 0.65382365 from the Chebyshev chaotic sequence X and k = 2 in Equations (3) and (4), and iterate it 2010 times and get two chaotic sequences, respectively. The first 2000 iterated random real numbers are discarded to avoid the harmful effect of CDCS, and the last 10 iterated random real numbers are shown in Table 1. From Table 1, we know that the two chaotic sequences are very different though the initial values are just a trivial difference ( 10 8 ). So, CDCS is very sensitive to initial value.
Notice that the different control parameter k in Equations (3) and (4) means different CDCS. In order to see the sensitivity of the control parameter k in CDCS, we diffuse the plain image (lena) with the following steps:
Step 1: 
Get 6 different CDCS by setting k = 2 , 3 , 4 , 5 , 6 , 7 , respectively. Then, we obtain 6 chaotic sequences with the initial value x 0 = 0.65382364 by Equations (3) and (4), respectively. If the output | y i | is larger than 1, then we let y i = k 1 y i k 1 in Equation (3) and y i = k 1 1 + y i k 1 1 in Equation (4), and if the output y i < 0 , then y i = | y i | . Next, we turn them into 6 binary sequence by y = x 10 9 m o d 2 .
Step 2: 
Extend the plain gray image matrix to an 1-dimensional integer sequence, and transform the integer sequence into a binary sequence.
Step 3: 
Do exclusive OR for the binary sequence with the 6 chaotic binary sequences, respectively, then get 6 diffused binary sequences
Step 4: 
Transform the 6 diffused binary sequences into 6 integer sequences, and reshape them into 6 diffused images. The diffusion effect is shown in Figure 1. From Figure 1, we know that each CDCS can get good diffuse effect.
We also list the differences of the six diffused images in Table 2.
The computation results show that the diffuse effect is very sensitive to the control parameter k in CDCS even with the same initial value. Therefore, CDCS is very sensitive to the initial values and control parameters.

2.3. Trajectory

For a chaotic system, the trajectory means the movement of the outputs, Figure 2 shows the trajectories of different chaotic maps: the CDCS of Equations (3) and (4); the single chaotic map Equation (3), and the Logistic map. Their parameters are set to the values that ensure both the maps to have excellent chaotic behaviors. The initial value are set to the same. From Figure 2, the trajectory of the CDCS distributes in much larger regions in the whole plane than that of the comparable chaotic maps. It means the CDCS is more random and has better ergodicity properties.

2.4. Gottwald and Melbourne Test

In 2004, Georg Gottwald and Ian Melbourne introduced a new test for chaos [37]. The input is any time series from a discrete map, a differential equation etc. The output is a real number in [0,1], which in theory is either 0, for non-chaotic data, or 1, for chaotic data. In practice, the result is close to 0 means non-chaotic, and close to 1 means chaotic, we use different parameters paris ( x 0 , k ) to generate different CDCS sequences, and do the Gottwald and Melbourne test in Table 3, and we conclude that the CDCS has good chaotic behaviors.

3. The Proposed Scheme

Base on the discussion in Section 2, we are now ready to describe the proposed image encryption algorithm. The diagram of the proposed algorithm is shown in Figure 3.

3.1. Secret Key Generation

The secret keys of the proposed scheme actually are consisted of the following parts: (1) the initial value x 0 and control parameter k 0 of Chebyshev map for generating composite sequence S; (2) the 8 initial values x 1 , x 2 , , x 8 and 8 control parameters k 1 , k 2 , , k 8 of CDCS used in permutation stage; (3) the initial values and control parameters x 9 , x 10 , k 9 and k 10 of CDCS for generating random sequences r a n d 1 and r a n d 2 in the diffusion stage. We represent them K = ( A , B ) , where A = ( x 0 , x 1 , x 2 , , x 10 ) , B = ( k 0 , k 1 , k 2 , , k 10 ) . In order to satisfy the security requirement, we set a random key with the length of 505 bits to generate the secret key K = ( A , B ) used in the proposed algorithm of the proposed algorithm, the detailed procedure is shown in the Algorithm 1:
Algorithm 1. The generation of the secret key
Input: Random key K with length of 505 bits
Output: Secret key ( A , B ) used in the proposed algorithm.
1: i = 1 ;
2: for j = 0 : 1 : 10 ;
3:    x j = ( t = 0 24 K [ i + t ] × 2 t ) / 2 25 ;
4:    i = i + 25 ;
5: end for
6: for j = 0 : 1 : 10 ;
7:    k j = ( t = 0 9 K [ i + t ] × 2 t ) / 2 10 ;
8:    i = i + 10 ;
9: end for
10: for j = 0 : 1 : 10 ;
11:    s j = ( t = 0 9 K [ i + t ] × 2 t ) / 2 10 ;
12:    i = i + 10 ;
13: end for
14:    a = ( t = 0 9 K [ 496 + t ] × 2 t ) / 2 10 ;
15:    k 0 = ( k 0 × m o d 1 ) + 3 ;
16: for j = 0 : 1 : 10
17:    x j = ( x j + a × s j ) m o d 1
18: end for
19: for j = 1 : 1 : 10
20:    k j = ( r o u n d ( ( k j + a × s j ) m o d 1 × 10 9 ) m o d 32 ;
21: end for

3.2. Encryption Process

There are two parts in the encryption algorithm: one is a bit-level permutation stage, and the other is a pixel-level diffusion procedure. Permutation in an image encryption architecture can be classified into pixel-level permutation and bit-level permutation. In this paper, we denote a plain image by a 3 × 3 matrix M to show the bit-level permutation effect:
M = p 1 p 2 p 3 p 4 p 5 p 6 p 7 p 8 p 9 .
If we do a pixel-level permutation, only the position of the pixel is changed and the value of the pixel remains unchanged. However, if we consider the bit-level permutation, we extend M to a column vector ( p 1 , p 2 , , p 9 ) T , and change each pixel p i into a 8-bits binary sequence { p i 1 , p i 2 , , p i 8 } , i = 1 , 2 , , 9 , and get a new 2-dimensional binary matrix M 1 :
M 1 = p 11 p 12 p 13 p 14 p 15 p 16 p 17 p 18 p 21 p 22 p 23 p 24 p 25 p 26 p 27 p 28 p 31 p 32 p 33 p 34 p 35 p 36 p 37 p 38 p 41 p 42 p 43 p 44 p 45 p 46 p 47 p 48 p 51 p 52 p 53 p 54 p 55 p 56 p 57 p 58 p 61 p 62 p 63 p 64 p 65 p 66 p 67 p 68 p 71 p 72 p 73 p 74 p 75 p 76 p 77 p 78 p 81 p 82 p 83 p 84 p 85 p 86 p 87 p 88 p 91 p 92 p 93 p 94 p 95 p 96 p 97 p 98 .
Then, we extend M 1 to a binary sequence and do the bit-level permutation. Moreover, we reshape the shuffled binary sequence to form the permutated binary matrix:
M 2 = p 94 p 61 p 57 p 58 p 93 p 43 p 53 p 62 p 95 p 66 p 12 p 44 p 54 p 63 p 96 p 67 p 72 p 32 p 87 p 18 p 13 p 45 p 84 p 51 p 55 p 64 p 97 p 68 p 73 p 33 p 75 p 35 p 25 p 88 p 21 p 14 p 77 p 37 p 46 p 27 p 85 p 24 p 83 p 17 p 11 p 52 p 92 p 56 p 42 p 65 p 73 p 98 p 71 p 31 p 86 p 48 p 74 p 34 p 76 p 26 p 23 p 82 p 16 p 91 p 41 p 28 p 47 p 22 p 81 p 15 p 38 p 78 .
From M 2 , we can see that both the positions of the bits and the value of the pixels are changed. Hence, a significant diffusion effect occurs in the bit-level permutation procedure. Finally, we turn every row of M 2 into an integer according to the normal order and get nine integers p 1 , p 2 , , p 9 , then we reshape them into the permutated image as follows:
p 1 p 2 p 3 p 4 p 5 p 6 p 7 p 8 p 9 .

3.2.1. Bit-Level Permutation Stage

In this subsection, we denote a plain image with size h w as ( a i j ) h × w , and we use multiple-CDCS mentioned in Equations (3) and (4) to do the bit-level permutation operation. The detailed process is stated as follows:
Step 1: 
Extend the plain image gray value matrix ( a i j ) h × w to a binary sequence: E = { E 1 , E 2 , , E h 8 w } . Then, turn E into 8 different bit planes: B 1 , B 2 , , B 8 by the following rules: B 1 = { E i | i 1 m o d 8 , i = 1 , 2 , , h 8 w } , B 2 = { E i | i 2 m o d 8 , i = 1 , 2 , , h 8 w } , B 3 = { E i | i 3 m o d 8 , i = 1 , 2 , , h 8 w } , B 4 = { E i | i 4 m o d 8 , i = 1 , 2 , , h 8 w } , B 5 = { E i | i 5 m o d 8 , i = 1 , 2 , , h 8 w } , B 6 = { E i | i 6 m o d 8 , i = 1 , 2 , , h 8 w } , B 7 = { E i | i 7 m o d 8 , i = 1 , 2 , , h 8 w } , B 8 = { E i | i 0 m o d 8 , i = 1 , 2 , , h 8 w } .
Step 2: 
Get 8 chaotic sequences of size w h by Equations (3) and (4) with 8 pairs parameters ( x 0 , k), and denote them as F i = { F i 1 , F i 2 , , F i w h } , i = 1 , , 8 . If the output | y i | is larger than 1, we let y i = k 1 y i k 1 in Equation (3) and y i = k 1 1 + y i k 1 1 in Equation (4), and if the output y i < 0 , then y i = | y i | . Then, sort F i in ascending order and get 8 index order sequences I i = { I i 1 , I i 2 , , I i h w } , i = 1 , 2 , , 8 .
Step 3: 
Permutate the binary sequence B i by I i in the following way to get a shuffled binary sequence T i = { T i j | j = 1 , 2 , , h w } :
T i j = B I i j , i = 1 , , 8 , j = 1 , , h w
Step 4: 
Rearrange the 8 permutated binary sequences T i , i = 1 , 2 , , 8 into the permutated sequence J with size h 8 w in the following way:
J = { T 11 , T 21 , , T 81 , T 12 , T 22 , , T 82 , , T 1 h w , T 2 h w , , T 8 h w }
Step 5: 
Divide the intermediate binary sequence J into h w blocks: K 1 = { J 1 , J 2 , , J 8 } , K 2 = { J 9 , J 10 , , J 16 } , ⋯, K ( h w ) = { J h 8 w 7 , J h 8 w 6 , , J h 8 w } , then change each block into an integer, and get the permutated integer sequence I n t = { I n t ( 1 ) , I n t ( 2 ) , , I n t ( h w ) } , and reshape to the permutated image.
The permutated image of plain image lena and the histogram distribution image are shown in Figure 4c–d. From Figure 4c–d, we note that the bit-level permutation process hides the information and changes the statistical characters of the plain image. Unfortunately, the image has some similarity in the histogram distribution and it is not absolutely uniform, thus, the attacker will find some useful information with this similarity and break this scheme. Therefore, we do the pixel-level diffusion operation to overcome this defect.

3.2.2. Pixel-Level Diffusion Stage

In the bit-level permutation phase, we obtain a shuffled integer sequence I n t = { I n t ( 1 ) , I n t ( 2 ) , , I n t ( h w ) } , now we do the pixel-level diffusion operation in the following steps:
Step 1: 
Obtain 2 CDCS chaotic sequences by Equations (3) and (4), and quantify with y = x 10 9 m o d 256 , then name r a n d 1 and r a n d 2 , respectively.
Step 2: 
For each I n t ( k ) I n t , k = 1 , 2 , , h w , do the following operations:
{ t e m 2 = I n t ( k ) t e m 1 r a n d 2 ( k ) C ( k ) = ( r a n d 1 ( t e m 0 ) + t e m 2 ) , m o d 256 t e m 0 = k ; t e m 1 = C ( k )
In Equation (11), the initial value t e m 0 = c o s ( π a r c c o s ( x 0 + a i j / 10 9 ) ) 10 9 m o d 256 , t e m 1 = c o s ( π a r c c o s ( x 1 + a i j / 10 9 ) ) 10 9 m o d 256 , where x 0 and x 1 are random value, a i j is the i-th row and the j-th pixel of the plain image, respectively. C ( k ) is the final encrypted value of the k-th pixel value.
Step 3: 
Reshape the encrypted integer sequence C back to the 2-dimensional gray value matrix of size h w to form the finally encrypted image.

3.3. Decryption Process

Note that the decryption procedure is just the inverse of the encryption procedure, hence, we introduce it briefly as follows:

3.3.1. Pixel-Level Diffusion Decryption Stage

Step 1: 
For the encrypted image, turn it into an integer sequence: C = { C ( 1 ) , C ( 2 ) , , C ( h w ) } .
Step 2: 
Obtain 2 CDCS chaotic sequences again by Equations (3) and (4) with the same parameters used in the encryption procedure, respectively. Then they are quantified by y = x 10 9 m o d 256 and named r a n d 1 , r a n d 2 , respectively.
Step 3: 
Let the initial value t e m 0 = h w 1 , t e m 1 = C ( h w 1 ) . For each C ( k ) C , k = h w , h ( w 1 ) , , 2 , do the following operations to get the permutated sequence I n t :
{ t e m 2 = ( C ( k ) r a n d 1 ( t e m 0 ) ) , ( m o d 256 ) , I n t ( k ) = t e m 2 t e m 1 r a n d 2 ( k 1 ) , t e m 0 = k 1 ; t e m 1 = C ( k 1 ) .
Note that when k = 1 , in order to get I n t ( 1 ) , in Equation (12), we let t e m 0 = c o s ( π a r c c o s ( x 0 + a i j / 10 9 ) 10 9 m o d 256 , t e m 1 = c o s ( π a r c c o s ( x 1 + a i j / 10 9 ) 10 9 m o d 256 , where x 0 , x 1 are the same used in the encryption procedure.

3.3.2. Bit-Level Permutation Decryption Stage

With the decryption of pixel-level diffusion, we get the decrypted sequence I n t . Now, we depict the bit-level permutation decryption.
Step 1: 
Extend the decrypted sequence I n t to a binary sequence G = { g 1 , g 2 , , g h 8 w } , where h w is the length of I n t , respectively. Then, turn binary sequence G into 8 different bit planes T 1 , T 2 , , T 8 by the following rules: T 1 = { g i | i 1 m o d 8 , i = 1 , 2 , , h 8 w } , T 2 = { g i | i 2 m o d 8 , i = 1 , 2 , , h 8 w } , T 3 = { g i | i 3 m o d 8 , i = 1 , 2 , , h 8 w } , T 4 = { g i | i 4 m o d 8 , i = 1 , 2 , , h 8 w } , T 5 = { g i | i 5 m o d 8 , i = 1 , 2 , , h 8 w } , T 6 = { g i | i 6 m o d 8 , i = 1 , 2 , , h 8 w } , T 7 = { g i | i 7 m o d 8 , i = 1 , 2 , , h 8 w } , T 8 = { g i | i 0 m o d 8 , i = 1 , 2 , , h 8 w } .
Step 2: 
Get the 8 chaotic sequences of size w × h again by Equations (3) and (4) with the 8 pairs same parameters ( x 0 , k) used in the encryption procedure, and denote them as H i = { H i 1 , H i 2 , , H i w h } , i = 1 , , 8 . If the output | y i | is larger than 1, we let y i = k 1 y i k 1 in Equation (3) and y i = k 1 1 + y i k 1 1 in Equation (4), and if the output y i < 0 , then y i = | y i | . Then, sort H i in ascending order and get 8 index order sequences I i = { I i 1 , I i 2 , , I i h w } , i = 1 , 2 , , 8 .
Step 3: 
Permutate the binary sequence T i by I i , in the following way to obtain the original binary sequence B i :
B I i j = T i j = , i = 1 , , 8 , j = 1 , , h w
Step 4: 
Rearrange the 8 permutated binary sequences B 1 , , B 8 into the permutated sequence P of size h 8 w in the following way: Q = { B 1 ( 1 ) , B 2 ( 1 ) , , B 8 ( 1 ) , B 1 ( 2 ) , B 2 ( 2 ) , , B 8 ( 2 ) , , B 1 ( h w ) , B 2 ( h w ) , , B 8 ( h w ) } .
Step 5: 
Divide the intermediate binary sequence Q into ( h w ) blocks: Y 1 = { B 1 , B 2 , , B 8 } , Y 2 = { B 9 , B 10 , , B 16 } , ⋯, Y h w = { B h 8 w 7 , B h 8 w 6 , , B h 8 w } , then turn each block into an integer, and get the decrypted integer sequence P = { P ( 1 ) , P ( 2 ) , , P ( h w ) } .
Step 6: 
Reshape the decrypted integer sequence P back to the 2-dimensional gray value matrix of size h w to get the finally decrypted image.

4. Simulation Results and Security Analyses

In this section, we use test images from the USC-SIPI “Miscellaneous” image [38]. Simulation results performance analyses for the proposed scheme and four comparable algorithms are provided. They include key size analysis, histogram analysis, chi-square test, correlation analysis, information entropy analysis, local shannon entropy analysis, key sensitivity analysis, chosen/known plaintext attacks analysis, differential attack analysis, speed performance analysis, and the robustness of the proposed algorithm in noise and data loss. All the simulations are performed on a personal computer (Hewlett-Packard, Shenyang, China) with an Intel Core 3.1 HZ CPU, 4G memory, and 450 GB hard disk with a Windows 7 Ultimate operating system, and the compile platform is Matlab (Version 2013a).

4.1. Gray and Color Image Encryption

Because of the spectrum of digital images around the world, the proposed algorithm must encrypt any image with similar results in security and performance. In this subsection, we use some images (include gray and color image) with different histogram for encryption and security analysis to verify the algorithm capabilities. Figure 4a,b,e,f shows the gray plain image and its histogram, the encrypted image and the corresponding histogram; Figure 5a–d shows two color plain images and the cipher images with their corresponding histograms. As a result, the gray cipher image, the RGB components of cipher images, and the uniform histograms verify the proposed algorithm’s ability to encrypt any gray and color image.

4.2. Key Size Analysis

According to the Kerckhoff’s principle, the security level of an image encryption scheme relies on the randomness of the cryptographic keys. As we know, to provide an encryption algorithm with high security, the key space should be more than 2 100 to make brute force attack ineffective. In this subsection, we use 505 bits random hexadecimal digits as secret key, and generate the key used in the proposed algorithm in Section 3.1. From the generation procedure, with a simple computation, we can conclude that the proposed algorithm has large enough key size to resist the brute force attack.

4.3. The Chi-Square Test Analysis of Cipher Image

The histogram distribution contains the information distribution of pixel values in an image. An ideal encrypted image should have a uniform histogram distribution to prevent the opponent from extracting any useful information from the fluctuating histogram. Figure 4a,b depicts the original lena image and its histogram, Figure 4e,f shows the encrypted image and corresponding histogram distribution obtained by the proposed scheme. Figure 5a–d shows 2 color plain images and the cipher image with their corresponding histograms. It is clear that the gray value and RGB component histogram of the encrypted images are fairly uniform and significantly different from that of the plain images. Hence, it does not provide any clue to employ statistical attack on the proposed algorithm.
Except for the cipher image histogram distribution analysis graphically, in order to show the uniform of the cipher image more precise, we also use the chi-square test to show that the cipher image is a uniform histogram distribution. The chi-square test produces a p-value which is a real number in [0,1]. If the p-value of a test image is greater than a significant level α, the test image passes the test successfully. In our experiment, we compute the p-value of some test images from the USC-SIPI “Miscellaneous” image dataset, and set α = 0.05, the results are listed in Table 4. From Table 4, all the test images pass the chi-square test, so, the cipher image is a uniform histogram distribution.

4.4. Correlation Analysis

In this subsection, correlation analysis is performed on the plain image and encrypted image to examine the encryption effect of our scheme. It is well known that the correlation between plain image adjacent pixels is high and should be reduced in the encrypted image for a good encryption scheme. Thus, we randomly select 2000 pairs of pixel values among two horizontally, two vertically, and two diagonally adjacent pixels in the plain image and cipher image, respectively, then we calculate the correlation coefficient r x y in Table 5 by the following formula:
r x y = | E ( ( x E ( x ) ) ( y E ( y ) ) ) | D ( x ) D ( y )
where E ( x ) and D ( x ) are the expectation and variance of variable x, respectively.
From Table 5, we see that, in the 9 correlation coefficients of the 3 gray test images, 5 correlation coefficients are smaller than that in the comparable algorithms, and 5 correlation coefficients of the color image are smaller than the comparable algorithm. Moreover, the correlation coefficients in the 3 directions of the encrypted image are close to 0, thus, the high correlation in the plain image is significantly reduced by the proposed scheme. To show this feature graphically, the correlation distributions of adjacent pixels of plain image lena and encrypted image in the 3 directions can be seen in Figure 6a–f. The results show that the dots of plain image lena are focused on the diagonal, while those of the encrypted image are scattered uniformly over the entire plane. In summary, all of data and graphs show that the high correlations in plain gray and color image are significantly reduced in the encrypted image by the proposed scheme.

4.5. Information Entropy Analysis

Global information entropy is the measure on the uncertainty of an information source. Obviously, the ideal information entropy value for a 8 bits true randomly message is 8. Here, we use H ( X ) to represent the information entropy of the information source X = ( x 0 , x 1 , , x L 1 ) by the following Equation (14):
H ( X ) = i = 0 L 1 p ( x i ) l o g 2 p ( x i ) .
The information entropy of some different test images are listed in Table 6. The average entropy values of 21 test images of our scheme is larger than that of the comparable algorithms, and it can arrive 7.9993039, which is very close to the theoretical value 8. This means that the encrypted image can be considered as random, and information leakage in the encryption process can be negligible.

4.6. Local Shannon Entropy Analysis

Considering the randomness of the cipher image, except for the global entropy analysis in Section 4.5, the local Shannon entropy (LSE) is another index for testing randomness from the local view point [39]. It can be defined by Equation (15)
H m , n ( X ) = i = 1 m H ( X i ) m
where, X 1 , X i , , X m are m are chosen image blocks. n is number of pixels in each block. An test image can pass the LSE test if H m , n falls into the interval of (7.901515698, 7.903422936) with a signification level α = 0.001. Table 7 shows the LSE results of the proposed algorithm and four comparable algorithm, and 16 out of 21 test images by the proposed algorithm pass the test. The pass rate is higher than other comparable algorithms, it means the proposed algorithm has good randomness.

4.7. Key Sensitivity Analysis

According to the Kerckhoff’s principle, the randomness of cryptographic keys decides the security level of the image encryption algorithms. So, in order to hold the high security, the proposed image encryption algorithm must be very sensitive to the cryptographic keys. It means a trivial change in the cryptographic keys must get enormously different encrypted or decrypted image. In this section, we provide key sensitivity analysis through trivial change in the encrypted key and decrypted key, respectively.

4.7.1. Encrypted Key Sensitivity Analysis

Here, we represent the secret key of the proposed algorithm as ( A , B ) , where A = ( x 0 , x 1 , x 2 , , x 10 ) , B = ( k 0 , k 1 , k 2 , , k 10 ) . In the following, we make a slight modification on the 12 groups encrypted keys to one of the parameters with others remain unchanged, the detailed 12 groups encrypted keys are listed as follows:
K e y 1 :
A = (0.34556788,0.13456790, 0.24567981, 0.34567932, 0.42345679, 0.53456794, 0.64567958, 0.76456793, 0.86456797,0.754712846, 0.567889322), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10).
K e y 2 :
A = (0.34556789,0.13456790, 0.24567981, 0.34567932, 0.42345679, 0.53456794, 0.64567958, 0.76456793, 0.86456797,0.754712846, 0.567889322), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10).
K e y 3 :
A = (0.34556788, 0.13456791, 0.24567981, 0.34567932, 0.42345679, 0.53456794, 0.64567958, 0.76456793, 0.86456797,0.754712846, 0.567889322), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10).
K e y 4 :
A = (0.34556788,0.13456790, 0.24567982, 0.34567932, 0.42345679, 0.53456794, 0.64567958, 0.76456793, 0.86456797,0.754712846, 0.567889322), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10).
K e y 5 :
A = (0.34556788,0.13456790, 0.24567981, 0.34567931, 0.42345679, 0.53456794, 0.64567958, 0.76456793, 0.86456797,0.754712846, 0.567889322), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10).
K e y 6 :
A = (0.34556788,0.13456790, 0.24567981, 0.34567932, 0.42345680, 0.53456794, 0.64567958, 0.76456793, 0.86456797,0.754712846, 0.567889322), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10).
K e y 7 :
A = (0.34556788,0.13456790, 0.24567981, 0.34567932, 0.42345679, 0.53456795, 0.64567958, 0.76456793, 0.86456797,0.754712846, 0.567889322), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10).
K e y 8 :
A = (0.34556788,0.13456790, 0.24567981, 0.34567932, 0.42345679, 0.53456794, 0.64567959, 0.76456793, 0.86456797,0.754712846, 0.567889322), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10).
K e y 9 :
A = (0.34556788,0.13456790, 0.24567981, 0.34567932, 0.42345679, 0.53456794, 0.64567958, 0.76456794, 0.86456797,0.754712846, 0.567889322), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10)
K e y 10 :
A = (0.34556788,0.13456790, 0.24567981, 0.34567932, 0.42345679, 0.53456794, 0.64567958, 0.76456793, 0.86456798, 0.754712846, 0.567889322), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10)
K e y 11 :
A = (0.34556788,0.13456790, 0.24567981, 0.34567932, 0.42345679, 0.53456794, 0.64567958, 0.76456793, 0.86456797, 0.754712847, 0.567889322), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10)
K e y 12 :
A = (0.34556788,0.13456790, 0.24567981, 0.34567932, 0.42345679, 0.53456794, 0.64567958, 0.76456793, 0.86456797, 0.754712846, 0.567889323), B = (π, 8, 7, 6, 5, 4, 3, 2, 13,11,10)
Then, we encrypt the plain image with the 12 groups keys by the proposed scheme, respectively, and the encrypted images are listed in Figure 7a–l.
Moreover, we compute the differences among Figure 7a–l in Table 8. All the graph and computation results demonstrate that the proposed algorithm is quite sensitive to the encrypted key.

4.7.2. Decrypted Key Sensitivity Analysis

Furthermore, because the proposed algorithm is a symmetric cipher, so, we decrypt Figure 7a with the same secret keys K e y 1 in Figure 8a. In order to show that the proposed algorithm is sensitive to the decrypted key, we also use K e y 2 , , K e y 12 to decrypt Figure 7a, respectively, and draw the decrypted images in Figure 8b–l, respectively. The results of the differences between the right decrypted image (Figure 1a) and the wrong decrypted images ( Figure 1b–l are 0.996090, 0.996162, 0.996437, 0.996117, 0.995964, 0.996193, 0.996142, 0.995922, 0.992017, 0.991432, 0.996262, respectively. So, we can see that the proposed algorithm is also highly sensitive to the decrypted key.
Note that in the key sensitivity analysis, we do not test the sensitivity of the secret keys B because the sensitivities of B have been tested in Section 2.2. In conclusion, the proposed algorithm is highly sensitive to secret keys.

4.8. Chosen/Known Plaintext Attacks Analysis

Chosen/known plaintext attacks analysis is efficient and widely used security attack models in cryptanalysis. The former assumes that the attackers have the ability to choose arbitrary plaintexts and obtain the corresponding cipher texts. So, the attackers can disclose the relation between the plaintexts and ciphertexts, and even deduce the secret key if the encryption structure is not sufficiently secure. Many successful cryptanalysis cases using the chosen/known plaintext attack were reported in [31,32,33,40]. In the proposed algorithm, special structures are designed to resist the chosen or known plaintext attacks: Firstly, the principle of confusion and diffusion introduced by Shannon are fulfilled. A bit of a pixel in the plain image can be permuted to any position and a small change can be spread overall pixels in the cipher image. Moreover, better diffusion effect are realized with the proposed bit-level permutation and pixel-level diffusion. Most important, random values and the total information of the plain image are added into the diffusion procedure. As a result, the obtained cipher images are totally different even using the same secret key to encrypt different plain image several times.

4.9. Differential Attack Analysis

The encryption scheme should be sensitive to a trivial change (e.g., modify only one pixel value or a bit) in the plain image. Two common measures are used: one is the number of pixels change rate (NPCR) and the other is the unified average changing intensity (UACI). NPCR measures the percentage of different pixel numbers between the two encrypted images, and UACI measures the average intensity of differences between two encrypted images. Let C 1 , C 2 be two encrypted images, whose corresponding plain images have only one different pixel value. The NPCR and UACI are defined by the following Equations (16)–(18):
N P C R = i , j d ( i , j ) h × w
d ( i , j ) = 1 C 1 ( i , j ) C 2 ( i , j ) 0 o t h e r w i s e
U A C R = 1 h × w i , j | c 1 ( i , j ) c 2 ( i , j ) | 255
where h and w are the height and width of the plain image, respectively.
Two plain images are used in the test. The first image is the original Lena image, and the other is obtained by changing the pixel value in the top left corner from “10100010” to “10100001’ (just a bit change). Then the two images are encrypted with the same secret keys for a few rounds to generate the corresponding cipher images C 1 and C 2 . The results are listed in Table 9 and Table 10, respectively.
They indicate that NPCR and UACI of the proposed scheme can reach 0.995967865 and 0.3353189655 in the second encryption round, respectively, We note that it is a little lower than Ref. [8], which has good performance in the first encryption round, but it is better than that of Refs. [16], [22] and [25]. Therefore, the proposed scheme is very sensitive to even 1 bit modification in the plain image. Furthermore, to show these growing trends graphically, the NPCR and UACI data with 5 rounds are plotted in Figure 9 and Figure 10, respectively.

4.10. Randomness Analysis of CDCS

As we know, according to the Kerckhoff’s principle, the randomness level of cryptographic keystream decides the security level of the cipher algorithms. In this subsection, we evaluate the performances of CDCS by the NIST SP 800-22 tests [41]. In NIST SP 800-22 tests, each test produces a p-value which is a real number in [ 0 , 1 ] . If the p-value is greater than a predefined significant level α, it means the random sequence can pass the test successfully. In our experiment, we set α = 0.01. The test results are listed in Table 11. From Table 11, CDCS pass NIST SP 800-22 tests and exhibit excellent statistical properties. Thus, CDCS provides a better choice for image encryption algorithm.

4.11. Speed Performance

Except for the security consideration, the running speed is another important factor for a good image encryption algorithm. Obviously, the proposed algorithm is the classic permutation-diffusion framework, and it consist of a bit-level permutation procedure and a pixel-level diffusion procedure. So, we show speed performance with permutation time and diffusion time, respectively. From Table 12, the bit-level permutation time of the proposed algorithm is lower than the two bit-level permutation algorithms in [22,25]. Because the bit-level operation need more time than the pixel-level operation, so, the permutation operation time is larger than the pixel-level permutation algorithms in [8,16], and the diffusion time is acceptable.

4.12. Robustness of the Proposed Algorithm in Noise and Data Loss

Digital images are usually transmitted in the public networks, and the encryption algorithm is usual open. So, the attackers can choose special plain images for encryption and try to find the secret key. So, a secure image encryption algorithm should resist this attacks. The secret key of the proposed algorithm consist of some random values and the total information of the plain image, so, even the attackers choose some special image to encrypt, and get some information of the secret key, but it can not get the right decrypted image, because the initial value of t e m 0 , t e m 1 are different, so the random sequence used in the diffusion procedure Equation (12) will be absolutely different.
Moreover, the attackers can disguise the legal user to obtain the cipher image, tamper with the intermediate form of the proposed algorithm more convenient, then information loss and pixel value modification of digital images may happen. Here we show the robustness of the proposed algorithm in noise and data loss, which means that if a portion of pixels in the cipher image are modified or lost, the original image can still be reconstructed with a acceptable visual quality. Figure 11 shows the proposed algorithm can resist the noise and data loss attacks in a high level.

5. Conclusions

In this paper, we propose a new two dimensional composite discrete chaotic system-based image encryption scheme, and use the new CDCS to accomplish the bit-level permutation and pixel-level diffusion. Simulation results show the security and the validity of the proposed scheme with the several characters: (1) The CDCS has excellent chaotic behaviors because it combines two single chaotic system in a random way. (2) It has a bit-level permutation and pixel-level diffusion architecture where the image is encrypted with a single-permutation and double-diffusion effect with only scan the plain image one time. (3) the value of the ciphered pixel influenced the next pixel’s permutation and diffusion effect, and a pixel in the plain image can be permuted to any position and a small change can be spread overall pixels in the cipher image.
However, in the bit-level permutation stage, the proposed image encryption algorithm need to change each pixel value into a 8 bits sequence, which means that the operation time is longer than the pixel-level image encryption algorithms. The speed performance in Section 4.11 verifies this conclusion.
In future, considering the excellent chaotic behaviors of the high-dimensional chaos map and hyper chaos. With the good structure of the composite discrete chaotic system, we can design composite discrete high-dimensional chaotic system and composite hyper-chaotic dynamical system to enhance the complex of the chaotic system and obtain excellent chaos, but we should consider the time consuming and convenience when use these systems in image encryption.

Acknowledgments

We would like to thank the reviewers for their useful comments and suggestions. This work is supported by the Fundamental Research Funds for Central Universities of China (Grant No. N140503004), the China Postdoctoral Science Foundation funded project (Grant No. 2016M591446), and the National Natural Science Foundation of China (Grant No. 61202085, 61374178, 61402097).

Author Contributions

Hegui Zhu contributed the study concepts, algorithm design, experimental data proof; Xiangde Zhang designed the data analysis/interpretation; Hai Yu conceived the experiments; Cheng Zhao contributed literature research and manuscript revision editing. Zhiliang Zhu contributed the manuscript review/final approval. All authors have read and approved the final manuscript.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Fridrich, J. Symmetric ciphers based on two-dimensional chaotic maps. Int. J. Bifurc. Chaos 1998, 8, 1259–1284. [Google Scholar] [CrossRef]
  2. Ye, G. Image scrambling encryption algorithm of pixel bit based on chaos map. Pattern Recognit. Lett. 2014, 31, 347–354. [Google Scholar]
  3. Norouzi, B.; Mirzakuchaki, S. A fast color image encryption algorithm based on hyper-chaotic systems. Nonlinear Dyn. 2014, 78, 995–1015. [Google Scholar] [CrossRef]
  4. Baptista, M.S. Cryptography with chaos. Phys. Lett. A 1998, 240, 50–54. [Google Scholar] [CrossRef]
  5. Wang, X.Y.; Zhang, Y.Q.; Bao, X.M. A colour image encryption scheme using permutation-substitution based on chaos. Entropy 2015, 17, 3877–3897. [Google Scholar] [CrossRef]
  6. Murillo-Escobar, M.A.; Cruz-Hernandez, C.; Abundiz-Perez, F.; Lopez-Gutierrez, R.M.; del Campo, O.A. A RGB image encryption algorithm based on total plain image characteristics and chaos. Signal Process. 2015, 109, 119–131. [Google Scholar] [CrossRef]
  7. Zheng, Y.; Jin, J. A novel image encryption scheme based on Henon map and compound spatiotemporal chaos. Multimed. Tools Appl. 2014, 74, 7803–7820. [Google Scholar] [CrossRef]
  8. Zhou, Y.; Bao, L.; Philip Chen, C.L. Image encryption using a new parametric switching chaotic system. Signal Process. 2013, 93, 3039–3052. [Google Scholar] [CrossRef]
  9. Liu, W.; Sun, K.; Zhu, C. A fast image encryption algorithm based on chaotic map. Opt. Lasers Eng. 2016, 84, 26–36. [Google Scholar] [CrossRef]
  10. Hua, Z.; Zhou, Y.; Pun, C.-M.; Philip Chen, C.L. 2D Sine Logistic modulation map for image encryption. Inf. Sci. 2015, 297, 80–94. [Google Scholar] [CrossRef]
  11. Hua, Z.; Zhou, Y. Image encryption using 2D Logistic-adjusted-Sine map. Inf. Sci. 2016, 339, 237–253. [Google Scholar]
  12. Mollaeefar, M.; Sharif, A.; Nazari, M. A novel encryption scheme for colored image based on high level chaotic maps. Multimed. Tools Appl. 2015, 74, 1–23. [Google Scholar] [CrossRef]
  13. Wang, X.; Zhang, H. A novel image encryption algorithm based on genetic recombination and hyper-chaotic systems. Nonlinear Dyn. 2015, 83, 333–346. [Google Scholar] [CrossRef]
  14. Wu, X.; Wang, D.; Kurths, J.; Kan, H. A novel lossless color image encryption scheme using 2D DWT and 6D hyperchaotic system. Inf. Sci. 2016, 349, 137–153. [Google Scholar] [CrossRef]
  15. Wu, X.; Bai, C.; Kan, H. A new color image cryptosystem via hyperchaos synchronization. Commun. Nonlinear Sci. Numer. Simul. 2014, 19, 1884–1897. [Google Scholar] [CrossRef]
  16. Zhu, H.; Zhao, C.; Zhang, X. A novel image encryption-compression scheme using hyper-chaos and Chinese remainder theorem. Signal Process. Image Commun. 2013, 28, 670–680. [Google Scholar] [CrossRef]
  17. Tong, X.; Wang, Z.; Liu, Y.; Zhang, M.; Xu, L. A novel compound chaotic block cipher for wireless sensor networks. Commun. Nonlinear Sci. Numer. Simul. 2015, 22, 120–133. [Google Scholar] [CrossRef]
  18. Wang, L.; Song, H.; Liu, P. A novel hybrid color image encryption algorithm using two complex chaotic systems. Opt. Lasers Eng. 2016, 77, 118–125. [Google Scholar] [CrossRef]
  19. Tong, X.; Zhang, M.; Wang, Z.; Liu, Y. An image encryption scheme based on dynamical perturbation and linear feedback shift register. Nonlinear Dyn. 2014, 78, 2277–2291. [Google Scholar] [CrossRef]
  20. Tong, X.; Cui, M. Image encryption scheme based on 3d baker with dynamical compound chaotic sequence cipher generator. Signal Process. 2009, 89, 480–491. [Google Scholar] [CrossRef]
  21. Tong, X. The novel bilateral-diffusion image encryption algorithm with dynamical compound chaos. J. Syst. Softw. 2012, 85, 850–859. [Google Scholar] [CrossRef]
  22. Zhu, Z.; Zhang, W.; Wong, K.W.; Yu, H. A chaos-based symmetric image encryption scheme using a bit-level permutation. Inf. Sci. 2011, 181, 1171–1186. [Google Scholar] [CrossRef]
  23. Zhang, W.; Yu, H.; Zhao, Y.; Zhu, Z. Image encryption based on three-dimensional bit matrix permutation. Signal Process. 2016, 118, 36–50. [Google Scholar] [CrossRef]
  24. Fu, C.; Huang, J.B.; Wang, N.N.; Hou, Q.B.; Lei, W.M. A Symmetric chaos-based image cipher with an improved bit-Level permutation strategy. Entropy 2014, 16, 770–788. [Google Scholar] [CrossRef]
  25. Zhu, H.; Zhao, C.; Zhang, X.; Yang, L. An image encryption scheme using generalized Arnold map and affine cipher. Optik 2014, 125, 6672–6677. [Google Scholar] [CrossRef]
  26. Wang, X.; Luan, D. A novel image encryption algorithm using chaos and reversible cellular automata. Commun. Nonlinear Sci. Numer. Simul. 2013, 18, 3075–3085. [Google Scholar] [CrossRef]
  27. Song, C.; Qiao, Y. A novel image encryption algorithm based on DNA encoding and spatiotemporal chaos. Entropy 2015, 17, 6954–6968. [Google Scholar] [CrossRef]
  28. Wu, X.; Kan, H.; Kurths, J. A new color image encryption scheme based on DNA sequences and multiple improved 1D chaotic maps. Appl. Soft. Comput. 2015, 37, 24–39. [Google Scholar] [CrossRef]
  29. Ye, G. A block image encryption algorithm based on wave transmission and chaotic systems. Nonlinear Dyn. 2014, 75, 417–427. [Google Scholar] [CrossRef]
  30. Li, C.; Liu, Y.; Xie, T.; Chen, M. Breaking a novel image encryption scheme based on improved hyperchaotic sequences. Nonlinear Dyn. 2013, 73, 2083–2089. [Google Scholar] [CrossRef]
  31. Jeng, F.G.; Huang, W.L.; Chen, T.H. Cryptanalysis and improvement of two hyper-chaos-based image encryption schemes. Signal Process. Image Commun. 2015, 34, 45–51. [Google Scholar] [CrossRef]
  32. Li, C.; Lo, K.T. Optimal quantitative cryptanalysis of permutation-only multimedia ciphers against plaintext attacks. Signal Process. 2011, 91, 949–954. [Google Scholar] [CrossRef]
  33. Li, C. Cracking a hierarchical chaotic image encryption algorithm based on permutation. Signal Process. 2015, 118, 203–210. [Google Scholar] [CrossRef]
  34. Li, C.; Li, S.; Lo, K.T. Breaking a modified substitution-diffusion image cipher based on chaotic standard and logistic maps. Commun. Nonlinear Sci. Numer. Simul. 2011, 16, 37–843. [Google Scholar] [CrossRef] [Green Version]
  35. Seyedzadeh, S.M.; Mirzakuchaki, S. A fast color image encryption algorithm based on coupled two-dimensional piecewise chaotic map. Signal. Process. 2012, 92, 1202–1215. [Google Scholar] [CrossRef]
  36. Liu, H.; Wang, X. Triple-image encryption scheme based on one-time key stream generated by chaos and plain images. J. Syst. Softw. 2013, 86, 826–834. [Google Scholar] [CrossRef]
  37. Gottwald, G.A.; Melbourne, I. A new test for chaos in deterministic systems. Proc. R. Soc. Lond. A 2004, 460, 603–611. [Google Scholar] [CrossRef]
  38. The USC-SIPI Image Database. Available online: http://sipi.usc.edu/database/database.php?volume=misc (accessed on 25 July 2016).
  39. Wu, Y.; Zhou, Y.; Saveriades, G.; Agaian, S.; Noonan, J.P.; Natarajan, P. Local Shannon entropy measure with statistical tests for image randomness. Inf. Sci. 2013, 222, 323–342. [Google Scholar] [CrossRef]
  40. Zhang, Y.; Xiao, D. Cryptanalysis of S-box-only chaotic image ciphers against chosen plaintext attack. Nonlinear Dyn. 2013, 72, 751–756. [Google Scholar]
  41. A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications. Available online: http://csrc.nist.gov/publications/nistpubs/800-22-rev1a/SP800-22rev1a.pdf (accessed on 10 April 2016).
Figure 1. The diffused images by different control parameter k of CDCS. (a) Lena image; (b) k = 2; (c) k = 3; (d) k = 4; (e) k = 5; (f) k = 6; (g) k = 7.
Figure 1. The diffused images by different control parameter k of CDCS. (a) Lena image; (b) k = 2; (c) k = 3; (d) k = 4; (e) k = 5; (f) k = 6; (g) k = 7.
Entropy 18 00276 g001
Figure 2. Trajectories of different chaotic maps. (a) CDCS; (b) single discrete dynamic chaotic system Equation (3); (c) Logistic map.
Figure 2. Trajectories of different chaotic maps. (a) CDCS; (b) single discrete dynamic chaotic system Equation (3); (c) Logistic map.
Entropy 18 00276 g002
Figure 3. The proposed image encryption architecture.
Figure 3. The proposed image encryption architecture.
Entropy 18 00276 g003
Figure 4. The histogram distribution analysis. (a) Plain image; (b) The histogram distribution of (a); (c) Permutated image; (d) The histogram distribution of (c); (e) Cipher image; (f) The histogram distribution of (e).
Figure 4. The histogram distribution analysis. (a) Plain image; (b) The histogram distribution of (a); (c) Permutated image; (d) The histogram distribution of (c); (e) Cipher image; (f) The histogram distribution of (e).
Entropy 18 00276 g004
Figure 5. Color image encryption effect. (a) House image; (b) The corresponding cipher image of (a); (c) Peppers image; (d) The corresponding cipher of (c).
Figure 5. Color image encryption effect. (a) House image; (b) The corresponding cipher image of (a); (c) Peppers image; (d) The corresponding cipher of (c).
Entropy 18 00276 g005
Figure 6. The correlation analyses of the proposed algorithms. (a) Horizontal direction of plain image lena; (b) Horizontal direction of cipher image; (c) Vertical direction of plain image; (d) Vertical direction of cipher image; (e) Diagonal direction of plain image; (f) Diagonal direction of cipher image.
Figure 6. The correlation analyses of the proposed algorithms. (a) Horizontal direction of plain image lena; (b) Horizontal direction of cipher image; (c) Vertical direction of plain image; (d) Vertical direction of cipher image; (e) Diagonal direction of plain image; (f) Diagonal direction of cipher image.
Entropy 18 00276 g006
Figure 7. Encrypted key sensitivity analysis. (a) K e y 1 ; (b) K e y 2 ; (c) K e y 3 ; (d) K e y 4 ; (e) K e y 5 ; (f) K e y 6 ; (g) K e y 7 ; (h) K e y 8 ; (i) K e y 9 ; (j) K e y 10 ; (k) K e y 11 ; (l) K e y 12 .
Figure 7. Encrypted key sensitivity analysis. (a) K e y 1 ; (b) K e y 2 ; (c) K e y 3 ; (d) K e y 4 ; (e) K e y 5 ; (f) K e y 6 ; (g) K e y 7 ; (h) K e y 8 ; (i) K e y 9 ; (j) K e y 10 ; (k) K e y 11 ; (l) K e y 12 .
Entropy 18 00276 g007
Figure 8. Decrypted key sensitivity analysis. (a) K e y 1 ; (b) K e y 2 ; (c) K e y 3 ; (d) K e y 4 ; (e) K e y 5 ; (f) K e y 6 ; (g) K e y 7 ; (h) K e y 8 ; (i) K e y 9 ; (j) K e y 10 ; (k) K e y 11 ; (l) K e y 12 .
Figure 8. Decrypted key sensitivity analysis. (a) K e y 1 ; (b) K e y 2 ; (c) K e y 3 ; (d) K e y 4 ; (e) K e y 5 ; (f) K e y 6 ; (g) K e y 7 ; (h) K e y 8 ; (i) K e y 9 ; (j) K e y 10 ; (k) K e y 11 ; (l) K e y 12 .
Entropy 18 00276 g008
Figure 9. NPCR analysis.
Figure 9. NPCR analysis.
Entropy 18 00276 g009
Figure 10. UACI analysis.
Figure 10. UACI analysis.
Entropy 18 00276 g010
Figure 11. Robustness analysis results. (a) 3.6% data loss with a black square; (b) 3.6% data modification with a square; (c) 5% Salt and Pepper noise; (d) 60.12% data loss with a white square; (e) 94.23% data loss with a black square.
Figure 11. Robustness analysis results. (a) 3.6% data loss with a black square; (b) 3.6% data modification with a square; (c) 5% Salt and Pepper noise; (d) 60.12% data loss with a white square; (e) 94.23% data loss with a black square.
Entropy 18 00276 g011
Table 1. Chaotic sequences generated by CDCS with different initial value.
Table 1. Chaotic sequences generated by CDCS with different initial value.
Chaotic Sequencex0 = 0.65382364x0 = 0.65382365
y 2001 0.69160879350.5510774642
y 2002 0.61904570670.3196168464
y 2003 0.48794611730.3993617501
y 2004 0.84473324460.5513615043
y 2005 0.83034118840.3205043035
y 2006 0.81282370590.4008410954
y 2007 0.79097876830.5546711225
y 2008 0.72506746400.3306693894
y 2009 0.69745357010.4180539361
y 2010 0.67092095520.595164073
Table 2. The differences among diffused images by CDCS with different k.
Table 2. The differences among diffused images by CDCS with different k.
Control Parameterk = 2k = 3k = 4k = 5k = 6k = 7
k = 200.996078490.996032710.995864870.996047970.99598694
k = 30.9960784900.996215820.996276860.996398930.9962616
k = 40.996032710.9962158200.996292110.996459960.9962616
k = 50.995864870.996276860.9962921100.996154790.99568176
k = 60.996047970.996398930.996459960.9961547900.99591064
k = 70.995986940.99626160.99626160.995681760.995910640
Table 3. The Gottwald and Melbourne test.
Table 3. The Gottwald and Melbourne test.
Initial Value x0Control Parameters kTest Results
0.12345678k = 20.99823000
0.12345679k = 20.99839183
0.12345677k = 20.99790976
0.12345676k = 20.99798716
0.21345678k= 30.99782871
0.21345678k = 40.99831404
0.21345678k = 50.99842179
0.21345678k = 60.99854142
0.321345678k = 70.99735072
Table 4. Chi-square test analysis (α = 0.05).
Table 4. Chi-square test analysis (α = 0.05).
Image Namep-value
5.2.080.257198003
5.2.090.22534446
5.2.100.220229861
7.1.010.200104753
7.1.020.115958523
7.1.030.478716242
7.1.040.477272383
7.1.050.536532281
7.1.060.681580846
7.1.070.492913738
7.1.080.919338576
7.1.090.101262279
boat.5120.631836356
elaine0.52057636
lena0.224053673
goldhill0.883876476
peppers0.13530398
baboon0.763747416
house(R)0.099225363
house(G)0.412077954
house(B)0.285299456
Table 5. Correlation coefficients analysis. (Numbers in bold face means the crresoponding encryption scheme has the smallest correlation coefficients.)
Table 5. Correlation coefficients analysis. (Numbers in bold face means the crresoponding encryption scheme has the smallest correlation coefficients.)
Test ImageDirectionPlain ImageProposed SchemeRef. [16]Ref. [22]Ref. [8]Ref. [25]
horizontal0.987271750.00911870−0.015988590.00921633−0.034449860.0255741
lenavertical0.99060282−0.02799349−0.009289940.004382260.0162397−0.0060722
diagonal0.98232025−0.0080057810.009557050.009848280.054721080.03712793
horizontal0.983595620.00984443−0.016819350.021610670.048239540.00106722
goldhillvertical0.974982970.018433290.035270120.03929575−0.019535830.01852442
diagonal0.968491690.0026876120.0067984790.02047153−0.014730570.01321081
horizontal0.984867920.060723940.02379430.02161067−0.00350778−0.0115003
peppersvertical0.97916019−0.00116499−0.011170982−0.037837−0.021423−0.00237434
diagonal0.97515696−0.005714190.006646350.020471530.02345089−0.00098435
horizontal0.74954747−0.03856932−0.029990710.01610140.00289877−0.00547718
house(R)vertical0.802620720.002023−0.0154941−0.040538860.018131106−0.01215746
diagonal0.606091330.00207905−0.01487206−0.002273980.018180302−0.01803246
horizontal0.762942840.00181239−0.01615650.0485065−0.00423018−0.03230305
house(G)vertical0.86429319−0.01279169−0.001837280.015760130.001573260.0002708
diagonal0.668680950.002413940.00156149−0.03474189-0.003761−0.00867577
horizontal0.90852712−0.009212390.020684690.015610986−0.043027910.02820804
house(B)vertical0.94773930.0034053−0.02170484−0.005672280.01377570.0107359
diagonal0.86744223−0.0217718−0.00759450.012719750.009219890.03581673
Table 6. Information entropy analysis.
Table 6. Information entropy analysis.
Test ImagePlain ImageThe Proposed SchemeRef. [16]Ref. [22]Ref. [8]Ref. [25]
5.2.087.2010087.99929897.99700967.99930757.9992067.9993742
5.2.096.99399427.99928337.99684237.99924927.99913427.9992579
5.2.105.70556027.99928837.99696567.99934857.99922137.9993323
7.1.016.02741487.99932397.99727297.99931467.99914457.9993389
7.1.024.00449947.99939477.99317797.9992897.99899567.9993285
7.1.035.495747.99921677.9975777.99939517.99914317.9993135
7.1.046.10741817.99918627.99701467.99930177.9991267.9993481
7.1.056.56319567.99927677.99690237.99930467.99914037.9993864
7.1.066.69528347.9993987.99755787.9992467.99929937.9992284
7.1.075.99159887.99925027.9972377.99924767.99897067.9992728
7.1.085.0534487.99924427.99677587.99932887.99898987.9991881
7.1.096.18981377.999387.99725597.99919567.99915527.9992166
boat.5127.19137027.99938937.9970267.999317.99918327.9993511
lena7.44556767.99932837.99736057.99935897.9991557.9992604
goldhill7.47777967.99933547.99747987.99929337.99926577.999319
baboon7.37352787.99922757.99703647.99931837.99917877.9993072
peppers7.57147767.99925357.99740157.99919217.99926457.9992152
elaine7.46642627.99933017.99723857.99934987.99917897.9992656
house(R)7.4156277.99929427.99706087.9993447.99923967.9992674
house(G)7.22947927.99932147.99744957.99926177.99916427.9993073
house(B)7.43538387.99929967.99732647.99926217.9992257.9992576
average6.60169597.99930397.99719717.99929137.99919547.9992817
Table 7. Local Shannon entropy analysis. (Numbers in bold face means the test image can pass the LSE test.)
Table 7. Local Shannon entropy analysis. (Numbers in bold face means the test image can pass the LSE test.)
Test ImageThe Proposed SchemeRef. [16]Ref. [22]Ref. [8]Ref. [25]
5.2.087.90286917.90557637.90531997.9023567.9028432
5.2.097.90373857.90298917.9008937.8998537.9025761
5.2.107.90302177.90412297.90267937.9026547.9016977
7.1.017.90318487.90317747.90317217.9026347.9027515
7.1.027.90184037.89762687.90039367.9016347.902448
7.1.037.90359247.90119427.9019887.9054237.9039657
7.1.047.9025707.90605517.90235797.9021257.9055074
7.1.057.90504777.90183367.90223847.8836537.9044964
7.1.067.90252627.90586137.90080327.9023567.9009599
7.1.077.90186947.90280837.90008067.9023647.9044062
7.1.087.90313217.90289337.90326227.9044567.9024535
7.1.097.90300097.89987897.90174657.903127.9025151
boat.5127.90269927.90005557.90179587.9018797.9009823
Elaine7.90091967.90062087.90469297.9029897.9029109
Lena7.9034627.9029387.9009757.9045127.904671
Goldhill7.90250157.90090527.9022517.90150927.9020145
peppers7.90244527.90161557.90402667.90530457.9007481
baboon7.90336267.90048017.90013667.9029997.9013492
house(R)7.90194567.90073187.90296867.90104477.905035
house(G)7.90192287.9041667.90232347.90588797.9033633
house(B)7.90266587.90145767.89987927.19934777.9046128
pass rate16/218/2111/2113/2110/21
Table 8. The encrypted key sensitivity analysis.
Table 8. The encrypted key sensitivity analysis.
K e y K e y 1 K e y 2 K e y 3 K e y 4 K e y 5 K e y 6 K e y 7 K e y 8 K e y 9 K e y 10 K e y 11 K e y 12
K e y 1 00.996170.996000.992070.983810.968770.938390.976910.975490.976250.995770.99630
K e y 2 0.9961700.996310.996220.995990.996210.996120.996090.996160.995990.995880.99615
K e y 3 0.996000.9963100.996130.996350.996190.996140.995970.996110.996090.996110.99604
K e y 4 0.992070.996220.9961300.992460.992540.991780.991920.992100.992170.995980.99597
K e y 5 0.983810.995990.996350.9924600.984410.984130.984430.984470.984630.996110.99612
K e y 6 0.968770.996210.996190.992540.9844100.968140.968850.968470.968880.996140.99615
K e y 7 0.938390.996120.996140.991780.984130.9681400.936820.938500.937590.995930.99614
K e y 8 0.976910.996090.995970.991920.984430.968850.9368200.951730.901930.996080.99616
K e y 9 0.975490.996160.996110.992100.984470.968470.938500.9517300.950150.996040.99623
K e y 10 0.976250.995990.996090.992170.984630.968880.937590.901930.9501500.996170.99622
K e y 11 0.995770.995880.996110.995980.996110.996140.995930.996080.996040.9961700.99606
K e y 12 0.996300.996150.996040.995970.996120.996150.996140.996160.996230.996220.996060
Table 9. NPCR Performance.
Table 9. NPCR Performance.
RoundThe Proposed SchemeRef. [16]Ref. [22]Ref. [8]Ref. [25]
10.66960144040.0000152590.006543860.99600982670.9963431625
20.9959678650.0000152590.804958420.99607467650.9959527564
30.99610900880.0000152590.996154660.99612426760.9965357538
40.99615859990.0000152590.995952470.99617767330.9960346326
50.99610137940.0000152590.996167930.99597167970.9961644326
Table 10. UACI Performance.
Table 10. UACI Performance.
RoundThe Proposed SchemeRef. [16]Ref. [22]Ref. [8]Ref. [25]
10.26305625770.0000120870.003213650.33266896270.3360676146
20.33531896550.0000120870.243664360.33484883030.335123463
30.33467908370.0000120870.334011620.33515978050.3350163487
40.33427363380.0000120870.333897080.33464621750.3344254165
50.33400856470.0000120870.334416360.33480875350.3343425278
Table 11. The test result of NIST SP 800-22 tests for CDCS.
Table 11. The test result of NIST SP 800-22 tests for CDCS.
Test Namep-valueResults
Frequency test0.5731Success
Block Frequency test0.6825Success
Cusum-Forward test0.9293Success
Cusum-Reverse test0.3514Success
Runs test0.5536Success
Long Runs test of Ones0.6154Success
Binary Matrix Rank Test0.7635Success
Spectral DFT test0.4674Success
Non-overlapping test Templates (m = 9, B = 000000001)0.8710Success
Overlapping test Templates (m = 9)0.9241Success
Maurer’s Universal test (L = 7, Q = 1280)0.3533Success
Approximate Entropy test (m = 5)0.9987Success
Random Excursions test (x = +1)0.2085Success
Lempel Ziv compression test0.6784Success
Linear complexity test0.2314Success
Random Excursions Variant test (x = −1)0.5811Success
Serial test (m = 5, φ m 2 )0.8989Success
Table 12. Speed Performance (seconds).
Table 12. Speed Performance (seconds).
Time (s)The Proposed SchemeRef. [16]Ref. [22]Ref. [8]Ref. [25]
permutation time10.6470930.6033549.7890380.75874214.161442
diffusion time0.6488520.559071.0186932.8315003
total time10.39591.162410.80770.75874216.9929

Share and Cite

MDPI and ACS Style

Zhu, H.; Zhang, X.; Yu, H.; Zhao, C.; Zhu, Z. A Novel Image Encryption Scheme Using the Composite Discrete Chaotic System. Entropy 2016, 18, 276. https://doi.org/10.3390/e18080276

AMA Style

Zhu H, Zhang X, Yu H, Zhao C, Zhu Z. A Novel Image Encryption Scheme Using the Composite Discrete Chaotic System. Entropy. 2016; 18(8):276. https://doi.org/10.3390/e18080276

Chicago/Turabian Style

Zhu, Hegui, Xiangde Zhang, Hai Yu, Cheng Zhao, and Zhiliang Zhu. 2016. "A Novel Image Encryption Scheme Using the Composite Discrete Chaotic System" Entropy 18, no. 8: 276. https://doi.org/10.3390/e18080276

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop