# Chaotic Image Encryption: State-of-the-Art, Ecosystem, and Future Roadmap
## 3 State-of-the-Art
### State-of-the-Art in the Encryption Aspect
#### 3.3.3 Primitives  
In the following, we examine the role of cryptographic primitives such as scrambling, bit shuffling, hashing, secret sharing, one-time key, permutation, substitution, confusion, and diffusion in chaotic image encryption. ScramblingScrambling is the process of permutating the pixels (or even bits in a pixel) so that the new ordering is unrecognizable from the original. Various methods of scrambling have been employed including Latin rectangle [127], logistic chaotic [128], and spiral [129]. Bit shuffling Bit shuffling is another method of permutating the pixels of an image, specifically at the bit level. [PERSON] et al. [130] proposed a method of bit shuffling in the spatial domain using a tent map. Hashing  
Hashing algorithms are special types of functions that take an input of any length and produce an output that is always the same length. The SHA algorithm specifically also has the added bonus of being highly input sensitive, that is to say, small changes in the input create a very different output. In the context of image encryption, one common use of hash algorithms is to generate the keystream. For example, [PERSON] et al. [131] utilized SHA-256 and the Lorenz chaos attractor to generate strong key streams. [PERSON] et al. [132] also proposed an algorithm using the Lorenz chaos attractor and a hash algorithm, although they opted to use SHA-1 instead. In a paper by [PERSON] [133], a novel encryption algorithm using SHA-3 and stenography was proposed. This algorithm embeds the hash of the plaintext image into the cipher image using stenography. This makes the algorithm very sensitive to the plain image, which in turn yields stronger security. Permutation, Substitution, Confusion, and Diffusion
* Permutation and diffusion Permutation is the process of rearranging elements in a structure, which, in the context of images, refers to scrambling the pixels. [PERSON] et al. [134] performed an evaluation on three different permutation methods (discrete chaos, vectors, and Arnold cat map) and found that discrete performed the best. Diffusion is the process of ensuring there is no statistical significance to the resulting structure. In the context of images, this refers to scrambling the pixels of the image to eliminate the correlation between adjacent pixels. [PERSON] et al. [135] proposed a novel digit-level permeation algorithm that additionally employs a high-speed diffusion algorithm. Evaluation results demonstrated high security and efficiency. Combining permutation with diffusion into the same stage of encryption aims to combat hackers who try to break each stage separately [136]. [PERSON] et al. [137] proposed an algorithm to perform permutation and diffusion simultaneously. The algorithm additionally uses a Hopfield chaotic neural network to perform further diffusion, which gives the algorithm greater key sensitivity. * Confusion Confusion in encryption refers to the level of dependency elements of the ciphertext have with the key. As seen with permutation, confusion is often integrated with diffusion for the same reasons. For example, [PERSON] et al. [138] proposed an image encryption algorithm that achieves an integration of confusion and diffusion by XORing the plain image with chaotically generated offset matrices. * Substitution Substitution involves replacing an element with something else in a predictable and invertible manner. The substitution requirement is commonly implemented using S-boxes, which are matrices that define how each input maps to its substituted value. For image encryption, chaos-based S-boxes include those generated from the chaotic sine map [139] and the logistic map [140]. [PERSON] and [PERSON] [141] also proposed an algorithm with multiple S-box substitutions, where the order of the boxes is determined by a random chaos sequence. Another algorithm proposed by [PERSON] et al. [142] splits the image into four blocks and applies a different S-box to each block. These S-boxes each originate from a different encryption algorithm (AES, PQL, APL, and Shipjack).