Keywords

1 Introduction

Due to the advancements in Internet technology, large numbers of images are transmitted over the internet. As a result, privacy and security of images have become a major issue in the present scenario. Encryption is one of the well-known techniques to secure images against various attacks. Though various traditional encryption techniques [1, 2] are present, they are not much suitable to encrypt images because of some image in-built characteristics such as high-correlation of adjacent pixels, bulky data, high redundancy, etc [3,4,5,6].

Chaos-based image encryption provides a better security to the images. Chaotic maps have certain good characteristics such as sensitivity of their parameters, non-periodicity, ergodicity, nonlinearity [7, 8]. Matthews [9] first proposed chaos-based encryption technique, since then, many encryption techniques are used chaotic maps in image encryption. Chaotic maps are classified into high-dimensional and one-dimensional (1-D) [10]. High-dimensional chaotic maps have the disadvantage of complex structure and therefore requires high amount of hardware resources for implementation. Complexity can be reduced using 1-D chaotic maps which are simple in structure with low hardware resource requirement and high efficiency [11]. Hence, the proposed algorithm uses 1-D chaotic maps to perform image encryption. A number of researches have been done using 1-D chaotic maps. Multiple 1-D chaotic mapbased image encryption is proposed by Ahmed et al. in [12]. A variable-size hash function is developed using multiple chaotic maps by Musheer Ahmad et al. in [13].

This paper contributes the followings.

  1. 1.

    To reduce the total simulation time and also to make the algorithm simple, two stages of bit-plane diffusion operation and bit-level column–row shuffling operation are presented.

  2. 2.

    The Beta map along with the Piece-wise Linear Chaotic Map (PWLCM) system is used in this algorithm to obtain large key space and high key sensitivity.

  3. 3.

    Hash-based key operations are performed to prevent the algorithm against chosen-plaintext attack (CPA) and known-plaintext attack (KPA).

The remaining sections are as follows. Section 2 describes the 1-D chaotic maps. Section 3 presents the proposed key generation and encryption algorithm. The security analyses and the computer simulations are presented in Sect. 4. At last, the conclusion is reached in Sect. 5.

2 One-Dimensional Chaotic Maps

2.1 Beta Map

The Beta function [14] is defined as,

