0% found this document useful (0 votes)
5 views

Image Encryption Algorithm Based On Improved Itera

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Image Encryption Algorithm Based On Improved Itera

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Phys. Scr. 99 (2024) 025232 https://doi.org/10.

1088/1402-4896/ad1ae1

PAPER

Image encryption algorithm based on improved iterative chaotic


RECEIVED
23 November 2023
map with infinite collapses and Gray code
REVISED
28 December 2023
ACCEPTED FOR PUBLICATION
Quanyv Wang1,2 , Xiaoqiang Zhang1,2 and Xiaohu Zhao1,2,∗
4 January 2024 1
National and Local Joint Engineering Laboratory of Internet Application Technology on Mine, China University of Mining and
PUBLISHED Technology, Xuzhou 221116, Peopleʼs Republic of China
2
16 January 2024 School of Information and Control Engineering, China University of Mining and Technology, Xuzhou 221116, Peopleʼs Republic of
China

Author to whom any correspondence should be addressed.
E-mail: [email protected]

Keywords: Chaos, Gray code, image encryption, information security

Abstract
The quick advancement of multimedia technology has led to the widespread utilization of digital
images across various industries. Meanwhile, image security has become an urgent issue in need of
resolution. To guarantee image security as well fulfill the requirements of real-time image
cryptosystems, a novel image encryption algorithm is proposed based on the designed improved
iterative chaotic map with infinite collapses (ICMIC), Gray code and semi-pixel level permutation and
diffusion. Firstly, two chaotic sequences are produced using the improved ICMIC and then they are
used to perform scrambling and diffusion operations. Secondly, the plain image is encoded using Gray
code and then we convert each Gray code into two semi-pixels. Thirdly, the designed semi-pixel level
permutation is used to scramble the semi-pixel vector. Finally, the scrambled semi-pixel vector is
diffused using the designed dynamic semi-pixel level diffusion. The performance analyses illustrate
that the proposed algorithm possesses robust security and high efficiency, making it ideally suited for
application in real-time image cryptosystems.

1. Introduction

With the continuous development of multimedia technology, digital images have been applied in different
fields, such as military, medicine, finance and transportation [1]. Meanwhile, the security of images has become
an increasingly important issue. During the process of images transmission and storage, they may face various
threats, such as data tampering, information disclosure and unauthorized access. Image encryption stands as a
prevalent method for enhancing image security. By converting a plain image into a cipher image with a noise-
like appearance, the content of the image can be protected from being known to unauthorized third parties [2].
Recently, researchers have proposed numerous advanced algorithms for image encryption, including the
algorithms using chaotic system [3], deep learning [4], DNA coding [5] and quantum coding [6].
Chaos-based image cryptosystems have become a current research hotspot, primarily because of its
sensitivity to initial conditions [7, 8]. Wen et al designed a two-dimensional (2D) hyper-chaotic map by crossing
Sine map and iterative chaotic map with infinite collapses (ICMIC), which exhibits more complex chaotic
behaviors compared with the Sine map and the ICMIC. Note that ICMIC is a chaotic map proposed by He et al
in 2001 [9] and infinite collapses can be observed in its phase portrait. However, it still has periodic states,
indicating that it cannot present chaotic behaviors throughout the entire control parameter range [10]. Liu et al
designed a novel hyper-chaotic map by using Sine map and ICMIC, which has a wider chaotic range compared
with other similar hyper-chaotic systems. However, its mathematical expression is relatively complicated, which
makes it unsuitable for image cryptosystems that require high real-time performance [11]. Mao et al designed a
novel one-dimensional (1D) chaotic map using ICMIC and Chebyshev map, which can present chaotic
behaviors throughout the entire control parameter range. However, its mathematical expression remains

© 2024 IOP Publishing Ltd


Phys. Scr. 99 (2024) 025232 Q Wang et al

complex, which makes it takes more time to generate chaotic sequences [12]. Wang et al designed a novel chaotic
map based on ICMIC and Logistic map, which can overcome the existing shortcomings of the two seed maps.
However, it is composed of two chaotic maps, making its mathematical expression not simple enough [13]. Gao
et al introduced a hyper-chaotic system based on the discrete memristor and ICMIC. However, its chaotic
performance is not good enough, i.e., the sequence distribution is nonuniform and the chaotic range is narrow
[14]. Wei et al presented a three-dimentional (3D) hyper-chaotic map based on ICMIC and Sine map. The use of
the closed-loop coupling method makes it has more complex chaotic behaviors compared with the two original
1D chaos. However, its mathematical expression is too complicated [15]. To overcome the shortcomings of the
above-mentioned chaotic maps, we design an improved ICMIC which can present chaotic behaviors
throughout the entire control parameter range and has a very simple mathematical structure.
The permutation refers to the change of pixel position, which is a crucial step in designing encryption
algorithm [16, 17]. Wang et al proposed a cross-plane scrambling method by using chaotic sequence and cyclic
shift operation, which can simultaneously scramble the R, G and B components of a color image. To improve the
scrambling effect, the column and row of each component are further scrambled using Inside-Out shuffling
[18]. Chen et al first split an image into different sub-blocks and then those blocks are scrambled using the
designed intra and inter scrambling methods. In addition, Fisher-Yates shuffling is utilized to further improve
the scrambling effect [19]. Wang et al used three different scrambling methods to scramble a color image. Firstly,
the 3D pixel matrix is scrambled using 3D spiral transformation. Secondly, the 2D pixel matrix is scrambled
using index sequence of a chaotic sequence. Thirdly, the 1D pixel vector is scrambled using 1D Arnold
transformation [20]. Wang et al designed a bidirectional spiral transformation, which can overcome the
shortcomings of the traditional one. After the pixel-level permutation, a DNA-level permutation is used to
further increase the scrambling effect [21]. Chen et al first split an image into different parts and then the
designed V-shape traversal is used to respectively scramble each part. After the V-shape traversal, index
permutation and row column index permutation are used to further scramble the image [22]. However, most of
the above scrambling methods require the combination with other scrambling methods to achieve a satisfactory
scrambling effect. In our work, we design a semi-pixel level permutation, which can simultaneously alter the
position and value of pixels and has a desirable scrambling effect without combining other scrambling methods.
The diffusion refers to the change of pixel value, which is another crucial step in designing encryption
algorithm [23, 24]. Rani et al designed a bit-level differential coding scheme to diffuse the scrambled image. After
that, circular shift operation is utilized to further diffuse the encoded binary sequence [25]. Liang et al utilized
random deoxyribonucleic acid (DNA) coding (DNA/RNA coding refers to the conversion between pixels and
DNA/RNA sequences through replacement rules between binary numbers and bases) and operations to
perform the first round of diffusion. And then, XOR operation and a mask image are utilized to perform the
second round of diffusion [26]. Gao et al first used DNA XOR operation and chaotic encoding sequence to
diffuse the scrambled image. Subsequently, the DNA mutation operation is used to further diffuse the image
after DNA operations [27]. Hu et al designed an adaptive diffusion scheme by using additive modules and XOR
operations. However, the designed diffusion scheme is somewhat complicated due to the multiple uses of
addition and modulo operations [28]. Zhang et al designed an ribonucleic acid (RNA) level permutation and
substitution, which can simultaneously alter the value and position of pixels. However, the diffusion scheme
requires multiple rounds to achieve a satisfactory diffusion effect [29]. Wang et al introduced a diffusion method
using central dogma of molecular biology, which has an excellent effect. However, the diffusion method is
composed of many processes, including DNA coding, operations, transcription and translation, making it run
inefficiently [30]. To summarize, most of the above diffusion methods require multiple rounds of diffusion,
which makes the diffusion efficiency relatively low. To ensure the diffusion effect while improving the efficiency
of diffusion, we design a dynamic semi-pixel level diffusion method, which can achieve a desirable diffusion
effect with one round of diffusion and has very high efficiency.
The following are the contributions made by our work. (1) We design an improved ICMIC, which has a
wider chaotic range and more complex chaotic behaviors than the traditional ICMIC. (2) We design a semi-pixel
level scrambling method, which can simultaneously change the position and value of pixels. (3) A dynamic semi-
pixel level diffusion method is designed, which has a desirable diffusion effect and a high execution efficiency. (4)
An image encryption algorithm is proposed based on the improved ICMIC and the designed semi-pixel level
permutation and diffusion, which has robust security and high efficiency.
The rest of this paper is organized as follows. Section 2 presents the improved ICMIC and its dynamics
performance analyses. Section 3 shows the proposed encryption and decryption algorithms. Sections 4 and 5
show the experimental results and the performance analyses of our algorithm. Section 6 shows the conclusions.

