A Novel 3D Image Encryption Based on the Chaotic System and RNA Crossover and Mutation

In this paper, a novel 3D image encryption based on the memristive chaotic system and RNA crossover and mutation is proposed. Firstly, the dynamic characteristics of the nonlinear system with two memristors are analyzed, including phase diagrams, Lyapunov exponential spectrums, and bifurcation diagrams. According to the merged image of three 3D images, the initial values of the memristive chaotic system are generated by SHA-256. Then the vertex coordinates are scrambled and diffused by 3D Arnold matrix and chaotic sequences. Finally, according to the dynamical encoding and decoding rules, crossover and RNA mutation are designed to confuse and diffuse the vertex coordinates. Throughout the encryption process, the Arnold matrix, RNA encoding and decoding rules, and crossover and mutation algorithms are determined by the memristive chaotic system. The experimental results verify that the proposed cryptosystem could encrypt three 3D images at the same time and resist various attacks effectively, and has good security performance.


INTRODUCTION
With the development of wireless network and multimedia technology, more images are transmitted on the network. Among them, 3D printing has been widely used in medical, military, marine, and many other fields due to its available price. It can be predicted that the 3D images will be as popular as color images and videos in the future [1][2][3]. However, the 3D images can be downloaded easily, and 3D objects can be printed out without permission from the original providers. In order to prevent the attacks by unauthorized users, the 3D images should be encrypted before being stored and transmitted. Unlike the traditional files, the 3D image files have enormous data and special storage format, so the traditional encryption algorithms such as DES and AES cannot protect them efficiently [4][5][6][7][8]. Therefore, it is necessary to research high-level encryption technology for 3D images, and there are few researches on this field at present.
In the era of big data, some traditional image cryptosystems can be easily cracked by cloud computing. Therefore, it is necessary to propose a more secure image cryptosystem to meet the current requirements and protect the privacy of users. Chaotic systems have many significant features, including ergodicity, randomness, and sensitivity to initial values, which make them suitable for image encryption [9][10][11][12][13][14][15][16][17][18][19][20][21][22]. It is important to point out that the nonlinearity of memristor element enables the memristor circuits to generate chaotic signal and various chaotic attractors and exhibit abundant nonlinear phenomena [11,23,24]. Peng et al. [25] presented a dimensional chaotic map based on the discrete memristor, which can enlarge the hyperchaotic region and enhance complexity.
Chen et al. [26] proposed a pseudorandom number generator by three kinds of four-wing memristive hyperchaotic systems, the dynamical characteristics are sensitive and complex. Ma et al. [27] proposed a chaotic circuit based on two memristors, which has rich dynamical behaviors and is suitable for image encryption and secure communication.
With the development of the chaos theory, the fusion of chaotic system and cryptography has become an important solution to ensure image security [28][29][30][31][32]. Based on the chaotic systems, many image encryption schemes are designed by optical transformation [33,34], compressive sensing [35], DNA and RNA computing [36][37][38][39][40][41], cellular automata [42], etc. Among them, RNA computing can increase information density, improve parallelism, and reduce energy consumption, so it has become a research hotspot recently [43][44][45]. Abbasi et al. [46] proposed a cryptosystem based on amino acid, RNA codons, and evolutionary chaotic model, and the performance of the cryptosystem is improved by biomolecules and the imperialist competition algorithm. Jarjar et al. [47] presented a method that uses several genetic and biological features of DNA and RNA to encrypt color images and model mathematical problems as biological ones. Zhang et al. [48] proposed an image cryptosystem based on hyperchaotic system and RNA operation, which could resist various attacks. However, all the researches above are based on the RNA encoding/decoding law; the calculation results between the RNA bases are easy to predict, increasing the risk of cracking. Therefore, the traditional RNA scheme could be improved.
Based on the above analyses, a novel 3D image cryptosystem is proposed in this paper. The rest of the parts are organized as follows. In Preprocessing of the 3D Model, the preprocessing of 3D model data is described. In Chaotic System, the memristive chaotic system is introduced and its dynamical characteristics are illustrated. In Encryption Scheme, the SHA-256 algorithm, improved 3D Arnold algorithm, and RNA level encryption algorithm are described. In Performance Analysis, the security performance and experimental results are evaluated through the key analysis, statistical analysis, information entropy, and robust security analysis. In Section Conclusion, some important conclusions are obtained.

