# Chaotic Henon-Logistic Map Integration: A Powerful Approach for Safeguarding Digital Images
## 3 The Proposed Scheme
Concurrently, the chaotic Henon map generator provides a 2D key utilized in the diffusion process, further refining the decryption by redistributing the data points to their correct positions, Algorithm 2 represents a detailed explanation for the decryption phase. Together, these elements harmonize to achieve a robust and reliable decryption mechanism. A detailed explanation with an example is provided in Appendix A to illustrate how the key is generated. Since there are four rounds of encryption and decryption, four keys need to be used, each key consists of four double data type as deceptive in Figure 4.  
```
0: Original Color image, Parameters (Chaotic): \(a\), \(b\), \(r\), \(x\), \(X_{0}\), \(Y_{0}\) and size of the image (\(R\times C\))
0: Encrypted Color image Process
1. Separate the original image into its Red, Green, and Blue (RGB) color matrices. 2. for \(k=1\), \(k++\), while \(k<=4\) 1. Use the Logistic map with parameters \(r\) and initial condition \(x\) for the generation of a chaotic sequence 2. The rows will be shuffled using this sequence as a random index. 3. Again, use the Logistic map with parameters \(r\) and initial condition \(x\) to generate another chaotic sequence. 4. The columns will be shuffled using this sequence as a random index 5. Use \(a\), \(b\), \(X_{0}\), \(Y_{0}\) and size of original image input parameters to generate a 2D Chaotic Henon map key. 6. Perform the XOR operation between the resized Henon map key and each color matrix (Red, Green, Blue) separately. 3. End for
4. To obtain the encrypted color image, combine the Red, Green, and Blue matrices back into a single matrix. ```
0: Encrypted image, Parameters (Chaotic): a, b, r, x, X0, Y0 and size of the image (R \(\times\) C). Output: Decrypted image Process
1. Extract each color matrix
2. for \(k=1,k++\), while \(k<=4\) 1. Generate a 2D Chaotic Henon map key by using the parameters \(a\), \(b\), X0, Y0, and of image (R \(\times\) C). 2. Perform the XOR operation between the resized Henon map key and each color matrix (Red, Green, Blue) to decrypt the matrices. 3. Use the Logistic map to generate a 1D chaotic vector. This vector will act as a random index for reshuffling the rows 4. Using this chaotic vector to reshuffle the rows of the color matrix to return them to their original positions 5. Again, use the Logistic map to generate another 1D chaotic vector. This vector will act as a random index for reshuffling the columns 6. Using the chaotic vector to reshuffle the columns of the color matrix to return them to their original positions 7. End for
4. Merge the decrypted Red, Green, and Blue matrices back into a single matrix to reconstruct the decrypted color image. ```

**Algorithm 2** Decryption Algorithm

Figure 2: The proposed encryption method. ### Dataset Used

The dataset used in this article is the Kodak Lossless True-Color Image Suite, a comprehensive collection of high-quality, true-color images that serves as a valuable resource for researchers and developers in image processing, compression, and encryption. This image suite, which is available in [42], provides a consistent benchmark for evaluating and comparing the performance of various algorithms and techniques in image processing. The imaging suite comprises 24 true color images of size \(512\times 768\times 3\), captured using Kodak's high-quality imaging equipment. These images cover a wide range of subjects, including portraits, landscapes, and still-life compositions. The diverse contents of the imaging suite allow researchers to test their algorithms and techniques against various image characteristics, such as color distribution, texture, and detail. Figure 4: Key generation and structure. Figure 3: The proposed decryption method. ### Key-Space Analysis

In the proposed method, the key for one iteration consists of four doubles (i.e., double type-64 bits), including \(r,x,x_{0}\), and \(y_{0}\), as depicted in Figure 4. Each double requires 64 bits to be stored in memory with a mantissa of the \"double\" data type.