2
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 1. Cobweb diagrams: (a) ICMIC; (b) Improved ICMIC.

2. Designed improved ICMIC

2.1. Definition
We can describe the ICMIC [31] as
l
x n + 1 = sin ⎛ ⎞ ,
⎜ ⎟ (1)
x
⎝ n⎠
where the initial conditions λ ä (0, + ∞ ) and x ä (− 1, 1).
The ICMIC has many shortcomings, such as discrete chaotic range, weak sensitivity to the initial
conditionsand uneven sequence distribution. To overcome the shortcomings of the ICMIC, we design an
improved ICMIC as shown below.
p 6m
x n + 1 = sin ⎛⎜ 2 ⎞⎟ mod 1, (2)
⎝ xn ⎠
where mod (·) represents the modulo operation and the initial conditions μ ä (0, + ∞ ) and x ä (0, 1).

2.2. Dynamics analyses


2.2.1. Cobweb diagram
For the ICMIC and the improved ICMIC, their control parameters are set as 2 and their initial values are set as
0.6. Figure 1 presents their cobweb diagrams, where the number of iterations is set as 500. As seen in figure 1(a),
the trajectories of the ICMIC cannot traverse the whole phase plane. However, one can see from figure 1(b) that
the trajectories of the improved ICMIC can traverse the whole phase plane and are non-repetitive. Stated
another way, the improved ICMIC has better randomness and ergodicity than the ICMIC.

2.2.2. Sensitivity analysis


To design an image cryptosystem with high security, we hope that the chaotic map should be as sensitive to its
initial conditions as possible. Figure 2 shows the sensitivity analysis results, where we use black and red lines
respectively represent the two different chaotic sequences produced by different initial conditions.
Figures 2(a)-(b) indicate that the ICMIC is not very sensitive to its initial conditions in the first 23 iterations.
However, figures 2(c)-(d) present that the improved ICMIC is very sensitive to its initial conditions from the
third iteration. In other words, the improved ICMIC is more suitable for designing image cryptosystems than
the ICMIC.

2.2.3. Bifurcation diagram


For the ICMIC and the improved ICMIC, their bifurcation diagrams are presented in figure 3, where their initial
values are set as 0.6. We can see from the bifurcation diagram in figure 3(a) that there are plenty of periodic
windows and many iteration values clustered together, which means the chaotic range of the ICMIC is discrete
and its sequence distribution is non-uniform. Figure 3(b) illustrates that the improved ICMIC has a continuous
chaotic range and uniform sequence distribution throughout the given parameter range. Therefore, the
improved ICMIC has a wider chaotic range and a better randomness compared with the ICMIC.

3
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 2. Sensitivity analyses: (a) ICMIC with λ1 = 2 and λ2 = 2 + 10−14; (b) ICMIC with x1(0) = 0.6 and x2(0) = 0.6 + 10−14; (c)
Improved ICMIC with μ1 = 2 and μ2 = 2 + 10−14; d) Improved ICMIC with x1(0) = 0.6 and x2(0) = 0.6 + 10−14.

Figure 3. Bifurcation diagrams: (a) ICMIC; (b) Improved ICMIC.

2.2.4. Lyapunov exponent


Figure 4 shows the Lyapunov exponents (LEs) of the ICMIC and the improved ICMIC, where the initial values of
the two maps are set as 0.6. Figure 4(a) presents that LE > 0 and LE < 0 appear alternately, which means the
chaotic and periodic states appear alternately. In other words, the chaotic range of the ICMIC is discontinuous.
Figure 4(b) illustrates that the LE of the improved ICMIC is always greater than 0 and increases rapidly with the

4
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 4. Lyapunov exponents: (a) ICMIC; (b) Improved ICMIC.

Figure 5. Permutation entropy.

increase of μ. Stated another way, the improved ICMIC has a continuous chaotic range and a strong sensitivity to
its initial conditions.