PREPROCESSING OF THE 3D MODEL
Stereolithography (STL) is the standard technology file of current 3D printing technology, which is used to describe the triangulated surface geometry of a 3D model by vertices, faces, and unit normal. The format of the STL file is shown in Table 1. The x, y, and z coordinates of the vertices determine the shape of the 3D model, just like the RGB pixels of a color image file. Therefore, 3D images could be transformed into 2D objects, and the coordinates of the vertices are a protected object.
Each vertex consists of x, y, and z coordinates (floating point value of at least 96 bit). To enable fast processing with accurate results, all data should be normalized first. Considered the efficiency requirement, the Min-Max Normalization is used to normalize the coordinate data, and the scale criterion is used to rescale the coordinate data, as follows: where V′ is the normalized coordinate, V is the original coordinate, V min and V max are minimum and maximum original coordinates, and R min and R max are the selected range, ranging from −255 to 255. After extracting the symbol matrix from the floating point number matrix, the positive array is obtained. Then, it is decomposed into integer matrix V i and fractional matrix V f .

CHAOTIC SYSTEM
Recently, a chaotic circuit based on two memristors was proposed, which has multiple attractor coexistence and state transition, defined as where x, y, z, and w represent the system states variables; L, C, a 1 , a 2 , b 1 , and b 2 are system parameters. With the variation of parameters, the system has seven types of attractors. Set L = 0.025, C = 0.025, a 1 = 5.8, a 2 = 0.825, b 1 = 1.85, b 2 = 10, and the initial values are (1, 3, 1, −0.7). Figure 1 shows the phase diagrams. The Lyapunov exponential spectrums and bifurcation diagrams are presented in Figure 2.
When a 1 ∈(4.5,6.5), a 2 ∈(0.7,0.9), b 1 ∈(1.7,2.2), and b 2 ∈(9,11), the bifurcation diagram shows that the system changes from periodic to chaotic, the chaotic states are widely distributed, and the system has complex dynamic characteristics, which can also be verified by the Lyapunov exponential spectrum. At least one Lyapunov exponent in a chaotic system is greater than zero, and the largest Lyapunov exponent in a Lyapunov diagram is always positive, that is, the system is in the chaotic state. These characteristics of the chaotic system make it suitable for image encryption.

ENCRYPTION SCHEME
The encryption process is described, including the SHA-256 algorithm, improved 3D Arnold algorithm, and RNA operations. The flowchart is shown in Figure 3.

SHA-256 Algorithm
To improve the security, the SHA-256 is used in the encryption algorithm. Three 3D images are merged together by the method of 3D stereo arrangement. Therefore, different images and different orders will generate different hash values and then obtain different initial conditions, thus producing different chaotic sequences.
Step 1: Based on the merged image I, the 256-bit hash value is generated by the SHA-256 algorithm and divided into eight-bit blocks (total 64 group bit blocks). Thus, the stream key is obtained by XOR operation: where i ∈ (1, 32). The slight disturbance is generated as follows Step 2: Input the initial condition as the key. Then, the adjusted initial conditions are generated.
where x, y, z, and w are adjusted initial values; x 0 , y 0 , z 0 , and w 0 are given values without disturbance. Suppose the plaintext size is M×N, according to the adjusted initial conditions, the chaotic system is iterated (n + M × N) times. To increase the sensitivity of initial values, discard the front n times values. The sequences X, Y, Z and W are generated.
Thus, the chaotic sequences are affected by hash value of plaintext, which can improve the random adaptive ability.

