1 Introduction

Nowadays, the wide extension of communication networks makes access to digital images very easy. Therefore, the main concern of researchers in this area is to propose new techniques for making the images transmission more secure and preventing the illegal users and attacker from accessing it. Image encryption is used to achieve image security. Several conventional encryption schemes as AES [2] and DES have been introduced. But such schemes are time consuming and take long time for image due to its characteristics as redundancy and correlation between pixels. One solution to minimize the computational time of image encryption with such algorithm and achieve low cost secure system is using selective encryption that selects some parts only of the image to encrypt as in [15, 38, 41]. Many recent chaotic based systems for image encryption are introduced [3, 33, 64]. These systems provide a good security level due to the chaos’s properties as the ergodicity, the pseudo randomness and sensitivity to the initial values. The one dimension chaotic map has many advantages due to its simplicity and it can be easily implemented so it used to generate pseudorandom key sequence for real time encryption of large data. But such chaotic has a disadvantage in its security due to the simplicity and small key space. So the improvement of the one dimension chaotic maps security becomes an important research point as proposed in [35, 40, 42, 48]. Chebyshev map has been used in several image encryption schemes as in [31, 54, 61]. Tent map too has been used for image encryption in [12, 21, 36]. Chebyshev’s chaotic is iterated as following:

$${z}_{n+1}=\cos \left(k\ast {\mathit{\cos}}^{-1}\left({z}_n\right)\right)\kern2.25em \mathrm{where}\ {z}_n\in \left[-1,1\right]$$
(1)

Where n is the time index, k is the control parameter and z0 is the initial value.

While Tent map is a one dimension map given in Eq. (2).

$${z}_{n+1}=\mu * \left(1-2\ast Abs\left[{z}_n-0.5\right]\right)$$
(2)

Where: z0 is initial value, zn ∈[0, 1] ,μ ∈(0, 2) is control parameter and.

Abs. is the absolute value.

The contribution of this paper is to introduce a new image encryption scheme which achieves high level of security and efficiency that makes it suitable for real time secure image communications. It is based on simple XOR, shift rotations operations and uses DCPG which combines Chebyshev and Tent maps for generating pseudorandom sequence. The proposed DCPG needs three control parameters which are used as shared secret keys between the sender and receiver. This increases the key space of the proposed scheme and hence its strength against different types of attacks. Also, hash function of the input image; which is used as the forth secret key; is used for generation of the values of shift rotations required by the scheme. This makes the scheme immune against chosen plaintext attack. Hash functions provide message integrity and authentication [46]. The scheme includes only two rounds of simple operations so it is fast compared to other existing schemes. The results and analysis prove that our scheme is highly secure and has low cost.

Our paper is organized as following: related work is presented in Section 2, Section 3 presents our proposed scheme, Section 4 introduces performance analysis and simulation results, Section 5 gives comparison analysis. Finally, Section 6 gives conclusions.

2 Related work