2.2.5. Permutation entropy


Assuming that the initial values of the ICMIC and the improved ICMIC are 0.6, figure 5 shows their permutation
entropy (PE) [32] within the given parameter range. The closer the PE of a chaotic sequence is to 1, the higher its
complexity is. Obviously, the PE of the ICMIC is only close to 1 within some limited parameter ranges, while the
PE of the improved ICMIC is always approximately equal to 1 throughout the given parameter range. To put it
another way, the improved ICMIC has higher complexity than the ICMIC, making the sequence it produces
more unpredictable.

2.2.6. NIST test


Before doing the NIST test [33], we should first convert a chaotic sequence into a binary sequence. The
conversion method is as follows.

x ¢ = mod (⌊(x + 100) ´ 210⌋ , 2) , (3)

where ⌊·⌋ represents the round-down operation, x ¢ and x respectively refer to the binary sequence and the
chaotic sequence. If we let μ = 3 and x(0) = 0.5, table 1 shows the 15 subtest results of the chaotic sequence

5
Phys. Scr. 99 (2024) 025232 Q Wang et al

Table 1. NIST test result.

Subtest P-value Whether to pass

Frequency 0.449649 ✓
Block Frequency 0.134478 ✓
Rank 0.048977 ✓
FFT 0.468160 ✓
Runs 0.618081 ✓
Longest Run 0.782957 ✓
Universal 0.651447 ✓
Non-overlapping Template 0.680676 ✓
Linear Complexity 0.883160 ✓
Overlapping Template 0.789538 ✓
Approximate Entropy 0.208240 ✓
Serial test 1 0.570542 ✓
Serial test 2 0.524826 ✓
Excursions (X=1) 0.326169 ✓
Excursions Variant (X=1) 0.595838 ✓
Cumulative Sums-forward 0.988909 ✓
Cumulative Sums-reverse 1.000000 ✓

produced by the improved ICMIC. Obviously, all p-values > 0.01 illustrates that the improved ICMIC can pass
the NIST test and has high randomness.

3. Proposed encryption and decryption algorithms

3.1. Proposed encryption algorithm


The proposed encryption algorithm is mainly composed of four different stages, i.e., key generation, Gray
encoding, semi-pixel level permutation and dynamic semi-pixel level diffusion. Figure 6 shows its block diagram
and the pseudo-code is presented in algorithm 1.

3.1.1. Key generation


In this stage, the SHA-256 algorithm is first utilized to produce the hash values of plain image. And then, we can
calculate the initial conditions of the improved ICMIC using those hash values. Finally, two chaotic sequences X,
Y are produced by the improved ICMIC.
Step 1: Hash value generation
The SHA-256 algorithm is first utilized to produce a 256-bit digest of plain image P of size m × n. After that,
we convert every 8 bits in the digest into a decimal number. Finally, we can obtain 32 hash values in decimal
form, which are denoted as H = (h1, h2,...,h32).
Step 2: Key generation
The initial conditions of the improved ICMIC are calculated by those hash values and external keys ξ1, ξ2,
ξ3, ξ4, which are shown in below.

⎧ m1 = x1 + h1 Å h5 Å h 9 Å h13 Å h20 Å h24 Å h28 Å h32


⎪ 256 , (4)
⎨ (h2 + h6 + h10 + h14) Å (h19 + h23 + h27 + h31)
⎪ x1 ( 0 ) = x 2 +
⎩ 1024 ´ 10

⎧ m2 = x 3 + h3 Å h7 Å h11 Å h15 Å h18 Å h22 Å h26 Å h30


⎪ 256 , (5)
⎨ (h 4 + h8 + h12 + h16) Å (h17 + h21 + h25 + h29)
⎪ x 2 ( 0) = x 4 +
⎩ 1024 ´ 10
where ⊕ represents exclusive OR (XOR) operation.
Step 3: Chaotic sequence generation
Two chaotic sequences X and Y are produced using the two groups of initial conditions (μ1, x1(0)), (μ2, x2
(0)) and the improved ICMIC, where they have the same length, i.e., 2mn.

3.1.2. Gray encoding


Gray code was invented by Frank Gray in 1953, which is widely utilized in digital communications, signal and
image processing [34]. The biggest feature of Gray code is that its adjacent codewords have only one bit

6
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 6. Block diagram of the proposed encryption algorithm.

difference, so that there are fewer bit errors caused by one bit error during transmission. For a decimal number,
its encoding processes are as follows. Firstly, the decimal number is converted into its corresponding binary
form. After that, starting from the least significant bit of the binary number, the XOR operation is performed
with each bit and its left bit. Finally, keeping the most significant bit of the binary number unchanged, we can
obtain the corresponding Gray code of the decimal number. The above processes can be described using
equations (6) and (7).
G (n) = B (n) , (6)
G (i ) = B (i ) Å B (i + 1) , i Î [1, n - 1] , (7)
where B and G represent n-bit binary number and the corresponding Gray code, respectively. Figure 7 presents
two specific examples for explaining the process of Gray encoding.
For a gray image, its pixel values range from 0 to 255. Therefore, the Gray code of each pixel value and the
decimal form of the Gray code are shown in table 2. In our work, we first store the table 2 in Table_Gray
beforehand and then we can quickly obtain the Gray code of each pixel value and the decimal form of the Gray
code by looking up the table. Through this method, the time consumed in the Gray encoding process can be
greatly reduced. Below are the specific steps for encoding a gray image.
Step 1: Reshaping pixel matrix into pixel vector
P is reshaped into a pixel vector P1 of length mn.
Step 2: Gray encoding
Using the look-up table method, we can obtain the decimal form of the Gray code corresponding to each
pixel value. By this method, P1 is encoded into a Gray code vector P2 of length mn, where P2 is composed of Gray
code in decimal form.

3.1.3. Semi-pixel level permutation


In this stage, we design a semi-pixel scrambling method, which can simultaneously alter the position and value
of pixels. We first convert each Gray code in decimal form into two semi-pixels. And then, index sequence is
used to scramble the semi-pixel vector. Finally, we convert the semi-pixels into pixels and we can get the

7
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 7. Specific examples for Gray encoding.

Figure 8. Schematic diagram of semi-pixel level permutation.

