# Chaotic Image Encryption Algorithm Based on Circulant Operation

Authors: Xiaoling Huang; Guodong Ye; Kwok-Wo Wong
Journal: Abstract and Applied Analysis
 (2013)

---

## Abstract

A novel chaotic image encryption scheme based on the time-delay Lorenz system is presented in this paper with the description of Circulant matrix. Making use of the chaotic sequence generated by the time-delay Lorenz system, the pixel permutation is carried out in diagonal and antidiagonal directions according to the first and second components. Then, a pseudorandom chaotic sequence is generated again from time-delay Lorenz system using all components. Modular operation is further employed for diffusion by blocks, in which the control parameter is generated depending on the plain-image. Numerical experiments show that the proposed scheme possesses the properties of a large key space to resist brute-force attack, sensitive dependence on secret keys, uniform distribution of gray values in the cipher-image, and zero correlation between two adjacent cipher-image pixels. Therefore, it can be adopted as an effective and fast image encryption algorithm.


---

## Body

## 1. Introduction

With the rapid development of the computer network, it becomes more and more convenient to communicate in digital form. However, the transmitted information may be intercepted, copied, and even modified illegally. Aiming at the security and protection of digital images, many image encryption algorithms or technologies such as DNA sequence [1], chaotic map [2], circular bit shift and XOR operations [3], quantum logistic map [4], and Hartley transform [5] have been developed. Among these encryption algorithms, the chaos-based approach has become a hot research topic because of many unique characteristics of the chaotic system itself such as sensitive dependence on initial conditions and system parameters, nonperiodicity, pseudorandom property, and topological transitivity. These properties lead to efficient methods for image encryption.One-dimensional and two-dimensional chaotic maps are usually employed in chaos-based image encryption algorithms. One-dimensional chaotic maps such as Logistic map, Sine map, and skew tent map have the advantages of simplicity and easy implementation [6]. In particular, Logistic map was widely used for image encryption [7–9]. However, it is not secure enough to use only one-dimensional chaotic map because of its small key space and weak security [7]. Many studies [10–13] were carried out to improve its security. For example, Singh and Sinha combined the Hartley transform and Logistic map in [5], Gao et al. [6] increased the number of parameters to six, and Ye [10] adopted the matrix property of Toeplitz and Hankel. Reference [11] proposed a total shuffling algorithm using Logistic map. In [12], two Logistic maps were employed to enlarge the key space. In other schemes [14, 15], the security has been improved by shuffling the positions and changing the pixel values simultaneously. Li and Yuan [15] reported the weakness of DCT-based encryption algorithm and proposed the full interblock shuffle approach. The authors in [16] studied the hyperchaotic systems with uncertain parameter for image encryption.A good encryption algorithm must satisfy some requirements such as large key space, sensitive dependence on secret keys, and no correlation between two adjacent pixels [17, 18]. Here we propose an image encryption algorithm based on the time-delay Lorenz system and the unique properties of chaotic systems. It performs the position permutation according to a chaotic sequence and the diffusion stage by blocks. The rest of this paper is arranged as follows. In Section 2, Circulant matrix and time-delay Lorenz system are introduced. The proposed image encryption algorithm and its mathematical model are described in Section 3. Numerical experiments are reported in Section 4 while the related security analysis is given in Section 5. Finally, some conclusions are drawn in Section 6.


## 2. Circulant Matrix and Time-Delay Lorenz System

### 2.1.  Circulant Matrix

Definition 1.
Suppose that there is ann×n matrix  Cn having the following form:
(1)Cn=(c0c-1⋯c2-nc1-nc1c0c-1⋱c2-n⋮c1c0⋱⋮cn-2⋯⋱⋱c-1cn-1cn-2⋯c1c0).
Then Cn is called a Circulant matrix [19] if  c-k=cn-k (1≤k≤n-1).Definition 2.
Suppose that there is anm×n matrix Gm×n (m≤n) possessing the following form:(2)Gm×n=(g0g-1⋯gm-ngm-1-n⋯⋯g1-ng1g0⋱⋱⋱⋱⋱⋮⋮⋱⋱⋱⋱⋱⋱⋮gm-2⋱⋱⋱⋱⋱gm-ngm-1-ngm-1gm-2⋯g1g0g-1⋯gm-n).
Then Gm×n is called a generalized Circulant matrix if gm-k=gm-k-n (1≤k≤m-1).
We can also considerGm×n as a generalized Circulant matrix when m>n, considering that GT has the same form as (2).


