Elsevier

Information Sciences

Volume 486, June 2019, Pages 340-358
Information Sciences

Fast image encryption algorithm based on parallel computing system

https://doi.org/10.1016/j.ins.2019.02.049Get rights and content

Abstract

To ensure security, image encryption algorithms generally include two stages: permutation and diffusion. The traditional image permutation algorithms include the sort-based permutation algorithm, Arnold-based permutation algorithm, Baker-based permutation algorithm and the cyclic shift permutation algorithm, etc. However, these algorithms have the disadvantages of either high time complexity or poor permutation performance. Therefore, in combination with cyclic shift and sorting, this paper proposes a permutation algorithm that can not only guarantees good permutation performance but also guarantee low time and space complexity. Most importantly, this paper proposes a parallel diffusion method. This method ensures the parallelism of diffusion to the utmost extent and achieves a qualitative improvement in efficiency over traditional streaming diffusion methods. Finally, combined with the proposed permutation and diffusion, the paper proposes a computational model for parallel image encryption algorithms.

Introduction

With the rapid development of information technology, network security problems have increasingly become a key research issue. The traditional DES (Data Encryption Standard) and AES (Advanced Encryption Standard) are suitable only for encrypting textual information, and certain defects exist in the current schemes used to encrypt images and video. To solve these problems, a large number of image encryption algorithms have been proposed.

Generally, an image encryption algorithm includes two steps of diffusion and permutation. To remove the strong correlations between adjacent pixels and conceal the important and valid information in the plain image, the permutation phase shuffles and exchanges pixel positions. Then, the diffusion phase conducts pixel values replacement and performs mutual diffusion among different pixels.

Based on the granularity of the permutation element, permutation can be divided into pixel-level permutation, DNA-level permutation and bit-level permutation. The so-called DNA-level permutation refers to the permutation of two bits of a pixel as one element. Pixel-level permutation only changes pixels’ position without changing pixel value. DNA-level permutation and bit-level permutation can change both pixels’ value and location, but the time-consumption will increase. In general, an image encryption algorithm will choose to perform permutations at different granularities to achieve the best permutation performance. Classical permutation algorithms include Arnold-based permutation algorithm [4], [17], [22], [38], [42], Baker-based image permutation algorithm [6], [12], cyclic shift permutation algorithm [1], [13], [29], [30], [31], [41], and sort-based permutation algorithm [6], [9], [24], [25], [26], [32]. However, these algorithms may cause high time complexity or poor permutation performance, or lengthy permutation preprocessing. Sort-based permutations achieve the best permutation effect but they increase the cost of permutation, while cyclic shift permutation reduce the computational time and memory costs, but impair the permutation effect. Therefore, in this study, we conduct a sort-based permutation between the different rows and columns of an image and perform cyclic shift permutation within each row and column. An analysis of the correlations between adjacent pixels in the permuted image shows that the proposed permutation minimizes the time and space complexity while ensuring good permutation performance.

Diffusion algorithm can also be subdivided into bit-level diffusion, DNA-level diffusion [1], [9], [10], [30], [39] and pixel-level diffusion [4], [6], [7], [12], [13], [17], [22], [24], [25], [26], [28], [29], [31], [32], [34], [36], [38], [41], [42] according to the size of the diffusion granularity. Because the values are limited to 0 and 1 in bit-level diffusion, this approach has difficulty resisting chosen plain attacks. Therefore, few approaches employ bit-level diffusion. In both DNA-level and pixel-level diffusion, the core idea is that the plain image is first converted into its corresponding DNA or pixel stream; then, each unit is successively diffused from left to right, thus combining previous units. This approach greatly enhances the sensitivity of the image, making it more resistant to chosen plain attacks. However, with the increasing volume of information, the amount of data in the image will inevitably increase significantly. Using the traditional streaming diffusion method makes it difficult to guarantee efficient algorithm operation. Therefore, we propose a method of parallel diffusion that operates under distributed or parallel computing conditions [5], [11], [20], [40] called the Twice Independent Diffusion of each group and Bidirectional Diffusion of the first two pixels taken from all the groups (TIDBD). In the TIDBD method, we first divide the image into the corresponding different groups according to the parallel resources available in the computing system. Then, we conduct the diffusion within each group under the condition of parallelism. Further, the last two pixels of each group are taken to conduct bidirectional diffusion, and the diffused pixels are replaced in each group. Next, we exchange the last two pixels with the first two pixels within each group, and perform a second diffusion within each group under the condition of parallelism. Finally, the groups are combined to create the diffused image. A simulation analysis shows that TIDBD ensures that the algorithm is highly sensitive to the plain image and that its parallel computing approach greatly improves the diffusion efficiency, especially when the data volume is large. In addition, the proposed TIDBD can fully utilize computing resources. Finally, combined with permutation, this paper provides a new parallel model for image encryption algorithms.

In addition, due to their sensitivity to the initial values, pseudo-randomness, and the ergodicity of chaotic systems, many image encryption algorithms [1], [4], [6], [7], [12], [13], [17], [22], [29], [30], [31], [32], [38], [41], [42] based on chaotic system have been proposed. In this study, we adopt the coupled map logistic lattices (CML) as the sequence or key generator of permutation and diffusion.