Table 2. Gray code table (Table_Gray) for a gray image.

Pixel value Gray code Decimal ... Pixel value Gray code Decimal

0 00000000 0 ... 248 10000100 132


1 00000001 1 ... 249 10000101 133
2 00000011 3 ... 250 10000111 135
3 00000010 2 ... 251 10000110 134
4 00000110 6 ... 252 10000010 130
5 00000111 7 ... 253 10000011 131
6 00000101 5 ... 254 10000001 129
7 00000100 4 ... 255 10000000 128

scrambled pixel vector. Figure 8 is a specific example and the detailed scrambling processes are described as
below.
Step 1: Converting Gray code into semi-pixels
We convert each Gray code in P2 into two semi-pixels and the conversion method is as follows.

P3 (ℓ) = ⌊P2 (i ) 16⌋ , i = 1, 2,¼,mn , (8)

P3 (ℓ + 1) = P2 (i ) mod 16, i = 1, 2,¼,mn , (9)

where P3 is composed of semi-pixels and its length is 2mn.


Step 2: Index sequence generation

8
Phys. Scr. 99 (2024) 025232 Q Wang et al

X is sorted in ascending order by using equation (10).


[ ~ ,X idx ] = sort (X ) , (10)
where sort(·) is a sorting function and Xidx is an index sequence with the length of 2mn.
Step 3: Permutation
The semi-pixel vector P3 is scrambled by
P4 (i ) = P3 (X idx (i )) , i = 1, 2,¼,2mn (11)
where P4 is the scrambled semi-pixel vector and its length is 2mn.

3.1.4. Dynamic semi-pixel level diffusion


In this stage, we design a dynamic semi-pixel level diffusion method, which is composed of additive modules,
subtractive modules, XOR and not exclusive OR (XNOR) operations. During the process of diffusion, those four
different operations can be randomly selected according to an operation rule vector. The specific steps of
diffusion are shown as below.
Step 1: Operation rule vector generation
We use the chaotic sequence X to produce an operation rule vector Roper, which is realized by
Roper = ⌊(X + 100) ´ 1010⌋ mod 4, (12)
where the length of Roper is 2mn.
Step 2: Chaotic semi-pixel vector generation
The chaotic sequence Y is used to generate a chaotic semi-pixel vector CV by
CV = ⌊(Y + 100) ´ 1010⌋ mod 16, (13)
where the length of CV is 2mn.
Step 3: Diffusion
P4 is diffused by using the operation rule vector Roper, the chaotic semi-pixel vector CV and equation (14).

⎧(P4 (i ) + CV (i )) mod 16, Roper (i ) = 0


⎪(P4 (i ) - CV (i )) mod 16, Roper (i ) = 1
P 5 (i ) = , (14)
⎨ P4 (i ) Å CV (i ) , Roper (i ) = 2
⎪ P (i )  CV (i ) , Roper (i ) = 3
⎩ 4
where e represents the XNOR operation and P5 is the diffused semi-pixel vector with the length of 2mn.
Step 4: Converting semi-pixels into pixels
We use equation (15) to convert the semi-pixel vector into a pixel vector.
P6 (ℓ) = P5 (i ) ´ 16 + P5 (i + 1) , i = 1, 3,¼,2mn - 1, (15)
where the length of P6 is mn.
Step 5: Reshaping pixel vector into pixel matrix
We reshape P6 into a pixel matrix P7 with the size of m × n and P7 is the encrypted image.

Algorithm 1. Proposed encryption algorithm.

Input: Plain image P; Chaotic sequences X and Y ; Gray code table Table _Gray .
Output: Cipher image P7.
// Gray encoding
1 P1 ¬ reshape (P , 1, mn);
2 for (i ¬ 1; i  mn ;++ i ) do
3 P2 (i ) ¬ Table _Gray (P1 (i ) + 1, 3)
4 end
// Converting Gray code into semi-pixels
5 ℓ ¬ 1;
6 for (i ¬ 1; i  mn ;++ i ) do
7 P3 (ℓ ) ¬ ⌊P2 (i ) 16⌋;
8 P3 (ℓ + 1) ¬ P2 (i ) mod 16 ;
9 ℓ ¬ ℓ + 2;
10 end
// Semi-pixel level permutation
11 [~,X idx ] ¬ sort (X ) ;
12 for (i ¬ 1; i  2mn ;++ i ) do
13 P4 (i ) ¬ P3 (X idx (i ));
14 end

9
Phys. Scr. 99 (2024) 025232 Q Wang et al

(Continued.)
// Dynamic semi-pixel level diffusion
15 R oper ¬ ⌊(X + 100) ´ 1010⌋ mod 4 ;
16 CV ¬ ⌊(Y + 100) ´ 1010⌋ mod 16;
17 for (i ¬ 1; i  2mn ;++ i ) do
18 Switch Roper(i) do
19 Case 0 do
20 P5 (i ) ¬ (P4 (i ) + CV (i )) mod 16;
21 Case 1 do
22 P5 (i ) ¬ (P4 (i ) - CV (i )) mod 16;
23 Case 2 do
24 P5 (i ) ¬ P4 (i ) Å CV (i );
25 Case 3 do
26 P5 (i ) ¬ P4 (i )  CV (i );
27 end
28 end
29 end
// Converting semi-pixels into pixels
30 ℓ ¬ 1;
31 for (i ¬ 1; i  2mn - 1; i ¬ i + 2) do
32 P6 (ℓ ) ¬ P5 (i ) ´ 16 + P5 (i + 1);
33 ℓ ¬ ℓ + 1;
34 end
35 P7 ¬ reshape (P6, m, n);
36 return P7;

3.2. Proposed decryption algorithm


The decryption process is the reverse process of encryption. Figure 9 presents its block diagram and the pseudo-
code is presented in algorithm 2. In the following, we only briefly describe the decryption process.
Step 1: Chaotic sequence generation
Two chaotic sequences X ¢ and Y ¢ are produced by using the received keys (μ1, x1(0)) and (μ2, x2(0)) and the
improved ICMIC.
Step 2: Converting pixels into semi-pixels
The received cipher image P ¢ is converted into a pixel vector P ¢1 with the length of mn. After that, each pixel
in P ¢1 is converted into two semi-pixels and then we can get a semi-pixel vector P ¢2 of length 2mn.
Step 3: Dynamic semi-pixel level reverse diffusion
We first use X ¢ to produce an operation rule vector R ¢oper and then we use Y ¢ to generate a chaotic semi-pixel
vector CV ¢, as shown in equations (16) and (17).

