A self-adaptive parallel encryption algorithm based on discrete 2D-Logistic map is developed according to the position scrambling and diffusion of multi-direction in variable space of spatial chaos. The binary sequences b1b2b3···bn are obtained according to the user key, in which the binary sequence 0 and 1 denote distribution mode of processors and the number of binary sequence n denotes cycle number. Then the pseudorandom 2D matrix is generated by 2D-Logistic map, and adaptive segmentation is applied in image matrix and pseudorandom matrix according to the value and the number of binary sequence. The parallel operation is used among blocks to improve efficiency and meet real-time demand in transmission processes. However, the pixel permutation is applied in partitioned matrix through ergodic matrix generated by pseudo-random matrix-block to decrease the correlation of adjacent pixels. Then the pixel substitution is used for fully diffusing through cipher block chaining mode until n cycles. The proposed algorithm can meet the three requirements of parallel operation in image encryption and the real-time requirement in transmission processes. The security is proved by theoretical analysis and simulation results.
With the development of technology, more and more fields are related to discrete-time multivariable system which mathematical model is deviation equation. Those discrete-time multivariable systems are called space discrete dynamic system [
where f() is a nonlinear function, also known as forcing function. Ω Î (–∞,+∞) is a real number. μ > 0 is a constant. m, n and xm,n are states of space system. In fact, difference Equation (1) is the discrete form of one-dimensional convection Equation (2).
Particularly, when n = n0, ω = 0, Equation (2) is denoted as
Because n is constant n0, Equation (3) can be expressed as follows:
Therefore, 1D-discrete dynamic system Equation (4) is a special case of 2D-discrete dynamic system Equation (1). When, Equation (4) is expressed as
This is classic 1D-Logistic map. When
2D-discrete dynamic system is denoted as:
Study shows that the system Equation (6) is chaotic state with 2 > μ >= 1.55 and ω Î (–1,1), and has two iteration variables which is known as 2D-Logistic map.
There are two control parameters in space chaotic system. Space chaotic orbits are extremely sensitive to the change of control parameters. When μ = 1.96, ω = –0.05, the chaotic behavior of space chaotic system is described as
Parallel encryption algorithm refers to encrypting one image simultaneously by two or more processing elements (PE for short). Each PE has its separate memory space and computing resource. One superior parallel encryption mode must meet the following demands [
1) Good diffusion effect Small changes in plain text or key have a big influence on cipher text is called diffusion which is known as avalanche effect. Generally CBC mode is used to realize fully diffusing in existing encryption algorithms. However, the application of CBC makes algorithm steps become serial mode. Therefore, the encryption algorithm is not only parallel operation but also can achieve fully diffusing.
2) Load balance of computing quantity Computing time depends on the PE with the longest running time. Therefore, the calculated quantity of every PE should be equal for a good parallel encryption algorithm.
3) Critical section management Two or more PE may read and write one memory area in parallel operation, and this memory area is called
critical section. Therefore, one good parallel algorithm should avoid this situation.
It is assumed that one original image of size is encrypted by r processing elements, and meets the divisibility of r dividing M. The encryption process is as follows:
Step 1. Key generation. The binary sequence is generated according to user key, where the binary values 0 and 1 represent two distribution forms of processing elements, and the number of binary sequence is cycle number.
Step 2. Image segmentation. The plain-text matrix is divided into r blocks. If bn = 0, PEi encrypts the pixels of matrix block which is from the row to the row of plain-text matrix. If bn = 1, PEi encrypts the pixels of matrix block which is from the column to the column of plain-text matrix, where.
Step 3. Each matrix block is scrambled and mixed by one processing element.
Step 4. Go to Step 1 until the end of the loop.
Assumed that the original image is P, and the pixel matrix is denoted as
where. A numerical matrix K of size is produced according to 2D-discrete dynamical system, which is represented in Equation (8).
where. In the following, the steps of the proposed algorithm are described in detail.
Step 1. The distribution form of processing elements is defined according to binary sequences.
When bn = 0, the numerical matrix K is divided into r blocks in row direction. The ith numerical matrix block is denoted as
Then the numerical matrix block is transformed into ergodic matrix in Equation (10).
where.
When bn = 1, the numerical matrix K is divided into r blocks in column direction. The ith numerical matrix block is denoted as
Then the numerical matrix block is converted into ergodic matrix in Equation (12).
where.
Step 2. Position scrambling. We assume that the ith matrix block Pi is scrambled according to ergodic matrix in PEi.
If bn = 0, the ith matrix block is scrambled according to ergodic matrix, after scrambling the matrix is denoted as in Equation (13).
If, the ith matrix block is scrambled according to ergodic matrix, and after scrambling the matrix is denoted as in Equation (14).
Step 3. Image scrambling can destroy correlation between two adjacent pixels, but it cannot change pixel value thus the histogram is the same with original image. Therefore, the scrambled image should be further encrypted. For example, to encrypt the ith scrambled matrix block with bn = 0, and the result is denoted as in Equation (15).
where Go to step 1 until the end of the loop. The detailed encryption diagram is described in
When n = 1, the pixel mixing based on chaining structure can make a small change of one pixel have effect on other pixels in the same block. And when n = 2, the influence can spread into whole image, which meet the demands of parallel encryption algorithms. In addition, the data volume is exactly same for every processing element which can realize load balance. Finally, there is no problem of critical section.
Experimental analysis of the proposed algorithm in this letter has been done. To estimate the performance of the proposed scheme, we carry out a series of experiments. The experimental simulation is all implemented using Matlab8.0 running on a personal computer with i7 – 3770 s 2.8 GHz*4 processor. The parameter is selected as m = 1.96, ω = –0.05.
The distribution of cipher image is very important because it has to hide the redundancy of original image and should not leak any information about original image or any relation between encrypted image and original image. In statistical simulation, the parameters are selected as b1 = 0, b1 = 1 and b1b2 = 10 respectively. The simulation results are described in
We know that two main cryptographic properties of a good cipher are confusion and diffusion. Confusion means to complicate the dependence of the statistics of cipher image on the statistics of plain image. Diffusion means to spread out the influence of a single plain image symbol over many cipher-image symbols so as to hide the statistical structure of plain image. Differential attack can be avoided effectively through confusion and diffusion. In order to illustrate the performance of resistance on differential attack directly, we change the pixel value
of
In the following, we illustrate the performance of resistance on differential attack numerically. The number of pixels change rate (NPCR for short) and the unified average change intensity (UACI for short) are the significant measure of resistance on differential attack. NPCR and UACI denote the number of pixels change and the unified average change intensity in cipher image respectively, while we change one pixel value in the plain image randomly. Assume that there are two cipher images (,) whose plain images only have one different pixel. The pixels in position of these two cipher images are denoted as and, respectively. Then one matrix D is defined with the same size of, and we assume that if, then, otherwise,. Therefore, NPCR and UACI can be represented as
We change the pixel value of
An encryption scheme has to be key-sensitive, meaning that a tiny change in keys will cause decryption failure completely. The key sensitivity test is performed in detail according to the following steps:
•
• Then, the corresponding decrypted image with m = 1.96001 is presented in
• Again, when one pixel in PE3 is changed, the corresponding decrypted image with the correct key is presented in
Finally, when one pixel in PE3 is changed, the corresponding decrypted image with the correct key is presented in
Based on the simulation mentioned above, we can draw a conclusion that if there is a tiny change in the key explained before, we can obtain a completely different image from the original image. And if there is a tiny change in the plain image, the decrypted image is completely different form the original image, while b1b2 are chosen as “10” respectively. Those simulation results show high key-sensitivity and plain-text sensitivity of the
proposed algorithm.
Entropy H(x) was introduced by Shannon in 1949 firstly and can be obtained through the following formula:
where n is the number of gray scale levels in an image, is the occurrence probability of gray scale in the image and meets the following formula:
The entropy value will be 8 for images that are produced totally randomly. The closer the entropy of an algorithm is 8, the less predictable, and thus the more secure the scheme. The cipher-image entropy values have been measured using six plain images in USC-SIPI data base and the results are shown in
Each pixel in the digital image is not independent of other pixels, but has significant correlation. One of purpose for an encryption algorithm is to decrease correlation between adjacent pixels and realize zero co-correlation properties. To show correlation between adjacent pixels in encrypted images, we take
Three parallel algorithms are simulated in running time test. They are Zhou’s algorithm [
In this paper, the security property of a class of image encryption algorithms based on chaotic maps bas been discussed. And some findings on the security problem of the existing parallel encryption algorithms have been reported. Based on discrete 2D-Logistic map, a self-adaptive parallel encryption algorithm has been developed according to the position scrambling and diffusion of multidirection in variable space of spatial chaos. The results of numerical analysis show that the proposed algorithm can meet the three requirements of parallel operation in image encryption and the real-time requirement in transmission processes. The security has been proved by theoretical analysis and simulation results.
The authors are greatly indebted to anonymous reviewers for their valuable comments and suggestions. This research is supported in part by the National Natural Science Foundation of China under Grant No. 60874091, the Six Projects Sponsoring Talent Summits of Jiangsu Province under Grant No. SJ209006, the Foundation for Doctoral Program of High Education of China under Grant No. 20103223110003, the MOE Research in the Humanities and Social Sciences Planning Fund of China (Grant No. 12YJAZH120), and the Postgraduate Scientific Innovation Project for Universities of Jiangsu Province under Grant No. CXZZ11-0401.