1. Introduction
With the development of network technology and artificial intelligence, the information transmission mode based on digital images has brought great convenience because of its intuitive nature, visualization features, and high information density. However, digital images involving personal privacy or secret information are faced with threats such as illegal theft and tampering in the transmission process, so it is necessary to encrypt digital images to ensure the security of information [
1,
2,
3].
Some scholars have tried to apply traditional text information encryption methods to image encryption. However, due to the high correlation between adjacent pixels, large data capacity, and significant information redundancy, it is difficult for traditional text encryption methods to achieve efficient and secure encryption of digital images. Therefore, it is urgent to develop encryption methods suitable for digital images.
In recent years, researchers have discovered that chaos is highly effective for image encryption because of its ergodicity, aperiodicity, and pseudo-randomness. At present, chaotic image encryption has become a hotspot in the research field of image encryption [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15]. To enhance encryption effects, chaotic image encryption generally includes image diffusion and image scrambling. The former approach uses chaotic pseudo-random sequences to change pixel values, while the latter leverages some scrambling methods to disrupt image pixel positions.
Most existing image diffusion methods adopt a single exclusive OR (XOR) operation in the process [
13,
14,
15]. After rounding, a chaotic pseudo-random integer sequence is obtained, which then undergoes the XOR operation with plain-image pixel values one by one to realize image diffusion. For instance, in the Knuth–Durstenfeld shuffling algorithm based on chaotic sequences adopted in Refs. [
13,
14], the same random diffusion step is adopted for the red (R), green (G), and blue (B) channels of color images. Isaac et al. decomposed color images into three components (R, G, and B) and conducted discrete wavelet transformation and the same scrambling steps for each component [
15]. Then, the chaotic pseudo-random sequence was used for the XOR operation with each component to achieve the purpose of diffusion.
Existing image scrambling methods mainly include Arnold transformation [
16], Zigzag transform [
17,
18], DNA coding [
19,
20,
21], and Rubik’s cube scrambling [
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32]. Among them, Rubik’s cube scrambling can realize pixel scrambling by mapping the pixels to the Rubik’s cube and utilizing its rotational property, which is characterized by simple operation and high efficiency. Some chaotic image encryption methods based on Rubik’s cube scrambling typically use the displacement characteristic of Rubik’s cubes for two-dimensional (2D) scrambling [
22,
23,
24,
25]. For example, Yang proposed an image encryption algorithm combining Rubik’s cube transformation and DNA coding by leveraging the rotation cyclic shift characteristics of the Rubik’s cube [
22]. Ma adopted the cyclic shift idea of the Rubik’s cube to displace image pixels [
23]. Vidhya employed the Rubik’s cube cyclic shift method for pixel scrambling [
24]. Zhao et al. decomposed the six faces of a Rubik’s cube and arranged them in the 2D plane and controlled the rotation of the cube through random sequences to realize scrambling [
25]. Some other chaotic image encryption methods are also based on Rubik’s cube scrambling, mapping image pixels to the cube surfaces, and then performing cube rotation [
26,
27,
28,
29,
30,
31]. For example, Chen et al. considered six color matrices of two color images as six faces of the Rubik’s cube, and achieved pixel scrambling by rotating the cube [
26]. Zhao et al. spliced the scrambled pixel matrix and five chaotic matrices into a hexahedral structure, dynamically scrambling the Rubik’s cube through a pseudo-random sequence [
27]. Wang et al. took the R, G, and B components of two images as the surfaces of the Rubik’s cube and controlled the cube’s scrambling through the pseudo-random sequence to achieve encryption [
28]. Zhang mapped the image pixels to the surfaces of several third-order Rubik’s cubes, completing the spatial scrambling of image pixels by controlling the cube’s rotation [
29]. Zheng et al. combined the R, G, and B components of two images into a cube and achieved image scrambling by rotating the cube [
30]. Sun arranged the pixel values and keys into a hexahedron and scrambled the pixels by using a cross-axis rotation strategy [
31]. However, few reports have mapped image pixels to an entire Rubik’s cube for scrambling. Notably, Gao et al. segmented multiple images by columns, superimposed multiple fixed-size planes to obtain regular cubes, and then disambiguated each tangent plane by rotating each plane counterclockwise around a fixed
Z-axis by different angles [
32].
To sum up, the existing research on chaotic image encryption based on Rubik’s cube scrambling has achieved some good results, but some shortcomings remain despite the progress:
- (1)
In the diffusion process of existing chaotic system-based color image encryption methods, most of the R, G, and B channels in color images are diffused by the same and single XOR operation, which is similar to the steps of the grayscale image encryption method and does not make full use of the characteristics of color images, affecting the encryption effect.
- (2)
Previous Rubik’s cube scrambling methods mostly leverage the cyclic shift feature of the Rubik’s cube or only map image pixels to the six cube surfaces. However, they do not fully consider the three-dimensional (3D) properties of the Rubik’s cube and fail to map image pixels to all the small cubes contained in the whole cube, which affects the scrambling effect. Although some studies map image pixels to the entire cube for scrambling, they simply rotate different angles around a fixed axis and fail to fully utilize the cube’s three degrees of freedom, resulting in suboptimal scrambling performance.
- (3)
Some reports do not make full use of chaotic pseudo-random sequences generated by chaotic systems in Rubik’s cube scrambling and fail to dynamically control variables such as the cube’s rotation axis, layer, and angle, resulting in poor scrambling effects.
In response to these defects, we propose a mixed chaotic image encryption method based on parallel rotation scrambling in 3D Rubik’s cube space. First, the method generates chaotic pseudo-random integer sequences through a seven-dimensional (7D) hyperchaotic system. Then, a proven lemma is used to preprocess the R, G, and B channels of the plain image to achieve the first diffusion step. Next, the chaotic pseudo-random integer sequences are employed to control the process of Arnold transformation for scrambling, and the scrambled 2D image pixel matrix is converted into a 3D matrix. The chaotic pseudo-random integer sequences are used to dynamically select the rotation axis, rotation layer number, and rotation angle, and parallel rotation scrambling is performed in the 3D space of the Rubik’s cube. The second diffusion is realized by the XOR operation with the chaotic matrix generated by logistic mapping. Finally, the diffusion matrices of the R, G, and B channels are synthesized into an encrypted image to realize encryption. The effectiveness of the proposed mixed chaotic image encryption method is verified by comparing its performance indexes with those of existing methods through simulation experiments.
The innovation of the proposed algorithm lies in the following aspects. The pixel values of the R, G, and B channels of the color image are multiplied by different parameters, and then the same modular operation is conducted for preprocessing diffusion. Deep diffusion is carried out twice in combination with XOR diffusion, which achieves a better effect than using the same and single XOR diffusion. After mapping the image pixel values to all the small cubes contained in the Rubik’s cube, 3D space scrambling is realized. The complexity of scrambling is high, and the 3D structure of the Rubik’s cube is better utilized. The chaotic pseudo-random sequences are used to dynamically control the rotation axis, rotation layer number, and rotation angle during Rubik’s cube scrambling, realizing better randomness and more satisfactory encryption performance.
2. Theoretical Basis
2.1. Chaotic System
In this paper, we use logistic mapping and a 7D hyperchaotic system to generate chaotic pseudo-random sequences.
The expression of logistic mapping is as follows:
where
denotes the state variable of the system and
represents the control parameter. When
and
, logistic mapping appears chaotic [
14].
The 7D hyperchaotic system is expressed as follows [
33]:
where
are the state variables of the system, and
represent the control parameters. When
and the initial variable values are set to
, the system exhibits a hyperchaotic state [
33].
Remark 1. Logistic mapping is hereinafter used to generate 2D chaotic pseudo-random sequence matrices for diffusion, and the 7D hyperchaotic system is employed to create chaotic pseudo-random sequences for preprocessing parameters, Arnold transformation times, and Rubik’s cube scrambling control parameters in the encryption algorithm.
2.2. Arnold Transformation
Arnold transformation [
32] is a method proposed by V. J. Arnold in the study of ergodic theory. In Arnold transformation, if the pixel coordinates of an
image are
, discrete Arnold transformation can be employed as follows:
where
and
are the pixel coordinates in the plain image,
and
denote the pixel coordinates in the new image, and “mod” represents the function of taking remainders.
Arnold inverse transformation is described by
Arnold transformation features periodicity and can obtain the plain image after certain iterations. Through the code given in Ref. [
34], the 2D Arnold transformation period of images under a varying order
can be obtained, as shown in
Table 1. It can be observed that the 2D Arnold transformation period is related but not proportional to the image size.
As can be seen from
Table 1, the 2D Arnold transformation period
is 383 in this algorithm since the 512 × 512 × 3 Lena standard color image is used as the plain image in the simulation.
2.3. Fundamentals of Remainders
Lemma 1. For , , , and , if and are known, then has a unique solution.
Proof of Lemma 1. If , , , and , then exists that satisfies . Therefore, the original formula is equivalent to , that is, . Since is unique, is unique. QED. □
Remark 2. In encryption and decryption methods, Lemma 1 can be used in image preprocessing and inverse processing to ensure the uniqueness of decomposition and synthesis of the R, G, and B channels.
According to the Euler function, 128 integers in , namely, , are coprime with 256. However, if the first element 1 is substituted into Equation (7) below, the preprocessed pixel value may not change, which may ultimately lead to subpar image encryption. Therefore, we remove the first element 1 in the plain set and obtain the 127-element key set of needed by the proposed encryption algorithm.
3. Mixed Chaotic Image Encryption Method Based on Parallel Rotation Scrambling in 3D Rubik’s Cube Space
For any color image with a size of , we design the mixed chaotic image encryption method based on parallel rotation scrambling in 3D Rubik’s cube space as follows.
Step 1: Let
. Select the key
, which specifies the parameter, initial value, iteration time, and number of elimination groups of logistic mapping given in Equation (1), and then iterate logistic mapping several times. A chaotic pseudo-random sequence with a size of
is generated, and the first 1000 values are removed to prevent the transient effect, obtaining the chaotic pseudo-random sequence
. To convert this into a pixel integer value of
, the following processing is employed:
where
is an upward rounding function and
represents a downward rounding function.
Then, the above chaotic pseudo-random integer sequence is transformed into a chaotic matrix with a size of .
Step 2: Select the key , which specifies the parameters, initial values, iteration times, number of elimination groups, Arnold transformation parameter, and preprocessing parameter of the 7D hyperchaotic system depicted in Equation (2). A chaotic pseudo-random sequence with a size of is generated, and the first 1000 groups are similarly removed to prevent the transient effect, obtaining 7 pseudo-random sequences: .
Step 3: Integerize the chaotic pseudo-computer sequences
with Equation (6), below, to attain the integer sequences
:
where
, and
denotes the 2D Arnold transformation period corresponding to images of different sizes (
Table 1).
Step 4: Read the color plain image of size , and divide it into three channels: .
Step 5: Taking the channel image as an example, zero-fill it to obtain the channel image with a size of , . In this way, and channel images with a size of can also be obtained.
Step 6: Substitute the value of
into the chaotic pseudo-random integer sequences
to obtain
. The
th,
th, and
th values of
are then selected as the preprocessing parameters of the pixel values of the
,
, and
channels, respectively. The pixel values of the
,
, and
channels are obtained by preprocessing each channel using the following equations:
Step 7: Convert the channel image into a pixel matrix , and substitute the value of into the sequence to attain . Then, take as the number of the Arnold transformation and perform Arnold transformation on to obtain the transformed matrix .
Step 8: Read as array in row order and fill it with zeroes to obtain array . Then, read as 2D matrices with a size of . These 2D matrices are stacked sequentially from top to bottom to form a 3D pixel matrix with a size of .
Step 9: Perform Rubik’s cube scrambling on
in the following manner:
determines whether the rotation axis of
is axis
(
), axis
(
), or axis
(
);
controls the layer that
rotates to be the
th layer;
decides whether the rotation angle of the selected layer is 90° (
), 180° (
), or 270° (
). The rotation direction is clockwise, and the operation starts from
to
. Taking the fifth-order Rubik’s cube as an example, the specific method is shown in
Figure 1.
Step 10: Read the scrambled 3D pixel matrix as array in reverse order according to the method in step 8, and add zeros after to obtain array . Read in reverse order as a 2D pixel matrix , and perform XOR with to generate the final encrypted image of the channel.
Similarly, the encryption operations from steps 7 to 10 are performed on the and channels, obtaining the final encrypted images and of the and channels.
Step 11: The encrypted images, , , and , of the three channels are merged and converted into an encrypted color image .
The overall process is illustrated in
Figure 2. The pseudocode is as in Algorithm 1.
Algorithm 1. Mixed chaotic image encryption method based on parallel rotation scrambling in 3D Rubik’s cube space. |
Input: Image of size and keys Output: Image 1: Generate chaotic sequence using Logistic mapping; 2: Convert chaotic sequence to integer sequence after removing the first 1000 values of ; 3: Transform into chaos matrix ; 4: sequenceLength = ; 5: Logisticmap = zeros(sequenceLength, 1); 6: Logisticmap(1) = ; 7: for i = 2:sequenceLength 8: logisticmap(i) = × logisticmap(i − 1) × (1 − logisticmap(i − 1)); 9: end 10: Logisticmap = Logisticmap(1001:end); 11: = mod(floor(Logisticmap × 1 × 1016), 256); 12: = reshape(, sqrt(length()), sqrt(length())); 13: Generate hyperchaotic sequence using the 7D hyperchaotic system; 14: Convert hyperchaotic sequence to integer sequence after removing the first 1000 values of ; 15: d = zeros(7, 1); 16: (1) = ; 17: seqLength = ; 18: for i = 2:seqLength 19: d = × ( − ) + + ; 20: d = −× − × + ; 21: d = − + ×; 22: d = − − ; 23: d = × + ; 24: d = −× + ; 25: d = − + ; 26: end 27: = (1001:end, :); 28: = mod(floor(abs((:, 1)) × 1× 1016), 127) + 1; 29: = mod(floor(abs((:, 2)) × 1× 1016), 127) + 1; 30: = mod(floor(abs((:, 3)) × 1× 1016), 127) + 1; 31: = mod(floor(abs((:, 4)) × 1× 1016), 382) + 1; 32: = mod(floor(abs((:, 5)) × 1× 1016), 3); 33: = mod(floor(abs((:, 6)) × 1× 1016), ceil(l2/3) + 1; 34: = mod(floor(abs((:, 7)) × 1× 1016), 3); 35: Preprocess the plain image; 36: R1 = double(P(:, :, 1)); 37: G1 = double(P(:, :, 2)); 38: B1 = double(P(:, :, 3)); 39: for i = 1:numel(R1) 40: R2(i: numel(R1)) = mod(K3(Y1(2)) × R1(i: numel(R1)), 256); 41: G2(i: numel(R1)) = mod(K3(Y2(2)) × G1(i: numel(R1)), 256); 42: B2(i: numel(R1)) = mod(K3(Y3(2)) × B1(i: numel(R1)), 256); 43: end 44: Perform Arnold transformation; 45: [rows, cols] = size(R2); 46: N = rows; 47: R3 = R2; 48: G3 = G2; 49: B3 = B2; 50: for iter = 1: 51: for x = 0:rows-1 52: for y = 0:cols-1 53: x_new = mod((x + y), N); 54: y_new = mod((x + 2*y), N); 55: R3(x_new + 1, y_new + 1) = R2(x + 1, y + 1); 56: G3(x_new + 1, y_new + 1) = G2(x + 1, y + 1); 57: B3(x_new + 1, y_new + 1) = B2(x + 1, y + 1); 58: end 59: end 60: R2 = R3; 61: G2 = G3; 62: B2 = B3; 63: end 64: Convert transformed matrix to 3D pixel matrix ; 65: Scramble the Rubik’s cube ; 66: R4 = zeros(cube_size, cube_size, cube_size); 67: G4 = zeros(cube_size, cube_size, cube_size); 68: B4 = zeros(cube_size, cube_size, cube_size); 69: for i = 1:cube_size 70: for j = 1:cube_size 71: for k = 1:cube_size 72: index = (i − 1)×cube_size2 + (j − 1)×cube_size + k; 73: if index ≤ numel(R3) 74: R4(i,j,k) = R3(index); 75: G4(i,j,k) = G3(index); 76: B4(i,j,k) = B3(index); 77: end 78: end 79: end 80: end 81: for i = 1:ceil((length()) 82: axis = (i) + 1; 83: layer = (i); 84: rotation = (i) + 1; 85: R4 = rubiks_cube_rotate(R4, axis, rotation, layer); 86: G4 = rubiks_cube_rotate(G4, axis, rotation, layer); 87: B4 = rubiks_cube_rotate(B4, axis, rotation, layer); 88: end 89: Convert 3D matrix into 2D matrix after XOR with chaotic matrix ; 90: Merge encrypted channels into color encrypted image . |
4. Mixed Chaotic Image Decryption Method Based on Parallel Rotation Scrambling in 3D Rubik’s Cube Space
The mixed chaotic image decryption method based on parallel rotation scrambling in 3D Rubik’s cube space is the reverse process of the above encryption process; it is performed in the following steps.
Step 1: Let . Iterate the logistic mapping described in Equation (1) by using the values in as the parameter, initial value, iteration time, and number of elimination groups of logistic mapping, respectively. Then, obtain the chaotic pseudo-random sequence after removing the first 1000 values. Process according to Equation (5) to turn it into the interval of , and then transform it into a chaotic matrix with a size of .
Step 2: Iterate the 7D hyperchaotic system in Equation (2) by using the values in as the parameters, initial values, iteration times, number of elimination groups, Arnold transformation parameter, and preprocessing parameter of the 7D hyperchaotic system, respectively. Then, remove the first 1000 groups of values to obtain 7 chaotic pseudo-random sequences .
Step 3: Integerize the chaotic pseudo-random sequences via Equation (6) to obtain the chaotic pseudo-random integer sequences . Substitute the value of into the sequences to obtain .
Step 4: Divide the encrypted color image into three channels, , , and , and decrypt the image of each channel using steps 5 to 10 to obtain the initial decrypted image of each channel.
Step 5: Take the channel image as an example, convert it into a pixel matrix , and then perform an XOR operation between it and to generate a 2D pixel matrix .
Step 6: Read as array in row order, remove the first zeros, and then read it as array in reverse order. Read sequentially as 2D matrices with a size of , and stack these 2D matrices from top to bottom to form a 3D pixel matrix with a size of .
Step 7: Perform a reverse-order 3D Rubik’s cube disarrangement of in the following way: decides whether the rotation axis of is axis (), axis (), or axis (); determines the layer rotates to be the th layer; controls whether the rotation angle of the selected layer is 90° (), 180° (), or 270° (). The rotation direction is counterclockwise, and the operation is from to .
Step 8: Read the scrambled 3D pixel matrix into array in reverse order according to the method in step 6. Remove the last zeros after to obtain array , and read as a 2D pixel matrix with a size of .
Step 9: Taking as the number of times to perform Arnold inverse transformation, perform Arnold inverse transformation on and obtain the transformed pixel matrix . Then, is transformed into the channel image.
Step 10: In
, the
th,
th, and
th values are selected as the inverse processing parameters of the pixel values of the three channels
,
, and
, respectively. The image of each channel is inversely processed, and the pixel values of the images in the
,
, and
channels are obtained as follows:
Step 11: The initial decrypted images of the three channels are merged and converted into a color image with a size of . According to , the last pixels with a value of 0 are removed to obtain the final decrypted image , with a size of .
The overall process is illustrated in
Figure 3.
5. Simulation Results and Analysis
In this paper, MATLAB R2022a is used to simulate and verify the proposed mixed chaotic image encryption method. The operating environment is as follows: 13th Gen Intel(R) Core(TM) i7-13700H@2.40 GHz, 32 GB memory, a 64-bit operating system, and an X64-based processor. To evaluate the encryption effect of this method intuitively, the Lena standard color image with a size of 512 × 512 × 3 is selected as the experimental encryption and decryption object. As can be seen from
Figure 4, the encrypted image exhibits random noise, and the decrypted image is consistent with the plain image, demonstrating that the proposed method can effectively realize image encryption and decryption.
5.1. Key Sensitivity Analysis
Key sensitivity is an important index to measure the security of encryption algorithms. To judge the sensitivity of the proposed algorithm to the change of key, we decrypt the encrypted image with the correct key and the wrong key after slightly changing the correct key. (The wrong key is
while
remains unchanged.) The results are shown in
Figure 5. It can be seen that even though the difference between the two keys is slight, the correct image cannot be decrypted. Therefore, the proposed algorithm has good key sensitivity.
5.2. Key Space Analysis
The key space of encryption algorithms must be at least greater than 2100 to effectively resist violent attacks. The keys used in this algorithm are as follows: . Using a computer with a 64-bit operating system, the floating-point precision can reach 10−16, so the sensitivities of logistic mapping and the 7D hyperchaotic system to parameters and initial values are 10−16. The parameters of the 7D hyperchaotic system are fixed, so the integerization of pseudo-random sequences is also accurate to 16 decimal places. It can be estimated that the key space size of this algorithm is at least , which is far greater than 2100. This confirms the algorithm’s strong ability to resist violent attacks.
Table 2 compares the key space size of different algorithms, revealing that the proposed algorithm has a larger key space and better image encryption effect.
5.3. Histogram Analysis
As shown in
Figure 6, the plain image exhibits significant non-uniform distribution characteristics in the histogram, and its pixel values are concentrated in specific intervals, reflecting a statistical law. The histogram of the image encrypted by the proposed method shows an approximately uniform distribution, which indicates that the encryption process eliminates the statistical characteristics of the plain image through sufficient scrambling and diffusion. Therefore, attackers cannot use the histogram distribution law to infer the original information, which verifies that the proposed encryption algorithm can resist statistical analysis attacks.
5.4. Correlation Analysis of Adjacent Pixels
As can be seen from
Figure 7, the adjacent pixels of the plain image show strong correlations, while the adjacent pixels of the encrypted image have few correlations. To further evaluate the correlation of adjacent image pixels, the correlation coefficients of adjacent pixels of the plain and encrypted images in horizontal, vertical, and diagonal directions are calculated. The correlation coefficients of the proposed algorithm are compared with those of other algorithms, as shown in
Table 3.
Table 3 reveals that the correlation coefficients of adjacent pixels of the image encrypted by the proposed method are far lower than those of the plain image and generally smaller than those of other methods. These results demonstrate the superior performance of our image encryption method.
5.5. Information Entropy Analysis
Table 4 compares the information entropy of the Lena color plain image, the image encrypted by the proposed encryption method, and the images obtained from other comparative methods. Compared with the images encrypted by other methods, the image encrypted by our method exhibits information entropy closer to the ideal value of 8, indicative of its superior encryption performance.
5.6. Robustness Analysis
In practical applications, image encryption methods should have the ability to resist shearing attacks and noise attacks. To evaluate the robustness of the proposed algorithm, 1/16, 1/8, and 1/4 of the encrypted image area are cut before decryption. Gaussian noise with a variance of 0.001, 0.005, and 0.01 is added to the encrypted image and then the images are decrypted. The results are shown in
Figure 8 and
Figure 9, respectively. It can be observed that the decrypted images are affected to varying degrees after cropping or adding noise, but some information of the plain image can be recovered when the cut image part is small or the noise pollution intensity is low. This shows that the proposed algorithm has a strong anti-attack ability and can maintain basic recoverability in harsh channel environments.
5.7. Time Comparison
To verify the influence of the Rubik’s cube scrambling times on the final encryption effect of the proposed method, we vary the scrambling time of the Rubik’s cube and employ performance indexes such as the encryption and decryption time, correlation coefficient of adjacent pixels, and information entropy for encryption effect analysis according to the actual size of the Lena color image. In the encryption algorithm, the Rubik’s cube scrambling times are
, and the actual value of
is 262,144 after substituting the Lena color image parameters. Then, the Rubik’s cube scrambling times are set to
,
, and
(the actual values are 26,215, 2622, and 263, respectively) to encrypt the same Lena color image. The obtained performance indexes are compared in
Table 5.
As can be seen from
Table 5, the correlation coefficient and information entropy of adjacent pixels of the final encrypted image vary slightly under different Rubik’s cube scrambling times, while the encryption and decryption times increase significantly with an increase in scrambling times. This means that when the difference in encryption performance is negligible, the encryption algorithm with a lower scrambling time will have a shorter encryption time and higher encryption efficiency.
To eliminate the interference of other encryption steps in the proposed method and further study the influence of the Rubik’s cube scrambling time on image encryption effects, the same Lena color image is scrambled with different Rubik’s cube scrambling times, and image encryption performance metrics such as the scrambling time and correlation coefficient of adjacent pixels are used for evaluation.
As can be seen from
Table 6, for scrambling times of
or
, the correlation coefficient of adjacent pixels of the scrambled image is low, and there is little difference between the two scenarios. However, the former case has a much shorter scrambling time than the latter. Therefore, if the difference in encryption performance is negligible, the encryption algorithm with a lower scrambling time should be selected, which can yield a shorter encryption time and higher encryption efficiency.
6. Conclusions
Existing chaotic image encryption methods based on Rubik’s cube scrambling suffer from single diffusion, insufficient use of the 3D properties of Rubik’s cubes, and deficient adoption of chaotic pseudo-random sequences generated by chaotic systems. In response to these disadvantages, this study proposes a mixed chaotic image encryption method based on parallel rotation scrambling in 3D Rubik’s cube space. The innovations of this method are as follows: First, the pixel values of the R, G, and B channels of a color image are multiplied by different parameters, and then the same modular operation is performed for preprocessing diffusion. Combined with XOR diffusion, deep diffusion is performed twice. Second, the pixel values of the image are mapped to the small cubes contained in the whole Rubik’s cube, and then the 3D space is scrambled, which exhibits high complexity and makes better use of the characteristics of the cube’s 3D structure. Third, chaotic pseudo-random sequences are used to dynamically control the rotation axis, layer, and angle of the Rubik’s cube, which achieves better randomness and more satisfactory encryption effects. Simulation experiments compare the performance indexes and prove the effectiveness of this mixed chaotic image encryption method compared to some existing methods.