R¢oper = ⌊(X ¢ + 100) ´ 1010⌋ mod 4, (16)

CV ¢ = ⌊(Y ¢ + 100) ´ 1010⌋mod16, (17)

where the lengths of R ¢oper and CV ¢ are both 2mn.


Subsequently, the reverse diffusion is done by using the following equation (18).

⎧(P ¢2 (i ) - CV ¢ (i )) mod 16, R¢oper (i ) = 0


⎪(P ¢2 (i ) + CV ¢ (i )) mod 16, R¢oper (i ) = 1
P ¢3 (i ) = , (18)
⎨ P ¢2 (i ) Å CV ¢ (i ) , R¢oper (i ) = 2

⎩ P ¢2 (i )  CV ¢ (i ) , R¢oper (i ) = 3

where P3¢ is the diffused semi-pixel vector and its length is 2mn.
Step 4: Semi-pixel level reverse permutation
X ¢ is sorted in ascending order and then we can get its index sequence X ¢idx . After that, P3¢ is scrambled by

P4¢ (X ¢idx (i )) = P3¢ (i ) , i = 1, 2,¼,2mn , (19)

where P4¢ is the scrambled semi-pixel vector and its length is 2mn.
Step 5: Converting semi-pixels into Gray code

10
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 9. Block diagram of the proposed decryption algorithm.

We convert every two semi-pixels in P4¢ into its decimal form by using equation (20).
P5¢ (ℓ) = P ¢4 (i ) ´ 16 + P ¢4 (i + 1) , i = 1, 3,¼,2mn - 1, (20)
where P ¢5 is a Gray code vector which is composed of the Gray code in decimal form and its length is mn.
Step 6: Gray decoding
We can quickly find the pixel value corresponding to the Gray code in P ¢5 using the look-up table method.
Therefore, P ¢5 can be decoded into a pixel vector P6¢ of length mn. And then, we reshape P6¢ into a pixel matrix P7¢
with the size of m × n and P7¢ is the decrypted image.

Algorithm 2. Proposed decryption algorithm.

Input: Cipher image P ¢ ; Chaotic sequences X ¢ and Y ¢ ; Gray code table Table _Gray .
Output: Decrypted image P7¢ .
// Converting pixels into semi-pixels
1 P1¢ ¬ reshape (P ¢ , 1, mn);
2 ℓ ¬ 1;
3 for (i ¬ 1; i  mn ;++ i ) do
4 P ¢2 (ℓ ) ¬ ⌊P ¢1(i ) 16⌋;
5 P ¢2 (ℓ + 1) ¬ P ¢1(i ) mod 16 ;
6 ℓ ¬ ℓ + 2;
7 end
// Dynamic semi-pixel level reverse diffusion
8 R ¢oper ¬ ⌊(X ¢ + 100) ´ 1010⌋ mod 4 ;
9
CV ¢ ¬ ⌊(Y ¢ + 100) ´ 1010⌋ mod 16 ;
10 for (i ¬ 1; i  2mn ;++ i ) do
11 switch R ¢oper (i ) do
12 case 0 do
13 P ¢3 (i ) ¬ (P ¢2 (i ) - CV ¢ (i )) mod 16 ;
14 case 1 do
15 P ¢3 (i ) ¬ (P ¢2 (i ) + CV ¢ (i )) mod 16 ;

11
Phys. Scr. 99 (2024) 025232 Q Wang et al

(Continued.)
16 case 2 do
17 P ¢3 (i ) ¬ P ¢2 (i ) Å CV ¢ (i );
18 case 3 do
19 P ¢3 (i ) ¬ P ¢2 (i )  CV ¢ (i );
20 end
21 end
22 end
// Semi-pixel level reverse permutation
23 [~,X ¢idx ] ¬ sort (X ¢);
24 for (i ¬ 1; i  2mn ;++ i ) do
25 P ¢ 4 (X ¢idx (i )) ¬ P ¢3 (i );
26 end
// Converting semi-pixels into Gray code
27 ℓ ¬ 1;
28 for (i ¬ 1; i  2mn - 1; i ¬ i + 2) do
29 P5¢ (ℓ ) ¬ P4¢ (i ) ´ 16 + P4¢ (i + 1);
30 ℓ ¬ ℓ + 1;
31 end
// Gray decoding
32 for (i ¬ 1; i  mn ;++ i ) do
33 idx ¬ find (Table _Gray (:,3) == P5¢ (i )) ;
34 P6¢ (i ) ¬ Table _Gray (idx , 1) ;
35 end
36 P7¢ ¬ reshape (P6¢, m, n);
37return P7¢ ;

4. Experimental results

We set the external keys as ξ1 = 6, ξ2 = 0.6, ξ3 = 5 and ξ4 = 0.2. The gray images with the size of 256 × 256 are
from the USC-SIPI image database [35]. From the experiment results in figure 10, we can learn that the cipher
images are noise-like and we cannot visually observe any useful information from them. In other words, our
algorithm can well hide the private information of the plain images. In addition, the cipher images can be
correctly decrypted using our designed decryption algorithm.

5. Performance analyses

5.1. Key space


The key space can be calculated by utilizing the 256-bit digest of plain image and the four external keys.
Assuming the computer has a precision of 10−14, the key space of our algorithm is
2256 × 1014×4 ≈ 2256 × 2187 = 2443. Obviously, it is larger than 2100 [36], which means our algorithm can make
brute-force attacks ineffective.

5.2. Key sensitivity


The keys μ1, x1(0), μ2, x2(0), ξ1, ξ2, ξ3 and ξ4 are denoted as SK0 for convenience. We respectively change μ1
and x1(0) into μ1 + 10−14 and x1(0) + 10−14, and then the new key sets are denoted as SK1 and SK2,
respectively. We respectively use SK0, SK1 and SK2 to encrypt the Peppers plain images and the corresponding
cipher images are presented in figures 11(a)-(c). We apply the number of pixel change rate (NPCR) [3] to
quantitatively analyze the cipher images, which can be depicted by
m n
1
NPCR = åå
m ´ n i=1 j=1
∣ sign (P1 (i , j ) - P2 (i , j ))∣ ´ 100%, (21)