### 2.2. The Time-Delay Lorenz System

The time-delay Lorenz system [20] is a three-dimensional system defined by
(3)x˙=m(y-x)+u1,y˙=rx-y-xz+u2,z˙=xy-bz(t-τ)+u3,
where τ is an unknown time-varying lag. When m=10, r=28, b=83, τ=1/6, and  u1=u2=u3=0, the time-delay Lorenz system (3) is in the chaotic state [20]; that is, the two chaotic sequences are nonperiodic, nonconvergent, and noncorrelated with two different sets of initial values x0, y0, and z0. More details of the time-delay Lorenz system can be found in [20].


### 2.3. Random Chaotic Sequence

Given initial valuesx0, y0, and  z0, a set of values {x0,y0,z0,x1,y1,z1,…} can be obtained by iterating (3). A parameter p can be added to drop the former p iterated values; that is, we only keep the values {xp+1,yp+1,zp+1,xp+2,yp+2,zp+2,…}. Collect the first component {xp+1,xp+2,…,xp+M} since the plain-image size is M×N. Do the preprocessing for {xp+1,xp+2,…,xp+M} by updating the values as xp+i=abs(xp+i×1014)-floor(abs(xp+i×1014)), i=1,2,⋯,M.Sort the updated sequence and we obtain{x¯p+1,x¯p+2,…,x¯p+M}. By finding the position of x¯i(i=p+1,…,p+M) in {xp+1,xp+2,…,xp+M}, a sequence H={h1,h2,…,hM} can be generated. Similarly, do the same process for the second component {yp+1,yp+2,…,yp+N}, and we can get another sequence L={l1,l2,…,lN}.


## 2.1.  Circulant Matrix

Definition 1.
Suppose that there is ann×n matrix  Cn having the following form:
(1)Cn=(c0c-1⋯c2-nc1-nc1c0c-1⋱c2-n⋮c1c0⋱⋮cn-2⋯⋱⋱c-1cn-1cn-2⋯c1c0).
Then Cn is called a Circulant matrix [19] if  c-k=cn-k (1≤k≤n-1).Definition 2.
Suppose that there is anm×n matrix Gm×n (m≤n) possessing the following form:(2)Gm×n=(g0g-1⋯gm-ngm-1-n⋯⋯g1-ng1g0⋱⋱⋱⋱⋱⋮⋮⋱⋱⋱⋱⋱⋱⋮gm-2⋱⋱⋱⋱⋱gm-ngm-1-ngm-1gm-2⋯g1g0g-1⋯gm-n).
Then Gm×n is called a generalized Circulant matrix if gm-k=gm-k-n (1≤k≤m-1).
We can also considerGm×n as a generalized Circulant matrix when m>n, considering that GT has the same form as (2).


## 2.2. The Time-Delay Lorenz System

The time-delay Lorenz system [20] is a three-dimensional system defined by
(3)x˙=m(y-x)+u1,y˙=rx-y-xz+u2,z˙=xy-bz(t-τ)+u3,
where τ is an unknown time-varying lag. When m=10, r=28, b=83, τ=1/6, and  u1=u2=u3=0, the time-delay Lorenz system (3) is in the chaotic state [20]; that is, the two chaotic sequences are nonperiodic, nonconvergent, and noncorrelated with two different sets of initial values x0, y0, and z0. More details of the time-delay Lorenz system can be found in [20].


## 2.3. Random Chaotic Sequence

Given initial valuesx0, y0, and  z0, a set of values {x0,y0,z0,x1,y1,z1,…} can be obtained by iterating (3). A parameter p can be added to drop the former p iterated values; that is, we only keep the values {xp+1,yp+1,zp+1,xp+2,yp+2,zp+2,…}. Collect the first component {xp+1,xp+2,…,xp+M} since the plain-image size is M×N. Do the preprocessing for {xp+1,xp+2,…,xp+M} by updating the values as xp+i=abs(xp+i×1014)-floor(abs(xp+i×1014)), i=1,2,⋯,M.Sort the updated sequence and we obtain{x¯p+1,x¯p+2,…,x¯p+M}. By finding the position of x¯i(i=p+1,…,p+M) in {xp+1,xp+2,…,xp+M}, a sequence H={h1,h2,…,hM} can be generated. Similarly, do the same process for the second component {yp+1,yp+2,…,yp+N}, and we can get another sequence L={l1,l2,…,lN}.


