Developed Lightweight Cryptographic Algorithms for The Application of Image Encryption: A Review

As a consequence of the fast evolution of information technology

There are various schemes of image encryption have been proposed depending on various technologies and theories.Lightweight cryptography algorithms are a part of modern cryptographic algorithms that can be utilized within devices of low resources.These cryptographic algorithms do not specify hard criterion to classify cryptographic algorithms as lightweights, however, the prevalent attributes of any lightweight algorithm are extremely low needs for fundamental resources of base devices [10].Recently, lightweight cryptography algorithms become relevant in the application of digital image encryption.
In order to solve the problem of creating effective algorithms of lightweight cryptography, there is a need for innovative approaches to modify the traditional algorithms with adaptation to the hardware attributes and systems' limitations at lower cost and find proper specialized solutions in algorithmic, methodological, software, and hardware terms.This review paper is constructed as follows; The lightweight cryptographic algorithms and their types are briefly described in the next section, then the developed lightweight (Salsa20 and Chacha20) algorithms for image encryption application are presented in section three, after that, a performance comparison between these lightweight algorithms is explained in section four, finally, many conclusions are demonstrated in the last section.

Lightweight Cryptographic Algorithms
The implementation of cryptography has helped different information forms for being legally accessed via an authentic user with the assist of its typical processes of encryption.But, there are several differences when implementing encryption on ordinary files and on digital images [11].The pixels' contents inside any digital image are infinite and so, the encryption algorithm relies on the sampling process as well.Recently, there are lots of developed researches that have concentrated on image encryption, however, until now there is no standard algorithm of encryption that provides full coverage of security standards (privacy, availability, integrity, confidentiality, etc.).The best algorithm of image encryption refers to the encrypted image that has a low correlation with the original image i.e. high imperceptibility for the encrypted image.
The main challenges that face the designing of any algorithm of image encryption are; constructing a lightweight cryptographic algorithm without increasing the burden of computation with a high number of encryptions, obtaining high imperceptibility for the encrypted image, getting faster response time for the encryption process, and retaining the highest level of image information in the decryption process [12].
Similar to the algorithms of cryptography, the lightweight cryptographic algorithms are also separated into two parts: symmetric and asymmetric algorithms [13].Symmetric algorithms include stream and block ciphers.These ciphers are deliberately used with gadgets, and there are not any limitations for getting categorized as lightweight.Performance, cost, and security represent the main significant portions to deal with by every architect of lightweight cryptography.It is extremely hard to achieve the fundamental design aims: performance and security, cost and security, or performance and cost at the same time, whilst it is not difficult to develop any one of these aims.The symmetric ciphers' elements are entity authentication, encryption, checking message integrity, and etc., whilst the management of key and nonrepudiation are further functions supplied via asymmetric ciphers [14].Lightweight Elliptic curve is asymmetric cipher that capable of ensuring both confidentiality and authentication, however, it requires more consumption of memory and larger size of key which led to make it less popular [15] [16].
The lightweight block cipher represents a complete data block that is processed at once.
The main concerns for evaluating a lightweight block cipher are block size, key size, number of rounds, and the type of structure.While lightweight stream cipher works on encrypting and decrypting data bit by bit and it is quicker and simpler than lightweight block cipher [17].In this paper, we will concentrate on some developed lightweight stream ciphers; Salsa20, and Chacha20, and their application in digital image encryption.

Developed Lightweight Algorithms for Image Encryption Application
Generally, the majority of current lightweight cryptography algorithms face the challenge associated with complexity, furthermore, their generated keys should be unpredictable.
Regarding these concerns, further improvement on the generated keys can be added for making cryptographic algorithms high robustness against various kinds of cipher attacks.Recently, chaotic map systems paid considerable attention in several studies for the utilization of cryptographic applications owing to their properties of randomness [18].
Alaa Noori Mazher, Jumana Waleed and Abeer Tariq MaoLood Vol.13(2) 2021 , pp Comp.11-22 14 The chaotic maps have different useful properties of application Depends on safety.These properties are; Chaos is a dynamic system in discrete time to produce in a complex sequence that conducts randomly in an easy and simple way, the chaotic signal is Non-random however but it is imperative, this feature allows us to renew it, the chaotic signal is very sensitive of the initial condition, this leads to another initial arrangement which makes another sequence.This property makes it so hard for the attackers to prophesy the chaotic chains to renew it and prevent attacks.The chaotic map functions are divided into two categories: 1-Dimensional and multilayered chaotic map functions [19].These chaotic map systems can be utilized for generating pseudo-random keys to produce the developed lightweight cryptography algorithms.
The general diagram of the developed lightweight (Salsa20 and Chacha20) algorithms for the application of digital image encryption is illustrated in Figure 1.