where sign(·) stands for the sign function, P1 and P2 refer to two different cipher images. We can learn from the
NPCR values in table 3 that a tiny change in the key can produce two almost completely different cipher images.
We respectively change μ2 and x2(0) into μ2 + 1014 and x2(0) + 10−14, and then the new key sets are
denoted as SK3 and SK4, respectively. We respectively use SK0, SK3 and SK4 to decrypt the Peppers cipher
images and the decrypted images are presented in figures 11(d)-(f). Obviously, the cipher image can be correctly

12
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 10. Experimental results.

Figure 11. Key sensitivity analyses.

13
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 12. Histograms of different images.

Table 3. NPCR values between any two cipher images.

Cipher image Key set NPCR (%)


figure 11(a) figure 11(b) figure 11(c)
figure 11(a) SK0 0 99.6460 99.5422
figure 11(b) SK1 99.6460 0 99.6017
figure 11(c) SK2 99.5422 99.6017 0

decrypted using SK0, while it cannot be correctly decrypted using SK3 and SK4. In other words, a tiny change in
the key will not yield the correct decrypted image.

5.3. Histogram
The histograms of different images are presented in figure 12. For the plain images, the histograms have
relatively large fluctuations, making it easy for attackers to infer the information in the plain image. However, for
the cipher images, the histograms are very flat. In other words, the cipher images can well hide the statistical
characteristics of the plain images.

14
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 13. Spatial distribution diagrams for different images.

5.4. Spatial distribution diagram


The spatial distribution diagrams of different images are presented in figure 13. For the plain images, the spatial
distribution diagrams have many peaks and valleys, which makes it unable to effectively resist statistical attacks.
For the cipher images, the spatial distribution diagrams are fairly even, which makes it difficult for attackers to
obtain useful information from them.

5.5. χ2 test
The χ2 value [3] is calculated by:
2
255
( pi - q)
c2 = å q
, (22)
i=0

where pi refers to the frequency of all pixels and q = mn/256. For a gray image, its χ2 value is 284.3359 when we
set the significance level as 0.1. As seen in table 4, the χ2 values of the cipher images are below 284.3359,
indicating that our algorithm can pass the χ2 test.

15
Phys. Scr. 99 (2024) 025232 Q Wang et al

Table 4. χ2 test.

Image Airplane Baboon Peppers Tree

Plain 174137 58567 31581 66010


Cipher 221.5469 257.7422 221.1094 262.2734
Whether ✓ ✓ ✓ ✓
to pass

Table 5. Comparison of information entropy for


different algorithms.

Algorithm Image Plain Cipher

Proposed Airplane 6.7300 7.9976


Baboon 7.2309 7.9972
Peppers 7.5808 7.9976
Tree 7.3103 7.9971
[12] Peppers 7.5808 7.9975
[37] Peppers 7.5808 7.9948
[38] Peppers 7.5808 7.9974
[39] Peppers 7.5808 7.9973
[40] Peppers 7.5808 7.9969

5.6. Information entropy


We can calculate the information entropy [37] by

2L - 1
IE = - å p (s i ) log 2( p (s i )) , (23)
i=0

where p(si) stands for the probability of si occurring and L = 8 for a gray image. Table 5 shows that our algorithm
can bring the entropy of the Peppers cipher image closer to its ideal value 8 compared with the algorithms
mentioned in [12, 37–40]. Put differently, our algorithm can enhance the randomness and unpredictability of
the pixels.

5.7. Correlation
The correlation coefficient [38] is calculated by

rxy =
(
å i = 1 x i - å i = 1x i T
T T
)( y - å y T )
i
T
i=1 i
, (24)
2 2
( ( T
åi=1 x i - åTi = 1x i T ) ) (å ( y - å y T ) )
T
i=1 i
T
i=1 i

where xi and yi stand for two adjacent pixels and T refers to the total number of pixels chosen from the image. For
different plain and cipher images, table 6 presents their correlation coefficients in the horizontal (H), vertical (V)
and diagonal (D) directions. Obviously, our algorithm has the capability to bring the correlation coefficients of
the Peppers cipher image closer to 0 in comparison to the algorithms reported in [12, 37–40]. Besides, figure 14
shows the correlation distribution diagrams of the plain and cipher images. As can be seen, our algorithm can
significantly reduce the correlation between adjacent pixels.

5.8. Chosen-plaintext attacks


To verify the performance of our algorithm against chosen-plaintext attacks, pure black and white images of size
256 × 256 are utilized in our work. Figure 15 presents the experiment results and histograms of the above two
types of images. Obviously, the cipher images have noise-like appearances and the histograms are very even. We
can learn from the statistical properties in table 7 that the statistical results are satisfactory, which means our
algorithm can withstand the chosen-plaintext attacks.

16
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 14. Correlation distribution diagrams of different images.

Table 6. Comparison of correlation coefficients for different algorithms.

Plain Cipher
Algorithm Image
H V D H V D

Proposed Airplane 0.9450 0.9420 0.9026 −0.0065 −0.0042 −0.0008


Baboon 0.8357 0.8756 0.7922 −0.0003 0.0046 −0.0045
Peppers 0.9721 0.9681 0.9437 0.0005 0.0008 0.0058
Tree 0.9279 0.9638 0.9100 0.0020 0.0006 0.0008
[12] Peppers 0.9730 0.9643 0.9325 −0.0002 0.0032 0.0095
[37] Peppers 0.9613 0.9562 0.9230 0.0026 −0.0037 0.0017
[38] Peppers 0.9696 0.9732 0.9433 −0.0048 0.0023 −0.0001
[39] Peppers 0.9670 0.9733 0.9395 0.0054 0.0045 −0.0038
[40] Peppers 0.9696 0.9434 0.9733 0.0004 −0.0018 −0.0063

17
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 15. Experimental results and histograms of pure black and white images.

Table 7. Statistical property analyses.

Correlation coefficient
Image χ2 value Information entropy
H V D

Pure black 16 711 680 0 − − −