## 3. Image Encryption Scheme

In general, the adjacent pixels in the plain-image have high correlation. In order to reduce this correlation and resist known-plaintext attacks, position permutation is considered as the first encryption operation.


### 3.1. Position Permutation Based on Circulant Matrix

Noting that the generalized Circulant matrix (Definition2 for rectangular image) can be extended directly, we mainly discuss the case of Circulant matrix (Definition 1 for square image). For a Circulant matrix, its elements satisfy c-k=cn-k (1≤k≤n-1); that is, all elements in a diagonal or a subdiagonal line are equal. Moreover, the total number of elements along the subdiagonal line c-k and cn-k (1≤k≤n-1) is n. For example, for a Circulant matrix A3×3 which satisfies a0=11, a1=12, a2=13, a-1=13, a-2=12,  the total number of a-k and a3-k (k=1,2) is 3, which equals that on the diagonal line:
(4)A3×3=(111213131112121311).Based on the Circulant matrix, we can perform position permutation along the diagonal or antidiagonal lines in the upper and lower triangular matrices. This approach is different from the traditional method of row and column position shuffling. Of course, it will have problems if we apply the chaotic sequences to the diagonal and antidiagonal lines directly because the number of elements on these lines is not equal. This is the main reason why the existing approaches do not perform position shuffling along the diagonal and antidiagonal instead of row and column. Here we can solve this problem using the properties of the Circulant matrix.(1) Permutation along Diagonal Direction. In the upper part of an image matrix An×n (we denote the plain-image as A in this paper), the number of elements on subdiagonal and diagonal lines is n if the elements on the subdiagonal line of   a-k (1≤k≤n-1) are patched by the elements on the subdiagonal line of an-k. In this case, the position permutation along the diagonal direction can be carried out. This is equivalent to having position permutation in the n diagonal matrix  Bn×(2n-1), of which the elements are(5)B(i,j)={A(i,j),if1≤i≤n,i≤j≤n,A(2n+1-j,n+1-i),ifn+1≤j≤2n-1,j-n+1≤i≤n,0,others.The position shuffled matrixC¯n×n is governed by (6) when B is permuted along the diagonal direction:
(6)C¯(i,j)={B(i,j),if1≤i≤n,i≤j≤n,B(n-j+1,2n+1-i),if2≤i≤n,1≤j≤i-1.We will go back to the traditional position scrambling approach by columns if the elements of the matrixBn×(2n-1) are computed by (7) instead of (5):
(7)B(i,j)={A(i,j),if1≤i≤n,i≤j≤n,A(i,j-n),ifn+1≤j≤2n-1,j-n+1≤i≤n,0,others.(2) Position Permutation along Antidiagonal Direction. For the case of antidiagonal, the permutation procedures are similar to those for the diagonal case. The difference is that we make use of the lower triangular of matrix An×n that is equivalent to performing position scrambling in the n antidiagonal matrix  D(2n-1)×n, of which the elements are given by
(8)D(i,j)={A(i,j),if1≤i≤n,n-i+1≤j≤n,A(j,i-n),if1≤j≤n-1,n+1≤i≤2n-j,0,others.Thus, the shuffled imageEn×n is obtained by (9) when D is permuted along the antidiagonal direction:
(9)E(i,j)={D(i,j),if1≤i≤n,n-i+1≤j≤n,D(n+j,i),if1≤i≤n-1,1≤j≤n-i.Similarly, this is equivalent to the traditional position scrambling by rows when we set the matrixD(2n-1)×n by
(10)D(i,j)={A(i,j),if1≤i≤n,n-i+1≤j≤n,A(i-n,j),if1≤j≤n-1,n+1≤i≤2n-j,0,others.In the decryption process, we just need to rewrite (5), (6), (8), and (9) reversely. In fact, the traditional permutation is a special case of our method. Of course, the method can be extended to image shuffling of any size according to the generalized Circulant matrix (here we do not discuss this in detail; please refer to the Appendix). After being permutated along the diagonal and antidiagonal directions, the process of position permutation is finished. For example, Figure 1(b) is the cipher-image of Rice shown in Figure 1(a) using three rounds of our method. Figure 1(c) is the cipher-image using traditional row and column method, also by three rounds. The figures show that the proposed method has a better shuffling performance.Encryption: (a) plain-image of Rice, (b) shuffled image using our method, and (c) shuffled image using traditional method.
(a)
(b)
(c)


### 3.2. Block-Based Diffusion

To make a bit-change in the plain-image result in a big difference in the cipher-image, we adopt block-based diffusion for a fast implementation. The diffusion steps are stated as follows:Step   1. Read the permuted image to a M×N matrix E. Then divide E into two equal blocks, that is, E=[E1;E2]. Each block has size (M/2)×N. We can add a random row to E if M is not an even number.Step  2. Extract MN/2 values from {xp+1,yp+1,zp+1,xp+2,yp+2,zp+2,…} to form the set S. Then convert the elements into decimal value in the following way:
(11)Si=mod((abs(Si)-floor(abs(Si)))mod=×1014,256(abs(Si)-floor(abs(Si)))),i=1,2,…,MN2,
where abs(x) returns the absolute value of x, floor(x) rounds x to the nearest integer less than or equal to x, and mod returns the remainder after division. Rearrange S into a matrix W in the order from left to right and top to bottom.Step  3. Carry out the following gray-level diffusion [22] and the cipher-image F will eventually be generated as F=[E¯1;E¯2]:
(12)E¯1=E1+˙t×W;E¯2=E2+˙E¯1,
where t=mod(∑‍E2,M/2)+mod(∑‍E2,N)+mod(∑‍E2,M/2+N)+1. Here, +˙ represents the modular addition under 256. The parameter t is dependent on the plain-image.


### 3.3. Encryption Procedures

The detail procedures of the proposed image encryption algorithm based on time-delay Lorenz system and Circulant matrix are described as follows.Step 1.
Read the plain-image and put its pixels in a two-dimensional matrixA.Step 2.
Generate two chaotic sequencesH and L by iterating the time-delay Lorenz system from the initial condition x0, y0, z0, p.Step 3.
Perform position permutation onA using H and L according to the property of the Circulant matrix. A new permuted matrix E is then formed.Step 4.
Generate the pseudorandom matrixW of size (M/2)×N from the chaotic system again.Step 5.
Divide the matrixE into two parts, that is,  E=[E1;E2], and compute the control parameter t=mod(∑‍E2,M/2)+mod(∑‍E2,N)+mod(∑‍E2,M/2+N)+1.Step 6.
Perform pixel value diffusion according to (12). Then the cipher-image is obtained as F=[E¯1,E¯2].To enhance the security, we can perform more rounds from Step5 to Step 6, that is, multiple diffusion. In this paper, we take 5 rounds. The decryption process is just the reverse of the encryption one.


## 3.1. Position Permutation Based on Circulant Matrix

Noting that the generalized Circulant matrix (Definition2 for rectangular image) can be extended directly, we mainly discuss the case of Circulant matrix (Definition 1 for square image). For a Circulant matrix, its elements satisfy c-k=cn-k (1≤k≤n-1); that is, all elements in a diagonal or a subdiagonal line are equal. Moreover, the total number of elements along the subdiagonal line c-k and cn-k (1≤k≤n-1) is n. For example, for a Circulant matrix A3×3 which satisfies a0=11, a1=12, a2=13, a-1=13, a-2=12,  the total number of a-k and a3-k (k=1,2) is 3, which equals that on the diagonal line:
(4)A3×3=(111213131112121311).Based on the Circulant matrix, we can perform position permutation along the diagonal or antidiagonal lines in the upper and lower triangular matrices. This approach is different from the traditional method of row and column position shuffling. Of course, it will have problems if we apply the chaotic sequences to the diagonal and antidiagonal lines directly because the number of elements on these lines is not equal. This is the main reason why the existing approaches do not perform position shuffling along the diagonal and antidiagonal instead of row and column. Here we can solve this problem using the properties of the Circulant matrix.(1) Permutation along Diagonal Direction. In the upper part of an image matrix An×n (we denote the plain-image as A in this paper), the number of elements on subdiagonal and diagonal lines is n if the elements on the subdiagonal line of   a-k (1≤k≤n-1) are patched by the elements on the subdiagonal line of an-k. In this case, the position permutation along the diagonal direction can be carried out. This is equivalent to having position permutation in the n diagonal matrix  Bn×(2n-1), of which the elements are(5)B(i,j)={A(i,j),if1≤i≤n,i≤j≤n,A(2n+1-j,n+1-i),ifn+1≤j≤2n-1,j-n+1≤i≤n,0,others.The position shuffled matrixC¯n×n is governed by (6) when B is permuted along the diagonal direction:
(6)C¯(i,j)={B(i,j),if1≤i≤n,i≤j≤n,B(n-j+1,2n+1-i),if2≤i≤n,1≤j≤i-1.We will go back to the traditional position scrambling approach by columns if the elements of the matrixBn×(2n-1) are computed by (7) instead of (5):
(7)B(i,j)={A(i,j),if1≤i≤n,i≤j≤n,A(i,j-n),ifn+1≤j≤2n-1,j-n+1≤i≤n,0,others.(2) Position Permutation along Antidiagonal Direction. For the case of antidiagonal, the permutation procedures are similar to those for the diagonal case. The difference is that we make use of the lower triangular of matrix An×n that is equivalent to performing position scrambling in the n antidiagonal matrix  D(2n-1)×n, of which the elements are given by
(8)D(i,j)={A(i,j),if1≤i≤n,n-i+1≤j≤n,A(j,i-n),if1≤j≤n-1,n+1≤i≤2n-j,0,others.Thus, the shuffled imageEn×n is obtained by (9) when D is permuted along the antidiagonal direction:
(9)E(i,j)={D(i,j),if1≤i≤n,n-i+1≤j≤n,D(n+j,i),if1≤i≤n-1,1≤j≤n-i.Similarly, this is equivalent to the traditional position scrambling by rows when we set the matrixD(2n-1)×n by
(10)D(i,j)={A(i,j),if1≤i≤n,n-i+1≤j≤n,A(i-n,j),if1≤j≤n-1,n+1≤i≤2n-j,0,others.In the decryption process, we just need to rewrite (5), (6), (8), and (9) reversely. In fact, the traditional permutation is a special case of our method. Of course, the method can be extended to image shuffling of any size according to the generalized Circulant matrix (here we do not discuss this in detail; please refer to the Appendix). After being permutated along the diagonal and antidiagonal directions, the process of position permutation is finished. For example, Figure 1(b) is the cipher-image of Rice shown in Figure 1(a) using three rounds of our method. Figure 1(c) is the cipher-image using traditional row and column method, also by three rounds. The figures show that the proposed method has a better shuffling performance.Encryption: (a) plain-image of Rice, (b) shuffled image using our method, and (c) shuffled image using traditional method.
(a)
(b)
(c)


## 3.2. Block-Based Diffusion

To make a bit-change in the plain-image result in a big difference in the cipher-image, we adopt block-based diffusion for a fast implementation. The diffusion steps are stated as follows:Step   1. Read the permuted image to a M×N matrix E. Then divide E into two equal blocks, that is, E=[E1;E2]. Each block has size (M/2)×N. We can add a random row to E if M is not an even number.Step  2. Extract MN/2 values from {xp+1,yp+1,zp+1,xp+2,yp+2,zp+2,…} to form the set S. Then convert the elements into decimal value in the following way:
(11)Si=mod((abs(Si)-floor(abs(Si)))mod=×1014,256(abs(Si)-floor(abs(Si)))),i=1,2,…,MN2,
where abs(x) returns the absolute value of x, floor(x) rounds x to the nearest integer less than or equal to x, and mod returns the remainder after division. Rearrange S into a matrix W in the order from left to right and top to bottom.Step  3. Carry out the following gray-level diffusion [22] and the cipher-image F will eventually be generated as F=[E¯1;E¯2]:
(12)E¯1=E1+˙t×W;E¯2=E2+˙E¯1,
where t=mod(∑‍E2,M/2)+mod(∑‍E2,N)+mod(∑‍E2,M/2+N)+1. Here, +˙ represents the modular addition under 256. The parameter t is dependent on the plain-image.


## 3.3. Encryption Procedures

The detail procedures of the proposed image encryption algorithm based on time-delay Lorenz system and Circulant matrix are described as follows.Step 1.
Read the plain-image and put its pixels in a two-dimensional matrixA.Step 2.
Generate two chaotic sequencesH and L by iterating the time-delay Lorenz system from the initial condition x0, y0, z0, p.Step 3.
Perform position permutation onA using H and L according to the property of the Circulant matrix. A new permuted matrix E is then formed.Step 4.
Generate the pseudorandom matrixW of size (M/2)×N from the chaotic system again.Step 5.
Divide the matrixE into two parts, that is,  E=[E1;E2], and compute the control parameter t=mod(∑‍E2,M/2)+mod(∑‍E2,N)+mod(∑‍E2,M/2+N)+1.Step 6.
Perform pixel value diffusion according to (12). Then the cipher-image is obtained as F=[E¯1,E¯2].To enhance the security, we can perform more rounds from Step5 to Step 6, that is, multiple diffusion. In this paper, we take 5 rounds. The decryption process is just the reverse of the encryption one.


## 4. Numerical Experiments

In this section, some experimental results of the proposed image encryption method are presented. The work is accomplished in a computer of Intel(R) Core(TM) i3-2350M, 2.30 GHz CPU, running Windows 7. The plain-image is Lena with size256×256 shown in Figure 2(a). Figure 2(b) is the cipher-image obtained by the proposed method using the initial values x0=-0.175, y0=0.216, z0=-0.811, and p=30.Encryption and decryption: (a) plain-image of Lena, (b) cipher-image, (c) decrypted image with keyx0+10-14, (d) decrypted image with key y0+10-14, (e) decrypted image with key z0+10-14, and (f) decrypted image with key p=31.
(a)
(b)
(c)
(d)
(e)
(f)


## 5. Security Analysis

(1) Key Space. The key space refers to the total number of distinct keys which can be used in the algorithm. A good encryption algorithm should have a large key space to avoid brute-force attacks. In the proposed algorithm, the size of the key space can reach p×1042 if the computation precision is 10-14. This value justifies that our encryption algorithm has a sufficiently large key space.(2)  Sensitivity Analysis. High key sensitivity means that a little change in the key will cause a huge change in the decrypted image. In our algorithm, with the original keys x0=-0.175, y0=0.216, z0=-0.811,  and p=30, we encrypt the plain-image Lena to the cipher-image shown in Figure 2(b). The decrypted image using a key with only a tiny difference, that is,  x0=-0.17500000000001, is depicted in Figure 2(c). Figure 2(d) shows the decrypted image with a wrong key of y0=0.21600000000001. Figures 2(e) and 2(f) are similar wrong decrypted images. They all indicate that the new algorithm is very sensitive to the key.(3)  Histogram Analysis. The histogram, also called the gray scale distribution, displays and reflects the distribution of pixel values in an image. Figures 3(a) and 3(b) are the plain-image and cipher-image of Cameraman while Figures 3(c) and 3(d) are their histograms, respectively. These diagrams show that an attacker can hardly launch any statistical attack because the gray values are distributed uniformly.Histogram plots: (a) plain-image, (b) cipher-image, (c) histogram of (a), and (d) histogram of (b).
(a)
(b)
(c)
(d)(4) Correlation Coefficient Analysis of Two Adjacent Pixels. To evaluate the correlation between two adjacent pixels in the plain and the cipher-images, the following equation is used [6, 11]:
(13)rxy=cov(x,y)D(x)D(y),
where cov(x,y)=(1/N)∑i=1N(xi-E(x))(yi-E(y)), D(x)=(1/N)∑i=1N(xi-E(x))2, E(x)=(1/N)∑i=1Nxi.First of all, 2500 pairs of adjacent pixels of the Rice image (Figure4(a)), in horizontal, vertical, and diagonal directions, are randomly selected. The results are listed in Table 1, in which we find that the correlation coefficients of two adjacent pixels in the cipher-image are almost zero. Figures 4(b) and 4(c) show the gray-level distribution of two horizontally adjacent pixels in the plain-image and the cipher-image, respectively.Table 1
Correlation coefficients.
Model
Plain-image
Cipher-image
Horizontally
0.97799
-
0.02068
Diagonally
0.98125
-
0.04076
Vertically
0.96017
0.04687Correlation of two horizontally adjacent pixels in (a) plain-image, (b) correlation of (a), and (c) correlation of the cipher-image.
(a)
(b)
(c)(5)  Differential Attack. To avoid differential attacks, NPCR and UACI [12, 23, 24] defined by (14) are commonly used to test the influence of a one-pixel change in the plain-image on the resultant cipher-image. For an effective encryption algorithm, the cipher-image should show a significant change even for a tiny change in the plain-image:
(14)NPCR=∑ijD(i,j)M×N×100%UACI=1M×N[∑i,j‍|C1(i,j)-C2(i,j)|255]×100%,
where M×N is the image size and D(i,j) is determined by C1(i,j) and C2(i,j); namely, if C1(i,j)=C2(i,j), then D(i,j)=0; otherwise, D(i,j)=1. Here, C1 and C2 are the two cipher-images whose corresponding plain-images are different only in one pixel.In the proposed method, a small difference in the plain-image can affect the whole cipher-image. The results can be found in Table2 (here, we randomly choose a pixel at position (201,100)). The percentage of pixel changed in the cipher-image is over 99.5% even with a one-bit difference in the plain-image. The UACI values are over 33.4%, as required for good protection [22, 23, 25]. Thus, the proposed encryption method is able to resist the differential attack.Table 2
NPCR and UACI of two encrypted images with one-bit difference.
Image
Size
UACI
NPCR
Cameraman
256
×
256
0.33589
0.99579
Lena
256
×
256
0.33562
0.99578
Straw
512
×
512
0.33446
0.99594
Gravel
512
×
512
0.33457
0.99594(6) Speed Analysis. There are already many image encryption algorithms suggested. Here, we compare the speed of our method with [10, 11, 21], which is also composed of two stages of permutation and diffusion. The average time cost is listed in Table 3. The data show that the proposed method is fast and efficient, which is more suitable to encrypt large images.Table 3
Time test (second).
Image size
Reference  [10]
Reference [11]
Reference [21]
Our method
256
×
256
0.172
0.156
1.342
0.055
512
×
512
0.702
0.764
5.257
0.195(7)  Information Entropy Analysis. Commonly, we take the information entropy as a tool to measure the strength of a cryptosystem. It is defined by (15) for message s:
(15)H(s)=∑‍p(si)log1p(si).
Here, p(si) represents the probability of occurrence of si and log means the base 2 logarithm. The information entropy is 8 for any ideal random sequence. Using the proposed algorithm, we can get the results for different images, as listed in Table 4. They indicate that the cryptosystem can resist the entropy attacks.Table 4
Information entropy.
Image
Lena
Grass
Cameraman
Straw
Value
7.990
7.992
7.990
7.991(8)  Other Comparisons. Compared with the existing methods [2, 22, 26], the proposed one using the time-delay chaotic system can show more natural phenomena when generating the chaotic sequence. Besides, only two blocks are decomposed with a new control parameter t which is determined by the plain-image and so the implementation time is shorter. To make the attack infeasible, any algorithm should have the ability to resist the chosen-plaintext, the chosen-ciphertext, and the known-plaintext attacks. However, in spite of good randomness and high computational efficiency, the keystream remains unchanged in the encryption process of [27], which cannot offer the security requirement [28]. In [26], the UACI is less than 28% while we can reach 33% in our method. All these show good performance by using the proposed scheme.


## 6. Conclusions

In this paper, a novel image encryption method based on chaotic maps and Circulant operation has been proposed. Position scrambling is employed to remove the high correlation between adjacent pixels in the plain-image. Meanwhile, to avoid statistical attacks, the modular function by blocks is adopted in the diffusion stage. Security analyses on (1) key space and key sensitivity, (2) histogram, (3) correlation between two adjacent pixels, (4) differential attacks, and (5) operating speed have been carried out. All the results are satisfactory which justify the effectiveness of the proposed algorithm for image encryption. Furthermore, the algorithm can be extended to images at any aspect ratio by the generalized Circulant matrix (see Definition2 and  appendix).



---

*Source: 384067-2013-07-14.xml*