Improved 3D Arnold Algorithm
On the basis of chaotic sequence, irrelevant vertices are added to ensure security, and then, an improved 3D Arnold cat map is performed for scrambling and diffusion. In the encryption scheme, the integer matrix is confused and diffused. In order to save the encryption time, the fractional matrix is only treated by diffusion.
Step 1: In the 3D Arnold matrix, the calculation principle of control parameters depends on the chaotic sequence, as shown in the formula: where a, b, and c are specified parameters.
Step 2: The 3D Arnold matrix is obtained by multiplication of cubic matrices, as follows: Step 3: The integer matrix and fractional matrix are scrambled by the 3D Arnold matrix. The scrambled coordinate positions are generated as follows: where (i, j, k) is the original position; N row , N column , and N gragh are the number of rows, columns, and graphs. (i A , j A , k A ) is the scrambled position. After each vertex coordinate is shifted with the replacement vertex, the scrambled image is obtained.
Step 4: The integer matrix is diffused by the 3D Arnold matrix, as follows: where V i (i, j, k) and V i (i A , j A , k A ) are scrambled values of the previous step, and V i (i′, j′, k′) is the diffused value of the previous round. AV i (i, j, k), AV i (i A , j A , k A ), and AV i (i′, j′, k′) are the values after diffusion. After each coordinate in the matrix is transformed, the diffused image matrix I 1 is obtained. With the improved 3D Arnold algorithm, the matrix can be scrambled and diffused simultaneously, which could save the encryption time and reduce the computational complexity.

RNA Encryption Algorithm
The RNA encryption algorithm aims to confuse and diffuse the vertex coordinates completely. The bio-inspired chaotic encryption algorithm can be divided into encoding, diffusion, crossover, mutation, and decoding stages.
Step 1: RNA coding rules. The RNA sequence is constructed by four nitrogen bases, namely, Adenine (A), Guanine (G), Uracil (U), and Cytosine (C). The complementary coding rules are shown in Table 2. Besides, Table 3 shows the RNA operation rules.
Step 2: RNA diffusion. The rules of coding and operation are both determined by chaotic sequences. Convert the matrix I 1 and chaotic sequence to a binary matrix of size M × N × 8. Then, Step 3: Gene crossover. Crossover, also known as gene recombination or hybridization, is the exchange of genetic material at the same location of two chromosomes to generate two new recombinant chromosomes. In 3D image encryption algorithm, the vertex coordinates are exchanged to accomplish the crossover, similar to the chromosome swapping in biology. The sequence P is divided into two sequences P 1 and P 2 of equal length. Transform the chaotic sequence (x⊕w) into a binary sequence that determines the crossover position of the unit: 1 means exchange, 0 means non-exchange, as shown in Figure 4. When the crossover is complete, merge the two sequences.
Step 4: RNA mutation. Codon refers to a triplet sequence of nucleotide residues in RNA that encodes a specific amino acid during protein synthesis. Mutations are certain replication errors that occur during replication, leading to the formation of new chromosomes. In 3D image cryptosystem, the changes in vertex coordinates correspond to mutation in biology. According to the chaotic sequence, two mutation units are found and defined in RNA sequence, as shown in Figure 5. According to the chaotic sequence, mutation units [AUC] at position 2 and [UCG] at position 4 are selected by (z⊕w). If the mutation units selected are the same, the selection will continue according to the subsequent chaotic sequence.
The codons mutated accordingly, as shown in Figure 6. The red and green codons convert to each other.
Step 5: RNA decoding rules. Based on chaotic sequence, decoding rules are selected, and binary matrix is obtained. Then convert it into decimal matrix, which is the final ciphertext C.
According to the RNA coding theory, each RNA gene carries certain information of the images. Dynamic RNA encoding rules and RNA decoding rules could increase the randomness of ciphertext and the resistance to statistical attacks. Crossover and mutation based on chaotic sequences could increase the unpredictability of the encryption algorithm. Therefore, a different ciphertext can be obtained by using different crossover and mutation rules and different encoding and decoding rules.

Decryption Scheme
Due to the symmetrical image cryptosystem, the cipher matrix can be decrypted and the original images can be restored using the reverse process of the encryption process, as shown in Figure 7. After the reverse mutation and crossover of RNA operation and the reverse scrambling and diffusion of 3D Arnold algorithm, the added random points were removed and the image was decomposed, and three original images could be obtained.