Cipher image of pure black 234.7734 7.9974 0.0003 −0.0003 −0.0060
Pure white 16 711 680 0 − − −
Cipher image of pure white 217.3203 7.9976 −0.0008 −0.0044 −0.0009

Table 8. Comparison of NPCR and UACI values for


different algorithms.

Algorithm Image NPCR (%) UACI (%)

Proposed Airplane 99.6063 33.4658


Baboon 99.6140 33.4628
Peppers 99.6094 33.4640
Tree 99.6033 33.4606
[12] Peppers 99.5972 33.5158
[37] Peppers 99.6057 33.4752
[38] Peppers 99.6400 33.4800
[39] Peppers 99.6094 33.4736
[40] Peppers 99.6094 33.5607

5.9. Differential attacks


The unified average changing intensity (UACI) [37] is depicted by

1 m n
∣ C1 (i , j ) - C 2 (i , j )∣
UACI = åå
m ´ n i=1 j=1 255
´ 100%, (25)

where C1 and C2 stand for two cipher images derived from the plain images that differ by just a single pixel. We
can learn from the NPCR and UACI values in table 8 that our algorithm can make the two indicators closer to
their optimal values (i.e., 99.6094% and 33.4635%) in comparison to the algorithms reported in [12, 37–40].
That is to say, our algorithm can render the differential attacks ineffective.

18
Phys. Scr. 99 (2024) 025232 Q Wang et al

Figure 16. Cropping attack analyses.

Figure 17. Noise attack analyses.

5.10. Robustness
The first row in figure 16 shows the cropped Peppers cipher images, where the cropping sizes respectively are 1/
32, 1/16, 1/8 and 1/4. The first row in figure 17 presents the disturbed Peppers cipher images with salt and
pepper noise, where the noise intensities respectively are 0.01, 0.05, 0.1 and 0.15. After that, we respectively
decrypt the cropped/disturbed cipher images and the second rows in figures 16- 17 present the corresponding
decrypted images. It is obvious that the decrypted images remain recognizable, which means our algorithm is
robust to the above two types of attacks.

5.11. Execution time


In our experiments, the software environment and hardware configuration are as follows: MATLAB R2022b and
R7/3.2 GHz CPU with 16G RAM. The time consumed by each step in the encryption algorithm is presented in

19
Phys. Scr. 99 (2024) 025232 Q Wang et al

Table 9. Specific encryption time analyses.

Time (in
Step seconds) Percentage

Chaotic sequence generation 0.015 910 8.19%


Gray encoding 0.120801 62.15%
Converting pixel into semi- 0.002021 1.04%
pixels
Semi-pixel level permutation 0.003865 1.99%
Semi-pixel level diffusion 0.051147 26.31%
Converting semi-pixels into 0.000609 0.31%
pixel
Other 0.000021 0.01%
Total 0.194376 1

Table 10. Comparison of encryption times for


different algorithms.

Algorithm Image Time (in seconds)

Proposed Airplane 0.1937


Baboon 0.1954
Peppers 0.1944
Tree 0.1933
[41] Peppers 0.3825
[42] Peppers 0.3953
[43] Peppers 1.5181
[44] Peppers 2.2270

table 9. As we can see from table 10 that our algorithm takes about 0.1944 second to encrypt a 256 × 256 gray
image, which surpasses the algorithms reported in [41–44].

5.12. Computational complexity


For the chaotic sequence generation process, its complexity is  (4 ´ m ´ n). For the Gray encoding process,
its complexity is  (m ´ n). For the conversion process between pixel and semi-pixels, its complexity is
 (2 ´ m ´ n). For the scrambling and diffusion processes, they have the same complexity, i.e.,
 (2 ´ m ´ n). Thus, the proposed encryption algorithm has a complexity of  (4 ´ m ´ n).

6. Conclusions

In our work, we propose an image encryption algorithm using the improved ICMIC, Gray code, semi-pixel level
permutation and diffusion. The improved ICMIC can overcome the shortcomings of the traditional ICMIC and
has wide chaotic range and complex chaotic behaviors. The designed semi-pixel level scrambling method can
simultaneously alter the position and value of pixels and has a desirable scrambling effect by using it only once.
The designed dynamic semi-pixel level diffusion method has an excellent diffusion effect and high efficiency.
The security analyses demonstrate that our algorithm is capable of withstanding various types of attacks, such as
brute-force attacks, statistical attacks, differential attacks, cropping attacks, and noise attacks. The execution
time analysis indicates that our algorithm takes about 0.1944 second to encrypt a 256 × 256 gray image, making
it exceptionally well-suited for real-time image cryptosystems.

Acknowledgments

This research is supported by the Fundamental Research Funds for the Central Universities (No.:
2020ZDPY0223).

Data availability statement

The data that support the findings of this study are available upon reasonable request from the authors.

20
Phys. Scr. 99 (2024) 025232 Q Wang et al

Declaration of Interest Statement

The authors declare that they have no known competing financial interests or personal relationships that could
have appeared to influence the work reported in this paper.

ORCID iDs

Quanyv Wang https://orcid.org/0000-0001-5230-7555


Xiaoqiang Zhang https://orcid.org/0000-0002-7686-2841
Xiaohu Zhao https://orcid.org/0000-0002-6796-175X

