# Image Encryption Algorithms: A Survey of Design and Evaluation Metrics
## 2 Image Encryption Algorithms
### DNA Encoding  
DNA encoding can be used in image encryption by converting the image's pixel binary values into a DNA sequence. Since the DNA sequence is composed of four nucleotides, adenine (A), guanine (G), cytosine (C), and thymine (T), researchers can use DNA coding rules to convert the binary information into synthetic DNA sequences using specialized laboratory equipment to handle DNA synthesis and sequencing. For example, a pixel with an RGB value (01010001, 00101000, 10001011) can be encoded as the DNA sequence, GGAG, ACCA, CACT, using rule 1 from the DNA coding rules in Table 1. Binary operation (i.e., addition, subtraction, XOR, etc.) can also work on DNA sequences using DNA operation rule tables. For example, the addition of nucleotides A + A results in A using rule 1. Since A in rule 1 is 00, the addition of 00 + 00 is 00, which is A in rule 1. In the case of adding G + G using rule 1, the result is C, i.e., 01 + 01 is 10, which is equivalent to C. Table 2 illustrates the DNA addition operation for the DNA rule 1 in Table 1.  
The image encryption algorithm presented by [PERSON] et al. [30] utilizes DNA coding in combination with a hyperchaotic map. In the proposed algorithm, a keystream generated using [PERSON]'s hyperchaotic map is used to scramble the plaintext image. Afterward, the resulting scrambled image and the keystream are both DNA-encoded. The algorithm then diffuses the DNA-encoded scrambled image with the DNA-encoded keystream. Lastly, DNA decoding is performed on the resulting diffused image to produce the cipher image. [PERSON] and [PERSON] [31] proposed an algorithm based on a logistic map, the Chen hyperchaotic map, and DNA encoding. The algorithm starts by dividing an image into three matrices based on the RGB color channels. Next, each of the three matrices is divided into blocks. The Chen hyperchaotic map is used to randomly select the DNA coding, decoding, and operation rules of each block. Each block of three color matrices is first DNA-encoded and then goes through an addition, subtraction, XOR, or XNOR operation selected based on the Chen hyperchaotic map. The algorithm then performs DNA decoding on the blocks of the three color matrices, followed by a row and column permutation based on the logistic map. Finally, the three color matrices are combined into one image to obtain the cipher image. \begin{table}
\begin{tabular}{c c c c c c c c c} \hline \hline
**Rule** & **1** & **2** & **3** & **4** & **5** & **6** & **7** & **8** \\ \hline A & 00 & 00 & 01 & 01 & 10 & 10 & 11 & 11 \\ T & 11 & 11 & 10 & 10 & 01 & 01 & 00 & 00 \\ G & 01 & 10 & 00 & 11 & 00 & 11 & 01 & 10 \\ C & 10 & 01 & 11 & 00 & 11 & 00 & 10 & 01 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Sample of different DNA coding rules. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**+** & **A** & **G** & **C** & **T** \\ \hline
**A** & A & G & C & T \\
**G** & G & C & T & A \\
**C** & C & T & A & G \\
**T** & T & A & G & C \\ \hline \hline \end{tabular}
\end{table} 
Table 2: DNA addition for DNA rule 1. In [32], [PERSON] and [PERSON] introduced a novel image encryption algorithm based on DNA dynamic encoding, the logistic-tent map, and the Lorenz hyperchaotic map. The proposed algorithm begins by dividing the plaintext image into rows, which are then DNA-encoded using rules selected by the logistic-tent map random sequence. The resulting DNA-encoded image is then scrambled using the sequence generated by the Lorenz hyperchaotic map at the DNA level. Next, the resulting scrambled DNA-encoded image is diffused using DNA operation rules selected based on the logistic-tent map. The resulting diffused image is then DNA-decoded using the Lorenz hyperchaotic map. Finally, the resulting DNA-decoded image is diffused again using DNA operation rules selected based on the logistic-tent map to produce the cipher image. The algorithm developed by [PERSON] et al. [33] is based on DNA encoding, 2D-LSCM, the SHA-256 hash of the plaintext image, and the discrete logarithm.