Abstract
This paper proposes an effective image encryption method to encrypt several images in one encryption process. The proposed encryption scheme differs from the current multiple image encryption schemes because of their two-layer cross-coupled chaotic map-based permutation-diffusion operation. Block-shuffling, left–right (L–R) flipping and then bit-XOR diffusion operations are carried out in the first layer using one set of cross-coupled chaotic map. Block-shuffling, up–down (U–D) flipping and then bit-XOR diffusion operations are performed with another set of cross-coupled chaotic maps in the second layer. The two different layers of permutation-diffusion make the proposed algorithm more efficient than the existing multi-image encryption algorithms. Moreover, the combination of block-based shuffling and flip operation decreases the algorithm’s computational complexity, which means enhancing the time efficiency of the algorithm. In cross-coupling operation, the use of a single fixed-type one-dimensional chaotic map-piece-wise linear chaotic map (PWLCM) makes the algorithm efficient both in hardware and in software. PWLCM’s initial values and system parameters (keys) are generated by means of the hash values of original images that resist the algorithm against the attacks of chosen-plaintext and known-plaintext. Results of simulation and comparative security analysis reveal that the suggested scheme is more effective in encryption and resists better against all widely used attacks.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
1 Introduction
Through technological advances, the transmission of information over public networks has grown rapidly. The information is conveyed either in the form of videos, audios, text, or images, and nowadays many of the relevant information is represented by images. Images are widely used in military secrets, satellite reports, government secret documents, etc. Security of images therefore becomes a major factor. Encryption is one of the common approaches to image security. There are several conventional methods (DES [1], 3DES, AES [2], RSA, etc.) for encrypting images. Nevertheless, due to large information and strong association of neighboring pixels in the images, these approaches are not as efficient for encrypting images [3, 4]. Hence, the need for a strong encryption method is of highest concern.
Encryption methods based on chaos offer significant protection for image encryption. The distinctive characteristics of chaotic systems like ergodicity, mixing properties, sensitivity to chaotic variables, and highly complex behavior make it an ideal choice for a powerful and efficient encryption method [5,6,7]. Many single-image-encryption (SIE) methods based on DNA-level [5, 8,9,10], block-level [11, 12], pixel-level [3, 6, 13,14,15], transform operation-based pixel-level [16], rotation operation-based pixel-level [17], hash-key operation-based pixel-level [18], s-box operation-based pixel-level [19], bit-level [4, 7], bit-block-level [20], permutation and diffusion operation employ chaotic maps to build secure and strong cipher images. The types of chaotic systems employed in SIE methods are “one dimensional” (1D) and “high dimensional” (HD) [13]. Chaotic 1D maps tend to be powerful, are simpler in structure and thus use resources more effectively, but they have the disadvantage of a limited key space. Chaotic HD maps have a wide range of key spaces, but they are highly complex and thus more resource utilization [14, 20]. So, to provide the algorithm with high efficiency and strong key space, in image encryption algorithms [15, 17] authors have used multi-type 1D chaotic maps multiple times. But using different kinds of chaotic 1D maps reduces the algorithm’s hardware and software efficiency. To resolve this problem, the suggested method uses the PWLCM system multiple times for encryption operation.
During the age of big data, the communication network transmits multiple images. SIE methods can be repetitively used in the encryption to protect those images. However, they reduce the efficiency of encryption [21]. In order to boost the encryption efficiency, many researchers use multiple image encryption (MIE) algorithms to encrypt multiple images. From the past few years, in different domains the MIE algorithms are developed such as transform [22,23,24], chaotic [25,26,27], mix of transform and chaotic [28], and mix of chaotic and DNA domain [29, 30].
In the above MIE algorithms, the transform domain-based MIE algorithms [22,23,24, 28] decrease the algorithm’s encryption efficiency. This is because there is a need for information translation among transform and spatial domain within these algorithms. The MIE algorithms based on the chaotic domain boost the algorithm’s encryption efficiency. In Ref. [25], Tang et al. developed a bit-plane process-based MIE algorithm. This algorithm uses the chaotic map to execute the encryption process; however, the complex bit-plane process decreases the algorithm’s encryption efficiency [26]. In Ref. [27], Zhang et al. developed a method to increase the encryption efficiency in a chaotic map-based MIE algorithm. No doubt this algorithm increases the efficiency of encryption, but the security is still lower than Ref. [25]’s algorithm. This is because the position of blocks and its contents are processed in the algorithm of Ref. [25], while the ordering of the blocks is processed only in the algorithm of Ref. [27]. Hence, the security of the algorithm in Ref. [27] is reduced. Furthermore, the algorithm’s secret keys in Ref. [27] do not link to the actual images. This may be due to the possibility of the chosen-plaintext and known-plaintext being targeted. To resolve all of the above issues, another MIE technique was developed in Ref. [26] by the same author. This technique maintains the security as well as increases the algorithm’s encryption efficiency. To enhance the security in MIE algorithms, many researchers use DNA along with chaotic maps to encrypt multiple images. References [29] and [30] developed MIE algorithms using DNA and chaotic maps. However, the additional DNA processes like encoding–decoding enhance the algorithm’s computational complexity.
In the above chaotic map-based MIE algorithms [25,26,27, 29, 30], one common issue is that the encrypted image relies only a single chaotic system chaotic orbit, so in those algorithms it may be possible to extract information [31]. This fact has led to the development of many cryptanalysis algorithms [32,33,34,35,36] to cryptanalyze analog security communication methods. When using the chaotic map cross-coupling, such cryptanalysis will be harder. This is because different chaotic orbits of cross-coupled chaotic maps determine the resultant cipher output [31, 37, 38]. Recently, in 2020, Patro et al. [39] developed a chaotic map cross-coupling-based MIE method. In this method, the chaotic map cross-coupling-based permutation-diffusion operation ensures security to multiple images. Here the two different PWLCM systems are used for cross-coupling operation. There is no question that the algorithm in Ref. [39] provides security, but the security is either not much improved or compromised in some cases. The key space of the method in Ref. [39] is not larger than that of the method of Ref. [25]. As we observed the algorithm’s histogram variance analysis and Chi-square test analysis in Ref. [39], we found that the grayscale pixel values of Group-2 images are less uniformly distributed as compared with Group-1 images. That means the algorithm in Ref. [39] is not equally performed to all the groups of images. As we found in the entropy analysis of the algorithm in Ref. [39], we notice that, relative to the current MIE algorithms, the average entropy of both image groups is not increased.
By addressing all of the above problems, this paper develops an effective multi-image encryption technique based on two layers of cross-coupled chaotic map. Block permutation, left–right (L–R) flip operation and bit-XOR diffusion are performed in the first layer of operation, and block permutation, up–down (U–D) flip operation and bit-XOR diffusion process are executed again in the second layer of operation. Two different sets of cross-coupled chaotic maps are used in the first and second layers of permutation-diffusion operation to enhance the security. The advantages of the proposed scheme are as follows.
-
Uses cross-coupling of chaotic maps to permute and diffuse the pixels. Cryptanalysis of the proposed algorithm is harder as compared to the algorithms using non-cross-coupling of chaotic maps to permute and diffuse the pixels.
-
In cross-coupling, the use of the only PWLCM system improves the algorithm’s hardware and software performance as compared to the algorithms using multiple types of other 1D and HD chaotic maps in permutation and diffusion operations. The PWLCM system improves the algorithm’s encryption speed also. It is because the PWLCM system’s single iteration process requires multiple additions and a single division only.
-
The performance of both block- and pixel-level permutation operations improves the security of the proposed algorithm as compared to the algorithms performing either block-level or pixel-level permutation operations.
-
In the proposed algorithm, dual-layer security exists. This implies that the proposed algorithm performs two-time two-way block and pixel-level permutation operations and two-times XOR-based image diffusion operations. The other multiple image encryption algorithms, on the other hand, only carry out one layer of security.
-
In the proposed algorithm, flip operation (L–R and U–D)-based pixel permutation is performed to permute the pixels. Flip processes in current CPU architectures are completed in just a few clock cycles. Flipping processes do not require constant time; it is one of the fastest processes in current CPU architectures. On the other hand, the other multiple image encryption algorithms perform pixel-permutation operations, offering an \(O\left(M\times N\right)\) computational complexity, where \(M\times N\) is the image size.
Based on the aforementioned considerations, this paper’s key contribution is as given below.
-
Two layers of cross-coupling operation are performed to make the algorithm more effective.
-
To make the encryption scheme both hardware and software efficient, in cross-coupling process, a single chaotic map-PWLCM is used.
-
Block-based permutation and flip operation are implemented to reduce the algorithm’s computational complexity.
-
Use of hash-based keys protects the algorithm against the attacks of chosen- and known-plaintext.
The remainder of the paper is structured according to the following. The PWLCM system is introduced in Sect. 2. Section 3 describes the approach suggested here. The algorithm’s security analysis and the outcomes of the simulation are discussed in Sect. 4. At last, this paper concludes in Sect. 5.
2 PWLCM system
In image encryption, the two important characteristics of chaotic maps such as “simplicity” and “ergodicity” must be considered for selection of any chaotic map. The map that provides both “simplicity” and broader “ergodicity” is PWLCM. The logistic map, on the other side, is the popular chaotic map for “simplicity” but has no wider “ergodicity”. So the best choice is the PWLCM system for the generation of good pseudorandom chaotic sequences. It is generated by [26, 39],
where the initial value \(k\in \left(\mathrm{0,1}\right)\) and the system parameter \(m\in \left(\mathrm{0,0.5}\right)\). Reference [39] shows the bifurcation diagrams in two figures. The bifurcation of the logistic map is seen in one figure (Fig. 1), and the bifurcation of PWLCM system is seen in another figure (Fig. 2). By analyzing these two figures, it is noticed that the ergodicity of logistic map exists in the range \(\left(\mathrm{0,1}\right)\) when the system parameter \(m\) reaches 4, while the ergodicity of PWLCM system exists in a wider range. Hence, in many image encryption algorithms, PWLCM system is preferred. Besides ergodicity and simplicity, the other significant characteristics of the PWLCM system are easy software and hardware realization, good dynamic behavior, uniform invariant distribution and effective implementation [39, 40].
3 Proposed methodology
3.1 Method of key generation operation
-
1.
Take \(L\) images with the same \({M}_{g}\times {N}_{g}\) dimension.
-
2.
Merge horizontally with all the \(L\) images. The image that is generated being referred by \(L1\).
-
3.
Apply the hash algorithm, SHA-256 to image \(L1\) to produce the hash value of 256-bit. It is depicted by
$$ hvb = \left( {hvb_{1} ,hvb_{2} ,hvb_{3} , \ldots ,hvb_{256} } \right) $$ -
4.
Convert the hash value of 256 bit into the hash value of 64-hexadecimal. Figure 1 shows the process of conversion of binary to hexadecimal. In this process, the entire 256 bits are split into 64 groups, each of which contains 4 bits. Each of the 4-bit groups will then be translated to its corresponding hexadecimal number.
The 64-hexadecimal hash value is represented as
$$ hvh = \left( {hvh_{1} ,hvh_{2} ,hvh_{3} , \ldots ,hvh_{64} } \right) $$ -
5.
Develop the algorithm’s keys by,
$$\left\{ {\matrix{ {m\left( 1 \right) = km - \left( {\left( {{{hv{h_1} + hv{h_2} + \cdots + hv{h_8}} \over {{{10}^{15}}}}} \right) - \left\lceil {{{hv{h_1} + hv{h_2} + \cdots + hv{h_8}} \over {{{10}^{15}}}}} \right\rceil } \right) \times 0.01} \hfill \cr {mk = mm - \left( {\left( {{{hv{h_9} + hv{h_{10}} + \cdots + hv{h_{16}}} \over {{{10}^{15}}}}} \right) - \left\lceil {{{hv{h_9} + hv{h_{10}} + \cdots + hv{h_{16}}} \over {{{10}^{15}}}}} \right\rceil } \right) \times 0.01} \hfill \cr } } \right.$$(2)$$\left\{ {\matrix{ {n\left( 1 \right) = kn - \left( {\left( {{{hv{h_{17}} + hv{h_{18}} + \cdots + hv{h_{24}}} \over {{{10}^{15}}}}} \right) - \left\lceil {{{hv{h_{17}} + hv{h_{18}} + \cdots + hv{h_{24}}} \over {{{10}^{15}}}}} \right\rceil } \right) \times 0.01} \hfill \cr {nk = nn - \left( {\left( {{{hv{h_{25}} + hv{h_{26}} + \cdots + hv{h_{32}}} \over {{{10}^{15}}}}} \right) - \left\lceil {{{hv{h_{25}} + hv{h_{26}} + \cdots + hv{h_{32}}} \over {{{10}^{15}}}}} \right\rceil } \right) \times 0.01} \hfill \cr } } \right.$$(3)$$\left\{ {\matrix{ {p\left( 1 \right) = kp - \left( {\left( {{{hv{h_{33}} + hv{h_{34}} + \cdots + hv{h_{40}}} \over {{{10}^{15}}}}} \right) - \left\lceil {{{hv{h_{33}} + hv{h_{34}} + \cdots + hv{h_{40}}} \over {{{10}^{15}}}}} \right\rceil } \right) \times 0.01} \hfill \cr {pk = pp - \left( {\left( {{{hv{h_{41}} + hv{h_{42}} + \cdots + hv{h_{48}}} \over {{{10}^{15}}}}} \right) - \left\lceil {{{hv{h_{41}} + hv{h_{42}} + \cdots + hv{h_{48}}} \over {{{10}^{15}}}}} \right\rceil } \right) \times 0.01{\rm{ }}} \hfill \cr } } \right.$$(4)$$\left\{ {\matrix{ {q\left( 1 \right) = kq - \left( {\left( {{{hv{h_{49}} + hv{h_{50}} + \cdots + hv{h_{56}}} \over {{{10}^{15}}}}} \right) - \left\lceil {{{hv{h_{49}} + hv{h_{50}} + \cdots + hv{h_{56}}} \over {{{10}^{15}}}}} \right\rceil } \right) \times 0.01{\rm{ }}} \hfill \cr {qk = qq - \left( {\left( {{{hv{h_{57}} + hv{h_{58}} + \cdots + hv{h_{64}}} \over {{{10}^{15}}}}} \right) - \left\lceil {{{hv{h_{57}} + hv{h_{58}} + \cdots + hv{h_{64}}} \over {{{10}^{15}}}}} \right\rceil } \right) \times 0.01{\rm{ }}} \hfill \cr } } \right.$$(5)
where
\(\left( {m\left( 1 \right),n\left( 1 \right),p\left( 1 \right),q\left( 1 \right)} \right)\) and \(\left( {km,kn,kp,kq} \right)\) are the PWLCM system-1- to 4-based generated and given initial values, respectively.
\(\left( {mk,nk,pk,qk} \right)\) and \(\left( {mm,nn,pp,qq} \right)\) are the PWLCM system-1- to 4-based generated and given system parameters, respectively.
The symbol \(\left\lceil . \right\rceil\) performs the “ceil” operation.
3.2 Method of encryption operation
Figure 2 presents a block schematic representation of the suggested encryption scheme. The steps for the encryption process are as follows.
-
1.
Take \(L\) images \(\left( {I_{1} ,I_{2} ,I_{3} , \ldots ,I_{L} } \right)\) with the same \({M}_{g}\times {N}_{g}\) dimension.
-
2.
Merge horizontally with all the \(L\) images by,
$$ L1 = horzcat\left( {I_{1} ,I_{2} ,I_{3} , \ldots ,I_{L} } \right) $$where \(L1\) is the horizontal concatenated image. The function “horzcat” performs the horizontal concatenation operation. The size of \(L1\) is \({M}_{g}\times {LN}_{g}\).
-
3.
Generate blocks of size \(1\times L\) by dividing the image \(L1\). The number of generated blocks is \(\frac{{M}_{g}\times {LN}_{g}}{1\times L}={M}_{g}\times {N}_{g}\). The block division process is presented in Algorithm 1.
In the above algorithm, \(B1\) is the array of blocks of size \(1\times L\).
-
4.
Calculate the number of blocks in \(B1\) by,
$$l1=length\left(B1\right)$$where \(l1\) is the length of the array \(B1\). The function \("length"\) finds the length of an array.
-
5.
Generate the PWLCM system-1 and system-2-based keys by Eqs. (2) and (3), respectively. \(\left(m\left(1\right),mk\right)\) and \(\left(n\left(1\right),nk\right)\) are the PWLCM system-1- and system-2-based generated keys, respectively.
-
6.
Generate second initial values of PWLCM system-1 and system-2 using key values \(\left(m\left(1\right),mk\right)\) and \(\left(n\left(1\right),nk\right)\), respectively, to iterate Eq. (1). The second initial values are denoted as \(m\left(2\right)\) of PWLCM system-1 and \(n\left(2\right)\) of PWLCM system-2.
-
7.
Perform cross-coupling operation \(\left({M}_{g}\times {N}_{g}\right)-1\) times between the key values \(\left(m\left(2\right),nk\right)\) and \(\left(n\left(2\right),mk\right)\). Algorithm 2 shows the process of cross-coupling operation.
The iterated sequences are represented as,
$$ m = \left( {m\left( 1 \right),m\left( 2 \right),m\left( 3 \right), \ldots ,m\left( {M_{g} \times N_{g} } \right)} \right) $$$$ n = \left( {n\left( 1 \right),n\left( 2 \right),n\left( 3 \right), \ldots ,n\left( {M_{g} \times N_{g} } \right)} \right) $$ -
8.
Sort the iterated sequence \(m\) by,
$$ \left[ {permlrsort,permlrindex} \right] = sort\left( m \right) $$where \(permlrindex\) is the indexed sequence and \(permlrsort\) is the sorted sequence of \(m\).
-
9.
Perform block shuffling and left–right (L–R) flip operation between the blocks of the array \(B1\). In the combined operation, first the blocks are L–R-flipped and then shifted to a new position in the array using the indexing sequence \(permlrindex\). The newly shuffled array of blocks are denoted as \(B11\).
-
10.
Generate a big image \(B111\) by combining the blocks of the array \(B11\).
-
11.
Divide the big image \(B111\) into \(L\) parts. The newly formed images are denoted as \(II_{1} ,II_{2} ,II_{3} , \ldots ,II_{L}\).
-
12.
Generate an image \(r\) by using the iterated sequence \(n\) (From Algorithm 2). Algorithm 3 presents the process to generate an image \(r\).
In the above algorithm, \(r\) is the newly formed image. The \("reshape"\) function re-shapes the array, the \("mod"\) function executes the modulus process, and the \("round"\) function rounding the number to the closest number.
-
13.
Execute diffusion process (bit-XOR) among the images \(II_{1} ,II_{2} ,II_{3} , \ldots ,II_{L}\) and the newly formed image \(r\). The bit-XOR diffusion process is first carried out between \(II_{1}\) and \(r\), and then, the diffusion process is executed between \(II_{2}\) and the first diffusion output. Likewise, all the \(II_{1} ,II_{2} ,II_{3} , \ldots ,II_{L}\) images are bit-XORed. The diffused images are denoted as \(III_{1} ,III_{2} ,III_{3} , \ldots ,III_{L}\).
-
14.
Combine all the diffused images \(III_{1} ,III_{2} ,III_{3} , \ldots ,III_{L}\) vertically by,
$$ LL1 = vertcat\left( {III_{1} ,III_{2} ,III_{3} , \ldots ,III_{L} } \right) $$where \(LL1\) is the vertically concatenated image. The function “vertcat” performs the vertical concatenation operation. The size of \(LL1\) is \(LM_{g} \times N_{g}\).
-
15.
Generate blocks of size \(L \times 1\) by dividing the image \(LL1\). The number of generated blocks are \(\frac{{LM_{g} \times N_{g} }}{L \times 1} = M_{g} \times N_{g}\). The block division process is presented in Algorithm 4.
In the above algorithm, \(B2\) is the array of blocks of size \(L\times 1\).
-
16.
Calculate the number of blocks in \(B2\) by,
$$ l2 = length\left( {B2} \right) $$where \(l2\) is the \(B2\) array length.
-
17.
Generate the PWLCM system-3- and system-4-based keys by Eqs. (4) and (5), respectively. \(\left( {p\left( 1 \right),pk} \right)\) and \(\left( {q\left( 1 \right),qk} \right)\) are the PWLCM system-3- and system-4-based generated keys, respectively.
-
18.
Generate second initial values of PWLCM system-3 and system-4 using key values \(\left(p\left(1\right),pk\right)\) and \(\left(q\left(1\right),qk\right)\), respectively, to iterate Eq. (1). The second initial values are denoted as \(p\left(2\right)\) of PWLCM system-3 and \(q\left(2\right)\) of PWLCM system-4.
-
19.
Perform cross-coupling operation \(\left({M}_{g}\times {N}_{g}\right)-1\) times between the key values \(\left(p\left(2\right),qk\right)\) and \(\left(q\left(2\right),pk\right)\). The cross-coupling process is carried out in the same way as Algorithm 2. The generated iterated sequences are represented as,
$$ p = \left( {p\left( 1 \right),p\left( 2 \right),p\left( 3 \right), \ldots ,p\left( {M_{g} \times N_{g} } \right)} \right) $$$$ q = \left( {q\left( 1 \right),q\left( 2 \right),q\left( 3 \right), \ldots ,q\left( {M_{g} \times N_{g} } \right)} \right) $$ -
20.
Sort the iterated sequence \(p\) by
$$ \left[ {permudsort,permudindex} \right] = sort\left( p \right) $$where \(permudindex\) is the indexed sequence and \(permudsort\) is the sorted sequence of \(p\).
-
21.
Perform block shuffling and up–down (U–D) flip operation between the blocks of the array B2. In the combined operation, first the blocks are U–D-flipped and then shifted to a new position in the array using the indexing sequence \(permudindex\). The newly shuffled array of blocks are denoted as B222.
-
22.
Generate a big image B222 by combining the blocks of the array B222.
-
23.
Divide the big image B222 vertically into \(L\) parts. The newly formed images are denoted as \(III_{1} ,III_{2} ,III_{3} , \ldots ,III_{L}\).
-
24.
Generate an image \(rr\) by using the iterated sequence \(q\). The image generation process is carried out in the same way as Algorithm 3.
-
25.
Perform bit-XOR diffusion operation between the images \(III_{1} ,III_{2} ,III_{3} , \ldots ,III_{L}\) and the newly formed image \(rr\). First the bit-XOR diffusion operation is performed between \(III_{1}\) and \(rr\), and then, the diffusion process is carried out among \(III_{2}\) and the first diffusion output. Likewise, all the \(III_{1} ,III_{2} ,III_{3} , \ldots ,III_{L}\) images are bit-XORed. The diffused images are denoted as \(IIII_{1} ,IIII_{2} ,IIII_{3} , \ldots ,IIII_{L}\). These diffused images are the \(L\) cipher images denoted as \(C_{1} ,C_{2} ,C_{3} , \ldots ,C_{L}\).
3.3 Method of decryption operation
-
1.
On the receiver side, the receiver collects all the cipher images \(C_{1} ,C_{2} ,C_{3} , \ldots ,C_{L}\) of size \(M_{g} \times N_{g}\) produced on the transmitter side, given key values of the algorithm such as initial values \(\left( {km,kn,kp,kq} \right)\) of PWLCM system-1 to 4, system parameters \(\left( {mm,nn,pp,qq} \right)\) of PWLCM system-1 to 4. Receiver also receives multi-image hash values.
-
2.
Generate the PWLCM system-3- and system-4-based keys by Eqs. (4) and (5), respectively. \(\left( {p\left( 1 \right),pk} \right)\) and \(\left( {q\left( 1 \right),qk} \right)\) are the PWLCM system-3- and system-4-based generated keys, respectively.
-
3.
Follow Sect. 3.2 Step-18 to produce PWLCM system-3-based second initial value using key values \(\left( {p\left( 1 \right),pk} \right)\) and also produce PWLCM system-4-based second initial value using key values \(\left( {q\left( 1 \right),qk} \right)\).
-
4.
Follow Sect. 3.2 Step-19 to perform the cross-coupling operation \(\left( {M_{g} \times N_{g} } \right) - 1\) times between the key values \(\left( {p\left( 2 \right),qk} \right)\) and \(\left( {q\left( 2 \right),pk} \right)\). The iterated sequences generated after cross-coupling are,
$$ p = \left( {p\left( 1 \right),p\left( 2 \right),p\left( 3 \right), \ldots ,p\left( {M_{g} \times N_{g} } \right)} \right) $$$$ q = \left( {q\left( 1 \right),q\left( 2 \right),q\left( 3 \right), \ldots ,q\left( {M_{g} \times N_{g} } \right)} \right) $$ -
5.
Follow Sect. 3.2 Step-24 to develop an image \(crr\) using the iterated sequence \(q\).
-
6.
Execute diffusion process (bit-XOR) among the cipher images \(C_{1} ,C_{2} ,C_{3} , \ldots ,C_{L}\) and the newly formed image crr. First the process of bit-XOR diffusion is performed between C1 and crr. Second, the diffusion of bit-XOR occurs between C1 and C2. Third the diffusion between C2 and C3 is performed. Likewise, all the cipher images are diffused. The diffused cipher images are denoted as \(CC_{1} ,CC_{2} ,CC_{3} , \ldots ,CC_{L}\).
-
7.
Follow Sect. 3.2 Step-14 to combine vertically all the diffused images \(CC_{1} ,CC_{2} ,CC_{3} , \ldots ,CC_{L}\). The image being concatenated vertically is denoted as CC. The size of CC is \(LM_{g} \times N_{g}\).
-
8.
Follow Sect. 3.2 Step-15 to segment the CC image into numbers of blocks of the same size \(L \times 1\). The number of blocks generated is \(\frac{{LM_{g} \times N_{g} }}{L \times 1} = M_{g} \times N_{g}\). The blocks are stored in an array which is called \(CC1\).
-
9.
Follow Sect. 3.2 Step-16 to calculate the array length of CC1. The array length is denoted as l2.
-
10.
Follow Sect. 3.2 Step-20 to sort the iterated sequence \(p\). The sorted and indexed sequences are denoted as \(cpermudsort\) and \(cpermudindex\).
-
11.
Perform block de-shuffling and up–down (U–D) flip operation between the blocks of the array CC1. In the combined operation, first the blocks are U–D flipped and then de-shuffled using the indexing sequence \(cpermudindex\). The newly de-shuffled array of blocks are denoted as CC2.
-
12.
Follow Sect. 3.2 Step-22 to create an image CC3 by combining the CC2 array blocks together.
-
13.
Vertically divide the image CC3 into L parts. The newly formed images are denoted as \(CC3_{1} ,CC3_{2} ,CC3_{3} , \ldots ,CC3_{L}\).
-
14.
Generate the PWLCM system-1 and system-2-based keys by Eqs. (2) and (3), respectively. \(\left( {m\left( 1 \right),mk} \right)\) and \(\left( {n\left( 1 \right),nk} \right)\) are the PWLCM system-1- and system-2-based generated keys, respectively.
-
15.
Follow Sect. 3.2 Step-6 to generate the PWLCM system-1-based second initial value using key values \(\left( {m\left( 1 \right),mk} \right)\) and also generate the PWLCM system-2-based second initial value using key values \(\left( {n\left( 1 \right),nk} \right)\).
-
16.
Follow Sect. 3.2 Step-7 to perform the cross-coupling operation \(\left( {M_{g} \times N_{g} } \right) - 1\) times between the key values \(\left( {m\left( 2 \right),nk} \right)\) and \(\left( {n\left( 2 \right),mk} \right)\). The iterated sequences generated after cross-coupling are,
$$ m = \left( {m\left( 1 \right),m\left( 2 \right),m\left( 3 \right), \ldots ,m\left( {M_{g} \times N_{g} } \right)} \right) $$$$ n = \left( {n\left( 1 \right),n\left( 2 \right),n\left( 3 \right), \ldots ,n\left( {M_{g} \times N_{g} } \right)} \right) $$ -
17.
Follow Sect. 3.2 Step-12 to develop an image cr using the iterated sequence n.
-
18.
Execute diffusion process (bit-XOR) among the images \(CC3_{1} ,CC3_{2} ,CC3_{3} , \ldots ,CC3_{L}\) and the newly formed image cr. First the process of bit-XOR diffusion is performed between \(CC3_{1}\) and cr. Second, the diffusion of bit-XOR occurs between \(CC3_{1}\) and \(CC3_{2}\). Third the diffusion between \(CC3_{2}\) and \(CC3_{3}\) is performed. Likewise, all the images are diffused. The diffused images are denoted as \(CCC3_{1} ,CCC3_{2} ,CCC3_{3} , \ldots ,CCC3_{L}\).
-
19.
Follow Sect. 3.2 Step-2 to combine horizontally all the diffused images \(CCC3_{1} ,CCC3_{2} ,CCC3_{3} , \ldots ,CCC3_{L}\). The image being concatenated horizontally is denoted as CCC3. The size of CCC3 is \(M_{g} \times LN_{g}\).
-
20.
Follow Sect. 3.2 Step-3 to segment the CCC3 image into numbers of blocks of the same size \(1 \times L\). The number of blocks generated is \(\frac{{M_{g} \times LN_{g} }}{1 \times L} = M_{g} \times N_{g}\). The blocks are stored in an array, which is called CCC2.
-
21.
Follow Sect. 3.2 Step-4 to calculate the array length CCC2. The array length is denoted as l1.
-
22.
Follow Sect. 3.2 Step-8 to sort the iterated sequence m. The sorted and indexed sequences are denoted as \(cpermlrsort\) and \(cpermlrindex\).
-
23.
Perform block de-shuffling and left–right (L–R) flip operation between the blocks of the array CCC2. In the combined operation, first the blocks are L–R-flipped and then de-shuffled using the indexing sequence \(cpermlrindex\). The newly de-shuffled array of blocks is denoted as CCC1.
-
24.
Follow Sect. 3.2 Step-10 to create an image CCC by combining the CCC1 array blocks together.
-
25.
Horizontally divide the image CCC2 into L parts. The newly formed images are denoted as \(CCC_{1} ,CCC_{2} ,CCC_{3} , \ldots ,CCC_{L}\). These images are the L original images.
4 Computer simulations and security analyses
In this paper, the simulation of the suggested scheme is carried out on two image groups such as Image Group-1 that includes “Lena”, “Baboon”, “Pepper”, and “Sailboat”, Image Group-2 that includes “Elaine”, “Baboon”, “Boat”, and “Couple”. Computer simulations are conducted on a system with a processor of 2.50 GHz, RAM of 4.00 GB using MATLAB. All images are \(512\times 512\) in size and are obtained from the database of USC-SIPI [41]. The keys given for the suggested scheme are listed in Table 1, and the hexadecimal equivalent hash values for two image groups are shown in Table 2. The simulation outcomes of Group-1 images are shown in Fig. 3, and Group-2 images are shown in Fig. 4. It is found in the simulation outputs that the encrypted images tend to be very noisy, indicating that attackers could not get any details from them about the original images. This illustrates that our method has a strong encryption effect. It is also found in the simulation outputs that we can get the successful decrypted images using the correct secret keys.
The suggested scheme also applies for the encryption of multiple color images. This can only be achieved through encrypting the Red (R), Green (G), and Blue (B) parts separately and then combining all of the encrypted R, G, and B parts to get multiple encrypted color images.
The proposed algorithm’s security evaluation is as follows.
4.1 Key space analysis
Key space is the number of distinct keys used to execute the process of encryption [42]. An algorithm’s key space must be greater than \({2}^{128}\) to withstand the attack of brute-force [8, 43]. The keys used in the suggested scheme are:
-
the PWLCM system-1- to system-4 based initial values \(km,kn,kp,\mathrm{and} kq\)
-
the PWLCM system-1- to system-4-based system parameters \(mm,nn,pp,\mathrm{and} qq\)
-
Hash values of 256-bit
The algorithm’s key space is presented in Table 3. In the table, it is shown that for each of the algorithm’s individual keys, a key space of \({10}^{15}\), is used. It is because the algorithm uses the 64-bit floating point standard and for that \({10}^{15}\) is suggested by IEEE [44]. The \({2}^{128}\) key space for the SHA-256 hash-value is also shown in the table. This is because the security in the hash function SHA-256 to withstand the best attack is \({2}^{128}\). Hence, the total key space of the proposed algorithm shown in the table is \(1.5491\times {2}^{526}\), which is greater than \({2}^{128}\) to effectively protect the attack of brute force.
The comparison of key space among the suggested method and the existing reference methods [25,26,27, 29, 39] is provided in Table 4. The results of the comparison indicate that the suggested method has larger key space than Refs. [25,26,27, 29, 39] methods. It indicates that the suggested method highly resists the attack of brute force as opposed to the existing multiple image encryption methods [25,26,27, 29, 39].
4.2 Histogram analysis
Image histograms indicate how pixel values are distributed throughout the surface [45]. In an effective cipher image, the histogram must be uniform and substantially distinct from the original image, so that attackers will not be able to get any valuable data from the encrypted image [45, 46]. The histogram outputs of Group-1 and Group-2 images are shown in Figs. 5 and 6, respectively. It is obvious that the histogram of cipher images is distributed uniformly and very distinct from that of the actual images. This ensures that after encryption the redundancy of original images is effectively concealed and should not get any hint that statistical attacks can be applied.
4.3 Histogram variance analysis
The variances of the original and cipher image histograms are measured to determine the image pixel uniformity [47]. The images have greater pixel uniformity when the variances are smaller [47, 48]. It is measured by [47]:
where \(V_{z} = \left\{ {v_{1} , v_{2} , \ldots ,v_{256} } \right\}\), \(i\) and \(j\) denote the grayscale pixel values, \({v}_{i}\) and \({v}_{j}\) denote the number of pixels for each of the grayscale pixel values \(i\) and\(j\), respectively. The variance of two image groups using the suggested method is shown in Table 5. It is shown in the table that the cipher image variance is considerably reduced from the actual image variance. This implies the high grayscale uniformity of pixel values in cipher images. A comparative average variance of image Group-1 between the suggested method and the current Ref. [39] method is shown in Table 6. The results of the comparison show that the suggested method has less average variance than the method of Ref. [39], which indicates the high grayscale uniformity of the suggested scheme. A comparative average variance of image Group-2 between the suggested approach and the current Refs. [25, 26, 39] method is shown in Table 7. The results reveal that the suggested method has a lower average variance than the existing Refs. [25, 26, 39] algorithm, which implies the stronger uniformity of pixel grayscale values in the encrypted images of the suggested algorithm. Noting that both Group-1 and 2 images in Tables 6 and 7 are protected equally by the suggested method, the method in Ref. [39] does not apply equally to both Group-1 and 2 images. This means that the histogram variance of Ref. [39] in Group-1 image is higher, and Group-2 image is lower, but the histogram variance of the proposed algorithm in both Group-1 and 2 images is lower. Therefore, we can say our algorithm is more efficient than the others.
4.4 Chi-square test analysis
The uniformity in the histograms of encrypted images can also be justified through Chi-square test analysis [49, 50]. The low Chi-square value indicates high uniformity in encrypted image histograms [49, 50]. It is measured by
where the observed frequency of \(k\) is denoted as \(o_{k}\) and the expected frequency of \(k\) is denoted as \(e_{k}\). The expected frequency \(e_{k}\) is defined by:
where the image size is \(M \times N\). Table 8 presents the results of the Group-1 and Group-2 image Chi-square test analysis using the suggested method and also presents comparative results with the existing scheme [39]. Table 8 shows that in both the suggested scheme and the reference scheme [39], the hypothesis is accepted at both 5% and 1% levels of significance. This implies that the uniformity of the grayscale exists in the histograms of cipher images in both the suggested and Ref. [39] algorithms. It is also shown in Table 8 that the proposed algorithm has a lower-average Chi-square value than Ref. [39] algorithm. Another finding in Table 8 indicates that the algorithm in Ref. [39] does not apply equally to both Group-1 and 2 images, while the suggested algorithm applies equally to both Group-1 and 2 images. This means the suggested method is more efficient than the method of Ref. [39].
4.5 Adjacent pixel correlation analysis
It measures the association of neighboring pixels in both the original and cipher images along diagonal (D), vertical (V), and horizontal (H) directions. In cipher images, there is usually a low correlation of adjacent pixels and a high correlation of adjacent pixels in original images [51, 52]. With strong correlation, the value of the correlation coefficient is much equal to + 1 or − 1 and the value of the correlation coefficient is much closer to 0 with low correlation. Expressions for calculating the correlation coefficient are as follows.
where
In the above expressions (9)–(14), \(s\) and \(t\) are two neighboring pixel grayscale values, and \(M\) is adjacent pixel-pairs. Table 9 shows the results of the suggested method about the neighboring pixel correlation. The adjacent pixel association is performed on 10,000 pairs of adjacent pixels selected at random in the proposed algorithm. The results of Table 9 show that the correlation of neighboring pixels in the original images in horizontal, vertical, and diagonal directions is much closer to + 1 where as in cipher images; it is very close to 0. This indicates the suggested algorithm is highly resistant to the statistical attack. Table 10 presents a comparative encrypted image adjacent pixel correlation results between the proposed algorithm and Ref. [39] algorithm. Table 10 shows that the encrypted image correlation values of neighboring pixels in the suggested method are weaker than the method of Ref. [39]. This means that the suggested method has high statistical resistivity. Table 11 presents the results of encrypted images comparing the adjacent pixel association between the proposed algorithm and Ref. [25] algorithm. The comparison is carried out on 3000 pairs of neighboring pixels picked at random. From Table 11, the proposed algorithm indicates a weaker association of neighboring pixels in cipher images than Ref. [25] algorithm. It indicates the high resistivity of the proposed method to statistical attack than Ref. [25] algorithm. Table 12 provides a comparison of the results of adjacent pixel correlation between the suggested method and Ref. [26] method. The comparison is executed on 16,384 pairs of randomly chosen neighboring pixels. By analyzing the results of the comparison, it is found that the suggested method has a better value of the coefficient of correlation than Ref. [26] algorithm. Table 13 presents the comparison of adjacent pixel association results between the suggested method, Ref. [39] method, and the methods (Zhang and Wang’s third, second, first method and Tang’s method) analyzed in Ref. [29]. The results in Table 13 indicate the weaker association of neighboring pixels in the proposed method than the methods already being used. It shows the high statistical resistivity of the suggested method relative to Ref. [29]’s analyzed methods and Ref. [39]’s method. This reveals that the method suggested is effective compared to the current methods.
Figures 7, 8 and 9 show the Group-1 image correlation distribution of neighboring pixels. In these figures (Figs. 7, 8 and 9), it is shown that the neighboring pixels are linearly correlated in the actual images, indicating a strong neighboring pixel association, whereas the neighboring pixels are distributed in encrypted images over the entire surface, indicating low association of neighboring pixels. This indicates the high statistical attack resistivity using the suggested method.
4.6 Mean-square error (MSE) and peak signal-to-noise ratio (PSNR) analysis
MSE tests the difference among input and encrypted images, as well as between input and decrypted images. MSE’s high value reveals the big difference between the actual and cipher images [53, 54]. The MSE among the input image and its decryption is zero [53]. MSE is defined as:
where ‘O’ is the “input image”, ‘E’ is the “encrypted image”, ‘D’ is the decrypted image, \({\text{MSE}}_{{{\text{OE}}}}\) is the “MSE between input and encrypted images”, \({\mathrm{MSE}}_{\mathrm{OD}}\) is the “MSE between input and decrypted images”.
The comparative MSE results among the suggested method and Ref. [39] method are provided in Table 14. It is found in the results that the suggested method has larger MSE value than Ref. [39] algorithm. This shows that there is a substantial difference between input and cipher images in the proposed algorithm compared to Ref. [39] algorithm. Table 14 also shows the MSE zero value between the input and decrypted images. This indicates similarity between the input and decrypted images.
PSNR tests the quality estimates of the encrypted image against the original image. A small PSNR value reveals significant variations between the input and the cipher images [53, 54]. The PSNR among the input image and its decryption is infinite [53]. It is defined by:
where \({I}_{\mathrm{max}}\) is the highest pixel value available for the image, \({\mathrm{PSNR}}_{\mathrm{OE}}\) is the “PSNR between input and encrypted images”, \({\mathrm{PSNR}}_{\mathrm{OD}}\) is the “PSNR between input and decrypted images”.
Table 15 presents a comparative PSNR results among the suggested method and Ref. [39] method. Like MSE comparison in Table 14, the PSNR comparison is executed on two image groups in Table 15. Table 15 results indicate that the suggested method has a lower PSNR value than the method in Ref. [39]. It indicates that there is a considerable difference between input and cipher images in the proposed algorithm compared to Ref. [39] algorithm. Table 15 also shows the PSNR infinite value between the input and decrypted images. This indicates that the input and decrypted images are similar.
4.7 Information entropy analysis
It is a method to calculate the degree of pixel randomness in encrypted images [55]. The higher the pixel randomness, the greater the image entropy. The higher the entropy, the greater the information security. The ideal entropy value for an image of 256-grayscale is 8. The nearer it is to 8, the more it prevents information leakage. The entropy is calculated as,
where H is the entropy of an image and \(P_{r} \left( j \right)\) is the probability of the symbol \(j\). Table 16 provides a comparative entropy results among the suggested method and Ref. [39] method. It is noted in the comparison table that the suggested method has a higher entropy value than Ref. [39] method. Table 17 provides a table for comparison among the suggested method and the method Refs. [25, 26]. In the table, the higher entropy value of the suggested method is also found. The comparative entropy results among the suggested method and the methods analyzed in Ref. [29] (Zhang and Wang’s third and first method, and Tang et al.’s method) are shown in Table 18. The comparison table indicates that the suggested method has an entropy value larger than the methods analyzed in Ref. [29]. Comparison Tables 16, 17 and 18 reveal that the proposed algorithm strongly avoids information leakage as opposed to the others. Hence, the proposed algorithm is highly effective compared to existing algorithms for multiple image encryption.
A comparison of information entropy between the proposed method of multiple image encryption and some recently developed methods of single image encryption is provided in Table 19. It is found in Table 19 that all the methods of multiple-image and single-image encryption efficiently resist the entropy attack. However, the method proposed avoids the entropy attack better than Ref. [56] (grayscale images) and Ref. [57] (color images) methods. On the other hand, the method proposed resists the entropy attack marginally less than the methods in Ref. [56] (color images) and Ref. [58] (color images).
4.8 Differential attack analysis
It measures the sensitivity of the ciphertext image toward the plaintext image. The more sensitivity the ciphertext has toward the plaintext, the greater the algorithm’s resistivity against the differential attacks [10, 59, 60]. Two widely used security measures for measuring differential attack analysis are Numbers of Pixel Changing Rate (NPCR) and UACI (Unified Average Changing Intensity) [10, 59, 60].
NPCR measures the rate of change of pixels in an encrypted image. Equations for measuring the NPCR are,
where \(M_{g} \times N_{g}\) is the image size and \(D_{{C_{1} ,C_{2} }} \left( {i,j} \right)\) is defined by,
where \(C_{1}\) is the actual cipher image and \(C_{2}\) is the modified cipher image. The NPCR is \(99.6094 \approx 99.61\%\) in an ideal case [10, 60].
UACI determines the relative intensity varying between the original and cipher images. Equation to measure the UACI is
The ideal value of UACI is \(33.4635 \approx 33.46\%\) [10, 60]. Table 20 presents the UACI and NPCR results of the suggested algorithm. It is seen in the table that all the images’ average UACI and NPCR results are greater than their ideal values. This shows that the suggested method strongly protects the differential attack. The comparative UACI and NPCR results among the suggested method and Ref. [39] method are provided in Table 21. By analyzing the results of the comparison, it is found that the method suggested has a better-average UACI and NPCR than the method Ref. [39]. Table 22 provides the comparative UACI and NPCR among the suggested method and the methods analyzed in Ref. [29]. By analyzing the results of the comparison, it is found that the suggested method has better-average results for UACI and NPCR than the methods evaluated in Ref. [29]. This shows that the suggested method is efficient in comparison with the other multiple image encryption methods referred.
4.9 Key sensitivity analysis
Eight number of PWLCM system-based keys are used in the suggested scheme. To prevent the scheme against the brute-force attack, all keys should be highly sensitive. The key sensitivity is accomplished by changing one of the eight keys and then the encryption operation. Finally, the rate of change of pixel values in modified cipher images relative to the original cipher images is observed. Figures 10, 11, 12 and 13 show the key sensitivity outcomes of the Group-1 images. By analyzing the two cipher image differences in Figs. 10, 11, 12 and 13, it is found that a dramatic change in the cipher images occurs by modifying only one key out of eight keys. This shows the algorithm being proposed is highly key sensitive. Tables 23 and 24 present the key sensitivity results in the form of UACI and NPCR. If the NPCR value exceeds 99% and if the UACI value exceeds 33%, then the keys are highly sensitive to the algorithm. The UACI and NPCR values of all images are found in Tables 23 and 24 to be greater than 33% and 99%, respectively. This shows the method proposed is highly sensitive to all keys.
4.10 Noise attack analysis
The robustness of a cryptosystem toward noise is one of the most significant challenges in real-world communication technology [61]. The suggested cryptosystem is robust against noise. In this cryptosystem, two kinds of noise are used to illustrate the effectiveness of the algorithm, such as Gaussian noise and salt and pepper noise. Both noise analyses are carried out by adding some noise to the encrypted image and subsequently retrieving the decrypted image. Finally, the disparity between the original image and the decrypted images recovered indicates the algorithm’s efficacy toward noise. The difference between the original image and the decrypted image retrieved is calculated by NPCR and UACI. The lower value of NPCR and UACI shows the better resistivity towards the noise. The Gaussian noise attack analysis results of the Group-1 and Group-2 images are shown in Figs. 14 and 15, respectively. The robustness of Group-1 images against Gaussian noise is seen in Figs. 14 and 15 at Mean = 0 and Variance = 0.0001, 0.0003, 0.0005. Tables 25 and 26, respectively, show the corresponding NPCR and UACI results of the Group-1 and Group-2 images. Table 27 shows the comparison of the results of the Gaussian noise attack analysis. In Table 27, it is found that the proposed algorithm has lower value of NPCR and UACI than the algorithms in Ref. [47, 50, 61]. This shows that the proposed algorithm resists the Gaussian noise attack better than Ref. [47, 50, 61] algorithms.
Figures 16 and 17, respectively, show the outcomes of the salt and pepper noise attack analysis of the Group-1 and Group-2 images. In these figures, it is observed that the proposed algorithm strongly resists the salt and pepper noise attack. The NPCR and UACI results of the Group-1 and Group-2 images, respectively, are shown in Tables 28 and 29. The comparison of salt and pepper noise attack analysis results is shown in Table 30. It is noticed in Table 30 that the proposed algorithm has a lower NPCR and UACI value than the algorithm in Ref. [50]. This illustrates that the salt and pepper noise attack is also resisted by the proposed algorithm.
4.11 Cryptanalysis
The two attacks commonly used by attackers to target cryptographic algorithms are the chosen-plaintext attack and the chosen-ciphertext attack [62,63,64]. The chosen-plaintext and/or chosen-ciphertext attack with all-one or all-zero images has breached several image encryption techniques [64,65,66]. In the proposed algorithm, both the attacks are implemented.
4.11.1 Chosen-plaintext attack
In this type of attack, the attacker has the ability to choose to encrypt some random plaintexts and get their corresponding ciphertexts. In a simple way, with the unknown encryption key \(K\), the attacker has the ciphertext \(C\) and tries to obtain the corresponding plaintext \(P\). Even so, with the same unknown encryption key, the attacker has a plaintext \(P_{az}\) of all-one (or all-zero), and its encrypted variant \(C_{az}\) acquired. The following is the sub-key extraction by the attacker for pixel encryption [62].
In Eq. (23), \(P_{az}^{i,j}\) is the plaintext with all-zero grayscale pixel values, \(C_{az}^{i,j}\) is the corresponding ciphertext obtained with the same unknown key, \(\left( {i,j} \right)\) is denoted as the 2D-pixel positions. The operation of Eq. (23) obtains a key stream \(K_{az}^{i,j}\).
By using the key stream \(K_{az}^{i,j}\), the plaintext \(P^{i,j}\) is obtained from the ciphertext \(C^{i,j}\) by [62],
Figure 18 shows the chosen-plaintext attack on the Group-1 and Group-2 encrypted images using the null-images (all-zero pixel values). By analyzing the chosen-plaintext attack of Group-1 and Group-2 images and their corresponding histograms, it is noticed that the chosen-plaintext fails in this proposed multiple image encryption algorithm. This is because the generated key values of the proposed algorithm are linked to the key values given and to the hash values of the actual images. The proposed algorithm, therefore, has a strong ability to resist the chosen-plaintext attack.
4.11.2 Chosen-ciphertext attack
In this type of attack also, the attacker does not have any key. The attacker has a ciphertext \({C}_{az}\) of all-one (or all-zero), and its decrypted variant \({P}_{az}\). By using Eq. (23), the attacker determines the key stream \({K}_{az}^{i,j}\). Then using Eq. (24), the plaintext \({P}^{i,j}\) is recovered from its ciphertext \({C}^{i,j}\) [62]. Figure 19 shows the chosen-ciphertext attack on the Group-1 and Group-2 images using the null images (all-zero pixel values). By analyzing the chosen-ciphertext attack of Group-1 and Group-2 images and their corresponding histograms, it is noticed that the chosen-ciphertext attack fails in this proposed multiple image encryption algorithm.
4.12 Computational complexity analysis
The computational complexity of the proposed algorithm mainly depends on block permutation operation, image diffusion operation, and PWLCM system-based sequence formation operation. The computational complexity of each of them is described below.
-
i.
PWLCM system-based chaotic sequence formation operation Two cross-coupling operations are performed within this algorithm. The first is between PWLCM system-1 and system-2 and the second cross-coupling is between PWLCM system-3 system-4. The computational complexity for generating the first cross-coupling sequence is \(O\left( {2 \times M_{g} \times N_{g} } \right)\), and the computational complexity for generating the second cross-coupling sequence is \(O\left( {2 \times M_{g} \times N_{g} } \right)\). The total computational complexity of the suggested method for the generation of cross-coupling sequences is therefore \(O\left( {2M_{g} N_{g} + 2M_{g} N_{g} } \right) = O\left( {4M_{g} N_{g} } \right) \approx O\left( {M_{g} \times N_{g} } \right)\).
-
ii.
Block permutation operation In the proposed algorithm, the blocks are permuted two times. Each time the number of blocks permuted is \(M_{g} \times N_{g}\). The computational complexity is therefore \(O\left( {M_{g} \times N_{g} } \right)\) in each time block permutation operation. The total computational complexity is \(O\left( {M_{g} N_{g} + M_{g} N_{g} } \right) = O\left( {2M_{g} N_{g} } \right) \approx O\left( {M_{g} \times N_{g} } \right)\). In this algorithm, L–R and U–D flip operations are also performed together with the block permutation operation. In only a few clock cycles, flip processes in existing CPU architectures are completed. Flipping processes do not require constant time; in existing CPU architectures, it is one of the quickest processes.
-
iii.
Image diffusion operation Pixel-wise bit-XOR-based diffusion operations are executed in the suggested scheme. The computational complexity to perform the process of bit-XOR-based diffusion is \(O\left( n \right)\), where \(n\) represents the counting of bits. In this algorithm, two-time bit-XOR operation is executed between pixels of \(M_{g} \times N_{g}\), i.e., \(M_{g} \times N_{g} \times 8\) bits. In each bit-XOR operation, the computational complexity is \(O\left( {8 \times M_{g} \times N_{g} } \right)\). Hence, the total computational complexity is \(O\left( {8M_{g} N_{g} + 8M_{g} N_{g} } \right) = O\left( {16M_{g} N_{g} } \right) \approx O\left( {M_{g} \times N_{g} } \right)\).
Therefore, the overall computational complexity of the suggested method is approximately \(O\left( {M_{g} \times N_{g} } \right)\).
Table 31 provides a comparative analysis of computational complexity between the method of Ref. [25,26,27, 29, 39] and the suggested method. By observing Table 31, we can found that the proposed method has lesser computational complexity than the third and second algorithms of Zhang and Wang, Tang et al.’s algorithm, and Patro et al.’s algorithm, whereas the proposed algorithm has more computational complexity than the first algorithm of Zhang and Wang. This shows that the suggested method is more efficient than the existing methods of multi-image encryption. However, the computational complexity of the proposed multiple image encryption algorithm is higher than the RC5 and chaotic map-based single-image encryption algorithm developed by Amin and Abd El-Latif et al. [67]. This is because the algorithm in [67] operates on a fixed block size and takes around the same time regardless of input, so the computational complexity is \(O\left(1\right)\). But we typically get an \(O\left(m\right)\) complexity for the encryption of longer messages using the mode of operation, where \(m\) is the number of data blocks to be encrypted.
4.13 Comparison of the permutation operations
The comparison of the permutation operation between the proposed algorithm and the algorithm in Ref. [68] is provided in Table 32. Similarly, the comparison of the permutation operation between the proposed algorithm and the algorithm in Ref. [69] is provided in Table 33.
5 Conclusion
This paper proposes an efficient two-layer security-based multi-image encryption scheme. In this scheme, two distinct layers of permutation and flip operation and then two distinct layers of diffusion operation are conducted. To achieve permutation and diffusion, a cross-coupling of PWLCM systems is used. Two cross-couplings are carried out in two different layers. This renders the algorithm more efficient. In cross-coupling, the need for a single 1D chaotic map-PWLCM system makes the algorithm efficient, both hardware and software. In additions to that, the block-based permutation, L–R, and U–D flip operations minimize the algorithm’s computational complexity. Moreover, the hash generated keys of the algorithm resist both the chosen-plaintext attack and the known-plaintext attack. Results of the simulations show the suggested method is more efficient in encryption. The security review shows that all the security attacks that are widely used are strongly resisted by the suggested scheme. The comparative analysis reveals that the suggested method for multi-image encryption is stronger and more effective than the current methods for multi-image encryption.
References
Coppersmith, D.: The data encryption standard (DES) and its strength against attacks. IBM J. Res. Dev. 38(3), 243–250 (1994)
Advanced Encryption Standard (AES): N.F. Pub, 197, Federal information processing standards publication. 197(441), 0311 (2001)
Gao, H., Zhang, Y., Liang, S., Li, D.: A new chaotic algorithm for image encryption. Chaos, Solitons Fractals 29(2), 393–399 (2006)
Patro, K.A.K., Acharya, B., Nath, V.: A secure multi-stage one-round bit-plane permutation operation based chaotic image encryption. Microsyst. Technol. 25(6), 2331–2338 (2019)
Guesmi, R., Farah, M.A.B., Kachouri, A., Samet, M.: A novel chaos-based image encryption using DNA sequence operation and Secure Hash Algorithm SHA-2. Nonlinear Dyn. 83(3), 1123–1136 (2016)
Guesmi, R., Farah, M.A.B., Kachouri, A., Samet, M.: Hash key-based image encryption using crossover operator and chaos. Multimed. Tools Appl. 75(8), 4753–4769 (2016)
Patro, K.A.K., Acharya, B.: A simple, secure, and time-efficient bit-plane operated bit-level image encryption scheme using 1-D chaotic maps. In: Chattopadhyay, J., Singh, R., Bhattacherjee, V. (eds.) Innovations in Soft Computing and Information Technology, pp. 261–278. Springer (2019)
Kulsoom, A., Xiao, D., Abbas, S.A.: An efficient and noise resistive selective image encryption scheme for gray images based on chaotic maps and DNA complementary rules. Multimed. Tools Appl. 75(1), 1–23 (2016)
Patro, K.A.K., Babu, M.P.J., Kumar, K.P., Acharya, B.: Dual-layer DNA-encoding–decoding operation based image encryption using one-dimensional chaotic map. In: Kolhe, M.L., Tiwari, S., Trivedi, M.C., Mishra, K.K. (eds.) Advances in Data and Information Sciences, pp. 67–80. Springer (2020)
Wang, T., Wang, M.H.: Hyperchaotic image encryption algorithm based on bit-level permutation and DNA encoding. Opt. Laser Technol. 132, 106355 (2020)
Patro, K.A.K., Acharya, B.: A secure block operation based bit-plane image encryption using chaotic maps. In: IEEE First International Conference on Power, Control and Computing Technologies (ICPC2T), pp. 411–416 (2020)
Abdelfatah, R.I.: A new fast double-chaotic based Image encryption scheme. Multimed. Tools Appl. 79(1), 1241–1259 (2020)
Liu, W., Sun, K., Zhu, C.: A fast image encryption algorithm based on chaotic map. Opt. Lasers Eng. 84, 26–36 (2016)
Wang, X., Wang, S., Zhang, Y., Guo, K.: A novel image encryption algorithm based on chaotic shuffling method. Inf. Secur. J. A Glob. Perspect. 26(1), 7–16 (2017)
Behnia, S., Akhshani, A., Mahmodi, H., Akhavan, A.: A novel algorithm for image encryption based on mixture of chaotic maps. Chaos, Solitons Fractals 35(2), 408–419 (2008)
Sneha, P.S., Sankar, S., Kumar, A.S.: A chaotic colour image encryption scheme combining Walsh–Hadamard transform and Arnold-Tent maps. J. Ambient. Intell. Humaniz. Comput. 11(3), 1289–1308 (2020)
El-Latif, A.A.A., Li, L., Zhang, T., Wang, N., Song, X., Niu, X.: Digital image encryption scheme based on multiple chaotic systems. Sens. Imaging Int. J. 13(2), 67–88 (2012)
Liu, H., Xu, Y., Ma, C.: Chaos based image hybrid encryption algorithm using key stretching and hash feedback. Optik 216, 164925 (2020)
Lu, Q., Zhu, C., Deng, X.: An efficient image encryption scheme based on the LSS chaotic map and single S-box. IEEE Access 8, 25664–25678 (2020)
Patro, K.A.K., Acharya, B., Nath, V.: Various dimensional colour image encryption based on non-overlapping block-level diffusion operation. Microsyst. Technol. 26, 1437–1448 (2020)
Gan, Z., Chai, X., Zhang, M., Lu, Y.: A double color image encryption scheme based on three-dimensional brownian motion. Multimed. Tools Appl. 77, 27919–27953 (2018)
Singh, N., Sinha, A.: Chaos based multiple image encryption using multiple canonical transforms. Opt. Laser Technol. 42(5), 724–731 (2010)
Kong, D., Shen, X., Xu, Q., Xin, W., Guo, H.: Multiple-image encryption scheme based on cascaded fractional fourier transform. Appl. Opt. 52(12), 2619–2625 (2013)
Kong, D., Shen, X.: Multiple-image encryption based on optical wavelet transform and multichannel fractional fourier transform. Opt. Laser Technol. 57, 343–349 (2014)
Tang, Z., Song, J., Zhang, X., Sun, R.: Multiple-image encryption with bit-plane decomposition and chaotic maps. Opt. Lasers Eng. 80, 1–11 (2016)
Zhang, X., Wang, X.: Multiple-image encryption algorithm based on mixed image element and permutation. Opt. Lasers Eng. 92, 6–16 (2017)
Zhang, X., Wang, X.: Multiple-image encryption algorithm based on mixed image element and chaos. Comput. Electr. Eng. 62, 401–413 (2017)
Li, C.-L., Li, H.-M., Li, F.-D., Wei, D.-Q., Yang, X.-B., Zhang, J.: Multiple-image encryption by using robust chaotic map in wavelet transform domain. Optik 171, 277–286 (2018)
Zhang, X., Wang, X.: Multiple-image encryption algorithm based on dna encoding and chaotic system. Multimed. Tools Appl. 78(6), 7841–7869 (2019)
Enayatifar, R., Guimarães, F.G., Siarry, P.: Index-based permutation-diffusion in multiple-image encryption using DNA sequence. Opt. Lasers Eng. 115, 131–140 (2019)
Shujun, L., Xuanqin, M., Yuanlong, C.: Pseudo-random bit generator based on couple chaotic systems and its applications in streamcipher cryptography. In: International Conference on Cryptology in India, Springer, pp. 316–329 (2001)
Short, K.M.: Signal extraction from chaotic communications. Int. J. Bifurc. Chaos 7(07), 1579–1597 (1997)
Yang, T., Yang, L.-B., Yang, C.-M.: Cryptanalyzing chaotic secure communications using return maps. Phys. Lett. A 245(6), 495–510 (1998)
Ogorzatek, M. J., Dedieu, H.: Some tools for attacking secure communication systems employing chaotic carriers. In: ISCAS’98. Proceedings of the 1998 IEEE International Symposium on Circuits and Systems (Cat. No. 98CH36187), Vol. 4, IEEE, pp. 522–525 (1998)
Zhou, C.-S., Chen, T.-L.: Extracting information masked by chaos and contaminated with noise: some considerations on the security of communication approaches using chaos. Phys. Lett. A 234(6), 429–435 (1997)
Beth, T., Lazic, D. E., Mathias, A.: Cryptanalysis of cryptosystems based on remote chaos replication. In: Annual International Cryptology Conference, pp. 318–331. Springer (1994)
Heidari-Bateni, G., McGillem, C.D.: A chaotic direct-sequence spread-spectrum communication system. IEEE Trans. Commun. 42(234), 1524–1527 (1994)
Protopopescu, V.A., Santoro, R.T., Tolliver, J. S.: Fast and secure encryption-decryption method based on chaotic dynamics, US Patent 5479513 (1995)
Patro, K.A.K., Soni, A., Netam, P.K., Acharya, B.: Multiple grayscale image encryption using cross-coupled chaotic maps. J. Inf. Secur. Appl. 52, 102470 (2020)
Xiang, T., Liao, X., Wong, K.W.: An improved particle swarm optimization algorithm combined with piecewise linear chaotic map. Appl. Math. Comput. 190(2), 1637–1645 (2007)
Usc-sipi image database for research in image processing, image analysis, and machine vision, http://sipi.usc.edu/database/ (Accessed 19 Sep 2017)
Li, Y., Wang, C., Chen, H.: A hyper-chaos-based image encryption algorithm using pixel-level permutation and bit-level permutation. Opt. Lasers Eng. 90, 238–246 (2017)
Sravanthi, D., Patro, K.A.K., Acharya, B., Majumder, S.: A secure chaotic image encryption based on bit-plane operation. In: Soft computing in Data Analytics, pp. 717–726. Springer (2019)
I. C. S. S. C. W. Group of the Microprocessor Standards Subcommittee, IEEE standard for binary floating-point arithmetic, Institute of Electrical and Electronic Engineers (1985)
Chen, J.X., Zhu, Z.L., Fu, C., Yu, H., Zhang, L.B.: A fast chaos-based image encryption scheme with a dynamic state variables selection mechanism. Commun. Nonlinear Sci. Numer. Simul. 20(3), 846–860 (2015)
Patro, K.A.K., Acharya, B.: A novel multi-dimensional multiple image encryption technique. Multimed. Tools Appl. 79, 12959–12994 (2020)
Chai, X., Chen, Y., Broyde, L.: A novel chaos-based image encryption algorithm using DNA sequence operations. Opt. Lasers Eng. 88, 197–213 (2017)
Sravanthi, D., Patro, K.A.K., Acharya, B., Babu, M.P.J.: Simple permutation and diffusion operation based image encryption using various one-dimensional chaotic maps: a comparative analysis on security. In: Advances in Data and Information Sciences, pp. 81–96. Springer (2020)
Liao, X., Hahsmi, M.A., Haider, R.: An efficient mixed inter-intra pixels substitution at 2bits-level for image encryption technique using DNA and chaos. Optik-Int. J. Light Electron Opt. 153, 117–134 (2018)
Patro, K.A.K., Acharya, B., Nath, V.: Secure, lossless, and noise-resistive image encryption using chaos, hyper-chaos, and DNA sequence operation. IETE Tech. Rev. 37(3), 223–245 (2020)
Kwok, H.S., Tang, W.K.: A fast image encryption system based on chaotic maps with finite precision representation. Chaos, Solitons Fractals 32(4), 1518–1529 (2007)
Patro, K.A.K., Acharya, B.: Novel data encryption scheme using DNA computing. In: Advances of DNA Computing in Cryptography, pp. 69–110. Chapman and Hall/CRC (2018)
Norouzi, B., Mirzakuchaki, S., Seyedzadeh, S.M., Mosavi, M.R.: A simple, sensitive and secure image encryption algorithm based on hyper-chaotic system with only one round diffusion process. Multimed. Tools Appl. 71(3), 1469–1497 (2014)
Patro, K.A.K., Acharya, B., Nath, V.: Secure multilevel permutation-diffusion based image encryption using chaotic and hyper-chaotic maps. Microsyst. Technol. 25(12), 4593–4607 (2019)
Samiullah, M., Aslam, W., Nazir, H., Lali, M.I., Shahzad, B., Mufti, M.R., Afzal, H.: An image encryption scheme based on DNA computing and multiple chaotic systems. IEEE Access 8, 25650–25663 (2020)
Tsafack, N., Kengne, J., Abd-El-Atty, B., Iliyasu, A.M., Hirota, K., A.A. Abd EL-Latif, : Design and implementation of a simple dynamical 4-D chaotic circuit with applications in image encryption. Inf. Sci. 515, 191–217 (2020)
Abd El-Latif, A.A., Abd-El-Atty, B., Mazurczyk, W., Fung, C., Venegas-Andraca, S.E.: Secure data encryption based on quantum walks for 5G Internet of Things scenario. IEEE Trans. Netw. Serv. Manag. 17(1), 118–131 (2020)
Sambas, A., Vaidyanathan, S., Tlelo-Cuautle, E., Abd-El-Atty, B., Abd El-Latif, A.A., Guillén-Fernández, O., Hidayat, Y., Gundara, G.: A 3-D multi-stable system with a peanut-shaped equilibrium curve: circuit design FPGA realization, and an application to image encryption. IEEE Access 8, 137116–137132 (2020)
Malik, D.S., Shah, T.: Color multiple image encryption scheme based on 3D-chaotic maps. Math. Comput. Simul. 178, 646 (2020)
Zhu, C.: A novel image encryption scheme based on improved hyperchaotic sequences. Opt. Commun. 285(1), 29–37 (2012)
Liu, H., Wang, X.: Image encryption using DNA complementary rule and chaotic maps. Appl. Soft Comput. 12(5), 1457–1466 (2012)
Nkandeu, Y.P.K., Tiedeu, A.: An image encryption algorithm based on substitution technique and chaos mixing. Multimed. Tools Appl. 78(8), 10013–10034 (2019)
Benrhouma, O., Hermassi, H., Abd El-Latif, A.A., Belghith, S.: Cryptanalysis of a video encryption method based on mixing and permutation operations in the DCT domain. Signal Image Video Process. 9(6), 1281–1286 (2015)
R. Bechikh, H. Hermassi, A.A. Abd El-Latif, R. Rhouma, S. Belghith, Breaking an image encryption scheme based on a spatiotemporal chaotic system, Signal Processing: Image Communication 39 (2015) 151–158.
Zhang, X., Nie, W., Ma, Y., Tian, Q.: Cryptanalysis and improvement of an image encryption algorithm based on hyper-chaotic system and dynamic S-box. Multimed. Tools Appl. 76(14), 15641–15659 (2017)
Fan, H., Li, M., Liu, D., An, K.: Cryptanalysis of a plaintext-related chaotic RGB image encryption scheme using total plain image characteristics. Multimedia Tools and Applications 77(15), 20103–20127 (2018)
Amin, M., Abd El-Latif, A.A.: Efficient modified RC5 based on chaos adapted to image encryption. J. Electron. Imaging 19(1), 013012 (2010)
Belazi, A., Abd El-Latif, A.A., Rhouma, R., Belghith, S.: Selective image encryption scheme based on DWT, AES S-box and chaotic permutation, in: International wireless communications and mobile computing conference (IWCMC), pp. 606–610. IEEE (2015)
Abd El-Latif, A.A., Niu, X., Amin, M.: A new image cipher in time and frequency domains. Opt. Commun. 285(21–22), 4241–4251 (2012)
Funding
There is no funding received by any funding agency.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Patro, K.A.K., Acharya, B. An efficient dual-layer cross-coupled chaotic map security-based multi-image encryption system. Nonlinear Dyn 104, 2759–2805 (2021). https://doi.org/10.1007/s11071-021-06409-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11071-021-06409-z