$${\text{Beta}}\left( {x;\alpha ,\beta ,x_{1} ,x_{2} } \right) = \left\{ {\begin{array}{*{20}c} {\left( {\frac{{x - x_{1} }}{{x_{0} - x_{1} }}} \right)^{\alpha } \left( {\frac{{x_{2} - x}}{{x_{2} - x_{0} }}} \right)^{\beta } } & {{\text{if}}\;\;x \in \left] {x1,x2} \right[} \\ 0 & {\text{else}} \\ \end{array} } \right.$$
(1)

where \(\alpha ,\beta ,x_{1} \;{\text{and}}\;x_{2} \in R,x_{1} < x_{2 } \;{\text{and}}\;x_{0} ,\)

$$x_{0} = \frac{{\left( {\alpha x_{2} + \beta x_{1} } \right)}}{{\left( {\alpha + \beta } \right)}}$$
(2)

By using the Beta function, the Beta map is defined as,

$$x_{n + 1} = k \times {\text{Beta}}\left( {x_{n} ;x_{1} ,x_{2} ,\alpha ,\beta } \right)$$
(3)

where

$$\alpha = p_{1} + q_{1} \times r$$
(4)

and

$$\beta = p_{2} + q_{2} \times r$$
(5)

where k is the control parameter, r is the bifurcation parameter, and \(\left( {p_{1} ,q_{1} ,p_{2} ,q_{2} } \right)\) are the constants.

2.2 PWLCM System

Recently, in image encryptions, PWLCM systems are widely used because of its good characteristics such as simpler representation, efficient implementation, excellent ergodicity, and good dynamical behavior [15, 16].

The PWLCM system is defined as,

$$x_{n + 1} = \left\{ {\begin{array}{*{20}l} {\frac{{\left( {x_{n} } \right)}}{\left( \mu \right)} } \hfill & {{\text{if}}\;\;0 \le x_{n} < \mu } \hfill \\ {\frac{{\left( {x_{n} - \mu } \right)}}{{\left( {0.5 - \mu } \right)}}} \hfill & {{\text{if}}\;\;\mu \le x_{n} < 0.5} \hfill \\ {\left( {1 - x_{n} } \right)} \hfill & {{\text{if}}\;\;0.5 \le x_{n} < 1} \hfill \\ \end{array} } \right.$$
(6)

where μ lies in the range (0, 0.5).

3 Proposed Methodology

3.1 Key Generation Operation

The steps for key generation are

  • Step 1: Input an original grayscale image, I.

  • Step 2: Generate 32-decimal values by converting 256-bit hash values of original image. The generated hash values are represented as,

    $${\text{hash}} = h1,h2,h3, \ldots ,h31,h32$$
    (7)
  • Step 3: Using the hash values, the secret keys are generated as,

    $$\left\{ {\begin{array}{*{20}l} {{\text{mue}} = {\text{mue}}1 + \left( {{\text{mod}}\left( {{\text{sum}}\left( {h1:h2} \right),256} \right)/2^{9} } \right) \times 0.1} \hfill \\ {x1\left( 1 \right) = x\left( 1 \right) + \left( {{\text{mod}}\left( {{\text{sum}}\left( {h3:h5} \right),256} \right)/2^{9} } \right) \times 0.1} \hfill \\ \end{array} } \right.$$
    (8)

where \(\left( {{\text{mue}}1,{\text{mue}}} \right)\) are the original and generated system parameters, \(\left( {x\left( 1 \right),x1\left( 1 \right)} \right)\) are the original and generated initial values of PWLCM system only.

$$\left\{ {\begin{array}{*{20}l} {xxx1\left( 1 \right) = xxx\left( 1 \right) + \left( {{\text{mod}}\left( {{\text{sum}}\left( {h6:h8} \right),256} \right)/2^{9} } \right) \times 0.1} \hfill \\ {k = kk + \left( {{\text{mod}}\left( {{\text{sum}}\left( {h9:h11} \right),256} \right)/2^{9} } \right) \times 0.1} \hfill \\ {x1 = xx1 + \left( {{\text{mod}}\left( {{\text{sum}}\left( {h12:h14} \right),256} \right)/2^{9} } \right) \times 0.1} \hfill \\ {x2 = xx2 + \left( {{\text{mod}}\left( {{\text{sum}}\left( {h15:h17} \right),256} \right)/2^{9} } \right) \times 0.1} \hfill \\ {p1 = pp1 + \left( {{\text{mod}}\left( {{\text{sum}}\left( {h18:h20} \right),256} \right)/2^{9} } \right) \times 0.1} \hfill \\ {p2 = pp2 + \left( {{\text{mod}}\left( {{\text{sum}}\left( {h21:h23} \right),256} \right)/2^{9} } \right) \times 0.1} \hfill \\ {q1 = qq1 + \left( {{\text{mod}}\left( {{\text{sum}}\left( {h24:h26} \right),256} \right)/2^{9} } \right) \times 0.1} \hfill \\ {q2 = qq2 + \left( {{\text{mod}}\left( {{\text{sum}}\left( {h27:h29} \right),256} \right)/2^{9} } \right) \times 0.1} \hfill \\ {r = rr + \left( {{\text{mod}}\left( {{\text{sum}}\left( {h30:h32} \right),256} \right)/2^{9} } \right) \times 0.1} \hfill \\ \end{array} } \right.$$
(9)

where \(\left( {xxx\left( 1 \right),xxx1\left( 1 \right)} \right)\) are the original and generated initial values of Beta map only. \(\left( {kk,xx1,xx2,pp1,pp2,qq1,qq2,rr} \right)\) and \(\left( {k,x1,x2,p1,p2,q1,q2,r} \right)\) are the original and generated system parameters of Beta map only.

3.2 Encryption Operation

Figure 1 shows the block diagram of the encryption operation of the proposed cryptosystem. The encryption operation is as follows:

Fig. 1
figure 1

Encryption system block diagram

  • Step 1: Input an \(M \times N\) sized grayscale image, I.

  • Step 2: Generate bit-planes of the image, I. The generated 8 bit-planes are,

    $$IBBP1,IBBP2,IBBP3,IBBP4,IBBP5,IBBP6,IBBP7,IBBP8$$
  • Step 3: Generate secret keys \(\left( {{\text{mue}},x1\left( 1 \right)} \right)\) of PWLCM system as Step 3 of Sect. 3.1.

  • Step 4: Iterate the PWLCM system of Eq. (6) for \(200 + \left( {M \times N \times 8} \right)\) times. To avoid transit effect, remove 200 iterations from the first position. Therefore, the generated PWLCM sequence is,

    $$x1 = \left( {x1\left( 1 \right),x1\left( 2 \right), \ldots ,x1\left( {M \times N \times 8} \right)} \right)$$
    (10)
  • Step 5: Using the sequence \(x1\) of PWLCM system, generate a key image of size \(M \times N\). The key image generation process is as follows:

    $$\left\{ {\begin{array}{*{20}l} {for\;i = 1{:}\;\left( {M \times N \times 8} \right)} \hfill \\ {\quad if\;x1\left( i \right) < 0.5} \hfill \\ {\quad \quad x1\left( i \right) = 0;} \hfill \\ {\quad else} \hfill \\ {\quad \quad x1\left( i \right) = 1;} \hfill \\ {\quad end} \hfill \\ {end} \hfill \\ {K = reshape\left( {x1,\left[ {\left( {M \times N} \right),8} \right]} \right);} \hfill \\ {C = bi2de\left( K \right);} \hfill \\ {D = reshape\left( {C,\left[ {M,N} \right]} \right);} \hfill \\ \end{array} } \right.$$
    (11)

    where D is the generated key image. Here, the threshold value is taken as 0.5.

  • Step 6: Generate bit-planes of the key image, D. The generated 8 bit-planes are,

    \(KBBP1,KBBP2,KBBP3,KBBP4,KBBP5,KBBP6,KBBP7,KBBP8\)

  • Step 7: Perform Stage-1 of bit-plane diffusion operation between bit-planes of the original image and the key image. Let the diffused bit-plane outputs are,

    \(IKBP1,IKBP2,IKBP3,IKBP4,IKBP5,IKBP6,IKBP7,IKBP8\)

    The diffusion operation is as follows:

    $$\left\{ {\begin{array}{*{20}l} {IKBP1 = IBBP1 \oplus KBBP8} \hfill \\ {IKBP2 = IBBP2 \oplus KBBP7} \hfill \\ {IKBP3 = IBBP3 \oplus KBBP6} \hfill \\ {IKBP4 = IBBP4 \oplus KBBP5} \hfill \\ {IKBP5 = IBBP5 \oplus KBBP4} \hfill \\ {IKBP6 = IBBP6 \oplus KBBP3} \hfill \\ {IKBP7 = IBBP7 \oplus KBBP2} \hfill \\ {IKBP8 = IBBP8 \oplus KBBP1} \hfill \\ \end{array} } \right.$$
    (12)
  • Step 8: Perform Stage-2 of bit-plane diffusion operation between the bit-plane outputs of Step 7. Let the diffused bit-plane outputs are denoted as:

    $$FDBP1,FDBP2,FDBP3,FDBP4,FDBP5,FDBP6,FDBP7,FDBP8$$

    The diffusion operation is as follows:

    $$\left\{ {\begin{array}{*{20}l} {FDBP1 = IKBP1} \hfill \\ {FDBP2 = IKBP1 \oplus IKBP2} \hfill \\ {FDBP3 = IKBP1 \oplus IKBP3} \hfill \\ {FDBP4 = IKBP1 \oplus IKBP4} \hfill \\ {FDBP5 = IKBP5 \oplus IKBP8} \hfill \\ {FDBP6 = IKBP6 \oplus IKBP8} \hfill \\ {FDBP7 = IKBP7 \oplus IKBP8} \hfill \\ {FDBP8 = IKBP8} \hfill \\ \end{array} } \right.$$
    (13)
  • Step 9: Generate the secret keys \(\left( {xxx1\left( 1 \right),k,x1,x2,p1,p2,q1,q2,r} \right)\) of Beta map as Step 3 of Sect. 3.1.

  • Step 10: Iterate the Beta map of Eq. 15 for \(200 + \left( {\left( {N \times 8} \right) + \left( {M \times 8} \right)} \right)\) times. To avoid transit effect, remove 200 iterations from the first position. Therefore, the generated Beta map sequence is,

    $$xxx1 = \left( {\begin{array}{*{20}c} {xxx1\left( 1 \right),xxx1\left( 2 \right),xxx1\left( 3 \right), \ldots ,} \\ {xxx1\left( {\left( {N \times 8} \right) + \left( {M \times 8} \right)} \right)} \\ \end{array} } \right)$$
    (14)
  • Step 11: Separate the Beta map sequence into two parts which are represented as:

    $$\left\{ {\begin{array}{*{20}l} {xxx11 = \left( {\begin{array}{*{20}c} {xxx1\left( 1 \right),xxx1\left( 2 \right),xxx1\left( 3 \right), \ldots ,} \\ {xxx1\left( {N \times 8} \right)} \\ \end{array} } \right)} \hfill \\ {xxx12 = \left( {\begin{array}{*{20}c} {xxx1\left( {\left( {N \times 8} \right) + 1} \right),xxx1\left( {\left( {N \times 8} \right) + 2} \right),} \\ {xxx1\left( {\left( {N \times 8} \right) + 3} \right), \ldots ,} \\ {xxx1\left( {\left( {N \times 8} \right) + \left( {M \times 8} \right)} \right)} \\ \end{array} } \right)} \hfill \\ \end{array} } \right.$$
    (15)
  • Step 12: Sort the Beta map sequences as,

    $$\left\{ {\begin{array}{*{20}c} {\left[ {xxxC{\text{sort}},xxxC{\text{index}}} \right] = {\text{sort}}\left( {xxx11} \right)} \\ {\left[ {xxxR{\text{sort}},xxxR{\text{index}}} \right] = {\text{sort}}\left( {xxx12} \right)} \\ \end{array} } \right.$$
    (16)

    where \(xxxC{\text{sort}}\;{\text{and}}\;xxxR{\text{sort}}\) are the sort sequences of \(xxx11\;{\text{and}}\;xxx12\), respectively. \(xxxC{\text{index}}\;{\text{and}}\;xxxR{\text{index}}\) are the index values of \(xxxC{\text{sort}}\;{\text{and}}\;xxxR{\text{sort}}\), respectively.

  • Step 13: Horizontal concatenate the bit-plane outputs of Step 8. Perform column shuffling operation by using the index value, \(xxxC{\text{index}}\).

  • Step 14: Separate the column shuffled bit-plane outputs in Step 13. Vertical concatenate the bit-planes to perform row-shuffling operation by using the index value, \(xxxR{\text{index}}\).

  • Step 15: Separate the bit-planes in Step 14 and then combine all the bit-planes to generate an encrypted image.

The decryption operation is performed in the reverse way of performing encryption operation.

4 Security Analyses and Computer Simulations

Simulation results are shown in Fig. 2. In this algorithm, the keys are taken as \(x\left( 1 \right) = 0.2,{\text{mue}}1 = 0.3,xxx\left( 1 \right) = - 0.2,kk = 0.9,xx1 = - 0.7,xx2 = 1,pp1 = 8,pp2 = 3,qq1 = 1,\) \(qq2 = - 1,rr = - 0.2\). In Fig. 2, we can see that the proposed algorithm encrypts and decrypts images properly using the right keys. This shows that the proposed method is suitable to encrypt and decrypt grayscale images.

Fig. 2
figure 2

Computer simulation outputs: original images of a “Cameraman \(\left( {256 \times 256} \right)\),” d “Lena \(\left( {512 \times 512} \right)\),” g “Baboon \(\left( {512 \times 512} \right)\)”; encrypted images of b “Cameraman \(\left( {256 \times 256} \right)\),” e “Lena \(\left( {512 \times 512} \right)\),” h “Baboon \(\left( {512 \times 512} \right)\)”; decrypted images of c “Cameraman \(\left( {256 \times 256} \right)\),” f “Lena \(\left( {512 \times 512} \right)\),” i “Baboon \(\left( {512 \times 512} \right)\)

The security analyses are as follows.

4.1 Key Space Analysis

Key space is the number of different keys which are used in an encryption–decryption operation. The key space should be larger than \(2^{128}\) to protect brute-force attack [17]. The secret keys used in this scheme are,

  1. a.

    system parameters and initial values of chaotic maps

  2. b.

    hash value of 256-bits.

To define the keys of chaotic maps, a precision value of \(10^{ - 15}\) is used in this algorithm and for hash value, a key space of \(2^{128}\) is taken in this algorithm.

So the key space in total is,

\(\left( {10^{15} \times 10^{15} } \right) \times \left( {10^{15} \times 10^{15} \times 10^{15} \times 10^{15} \times 10^{15} \times 10^{15} \times 10^{15} \times 10^{15} \times 10^{15} } \right) \times 2^{128} = 10^{165} \times 2^{128} = 1.0853 \times 2^{676}\) which is larger than \(2^{128}\) [17].

This proves that the proposed scheme strongly protects brute-force attack.

4.2 Statistical Attack Analysis

4.2.1 Histogram Analysis

Figure 3 shows the histogram results of the proposed method. In the results, we see the uniformity of grayscale values in the histograms of encrypted images and also see the differences in the histograms of encrypted and original images. In Fig. 3, we also found the similarity of histograms of decrypted and original images. This confirms the zero losses of information in the decrypted images. These in turn proves the strong resistivity of statistical attack in the encryption scheme.

Fig. 3
figure 3

Histogram outputs: original images of a “Cameraman,” d “Lena,” g “Baboon”; encrypted images of b “Cameraman,” e “Lena,” h “Baboon”; decrypted images of c “Cameraman,” f “Lena,” i “Baboon”

The histogram uniformity can be evaluated quantitatively by calculating the variance of encrypted images. The lower is the variance, higher the uniformity of grayscale values in histogram images [18]. The variance results are shown in Table 1. In Table 1, we can see the lesser value of variance of encrypted images using the proposed method as compared to the encryption methods in [19, 20]. This proves that a greater uniformity occurs in the histograms of encrypted images using the proposed scheme.

Table 1 Results of variance

4.2.2 Correlation Analysis

Table 2 shows the correlation results of the proposed scheme. In this result, we can see that, in all the three directions, the original images have correlation value close to 1 and the encrypted images have correlation value close to 0. The correlation plot of “Lena” image is shown in Fig. 4. These plots clearly show the high adjacent pixel correlation of original images and weak adjacent pixel correlation of encrypted images. This proves that the proposed scheme strongly resists statistical attack.

Table 2 Correlation coefficient results
Fig. 4
figure 4

Correlation outputs of original “Lena” image: a horz., b vert., and c diag.; correlation outputs of encrypted “Lena” image: d horz., e vert., f diag

4.3 Differential Attack Analysis

Two measures Unified Average Changing Intensity (UACI) and Numbers of Pixel Changing Rate (NPCR) are mostly used to analyze the differential attack in an encryption scheme. The expected value of UACI and NPCR of 256-level grayscale image are 33.4635% and 99.6094%, respectively [5]. Table 3 shows the min., max., and avg. UACI and NPCR results (100 values) of the proposed scheme. In Table 3, we can see that the average UACI and NPCR results for all the images are very close to the expected UACI and NPCR values, respectively. This proves the high resistivity of differential attack in the proposed scheme.

Table 3 UACI and NPCR results

4.4 Information Entropy

It measures the degree of randomness of pixels in images. For an ideal encryption system, the entropy of encrypted images falls to 8. The higher is the closeness to 8, the stronger is the entropy. The entropy results are shown in Table 4. The results show that the entropies of all the encrypted images are very close to 8. This confirms the high randomness of pixels in the encrypted images by using the proposed scheme.

Table 4 Information entropy results

4.5 Key Sensitivity Analysis

Key sensitivity measures the sensitivity of keys in decryption and encryption of images. That means a small change in the key will lead to large changes in the output. A cryptosystem should have high key sensitivity to protect brute-force attack [18, 21, 22]. The key sensitivity in both decryption and encryption process is as follows.

4.5.1 Encryption Level Key Sensitivity Analysis

In this process, the encryption operation is executed by changing a single bit in \(10^{ - 15}\) position of one key and the remaining keys are unchanged and finally analyze the difference image of two encrypted images. The encryption level key sensitivity results of “Lena” image are shown in Fig. 5. The UACI and NPCR results are shown in Table 5. The difference images of Fig. 5 and the NPCR, UACI results of Table 5 shows that more than 99% pixels are changed in changing of one key. This proves the high encryption level key sensitivity of the proposed algorithm.

Fig. 5
figure 5

Encryption level key sensitivity results of “Lena” image: encrypted images when changing of key from a \({\text{mue}}1\) to \({\text{mue}}1 + 10^{ - 15}\), c \(x\left( 1 \right)\) to \(x\left( 1 \right) + 10^{ - 15}\), e \(xxx\left( 1 \right)\) to \(xxx\left( 1 \right) + 10^{ - 15}\), g \(kk\) to \(kk + 10^{ - 15}\), i \(xx1\) to \(xx1 + 10^{ - 15}\), k \(xx2\) to \(xx2 + 10^{ - 15}\), m \(pp1\) to \(pp1 + 10^{ - 15}\), o \(pp2\) to \(pp2 + 10^{ - 15}\), q \(qq1\) to \(qq1 + 10^{ - 15}\), s \(qq2\) to \(qq2 + 10^{ - 15}\), u \(rr\) to \(rr + 10^{ - 15}\); Difference of b Figs. 2e and 5a, d Figs. 2e and 5c, f Figs. 2e and 5e, h Figs. 2e and 5g, j Figs. 2e and 5i, l Figs. 2e and 5k, n Figs. 2e and 5m, p Figs. 2e and 5o, r Figs. 2e and 5q, t Figs. 2e and 5s, v Figs. 2e and 5u

Table 5 UACI and NPCR results of “Lena” image

4.5.2 Decryption Level Key Sensitivity Analysis

In this process, the decryption operation is executed by changing a single bit in \(10^{ - 15}\) position of one decryption key and the remaining decryption keys are unchanged and finally analyze the key changed decrypted images. The key sensitivity results of “Lena” image are shown in Fig. 6. The NPCR and UACI results are shown in Table 6. Figure 5 and Table 6 results show that more than 99% pixels are changed in changing of one decryption key. This shows the high decryption level key sensitivity of the algorithm.

Fig. 6
figure 6

Decryption level key sensitivity results of “Lena” image: Decrypted images when changing of key from a \({\text{mue}}1\) to \({\text{mue}}1 + 10^{ - 15}\), b \(x\left( 1 \right)\) to \(x\left( 1 \right) + 10^{ - 15}\), c \(xxx\left( 1 \right)\) to \(xxx\left( 1 \right) + 10^{ - 15}\), d \(kk\) to \(kk + 10^{ - 15}\), e \(xx1\) to \(xx1 + 10^{ - 15}\), f \(xx2\) to \(xx2 + 10^{ - 15}\), g \(pp1\) to \(pp1 + 10^{ - 15}\), h \(pp2\) to \(pp2 + 10^{ - 15}\), i \(qq1\) to \(qq1 + 10^{ - 15}\), j \(qq2\) to \(qq2 + 10^{ - 15}\), k \(rr\) to \(rr + 10^{ - 15}\)

Table 6 UACI and NPCR results of “Lena” image

4.6 Plaintext Sensitivity Analysis

Plaintext sensitivity measures the sensitivity of pixel values in original images. This is done first by randomly changing one-pixel value and constant other pixel values in original image. Then the proposed encryption algorithm is applied to get the difference of two encrypted images (one-pixel value changed encrypted image and original encrypted image). Figure 7 shows the results of plaintext sensitivity at positions (1, 1), (64, 64), (128, 128), and (256, 256). Table 7 shows the corresponding UACI and NPCR results when the pixel values are changed at random positions. The images of Fig. 7b, d, f, h and the UACI, NPCR results of Table 7 shows that more than 99% pixels are changed in encrypted image while changing of one pixel in original image. This proves the high sensitivity of the plaintext of the proposed scheme.

Fig. 7
figure 7

Plaintext sensitivity results of “Lena” image: encrypted images when pixels changed at a (1, 1), c (64, 64), e (128, 128), g (256, 256) positions; Difference of b Figs. 2e and 7a, d Figs. 2e and 7c, f Figs. 2e and 7e, h Figs. 2e and 7g

Table 7 UACI and NPCR results of “Lena” image

4.7 Chosen-Plaintext Attack (CPA) and Known-Plaintext Attack (KPA) Analysis

The CPA and KPA are easily attacked by the attacker when the algorithm is not much depended on the original image. The proposed scheme highly depends on the original image in both diffusion and permutation operations. This shows the high resistivity of the proposed algorithm against CPA and KPA.

4.8 Comparison Analysis

The comparative results are shown in Table 8. The comparison is done on “Lena” image. By observing Table 8 comparison results, we found the followings:

Table 8 Comparison of “Lena (512 × 512)” image
  • Higher key space of the proposed scheme as compared to the schemes in [19, 20].

  • The correlation values of all the schemes are close to 0.

  • Better UACI and NPCR results of the proposed scheme as compared to the schemes in [19, 20].

  • The entropy values of all the schemes are close to 8.

4.9 Encryption Time

The proposed algorithm is simulated using MATLAB R2012a in a system having configuration 3.40 GHz processor with 4 GB RAM. The total simulation time required to simulate 256 × 256 and 512 × 512 sized images are 0.148 s and 0.733 s, respectively. Due to the requirement of less simulation time, the proposed algorithm is suitable to use in real-time applications.

5 Conclusion

This paper proposes a bit-level image encryption scheme using 1-D chaotic maps. In this proposed method, two-stages of bit-plane diffusion operations using PWLCM system and one-stage of bit-level column–row shuffling operation using Beta map are performed. This scheme yields good encryption outputs, produces higher key space, less simulation time to execute the algorithm, and resists all the widely known security attacks. In this algorithm, simple bit-plane diffusion operations and bit-level column–row shuffling operations are used, and hence, the proposed method provides simplicity in the algorithm. The comparison results show the better security of the proposed scheme as compared to other reported schemes. All these features show that the proposed algorithm is time-efficient, secure, and simple to encrypt grayscale images.