Information security can be achieved using two main tools; cryptography and steganography. These two topics have attracted many researchers recently. Steganography schemes have been proposed in many publications as in [1, 4, 8, 10, 26,27,28, 52] while many cryptography schemes have been presented as in [5,6,7, 9, 11, 19, 20, 23, 25, 39, 51, 53, 62]. Random behavior is one of chaotic system characteristics besides its sensitivity to initial conditions. Chaos differs from cryptography that finite sets define encryption transformations, while chaos has meaning only on real numbers [49]. A block chaotic image encryption scheme based on self-adaptive modelling is presented in [60]. In [50], a chaos-based encryption technique to protect ECG packets for time critical tele cardiology applications is proposed. An image encryption algorithm based on double chaotic maps and SHA-3 is presented in [59]. A two-dimensional Logistic-adjusted-Sine map is proposed in [29] and tried to examine the algorithm against attacks. In [55] an encryption based on 2D Logistic map is proposed and it tries to ensures both confusion and diffusion properties from statistical point of view. Logistic map is introduced in [47] by dividing image into blocks and XOR by chaotic map. A Chebyshev function is used to generate a secret key for encrypt the image and uses 2D Chebyshev to enhance the security in [30]. Rectangular transform with Tent map form a combination for encryption and generation of secret key in [56]. In [44], authors propose 1D–chaotic map to reconstruct the measurement matrix for compress sensing that used for encryption and decryption. A combination of the pixel shuffling and changing the gray values of image pixels is suggested using Baker map to shuffle and logistic map to encrypt in spatial domain [24]. A parallel chaotic hashing model is proposed to generate chaotic hash function [37]. Video encryption method is introduced in [32] where encrypt frames using 4D and 3D Arnolds cat map and generate pseudorandom numbers by using Chebyshev map. Bakers map encrypts image in spatial domain in [13]. Selective encryption scheme scalable video coding is used to perform transparent encryption in [14]. In [34], authors propose interleaved computer-generated holograms encryption. The memristive hyper chaotic system, cellular automata and DNA sequence operations is proposed to encrypt image in [16]. A bit level and chaotic based image encryption was proposed in [58]. In [18], image encryption is achieved with synchronous permutation and diffusion technique. Rotation matrix bit level permutation and block diffusion is used for image in [63]. Authors used confusion and diffusion based on improved Skew Tent map for image encryption in [22]. An image encryption scheme using chaotic and AES is introduced in [57]. The pseudo randomness of a sequence produced by a chaotic map can be tested by using one of the most popular standards for the pseudo-random number test of the binary data, named SP800–22 tests by NIST. NIST includes 17 type of testing [43] which are listed in Table 1. These tests compute one or more P values. The test passes if computed P value is above 0.01, otherwise, the test fails.

Table 1 SP800–22 tests on the generated 106 bit binary sequence with 103 iterations of experiments

3 The proposed scheme

3.1 Double chaotic pseudorandom generator (DCPG)

A single one dimension chaotic maps as Chebyshev or Tent maps is simple but needs only one control parameter and the initial value. In the proposed scheme, a combination of Chebyshev and Tent map will be used as shown in Fig. 1 and Eq. (3):

$${z}_{n+1}=\mu * \left(1-2\ast \left( Abs\left[ Cos\left(k\ast {\mathit{\cos}}^{-1}\left({z}_n\right)\right)-0.5\right]\right)\right)$$
(3)
Fig. 1
figure 1

The proposed DCPG

Where μ and k are control parameters, z0 is initial value and zn ∈[0, 1]. So combining two chaotic maps increases the number of control parameters to three values. These three values besides the hash value of the input image will be used as secret keys known only to the communicating parties. With this increase of secret values, the key space is increased and also the strength of the scheme against different types of attacks.

The results of testing a binary sequence of length 106 bit generated by the proposed Tent-Chebyshev chaotic map by SP800–22 with 103 iterations of experiments are given in Table 1 and Fig. 2. As in Table 1, all the computed P-values are above 0.01 and the generated sequence pass all SP800–22 tests.

Fig. 2
figure 2

The results of SP800–22 tests on the generated 106 bit binary sequence

According to Table 1 and Fig. 2, the generated sequence from the proposed DCPG has a good randomness.

3.2 The encryption scheme

The flowchart of the proposed scheme is shown in Fig. 3.

Fig. 3
figure 3

Encryption Flowchart

The proposed encryption scheme includes two rounds. Assume a M × N grayscale image P, its pixel falls in the interval [0,255]. To encrypt the image P, we do the following:

  1. Step 1:

    Compute the hash function H for the input image P by using SHA-512 which consists of 512 bit. This value will be a secret value known only to the two communicating parties. Convert H to decimal digits sequence then pad it with zeros to be multiple of 4 then divide the padded sequence into 4 equal length sequences {h1, h2, …..h4}.

  1. Step 2:

    Compute the 4 values of the shift rotations as following:

    $${r}_i={h}_i \operatorname {mod}\ 8,1\kern0.5em \le \kern0.5em i\le 4$$
    (4)
  2. Step 3:

    Read the input grayscale image P as a M × N matrix of pixels. Reshape this matrix into a 1× MN one, B then divide it into blocks Bi of size 1 × 8 where;

    $$B=\left\{{B}_1,{B}_2,\dots \dots \dots \dots, {B}_{MN/8}\right\}\ \mathrm{and}\ {B}_i=\left\{{b}_1,{b}_2,\dots {b}_8\right\},\kern0.5em 1\kern0.5em \le \kern0.5em i\le \mathrm{MN}/8$$
    (5)
  3. Step 4:

    Select appropriate values for μ, k and z0 for the proposed DCPG which generates a chaotic sequence z = {z1, z2,…… zM × N} using Eq. (3) then convert this floating point sequence z into an integer sequence in the range [0, 255], C = {C1, C2CM × N}, using the Eq. (6).

    $${C}_k= floor\ \left({z}_k\times {10}^{14}\ \right) \operatorname {mod}\ 256,k=1,2,\dots .,M\times N$$
    (6)

    Divide C into MN/8 blocks Ki, each of size 1 × 8, where Ki = {k1, k2k8},

    i = 1,2,…., MN/8 as in Fig. 4.