Developed Lightweight Salsa20 Algorithm-Based Image Encryption
The stream cipher Salsa20 was presented via Bernstein [20].It provides a clean, scalable, and very easy design, and offers 128, and 256 bits of keys in an extremely normal manner.The basic Salsa includes twenty rounds, however, subsequent Salsa includes eight rounds and twelve rounds.The original lightweight Salsa20 algorithm is constructed using a pseudorandom function depend on Add Rotate XOR operations.Hereafter, ⊕ indicates the bitwise XOR, + indicates the addition modulo (2 32 ), || represents the concatenation, and A<<<l indicates the lbit left shift rotation on a word A. Salsa20 utilizes the counter mode hash function Salsa20.The keystream of 512 bits is generated with 64 bits counter and 64 bits' initial vector as inputs.Salsa20 represents a stream cipher of word-oriented.Every word represents a component of F2 32 and includes 32 bits.At first, the Salsa20's round function is described using 4×4 matrix of words [21]; (1) The round function f(w) is given as follows; (2) Where,
The scalability and simplicity of Salsa20 have provided more significance in various applications, especially in image encryption.There are lots of works that have studied image encryption using several developed algorithms of Salsa20.
A. Jolfaei and A. Mirghadri [22], presented an effective implementation of a lightweight Salsa20 algorithm for the application of digital image encryption in which sequences of tests were accomplished for justifying the efficiency of Salsa20.The large key space of the Salsa20 algorithm enables it to resistant against all types of brute-force attacks, and the experimental results demonstrate that the lightweight algorithm has immunity against statistical attacks.The obtained results of chi-square and entropy tests demonstrate that the encrypted image was uniform and secure to entropy attack, respectively.Salsa20/8 is a fast algorithm and can provide a better quality of encryption than the Salsa20/12 and Salsa20/20.Finally, the Salsa20 algorithm represents a good applicant for image encryption.M. Almazrooie et al. [23], presented a developed Salsa20 algorithm using a chaotic logistic map that requires only 2 rounds of scrambling for achieving a preferable level of diffusion to make the algorithm faster.The XOR operation was utilized for addressing the observed statistical leakage at the 2nd round of original Salsa20.According to the obtained results, this lightweight algorithm provides diffusion faster than the original Salsa20 and resists the known attacks.
A. H. Fadel et al. [24] proposed a developed lightweight Salsa20 algorithm for the application of digital image encryption which utilizes two chaotic maps (Logistic and Chebyshev maps) for achieving diffusion faster than the original Salsa20 algorithm.This developed algorithm consists of several stages; firstly, the generation of the random sequence using the chaotic maps, secondly, the expansion of the key, and lastly, the encryption and decryption of images using XOR operation.The pixels' distribution within the histogram of the encrypted image was uniform and considerably different from the original image.The obtained results demonstrate that the proposed light weight algorithm is more efficient, secure, and holds less complexity than the traditional Salsa20.E. L. Mohaisen and R. S. Mohammed [25], proposed a developed lightweight Salsa20 algorithm based on a set of chaotic maps for achieving more complexity.This developed algorithm is utilized for encrypting and decrypting texts, gray, and color images.The obtained encrypted images were uniform and extremely different from the original images, which refer to the efficiency of the developed Salsa20 algorithm.K. R. Qasim and S. S. Qasim [26], presented a developed Salsa20 algorithm based on chaos theory for achieving faster propagation comparing with the original algorithm.The proposed algorithm was implemented on the medical images for providing more confidentiality for patients' diseases.It includes two main stages; firstly, the generation of a random key by utilizing the algorithm of Salsa 20 and the logistic map, then, the encryption and decryption of the medical images.Lots of tests were performed on the encrypted images for justifying the visual efficiency of the proposed Salsa20 algorithm.The obtained results demonstrate that the proposed algorithm was faster than other versions of Salsa20, and it has high resistance against various attacks.

Developed Lightweight Chacha20 Algorithm-Based Image Encryption
The encryption algorithm Chacha20 is a lightweight algorithm that belongs to the Salsa algorithm family but differs in detail.Chacha20 provided the best security than the original Salsa20 cipher, via utilizing somewhat preferable hash functions.The hash function input data rearranged for implementing the algorithm effectively [27].
The stream cipher Chacha20 algorithm works on 64 bytes of data blocks.The ChaCha20 algorithm calls the function of expansion to every 64 bytes of the data block.The input to this function represents a secret key of 32,16, or 8 bytes, furthermore, related to the number of the presently encrypted block.The essence of the lightweight Chacha20 algorithm is concentrated on utilizing the function of mixing that takes 64 bytes from the function of expansion, after that, combines these bytes, and lastly yields other 64 bytes of data to the function of expansion.The function of mixing works on data separated into 32-bit words ordered in a 4×4 matrix.The input matrix w is given as follows [28]: (6) The fundamental role of the ChaCha20 algorithm is given to the QuarterRD function in which four words (e; f; g; h) are taken as input and four words are obtained as output after implementing the following operations of 32-bit: The DoubleRd function is called within the function of mixing that accepts matrix w as input and results another matrix; Since the ChaCha20 algorithm considers a relatively new lightweight stream algorithm, therefore, there are no much researches in the literature working on the application of digital image encryption.Here, we can mention a developed lightweight ChaCha20 algorithm using hyperchaotic maps in the application of digital image encryption proposed by M. S. Mahdi et al. [29].This developed lightweight algorithm for image encryption has achieved robustness to brute force attacks via supplying a massive space of keys.Several criteria were utilized in this algorithm for defense from statistical cracking and non-security of images.Furthermore, this developed ChaCha20 algorithm can run in real-time since it requires about 3.5 seconds consuming time.

Performance Analysis
The need for transferring digital images with large sizes has been growing.Therefore, securing these images needs holding algorithms that are capable of encrypting images at a high speed.Salsa20 and Chacha20 are stream ciphers that can be implemented in applications where the encryption speed is as important as the security.This review paper works on investigating the efficiency of utilizing the chaotic maps with the lightweight stream cipher algorithms (Salsa20 and Chacha20) for encrypting the images.Table 1 explains a comparison between the developed lightweight (Salsa20 and Chacha20) algorithms for the application of digital image encryption.Table 1.Comparison between the developed lightweight stream ciphers for the application of digital image encryption.

Figure 1 .
Figure 1.The general diagram of the developed lightweight Salsa20 / Chacha20 algorithms for image encryption/decryption.

( 8 )
Where, the function QuarterRD is called four times by the function ColumnRD(x), once for every column of matrix w.Also, the function QuarterRD is called by the function of DiagonalRD(w) four times, one time for every diagonal of matrix.