Simulation Results
In order to verify the performance of the designed cryptosystem, several experiments were carried out on 3D images. The experiments were tested on a computer: Intel Core i7 CPU 2.9GHz, RAM 32 GB. The operating system is Windows 10. The simulation software is Matlab 2016b. Set the parameters as follows: L = 0.025, C = 0.025, a 1 = 5.8, a 2 = 0.825, b 1 = 2, b 2 = 10, and the initial values are (1, 3, 1, −0.7). To test the encryption performance, three 3D images Car (39888 × 3), Jet (25896 × 3), and Rocket (51310 × 3) are used as encryption models. The simulation results of cryptosystem are shown in Figure 8. The encrypted images can completely hide the original images, and decryption process can successfully restore the original images with the keys. Based on the characteristics of 3D images, it is considered as a special color image. Therefore, the performance analysis methods of color images cryptosystem can be applied to 3D images encryption.

Key Space Analysis
In cryptosystem, the key space must be large enough, which is critical to the encryption algorithm. The secret key consists of 1) system parameters L, C, a 1 , a 2 , b 1 , and b 2 ; 2) initial value of the chaotic system (x, y, z, w); 3) SHA-256 hash value k 1 , k 2 , k 3 , k 4 ; and 4) parameter of vertex matrix k 5 . With the calculation accuracy of 10 −15 , the key space will reach 2 747 , which exceeds the minimum requirement of 2 100 , and could resist brute force attacks [49]. Table 4 shows the test results of key space. Compared with other literatures, key space of this cryptosystem is larger.

Key Sensitivity Analysis
Key sensitivity is an important feature of encryption algorithm. An effective cryptosystem should be extremely sensitive to the key. The cipher matrix obtained by encrypting the same plaintext matrix should be significantly different when there is a small change in the key. In the key sensitivity test, a slight change in the key during the decryption results in three restored images that are completely different from originals, as shown in Figure 9.

Histogram Analysis
In order to hide the information about vertex coordinates, the ciphertext histograms should be flat and evenly distributed. The histogram results are plotted in Figure 10. In the figure, the plaintext and ciphertext histograms are completely different. There is a clear coordinate aggregation interval in the plaintext matrix, while the coordinates in the cipher matrix are uniformly distributed. Moreover, the χ 2 test results can be used to quantitatively analyze whether vertex coordinates are evenly distributed. In Table 5, the χ 2 test results of plaintexts and ciphertexts are presented. The measured results of the proposed algorithm are less than the critical values of different probabilities (10%, 5%, and 1%), indicating that the encryption algorithm could overwrite the statistics of vertex coordinates and resist statistical attacks.

Correlation Analysis
To protect vertex coordinate information, the statistics needs to be hidden, and the correlation between adjacent vertices coordinates needs to be reduced. The relevant equations are given below: Figures 11A,C,E show the correlation of plaintexts; the coordinate distribution is intensive, and the vertex coordinates are highly correlated. On the contrary, Figures 11B,D,F demonstrated that the correlation of the encryption model is low, which means that the algorithm could reduce the correlations between adjacent vertices in each direction and resist statistical attacks.
When the absolute value of the correlation coefficient is close to 1, it means that the coordinate values of the large region in the vertex matrix are small. On the contrary, if it is close to 0, the cryptosystem could confuse coordinate positions effectively. The correlation coefficient between adjacent coordinates are shown in Table 6. In each direction, the adjacent coordinates of the plaintexts are highly correlated and the correlation between adjacent coordinates of ciphertexts is low.

