1 Introduction

In this fast growing telecommunication field, huge volumes of data are transmitted on unsecure transmission lines, and it is imperative to ensure security of individual users who utilize these communication facilities. In order to mitigate the cryptanalysts deciphering methods, robust and efficient cryptographic algorithms are required. The chaotic systems, with their attractive properties such as unpredictability, randomness, and control by virtue of initial conditions, are becoming popular in encryption applications [1, 2]. Several approaches are seen in the literature that applies to concepts from the chaotic systems. In [3], a hyperchaotic encryption scheme is presented. This scheme shuffles the image matrix and creates confusion by application of hyperchaotic systems. The use of the chaotic Kolmogorov is also demonstrated in the application to the encryption of data [4]. While the use of chaotic approach in two- dimensional system provides some interesting results, the application of 3D chaotic cat maps assisted in establishing more secure systems [5]. The cat map based algorithms provide the shuffling capability and exhibit inherent property of repeating within a definite time period. The Arnold cat map [5, 6] exhibits this property, therefore, in this work, we employ an encryption system that overcomes the issues of small time period, which is inherent in this system. A detailed study of nonlinear components of block ciphers is presented in [1027].

2 The proposed encryption algorithm

The proposed image encryption algorithm is a two-step process. In the first step, the objective is to shuffle the pixel locations in the original image. The second step employs the nonlinear chaotic algorithm (NCA) chaotic map to encrypt the image.

2.1 Arnold cat map

The Arnold cat map is classified as a two-dimensional invertible chaotic map [5, 6]. The discrete form of this two-dimensional map with dimensions of M×M is defined as

$$ \left [ \begin{array}{c} x_{n + 1} \\ y_{n + 1} \end{array} \right ] = \left [ \begin{array}{c@{\quad}c} a & b \\ c & d \end{array} \right ]\left [ \begin{array}{c} x_{n} \\ y_{n} \end{array} \right ]\ \mathrm{mod}\ M. $$
(1)

In Eq. (1), the original location of the pixel (x n ,y n ) is transformed to new coordinates, (x n+1,y n+1). The positive integers a, b, c, and d are used in this transformation, with the condition that adbc=1. All the quantities in Eq. (1) are integers and are bounded by the dimension “M” where M can take values {0,1,2,…,M−1} and the values of a, b, c, and d are chosen in such a way that abcd is always equal to 1. Equation (1) can be modified as

$$ \left [ \begin{array}{c} x_{n + 1} \\ y_{n + 1} \end{array} \right ] = \left [ \begin{array}{c@{\quad}c} 1 & e \\ f & ef + 1 \end{array} \right ]\left [ \begin{array}{c} x_{n} \\ y_{n} \end{array} \right ]\ \mathrm{mod}\ M. $$
(2)

The value of the secret key can be mapped as suitable parameters in Eq. (2). For example, the parameters e and f in combination with number of iterations N, can be extracted from the key, and incorporated in the Arnold cat map. With the progression of iterations, the pixels are randomized, and ultimately a stage arrives, which restores the original locations of the pixels. In other words, if the period is represented by T, the original image is reconstructed after T number of iterations. The choice of N is critical with reference to the inherent period T that depends upon other initial conditions. In image encryption applications, it is desired to have a large value of Cameraman’s periods, given as T. Table 1 lists the Cameraman’s period for Arnold cat map with parameters f and e from Eq. (2). It is advisable to choose the number of iterations by keeping in view the period and its implications.

Table 1 Cameraman’s iterated period

2.2 NCA map

The nonlinear chaotic algorithm map evolved in an effort to address the security concerns of one-dimensional logistic chaotic maps. This NCA map relies on nonlinear functions, time and space parameters, and continuous change in the encryption key [7]. In this work, the power function (1−x)β is applied to NCA maps. In addition, the tangent function is used in place of linear functions, originally proposed for the one-dimensional chaotic maps, therefore, the NCA is defined as

$$X_{N + 1} = \lambda\operatorname{tg} (\alpha X_{N})(1 - X_{N})^{\beta } $$

where

$$X_{N} \in(0,1),\quad n = 0,1,2,\ldots. $$

The values of the parameters λ, α and β are critical, therefore, it is important to list some important properties pertaining to their selection. These parameters take positive values with the slope not less than 1 and x N+1>x N when X N =1/(1+β). The parameter λ can be defined as

$$\lambda= \mu\operatorname{ctg} \biggl( \frac{\alpha}{1 + \beta} \biggr) \biggl( 1 + \frac{1}{\beta} \biggr)^{\beta }, $$

and

$$\mu> 0. $$

The final version of the NCA map after the incorporation of μ=1−β −4, which is obtained from experimental analysis, is given as

where x n ∈(0,1), α∈(0,1.4], β∈[5,43], or x n ∈(0,1), α∈(1.4,1.5], β∈[9,38], or similarly these variable are also defined as x n ∈(0,1), α∈(1.5,1.57], β∈[3,15]. The range of α and β are determined by iterative experimental analysis.

2.3 Galois field exponent transformation

A primitive irreducible polynomial, x 8+x 4+x 3+x 2+1 is selected from Table 2 and its elements from Galois field GF(28) in binary and exponent form are listed in Table 3. Multiple irreducible polynomials are available to generate the elements of GF(28). These polynomials are listed in Table 2.

Table 2 Primitive irreducible polynomial of degree 8
Table 3 The element of Galois field GF(28) in binary and exponent form with respect to primitive irreducible polynomial x 8+x 4+x 3+x 2+1

2.4 The proposed image encryption system