References
[1] Kaur M and Kumar V 2020 A comprehensive review on image encryption techniques Arch. Comput. Meth. Eng. 27 15–43
[2] Yang Y, Cheng M, Ding Y et al 2023 A visually meaningful image encryption scheme based on lossless compression spiht coding IEEE
Trans. Serv. Comput. 16 1–15
[3] Wang Q, Zhang X and Zhao X 2022 Image encryption algorithm based on improved zigzag transformation and quaternary dna
codingJournal of Information Security and Applications Journal of Information Security and Applications 70 103340
[4] Zhou Q et al 2023 Optical image encryption based on two-channel detection and deep learning Opt. Lasers Eng. 162 107415
[5] Wang Q, Zhang X and Zhao X 2023 Color image encryption algorithm based on novel 2d hyper-chaotic system and dna crossover and
mutation Nonlinear Dyn. 111 22679–705
[6] Ma Y and Zhou N 2023 Quantum color image compression and encryption algorithm based on fibonacci transform Quantum Inf.
Process. 22 1–33
[7] Zhou S, Wang X and Zhang Y 2023 Novel image encryption scheme based on chaotic signals with finite-precision error Inf. Sci. 621
782–98
[8] Erkan U, Toktas A and Lai Q 2023 2d hyperchaotic system based on schaffer function for image encryption Expert Syst. Appl. 213
119076
[9] He D, He C, Jiang L et al 2001 Chaotic characteristics of a one-dimensional iterative map with infinite collapses IEEE Transactions on
Circuits and Systems I: Fundamental Theory and Applications 48 900–6
[10] Wen J, Xu X, Sun K et al 2023 Triple-image bit-level encryption algorithm based on double cross 2d hyperchaotic map Nonlinear Dyn.
111 6813–38
[11] Liu X, Sun K and Wang H 2022 A novel image encryption scheme based on 2d silm and improved permutation-confusion-diffusion
operations Multimedia Tools Appl. 81 1–27
[12] Mao N et al 2023 Real-time image encryption algorithm based on combined chaotic map and optimized lifting wavelet transform
Journal of Real-Time Image Processing 20 35
[13] Wang X et al 2022 A novel meaningful image encryption algorithm based on newly-designed coupled map lattice and adaptive
embedding Optik 270 170073
[14] Gao X et al 2022 An effective multiple-image encryption algorithm based on 3d cube and hyperchaotic map Journal of King Saud
University-Computer and Information Sciences 34 1535–51
[15] Wei C and Li G 2022 A selective image encryption scheme using licc hyperchaotic system IET Image Proc. 16 3342–58
[16] Singh M and Singh A K 2022 A comprehensive survey on encryption techniques for digital images Multimedia Tools Appl. 81 1–33
[17] Ghadirli H M, Nodehi A and Enayatifar R 2019 An overview of encryption algorithms in color images Signal Process. 164 163–85
[18] Wang X et al 2023 A color image encryption and hiding algorithm based on hyperchaotic system and discrete cosine transform
Nonlinear Dyn. 111 1–24
[19] Chen R et al 2023 Medical image characteristic region recognition encryption algorithm based on intra and inter blocks scrambling and
lscc chaotic map Multimedia Tools Appl. 82 1–29
[20] Wang X, Liu L and Song M 2023 Remote sensing image and multi-type image joint encryption based on nccs Nonlinear Dyn. 111 1–27
[21] Wang Q, Zhang X and Zhao X 2023 Color image encryption algorithm based on bidirectional spiral transformation and dna coding
Phys. Scr. 98 025211
[22] Chen R et al 2023 An image encryption algorithm based on the lscmm chaotic map and bidirectional dynamic diffusion Multimedia
Tools Appl. 82 1–26
[23] Ahmed F et al 2023 A dna based colour image encryption scheme using a convolutional autoencoder ACM Transactions on Multimedia
Computing, Communications and Applications 19 1–21
[24] Elsaid S A, Alotaibi E R and Alsaleh S 2023 A robust hybrid cryptosystem based on dna and hyperchaotic for images encryption
Multimedia Tools Appl. 82 1995–2019
[25] Rani N, Mishra V and Sharma S R 2023 Image encryption model based on novel magic square with differential encoding and chaotic
map Nonlinear Dyn. 111 2869–93
[26] Liang Q and Zhu C 2023 A new one-dimensional chaotic map for image encryption scheme based on random dna coding Opt. Laser
Technol. 160 109033
[27] Gao X et al 2023 A color image encryption algorithm based on hyperchaotic map and dna mutation Chin. Phys. B 32 030501
[28] Hu Y and Nan L 2023 Image encryption algorithm based on 1d-sfacf with cross-cyclic shift and adaptive diffusion Phys. Scr. 98 055209
[29] Zhang D et al 2023 An image encryption algorithm based on joint rna-level permutation and substitution Multimedia Tools Appl. 82
23401–26
[30] Wang Q, Zhang X and Zhao X 2023 Image encryption algorithm based on 2d hyper-chaotic system and central dogma of molecular
biology Phys. Scr. 98 085244
[31] Wang X, Liu C and Jiang D 2022 An efficient double-image encryption and hiding algorithm using a newly designed chaotic system and
parallel compressive sensing Inf. Sci. 610 300–25
[32] Wang J et al 2022 A novel content-selected image encryption algorithm based on the ls chaotic model Journal of King Saud University-
Computer and Information Sciences 34 8245–59

21
Phys. Scr. 99 (2024) 025232 Q Wang et al

[33] Zhou Z et al 2023 Novel multiple-image encryption algorithm based on a two-dimensional hyperchaotic modular model Chaos,
Solitons Fractals 173 113630
[34] Abd-El-Atty B, El-Affendi M and El-Latif A A A 2023 A novel image cryptosystem using gray code, quantum walks, and henon map for
cloud applications Complex & Intelligent Systems 9 609–24
[35] The usc-sipi image database: https://sipi.usc.edu/database/, (1977).
[36] Çelik H and Doğan N 2023 A hybrid color image encryption method based on extended logistic map Multimedia Tools Appl. 82 1–24
[37] Wu X et al 2023 A novel image compression and encryption scheme based on conservative chaotic system and dna method Chaos,
Solitons Fractals 172 113492
[38] Wang X and Liu L 2021 Application of chaotic josephus scrambling and rna computing in image encryption Multimedia Tools Appl. 80
23337–58
[39] Luo Y et al 2020 Image encryption scheme by combining the hyper-chaotic system with quantum coding Opt. Lasers Eng. 124 105836
[40] Mfungo D E et al 2023 A novel image encryption scheme using chaotic maps and fuzzy numbers for secure transmission of information
Applied Sciences 13 7113
[41] Masood F et al 2022 A lightweight chaos-based medical image encryption scheme using random shuffling and xor operations Wirel.
Pers. Commun. 127 1405–32
[42] Mondal B and Singh J P 2022 A lightweight image encryption scheme based on chaos and diffusion circuit Multimedia Tools Appl. 81
34547–71
[43] Mansoor S and Parah S A 2023 Haie: a hybrid adaptive image encryption algorithm using chaos and dna computing Multimedia Tools
Appl. 82 28769–96
[44] Ferdush J, Begum M and Uddin M S 2021 Chaotic lightweight cryptosystem for image encryption Advances in Multimedia 2021 1–16

22

You might also like