Randomness Analysis
In order to ensure the uniform distribution of cipher coordinate values, a variety of 3D images are adopted to measure the security of cipher. SP (Special Publications) 800-22 is a randomness standard test published by NIST, which contains 15 sub-tests that identify the randomness of the encryption algorithm. NIST test uses p-value magnitude and the pass rate to reflect the bit sequence randomness property of the encryption algorithm. When the p-value is greater than or equal to 0.01, it is considered that the bit sequence has passed the NIST test, that is, the bit sequence has randomness. The pass rate reflected the number of sample sequences that pass the randomness test.
With different test samples and different initial conditions, several cryptographic matrixes are obtained. Then, the cipher matrix is converted to binary sequence. The value of each cipher matrix is represented by eight bits. Thus, the length of test sample is 86,400,000 bits. The randomness test results are present in Table 7, with the worst set of data. The test sample can pass all 15 sub-tests, indicating that the cipher matrix has high randomness.

Information Entropy Analysis
Information entropy is used to measure the average amount of information in the whole image, and its theoretical value is 8. The more evenly coordinate values are distributed, the less effective information the information source has. The coordinates in the vertex matrix are floating-point numbers. Therefore, the positive integer less than or equal to the coordinates in vertex matrix is taken. Thus, for the vertex matrix with 256 levels, information entropy can be expressed as:  Table 8 gives the information entropy of plaintexts and ciphertexts. The information entropy of original images Car, Jet, and Rocket of different sizes are 7.7123, 7.8348, and 5.929, and the information entropy of ciphertexts are significantly improved to 7.9988, 7.9988, and 7.9987, respectively. The information entropies of ciphertexts are larger than that of the plaintexts and close to the theoretical value. Compared with other algorithms, the proposed algorithm could confuse the coordinate information successfully and resist statistical attacks.

Differential Attack Analysis
When one of the original images is changed in a slight way, the encrypted images should be significantly different. NPCR and UACI could reflect the sensitivity of the original 3D images, as shown in the following formula:   where C 1 and C 2 represent ciphertexts before and after a coordinate value of plaintext changes by 1. When the NPCR is close to 1 and the UACI is about 0.3346, the algorithm is considered to have passed the test.
The idea values of NPCR and UACI are given [51,52]. According to Table 9 and Table 10, the mean value of NPCR and UACI of the three images is 99.6154% and 33.35%. Figure 12 shows the NPCR and UACI calculated by randomly varying the vertex matrix values in different test model. The test results of NPCR and UACI are greater than the theoretical values with a confidence level of 0.05. A comparison of NPCR and UACI with different algorithms    is shown in Table 11, which proves the ability to resist differential attack.

Time Analysis
The image cryptosystem mainly includes three processes: chaotic system iteration, 3D Arnold algorithm and DNA encryption. The encryption time of images with 348,282 vertex coordinates is 30.1795 s. In Ref. [36], the encryption time of 89,271 data is 0.261795 s. In Ref. [40], the encryption time of the 256 × 256 gray image is 7.59 s. The proposed cryptosystem sacrifices the encryption time to ensure the encryption effect.

CONCLUSION
A novel 3D image encryption based on the memristive chaotic system and RNA crossover and mutation is proposed. Firstly, the chaotic system based on two memristors is analyzed by bifurcation diagrams and Lyapunov exponential spectrums. It is shown that the chaotic system has complex dynamical behaviors and large parameter space, which are suitable for image encryption. Secondly, the initial values are generated by SHA-256, so different plaintexts and merge orders will generate different keys and chaotic sequences. Besides, an improved 3D Arnold algorithm is used to confuse the vertex positions and convert coordinates. Based on dynamic RNA encoding and decoding rules, the RNA crossover and mutation algorithms are given to directly exchange codons. In addition, the cryptosystem can encrypt multiple images at the same time, which improves security and effectiveness. Finally, experimental results indicate that the cryptosystem could ensure the security of three 3D images simultaneously, and the security analysis verifies that it could resist various attacks effectively.

DATA AVAILABILITY STATEMENT
The original contributions presented in the study are included in the article/Supplementary Material, further inquiries can be directed to the corresponding author.

AUTHOR CONTRIBUTIONS
RC provided the idea of algorithm, carried out the simulations, arranged the architecture and drafted the manuscript. SZ and XG supervised the work and revised the manuscript. Both authors read and approved the final manuscript.