Fig. 4
figure 4

Image preparation and chaotic sequence generation

  1. Step 5:

    The encryption scheme consists of two rounds.

The 1 st round of encryption

Figure 5 indicates the first round for each block Bi. In this figure, bi` = k1 ⊕ b2i ⊕ b3i ⊕ b4i ⊕ b5i ⊕ b6i ⊕ b7i ⊕ b8i.

Fig. 5
figure 5

First round of operation for each input block Bi

where b1i,b2i, b3i, b4i, b5i, b6i, b7i, b8i are the 8 pixels of each input block Bi and b1o,b2o,b3o, b4o, b5o, b6o, b7o, b8o are the corresponding 8 pixels of each output block Bo .

From Fig. 4, the 8 pixels of the each output block Bo are given by the following equations:

$${b}_{2\mathrm{o}}={b}_{1\mathrm{i}}\oplus {b}_{\mathrm{i}}`$$
(7)
$${b}_{3\mathrm{o}}=\left[{\left({b}_{2\mathrm{o}}\right)}^{<<<\mathrm{r}1}\right]\oplus {k}_2\oplus {b}_{2\mathrm{i}}$$
(8)
$${b}_{4\mathrm{o}}={b}_{3\mathrm{o}}\oplus {k}_3\oplus {b}_{3\mathrm{i}}$$
(9)
$${b}_{5\mathrm{o}}=\left[{\left({b}_{4\mathrm{o}}\right)}^{<<<\mathrm{r}2}\right]\oplus {k}_4\oplus {b}_{4\mathrm{i}}$$
(10)
$${b}_{6\mathrm{o}}={b}_{5\mathrm{o}}\oplus {k}_5\oplus {b}_{5\mathrm{i}}$$
(11)
$${b}_{7\mathrm{o}}=\left[{\left({b}_{6\mathrm{o}}\right)}^{<<<\mathrm{r}3}\right]\oplus {k}_6\oplus {b}_{6\mathrm{i}}$$
(12)
$${\displaystyle \begin{array}{l}{b}_{8o}={b}_{7o}\oplus {k}_7\oplus {b}_{7i}\\ {}{b}_{1o}=\Big[\left({b}_{8o}\Big){}^{<<<r4}\right]\oplus {k}_8\oplus {b}_{8i}\end{array}}$$
(13)

According to these equations, if the value of any pixel of the 8 pixels that consist an input block Bi of the original image changed, it affects the 8 pixels of the corresponding output block, Bo of the cipher image. To extend the effect of the original image one pixel change to all the pixels of the cipher image, a second round of operation will be added as following:

The 2 nd round of encryption

  • Join the output bocks Bo of the first round to form a matrix of size (1 × MN), then reshape it into another one of size (\(\frac{MN}{8}\)×8), with number of row =\(\frac{MN}{8}\) and number of columns = 8.

  • For each row Ri of 8 pixels apply the following function:

    $$Ri= Ri\oplus Ri-1\mathrm{where}\kern0.75em 2\le \kern0.5em i\le \frac{MN}{8}$$
    (14)
  • Finally reshape the output matrix into a M × N matrix to obtain the cipher image C.

3.3 The decryption scheme

By reversing the steps of the encryption scheme, we can recover the input plain image through the decryption as following:

The 1 st round of decryption

It is as the 2nd round of encryption:

  • Read the input grayscale cipher image C as a M × N matrix of pixels. Reshape it into another one of size (\(\frac{MN}{8}\)×8), with number of row =\(\frac{MN}{8}\) and number of columns = 8.

  • For each row RCi of 8 pixels apply the following function:

    $$RCi= RCi\oplus RCi-1\ \mathrm{where}\kern0.75em 2\le \kern0.5em i\le \frac{MN}{8}$$
    (15)

The 2 nd round of decryption

It is as the 1 st round of encryption:

  1. 1.

    Reshape the matrix obtained from the1 st round of decryption into a 1× MN one, Bc then divide it into blocks Bci of size 1 × 8 where

    $$B\mathrm{c}=\left\{{Bc}_1,{Bc}_2,\dots \dots \dots, {Bc}_{MN/8}\right\}\ \mathrm{and}\ {Bc}_i=\left\{{bc}_1,{bc}_2,\dots {bc}_8\right\},1\kern0.5em \le \kern0.5em i\le \mathrm{MN}/8$$
    (16)
  2. 2.

    Use the shared secret values μ, k and z0 for the proposed DCPG to generates the same chaotic sequence used for encryption z = {z1, z2,…… zM × N} using Eq. (3) then convert this floating point sequence z into an integer sequence in the range [0, 255], C = {C1, C2CM × N}, using the Eq. (6). Divide C into MN/8 blocks Ki, each of size 1 × 8, where Ki = {k1, k2k8}, i = 1,2,…., MN/8 as in Fig. 4.

  3. 3.

    bc1i,bc2i, bc3i, bc4i, bc5i, bc6i, bc7i, bc8i are the 8 pixels of each input block Bci and bc1o,bc2o,bc3o, bc4o, bc5o, bc6o, bc7o, bc8o are the corresponding 8 pixels of each output block Bco. The 8 pixels of the each output block Bco are given by the following equations:

    $${bc}_{2\mathrm{o}}=\kern0.5em \left[{\left({bc}_{2\mathrm{i}}\right)}^{<<<\mathrm{r}1}\right]\oplus {k}_2\oplus {bc}_{3\mathrm{i}}$$
    (17)
    $${bc}_{3\mathrm{o}}=\kern0.5em {bc}_{4\mathrm{i}}\oplus {k}_3\oplus {bc}_{3\mathrm{i}}$$
    (18)
    $${bc}_{4\mathrm{o}}=\kern0.5em \left[{\left({bc}_{4\mathrm{i}}\right)}^{<<<\mathrm{r}2}\right]\oplus {k}_4\oplus {bc}_{5\mathrm{i}}$$
    (19)
    $${bc}_{5\mathrm{o}}=\kern0.5em {bc}_{6\mathrm{i}}\oplus {k}_5\oplus {bc}_{5\mathrm{i}}$$
    (20)
    $${bc}_{6\mathrm{o}}=\left[{\left({bc}_{6\mathrm{i}}\right)}^{<<<\mathrm{r}3}\right]\oplus {k}_6\oplus {bc}_{7\mathrm{i}}$$
    (21)
    $${bc}_{7\mathrm{o}}={bc}_{7\mathrm{i}}\oplus {k}_7\oplus {bc}_{6\mathrm{i}}$$
    (22)
    $${bc}_{8\mathrm{o}}==\left[{\left({bc}_{8\mathrm{i}}\right)}^{<<<\mathrm{r}4}\right]\oplus {k}_8\oplus {bc}_{1\mathrm{i}}$$
    (23)
    $${bc}_{1\mathrm{o}}={k}_1\oplus {bc}_{2\mathrm{i}}\oplus {bc}_{2\mathrm{o}}\oplus {bc}_{3\mathrm{o}}\oplus {bc}_{4\mathrm{o}}\oplus {bc}_{5\mathrm{o}}\oplus {bc}_{6\mathrm{o}}\oplus {bc}_{7\mathrm{o}}\oplus {bc}_{8\mathrm{o}}$$
    (24)
  4. 4.

    Join the output bocks Bco of the 2nd round to form a matrix of size (1 × MN), then reshape it into M × N matrix to obtain the plain image P

