*3.2. Decryption*

In this paper, the encryption scheme has been depicted, and decryption is the inverse process of encryption. Details are proposed, as follows.


• Step 5: split matrix *<sup>D</sup>mat* and place triangles on cube surfaces as the process shown in Section 2.2. Redo Section 3.1.4 with modified Equation (17) two rounds, and then walk through pixels with reversed Zigzag path. Take Figure 4 in Section 2.2 as an example, the traversal road of decryption is shown in Figure 7. If we put all the pixels together, the order of traversal is depicted in Figure 8.

$$\begin{aligned} \mathsf{C}'\_{i,j,m} &= (D'\_{i,j,m} \oplus (T' + \boldsymbol{x}\_{i,j,m;2})) mod 256 \\ P'\_{i,j,m} &= (\mathsf{C}'\_{i,j,m} \oplus (T + \boldsymbol{x}\_{i,j,m;1})) mod 256 \end{aligned} \tag{17}$$

where *T* is the previous one pixel's *D* value, and, if *i*, *j*, *m* = 1, 1, 1, *T* is the last pixel's *C* value after first round iteration. *T* is the previous one pixel's *C* value and, if *i*, *j*, *m* = 1, 1, 1, *T* is the user-defined constant that is used in Section 3.1.4.

• Step 6: after the process in Step 5, return the triangles in the cube to theirs original coordinates on a image. Additionally, the reverse processes in Section 3.1.3, reshape *S*1 to construct sorted sequence. Find image pixels' corresponding coordinates through sorted sequence and recover. The decrypted image is generated.

**Figure 7.** Reverse traversal.

**Figure 8.** The order of Zigzag in decryption.

#### **4. Experimental Results**

The encryption and decryption schemes have been tested on four popular RGB color images in Table 3. All of the experiments are conducted by MATLAB R2019b on 64-bit Windows 10 system, and the main hardware includes an Xeon(R) W-2223 @ 3.60 GHz CPU as well as 32 GB RAM.



For the controlling parameters setting in Equation (1), (*a*, *b*, *c*, *d*,*e*, *f* , *g*,*r*, *ω*, *β*) = (0.3, 1.5, 8.5, −2, 1, −0.1, 0.9, 1, 1, 0.2). Constants *c*1, *c*2, *c*3, *c*4 in Equation (2) are set as (1, 1, 2, 2) and the initial constant of *T* in Equation (9) is 11. The security key can be set by users, so we set a 256-bit hexadecimal sequence that is shown below as the security key in all of the experiments. The key can also be optimized by some evolutionary optimizations, such as differential evolution and particle swarm optimization [40–43].

#### *key* = 743*B*5*A*203*B*1*E*8*EDF*6*C*0*FB*0*D*7497*CB*2*E*228689*AD*00*F*57*F*8953*B*5*C*6127*E*1*C*26053

In order to demonstrate performance of proposed HCZRNA scheme, five state-ofthe-art encryption schemes are employed for comparison: a Four-wing hyper-chaotic system based dynamic DNA encryption scheme [29], an extended Zigzag confusion and RNA encryption based scheme [23], a Hopfield chaotic neural network-based scheme [44], a scheme with utilization of differences between two 1D chaotic maps [45] and a scheme with 4D hyper-chaotic system and DNA encryption [46].

#### *4.1. Key Space*

For an image encryption system, large enough key space is necessary to withstand a brute-force attack. In HCZRNA, a 256-bit security key is used to calculate the initial values of the hyper-chaotic system to generate the pseudo random matrices that could affect the outputs of permutation, diffusion, and RNA operations. As we know, different initial values in a hyper-chaotic system would ge<sup>t</sup> different pseudo random sequences, and each bit has two states, the security key has 2<sup>256</sup> different states, so it could generate 2<sup>256</sup> results of a hyper-chaotic system. Therefore, the key space of HCZRNA could be calculated as 2256. Theoretically, if the key space of an encryption scheme is larger than 2100, this scheme could resist violent crack by modern computers [47]. Therefore, the proposed HCZRNA in this paper has a large enough key space to resist brute-force attack.

#### *4.2. Sensitivity of Keys*

The sensitivity test on keys refers to utilize slightly different keys to encryp<sup>t</sup> the same images. If an encryption is sensitive, the encryption with slight difference on keys would ge<sup>t</sup> completely different cipher images. To test the key sensitivity, we would use two different keys to encryp<sup>t</sup> four test images, one of these two keys is initial security key *key*1, another key is *key*2, which is one bit changed for *key*1. These two keys are stated as follows, where the changed bits are shown in red:

*key*1 = 743*B*5*A*203*B*1*E*8*EDF*6*C*0*FB*0*D*7497*CB*2*E*228689*AD*00*F*57*F*8953*B*5*C*6127*E*1*C*26053 *key*2 = 743*B*5*A*203*B*1*F*8*EDF*6*C*0*FB*0*D*7497*CB*2*E*228689*AD*00*F*57*F*8953*B*5*C*6127*E*1*C*26053

By comparing two cipher images from the same plaintext image, the differences of cipher images that are encrypted from these two security keys are stated in Table 4.

**Table 4.** Differences between the cipher images.


In the table, it is obvious that all of the differences between two cipher images are over 99%, which reveals that, even with tiny changes in security keys, encryption by HCZRNA would also lead to extremely different outputs. Hence, HCZRNA satisfies sensitivity requirements.