The remainder of this paper is divided into five sections. Section 2 introduces the CML system. Section 3 introduces the image encryption process, while Section 4 discusses the decryption process. Section 5 demonstrates the security performance of the proposed algorithm through various simulation analyses. Finally, Section 6 provides a summary and concludes the paper.

Section snippets

Introduction to the CML system

CML was proposed by Kaneko [8], and is described in Eq. (1).{xn(i)=(1e)f(xn1(i))+(e/2)(f(xn1(i1))+f(xn1(i+1))),1iLifi=1,i1=L;ifi=L,i+1=1,where f(x)=μx(1x) is the logistic map, and f(x) is in chaos when μ > 3.57, L denotes the number of lattices. Fig. 1(a)–(b) show the Kolmogorov-Sinai entropy density h and the Kolmogorov-Sinai entropy breadth hu of CML, where h and hu are the normalizations of the lyapunov exponent λ (see Ref. [38]) and defined in Eq. (2). h indicates the average

Encryption process

In this study, the operating environment of the algorithm was a computer running a Windows 7 operating system with a 1.8-GHz CPU, 8 GB of memory and MATLAB 2016a.

 Input: An image P with a size of m × n, where m denotes the rows of P, n denotes the columns of P. The group number p is determined according to the available parallelism in the computing system.
 Output: Cipher C.
 Process:
 Step 1: A 480-bit of secret key K is given.
 Step 2: Divide K into 12 equal subkeys (k1, k2, k3, k4, k5, k6, k7, k8, k9

Decryption process

 Input: cipher image C, secret key K
 Output: plain image P.
 Step 1: Using the secret key K, μ, e and x0(i)(i = 3, 4, 6, …, 12) are obtained. CML is iterated 200+max(m, n, 2p+4) times; then, M, N, A, B, D, E will be obtained.
       {le=length(Fr)Gr(0)=(A(r)×105)mod256Gr(1)=(B(r)×105)mod256μ=3.99+0.01×D(r)x1=E(r)xi+1=μxi(1xi)Fr(i)=(Gr(i+1)floor(Gr(i1)+105×Gr(i)/255+xi×105))mod256(i=1,2,3,...,le).(6)
 Step 2: Using M and N to permute C to generate P1, the permutation process is opposite of the

Encryption performance

Without loss of generality, we analyzed respectively the performances of the proposed encryption algorithms for 1-, 127- and 256-group. In addition, for color images, we concatenate together the R, G, and B components and then encrypt the result. Specifically, Fig. 11(a) is Lena_color with a size of 512 × 512, and Fig. 11(c) is the image formed by concatenating R, G and B components of Lena_color. Fig. 11(d) is the encrypted version of Fig. 11(c), and (b) is the synthesized version of Fig. 11

Conclusions

In this paper, we proposed a fast image encryption algorithm suitable for both distributed and parallel computing environments and provided the calculation model for this algorithm. Similar to previous algorithms, the proposed algorithm also includes the two stages: namely permutation and diffusion. During permutation, sorting and cyclic shift are combined to achieve high efficiency while guaranteeing the permutation performance. During diffusion, the proposed TIDBD method is applied. The

Acknowledgement

This research is supported by the National Natural Science Foundation of China (Nos: 61672124 and 61370145), the Password Theory Project of the 13th Five-Year Plan National Cryptography Development Fund (No: MMJJ20170203). Compliance with ethical standards Conflict of interest. The authors declare that they have no conflicts of interest.

References (42)

  • X.Y. Wang et al.

    A color image encryption with heterogeneous bit-permutation and correlated chaos

    Opt. Commun.

    (2015)
  • X.Y. Wang et al.

    A novel chaotic image encryption scheme using DNA sequence operations

    Opt. Lasers Eng.

    (2015)
  • X.Y. Wang et al.

    Image encryption algorithm based on multiple hash functions and cyclic shift

    Opt. Lasers Eng.

    (2018)
  • X.J. Wu et al.

    A novel lossless color image encryption scheme using 2D DWT and 6D hyperchaotic system

    Inf. Sci.

    (2016)
  • Y. Wu et al.

    Local Shannon entropy measure with statistical tests for image randomness

    Inf. Sci.

    (2013)
  • L. Xu et al.

    A novel bit-level image encryption algorithm based on chaotic maps

    Opt. Lasers Eng.

    (2016)
  • Y.Q. Zhang et al.

    A symmetric image encryption algorithm based on mixed linear-nonlinear coupled map lattice

    Inf. Sci.

    (2014)
  • Y.Q. Zhang et al.

    Spatiotemporal chaos in mixed linear-nonlinear coupled logistic map lattice

    Phys. A

    (2014)
  • Y.Q. Zhang et al.

    An image encryption scheme based on the MLNCML system using DNA sequences

    Opt. Lasers Eng.

    (2016)
  • Z.L. Zhu et al.

    A chaos-based symmetric image encryption scheme using a bit-level permutation

    Inf. Sci.

    (2011)
  • O.S. Faragallah

    Optical double color image encryption scheme in the Fresnel-based Hartley domain using Arnold transform and chaotic logistic adjusted sine phase masks

    Opt. Quantum Electron.

    (2018)
  • Cited by (342)

    • A robust bit-level image encryption based on Bessel map

      2024, Applied Mathematics and Computation
    View all citing articles on Scopus
    View full text