4 Performance analysis and simulation results

The laptop used is Intel(R) Core(TM) i5-6200UCPU@2.30GHz, 4GB RAM, Windows 10 (64-bit), MATLAB 2017a. The proposed scheme is applied to Lena, Cameraman, Baboon and Airplane images all of size 256 × 256. The results are given in Fig. 6. It is noted that our scheme converts the original images (as in Fig. 6a-d) into a nearly random encrypted images (Fig. 6e-h). While the decrypted images (Fig. 6i-l) are the same as the original images (Fig. 6a-d).

Fig. 6
figure 6

Simulation results: a Lena; b Cameraman; c Baboon; d Airplane image; e-h Corresponding encrypted images of (a)-(d); i-l Corresponding decrypted images of (e)-(h); m-p corresponding histograms of (a)-(d); q-t corresponding histograms of (e)-(h)

4.1 Numerical example

An explanation numerical example for Lena (256 × 256) grayscale image encryption will be considered in this section:

  1. 1.

    Firstly, the hash function H of the Lena image is computed using SHA-512 as:

    $${\displaystyle \begin{array}{l}\mathrm{H}=\mathrm{a}68\mathrm{f}82367\mathrm{bb}3\mathrm{faff}26893059185417909\mathrm{a}3656\mathrm{cc}7\mathrm{c}8\mathrm{f}52922310800217\mathrm{a}74104\mathrm{ecd}38\mathrm{d}7\mathrm{a}672914\mathrm{a}00\mathrm{d}\\ {}\mathrm{c}770\mathrm{d}01362\mathrm{aff}5\mathrm{cd}3\mathrm{a}91053\mathrm{c}6\mathrm{e}8\mathrm{bd}0\mathrm{ea}17\mathrm{e}105\mathrm{f}1\mathrm{be}6\mathrm{acd}\end{array}}$$

Convert H to decimal digits sequence then pad it with zeros to be multiple of 4 then divide the padded sequence into 4 equal length sequences {h1, h2, …..h4}.

Compute the 4 values of the shift rotations using Eq. (4).

  1. 2.

    Select appropriate values for μ, k and z0 for the proposed DCPG where

    $$\mu =0.399,k=5.782595812953629\ \mathrm{and}\ {z}_0=0.234$$

    which generates a chaotic sequence of length 65,536 known as

    z = {0.10858, − 0.45069,0.23039,……………,−0.51860, 0.04314, − 0.66262} using Eq. (3) then convert this floating point sequence z into an integer sequence in the range [0, 255], C = {173, 30, 131,……………., 243, 188, 8}, using the Eq. (6) and divide it into 8192 blocks, each of size 1 × 8.

  2. 3.

    Read Lena image as a 256 × 256 matrix of pixels. Reshape this matrix into a 1× 65,536 one, and then divide it into blocks of size 1 × 8.

  3. 4.

    The blocks of Lena image and the corresponding blocks of the DCPG with the four shift rotations are processed by the function in Fig. 5.

  4. 5.

    Join the output bocks of the first round to form a matrix of size (1 × 65,536), then reshape it into another one of size (8192 × 8), with number of row = 8192 and number of columns =8 then apply the function in Eq. 14 to each row. Finally reshape the output matrix into a 256 × 256 matrix to obtain the cipher image shown in Fig. 6e. Then recover the original plain image by reversing the steps of encryption.

The validity of our scheme will be proved using histogram, entropy, correlation coefficient, NPCR, UACI, PSNR, MDMF and key space properties.

4.2 Histogram analysis

Digital image pixel intensities distribution is graphically known as histogram and it is unique for each image (as shown in Fig. 6m-p). This makes it subject to statistical attacks. For a robust encryption, the encrypted image has to have nearly uniform distribution or be fairly flat (as shown in Fig. 6q-t). So our scheme has a good robustness against statistical attacks.

4.3 Correlation analysis

Generally, the pixels of a digital image are highly correlated. So a robust encryption has to be able to break this correlation to resist statistical attack.

If N pairs of adjacent pixels of the tested images with grayscale values as (xi, yi),