In order to distort the image, the pixels are shuffled so that it becomes difficult to reconstruct or identify the original image after certain number of iterations. The Galois field GF(28) transformation is applied to image data so that the picture appears distorted. It is difficult to figure out the period of the Arnold cat map of a distorted image. The design of the key accommodates the information about the block size and seed of NCA for various parameters. The three subsystems of the proposed encryption system utilize the NCA map, Arnold cat map, and GF(28) exponent substitution. The NCA map incorporates the shuffle capability in subblocks of equal sizes. The subblocks can be of sizes 128, 64, 32, 16, 8, 4, and 2 pixels. The smaller subsizes incur more processing overhead and as a result, increase the complexity of the proposed algorithm. For example, for an image of dimensions 256×256 and subblock size of 16×16, the original image is split in to 256 (16×16) nonoverlapping linearly organized blocks. The subblocks are numbered from 1 to 256, so that in the next step of the algorithm, a sequence S i of NCA maps is generated. These maps are scaled by a factor of 1000 and the resulting values are quantized in the integer interval of [1,256]. The exponent values are substituted to distort the image and to enhance the confusion capability of the proposed algorithm (see Table 3). This process is similar to the substitution and introduces nonlinearity in the original data.

2.5 Security analysis

In this work, we test the resistance of the proposed encryption method against statistical attacks. We present the results of correlation analysis, number of pixel change rate (NPCR) analysis, and unified averaged changed intensity (UACI) analysis. These analyses provide an insight into encryption capability of the proposed algorithm.

3 Correlation

In a plain image, the adjacent pixels show a high level of correlations. The encryption process organizes and substitutes data in order to increase randomness. With the data transformed into highly random format, the correlation of adjacent pixels decreases drastically. Therefore, a measure of correlation among pixels is a good indication in determining the resistance to statistical attacks [8]. The correlation coefficient for each pair of pixels is determined as

$$R_{AB} = \frac{\operatorname{cov} (A,B)}{\sqrt{D(A)} \sqrt{D(B)}} $$

where

$$D(A) = \frac{1}{N}\sum_{i = 1}^{N} \bigl(A_{i} - E(A)\bigr)^{2} $$

and

$$\operatorname{cov} (A,B) = \frac{1}{N}\sum_{i = 1}^{N} \bigl(A_{i} - E(A)\bigr) \bigl(B_{i} - E(B)\bigr) $$

the quantity E(A) is determined as

$$E(A) = \frac{1}{N}\sum_{i = 1}^{N} A_{i} . $$

The gray scale values of two adjacent pixels are represented by A and B. The image used in this work is shown in Fig. 1 and 3,000 pairs of adjacent pixel samples are randomly selected. Figures 1(a) and 1(b) show the original image and its encrypted version, respectively. It is evident from Table 4 that the correlation coefficient of the red, green, and blue component is drastically reduced after applying the proposed encryption algorithm; hence, the zero correlation property is approximately satisfied. In addition, the proposed algorithm reduces the correlation between red, green, and blue components.

Fig. 1
figure 1

(a) Colored plain-image. (b) Cipher-image

Table 4 Correlation coefficients of Red, Green, Blue components of plain image and ciphered image

In order to further enhance the correlation analysis, we test the same position correlation and relative adjacent position correlation, and apply it to all three layers of color.

The results of same position correlation analysis for red, green, and blue colors are shown in Table 5. This table shows that the correlation coefficient for the cipher image is very close to zero. In Table 6, the correlation analysis is performed for adjacent position analysis for all layers of colors. Once again, the results show that the encryption process substantially reduces the correlation coefficients.

Table 5 Same position correlations between Red, Green, Blue components
Table 6 Adjacent position correlations between Red, Green, Blue components

A comparison of correlation coefficient among Rhouma’s, Sahar’s, and Liu’s methods is presented in Table 7. The values of the results of the correlation analysis for the proposed algorithm depict better performance for all the three colors.

Table 7 Comparison of correlations between Red, Green, Blue components

3.1 NPCR and UACI analysis

The number of pixel change rate analysis tests the behavior of all the pixels in an image in response to a change in one pixel in the original image. A value closer to 1 shows high sensitivity of the encryption system in a reaction to a single change in the input. The mathematical representation is presented as follows:

$$\mathrm{NPCR} = \frac{\sum_{l,m,n} D(l,m,n)}{P \times Q \times3}. $$

In another test called UACI, the average intensity of difference between original image and encrypted image is evaluated. The higher values of UACI show more effectiveness of the encryption algorithm and resistance to differential attacks. The expression for this test is given as

where C 1 and C 2 are cipher images resulting from two images that differ only by one byte. The D(l,m,n) is of size MN∗3 and is defined as

$$D(l,m,n) = \left \{ \begin{array}{l@{\quad}l} 1, & \mbox{if } C_{1}(l,m,n) = C_{2}(l,m,n) \\ 0, & \mbox{otherwise} . \end{array} \right . $$

The results of NPCR and UACI analyses are shown in Table 8. The proposed encryption algorithm shows relatively lower values of NPCR, while the UACI analysis yields comparable results to the benchmark algorithm. The performance of the proposed algorithms is better than the method presented in [8, 9].

Table 8 NPCR and UACI of ciphered image with one bit different between the plain images

4 Conclusion

In this work, a novel encryption method based on Galois field GF(28) transformation, Arnold cat map and NCA chaotic system is proposed. The behavior of this method is similar to the substitution box like encryption algorithms. The proposed algorithm is tested for its encryption strength by the use of statistical analysis. The results show that the performance of the proposed algorithms is comparable to other prevailing methods.