i = 1,2,….., N are randomly selected. The correlation coefficients between x={xi}

and y={yi} is given by the equation:

$$\frac{\sum_{i=1}^N\left({x}_i-E(x)\right)\left({y}_i-E(y)\right)}{\sqrt{\sum_{i=1}^N{\left({x}_i-E(x)\right)}^2}\sqrt{\sum_{i=1}^N{\left({y}_i-E(y)\right)}^2}}$$
(25)

Where, E(x) represents the expected value of x.

For the proposed scheme, a randomly selected N = 4096 pairs of adjacent pixels in the horizontal, vertical, and diagonal directions of the tested images will be considered. Their correlation coefficients are calculated and listed in Table 2. Figure 7 indicates the correlation of Lena and its encrypted image in the three directions. From Table 2, we find the correlation coefficients between adjacent pixels in the original images a-d close to 1, while the correlation coefficients between adjacent pixels in the encrypted images e-h close to 0 which means that the adjacent pixels in encrypted images are uncorrelated and hence our scheme is strong against correlation analysis attack.

Table 2 Correlation coefficients of the tested images
Fig. 7
figure 7

Correlation Coefficient: a Lena; b Lena horizontal correlation; c Lena vertical correlation; d Lena diagonal correlation; e Cipher image of Lena; f Cipher image horizontal correlation g Cipher image vertical correlation; h Cipher image diagonal correlation

4.4 Entropy analysis

The entropy of an image measures the randomness of its pixels as:

$$H=\sum \limits_{I=0}^Lp(i){\mathit{\log}}_2p(i)$$
(26)

Where, L is the number of grayscale levels of images, and p(i) is the probability of the gray value i occurrence. For an ideal random image, the maximum value of entropy is 8. Generally larger entropy value of cipher image means better encryption scheme. Table 3 indicates the entropy values of the tested original images and their corresponding encrypted images. From this table, the entropy values of the encrypted images are close to 8, so the encrypted images can resist the entropy analysis attack.

Table 3 Entropy of tested images

4.5 NPCR and UACI analysis

Number of Pixels Change Rate (NPCR) and Unified Average Changing Intensity (UACI) can be used for measuring the effect of a single pixel change on the whole encrypted image and are defined as:

$$NPCR=\frac{\sum_{i,j}D\left(i,j\right)}{M\times N}\times 100\%$$
(27)
$$UACI=\frac{1}{M\times N}\frac{\sum_{i,j}\left|{C}_1\left(i,j\right)-{C}_2\left(i,j\right)\right|}{L}\times 100\%$$
(28)

Where C1(i, j) and C2(i, j) are the values of the pixels in the position (i, j) of the two cipher –images C1 and C2 respectively; L is the number of gray levels. D(i, j) is given by the following equation:

$$D\left(i,j\right)=\left\{\begin{array}{c}0,\kern0.5em {C}_1\left(i,j\right)={C}_2\left(i,j\right)\kern1.25em \\ {}1,\kern0.75em otherwise\kern5.75em \end{array}\right.$$
(29)

The theoretical values of NPCR and UACI are 99.61% and 33.46%, respectively. The higher their values are, the better the encryption. To measure these values for our scheme, a pixel was chosen randomly and change it value, then by using the encrypted image of the original image C1 and the encrypted image of the modified image C2 for computing NPCR and UACI for the tested images and listed it in Table 4.

Table 4 NPCR and UACI of the tested images

4.6 PSNR (peak signal to noise ratio) analysis

PSNR is a good measure of the degradation of an image after encryption. It is given by the following equation:

$$PSNR=20\times {\mathit{\log}}_{10}\left(\frac{255}{\sqrt{MSE}}\right)$$
(30)
$$MSE=\frac{1}{W\times H}\sum \limits_{i,j}{\left({IC}_1\left(i,j\right)-{IC}_2\left(i,j\right)\right)}^2$$
(31)

Where IC1(i, j) is the original image pixel intensity at the index (i, j). IC2(i, j) is the cipher image pixel intensity.

Better security can be achieved with PSNR value of encrypted images less than 10 dB. Table 5 shows the images PSNR. All PSNR values are below 10 dB.

Table 5 PSNR of the tested images

4.7 Maximum deviation measuring factor (MDMF)

MDMF is another measure of the quality of an image encryption. A good image encryption maximizes the deviation between the original image and its corresponding cipher image. MDMF can be calculated as follows:

Firstly for an image of size M × N, histogram of both the original and encrypted image is determined, then the absolute difference between these two values is calculated (Di at the gray level i). Finally, the area under the absolute difference curve is divided by the total area to give MDMF as in the following equation:

$$MDMF=\frac{\left(\frac{D_1+{D}_{256}}{2}+{\sum}_{i=2}^{255}{d}_i\right)}{M\times N}$$
(32)

The higher the MDMF is, the more secure the encryption. Table 6 shows the MDMF of the tested images.

Table 6 MDMF of the tested images

4.8 Key sensitivity test

In a good image encryption scheme, changing one bit in the secret key results in a totally different encrypted image. For our proposed scheme, a single bit change is made in each one of the three control parameters of the chaotic sequence generator, μ, kz0 which are secret values known only to the communicating entities to test its effect on the cipher images. Figure 8a is Lena image while Fig. 8b is its cipher image, with μ = 0.399, k = 5.782595812953629 and z0 = 0.234 . Figure 8c represents the cipher image of Lena with changing k to 4.782595812953629. Figure 8d represents the cipher image of Lena with changingμ to 0.398. Figure 8e represents the cipher image of Lena with changing z0 to 0.254.

Fig. 8
figure 8

Key sensitivity test

The decrypted images in case of changing the secret keys, kz0, μ are in Fig. 8f-h respectively. It is obvious that the decryption with a little key change fails to recover the original plain image. So our proposed scheme is very key sensitive.

Table 7 listed the correlations coefficient between the cipher image of Lena (Fig. 8b) and the cipher images with a little change in the secret keys, kz0, μ (as shown in Fig. 8c-d and (e) respectively. According to this table, the encrypted images are uncorrelated.

Table 7 Correlation coefficient with a little key change

4.9 Key space

Large key space achieves more robust encryption scheme against the brute force attack. For our scheme, there are four secret values: the three control parameters μ, kz0 of the chaotic sequence generator and 512 bit original image hash value. From which the shift rotations are computed. From the IEEE floating point standard the data precision for the double values is 10−15. So the key space of our scheme = 2512 × 1015 × 1015 × 1015 ≅ 2600 which is extremely large, so our scheme is very strong against brute force attack compared to other scheme as shown in Table 8.

Table 8 Key space compared with other schemes

5 Comparison analysis

The performance of our scheme will be validated. Table 9 compares of the simulation results of our scheme with other recent encryption schemes.

Table 9 Performance comparison

Also, the proposed scheme has been tried on images of different size, and a comparison of entropy, encryption time and saving in time compared to AES [2] and the algorithm in Ref [15] is shown in Table 10. From this comparison, it is obvious that our scheme has much lower execution time and higher efficiency than both AES [2] and the algorithms in Ref [15, 17, 45].

Table 10 Time comparison

6 Conclusions

An XOR, shift rotations and double chaotic pseudorandom generator (DCPG) based image encryption scheme has been introduced in this paper. DCPG combines both Tent and Chebyshev chaotic map and so it needs more control parameters. These parameters are used as shared secret keys between the sender and receiver. This increases the key space of the proposed scheme and so increases its strength against different types of attacks. Also, the amounts of shift rotation used depend on the input image which provides a strong resistance against chosen plaintext attacks. Due to these reasons, our scheme is highly secure. It consists only of two rounds of processing which makes it light weight and has lower execution time compared to other standard and recent schemes. The proposed scheme has been tried on images of different size. A comparison of encryption time of our scheme with AES shows that our scheme achieves time saving of 71.84%, 94.63%,97.12% and 95.34% in case of image size of (64 × 64), (256 × 256), (320 × 320) and (512 × 512) respectively. It also has proved that our scheme achieves better efficiency than other recently existing schemes. So our scheme is very suitable for real time secure image communications. For the future work, more secure pseudorandom generators with new chaotic maps and more control parameters can be proposed.