Abstract
Data security is vital for multimedia communication. A number of cryptographic algorithms have been developed for the secure transmission of text and image data. Very few contributions have been made in the area of video encryption because of the large input data size and time constraints. However, due to the massive increase in digital media transfer within networks, the security of video data has become one of the most important features of network reliability. Block encryption techniques and 1Dchaotic maps have been previously used for the process of video encryption. Although the results obtained by using 1Dchaotic maps were quite satisfactory, the approach had many limitations as these maps have less dynamic behavior. To overcome these drawbacks, this article proposes an Intertwining Logistic Map (ILM)Cosine transformationbased video encryption technique. The first step involved segmenting the input video into multiple frames based on the frames per second (FPS) value and the length of the video. Next, each frame was selected, and the correlation among the pixels was reduced by a process called permutation/scrambling. In addition, each frame was rotated by 90° in the anticlockwise direction to induce more randomness into the encryption process. Furthermore, by using an approach called the random order substitution technique, changes were made in each of the images, rowwise and columnwise. Finally, all the encrypted frames were jumbled according to a frame selection key and were joined to generate an encrypted video, which was the output delivered to the user. The efficiency of this method was tested based on the state of various parameters like Entropy, Unified Average Change in Intensity (UACI), and correlation coefficient (CC). The presented approach also decrypts the encrypted video, and the decryption quality was checked using parameters such as mean square error (MSE) and peak signaltonoise ratio (PSNR).
1 Introduction
Rapid innovation in the wireless communication field has created many challenges to transfer data in a secure manner. Due to these advancements, there has been a significant increase in the transmission of images and videos through the public network. Also, the introduction of social media has led to the mass sharing of videos on the Internet frequently. Because of this intensification of sharing videos, there is a high demand for data security. Unencrypted data are more vulnerable to attacks. Therefore, there is a need for the data to be transmitted securely through any network, and the method called encryption ensures this [1,2,3]. There are various encryption algorithms used to encrypt/decrypt data. Most of these algorithms are focused on image and text data. Because of the large input size and huge time constraints, a less significant development was made when it comes to video encryption [4,5,6,7,8,9,10,11,12,13]. The algorithms that produced some good results in the past are explained in the coming paragraphs; however, in this era of social media, better encryption techniques are required.
In 1998, Shi and Bhargava [6] proposed an efficient MPEG video encryption algorithm that uses a secret key. This secret key is used for changing the sign bits of encoded differential values of motion vectors of B and P pictures randomly. This approach basically conducted three major steps. It encrypts the motion vectors of B and P frames and then encrypts the DC coefficient of I frame and then encrypts all coefficients of motion vectors and I frame. Experimental results show that this adds overhead to MPEG codec and can be used only for securing video emails applications.
Chiaraluce et al. in ref. [14] proposed a new chaotic algorithm for video encryption. The concept of this algorithm is to use three different chaotic functions. It uses two keys that act as an input for two chaotic functions and the XOR of the output act as input for the third function. The output from this chaotic function is XORed with video data that results in the encrypted video. The security could be increased by using a larger key length.
Li et al. in ref. [15] proposed a new video encryption algorithm for H.264, which is a video encoding standard, which guarantees the security. In this method, the user key is responsible for four major parts: interprediction and intraprediction mode scrambling, encryption of motion vectors, and encryption of transform. The old prediction mode is XORed with a threedigit random sequence to get the new prediction mode. Because of the twodimensional chaos system, this algorithm works better in terms of security but suffers from the problem of having less effect on entropy.
Raju et al. in ref. [16] proposed a fast and realtime computationally efficient video encryption algorithm. It compresses the video data using Discrete Cosine Transform (DCT). Each video is divided into frames, and DCT is applied on a block of 8 × 8 size. It uses the RC5 (Rivest Cipher) algorithm for encrypting the DCT coefficients. This approach produces high security and entropy but adds overhead to codec.
Dumbere and Janwe in ref. [17] proposed Advanced Encryption Standard (AES) algorithm for video encryption. It uses MATLAB for the implementation. It encrypts the 128bit block data in “N” round of encryption based on the key. It produces better results and takes less encryption and decryption time than Data Encryption Standard (DES).
The works proposed in refs. [18,19,20,21,22,23] are the main motivation behind the proposed approach of this article. The techniques proposed in refs. [18,19,20] use 1D chaos map, i.e., logistic map. Although a logistic map is simplest to implement and exhibits good chaotic behavior, it suffers from the issues of a blank and stable window. The proposed work of this article is an extension of these works. Ye and Huang in ref. [21] proposed an approach for image encryption using ILM. It is found that results obtained from ILM performs better than LM. In 2018, Hua et al. in ref. [22] proposed a method that coupled the logistic map with sine function that exhibits more complexity and large chaotic range. Recently, in 2019, a work is proposed in ref. [23], in which a logistic map combined with sine function acts as an input for cosine function to increase the nonlinearity in the chaotic sequence.
This article proposes a fast and secure method of video encryption using 3D ILM with cosine transformation to generate a complex chaotic sequence. The proposed algorithm performs better in terms of security and efficiency and is highly resistant to cyberattacks due to its nonlinearity. The novelty of this approach is using the 3D ILM cosine transformation for generating the chaotic sequence, which is provided as an input to the cosine function to produce a new chaotic pattern, which is more nonlinear. This article also checks the quality of decrypted video using MSE and PSNR parameters.
The rest of this article is divided as follows: Section 2 describes the preliminaries, i.e., the fundamentals of chaos, LM, and ILM. Section 3 elaborates the proposed architecture. Implementation and experimental setup details are presented in Section 4. Section 5 compares the results with other existing approaches of video encryption. Section 6 discusses the conclusion and future works related to this technique.
2 Preliminaries
This section annotates the fundamentals of chaos theory, logistic maps (LM), intertwining logistic map (ILM), and ILMCosine, which were used to generate keys for the proposed video encryption algorithm.
2.1 Chaos theory
Chaos theory is a mathematical theory [24,25] that is still a part of the research. It belongs to the dynamics, a field of physics that concerns the motion of objects when any force is applied. It is also the study of how simple patterns can be generated using the complicated behavior of numbers. The basic structure of chaos is divided into two parts, i.e., permutation and diffusion. Permutation is defined as the scrambling of the quantities in which the values are placed randomly. On the other hand, diffusion is a kind of substitution that is used for removing the redundancy from the chaos.
Later, in the 1900, Lorenz used the term chaos for the first time [26]. He studied chaos theory in contextual weather systems. His studies prove that chaos theory can make decisions in complex environments. Because of handling the unpredictability in complex systems, chaos is used for encrypting sensitive information. In 1997, Fridrich [27] proposed an image encryption algorithm based on chaotic maps. Since then chaos has been used for encrypting digital data and its secure transmission. The unpredictability and intractability of chaos make it useful for this proposed algorithm for video encryption.
2.2 Logistic map
Logistic map (LM) is a twodegree polynomial mapping chaos function. It is the most popular and simplest of all the chaotic functions. It is used to generate chaotic behavior [28] from nonlinear dynamic equations. The mathematical representation of this function is defined as follows:
where the range of U _{ s } varies in (0, 1] that represents the value at sth position in the sequence and is a control parameter that is responsible for complete the chaotic sequence in the range [3.57, 4].
Although LM has good ergodic nature that limits it to depend on initial conditions, it is sensitive to one control parameter. Due to this reason, onedimensional logistic map extended to two dimensional [29], which is represented by the following equations:
These equations are responsible for generating chaotic sequences in the range (0, 1] represented by U and V. Here, U _{ s } and V _{ s } represent the value at sth position in two different dimensions. This chaos map remains in a chaotic state when 2.75 < η1 ≤ 3.4, 2.75 < η2 ≤ 3.45, 0.15 < ε1 ≤ 0.21, and 0.13 < ε2 ≤ 0.15. With further technical developments, this is extended to threedimensional chaotic sequences [30,31]. The equations for 3D chaotic maps are described as follows:
Here, U _{ s }, V _{ s }, and W _{ s } represent the value at sth position in three dimensions These equations exhibit nonlinear system when U _{0}, V _{0}, and W _{0} are in [0, 1] and 0.53 < U _{0} < 3.81, 0 < V _{0} < 0.022, and 0 < W _{0} < 0.015. These generated sequences have good crossrelation and autocorrelation, but they also have some drawbacks. LM suffers from the problem of stable windows, blank windows [32], and nonuniform sequence distribution. Figure 1 shows the problem of blank windows in LMs. To overcome these boundaries of LMs, ILMs came into the picture.
2.3 ILM
In 2014, Wang and Xu [33] proposed an intertwining relation between different LM sequences, which are nonlinear. Since the Lyapunov exponent of ILM is always positive in comparison to LM, it indicates that ILM has more dynamic behavior than LM [34]. The equations for ILM sequence are expressed as follows:
where η is in range of [0, 4), σ > 33.5, ϑ > 37.9, and κ > 35.7 for exhibiting the chaotic behavior.
As shown in Figure 2, chaotic sequences generated by ILM are uniformly distributed. This uniform distribution results in the removal of LM’s demerits, i.e., uneven key distribution, blank window, and stable window.
Figure 3 shows the Lyapunov exponent for LM and ILM methods. It can be observed that the Lyapunov exponent of ILM is never negative and is more uniformly distributed.
2.4 ILM with cosine function (ILMcosine)
ILM indicates the dynamic behavior in the output. But to increase the efficiency of encryption, ILM is combined with cosine function in the proposed approach. The cosine function is used to increase the content of nonlinearity in the output produced by ILM [35]. The equations for ILMcosine are expressed as follows:
3 Proposed architecture
This section proposes a new symmetric key encryption and decryption method for video data. Chaosbased cryptographic algorithms are used to make it difficult for unauthorized users to break the encryption. The encryption process starts by dividing the input video into multiple frames. Each of these frames go through a series of steps, i.e., permutation, rotation, diffusion to produce encrypted frames. The encrypted frames are jumbled using a frame selection key before joining them to form the final encrypted video. This encrypted video can be transmitted securely as any unauthorized user cannot access it without the keys. The decryption process involves splitting the encrypted video, rearranging the frames according to the FS key, and performing antisubstitution, rotation, and descrambling on each of them to generate decrypted frames. These decrypted frames are merged together to generate the decrypted video.
3.1 Encryption
As soon as a video (in mp4 format) is chosen for encryption, it is split into a number of frames. The duration and FPS value of the video determine the number of frames. The steps followed for encrypting the video are shown in Figure 4. The encryption process is performed on each of the frames iteratively until all the frames are encrypted. Each frame is split into three 2D matrices that represent its red, green, and blue components. An example of this process is shown in Figure 5.
3.1.1 Key generation
The secret keys required for permutation are generated using a keyless hash function called Secure Hash Algorithm256 (SHA256) [36,37]. It converts messages of any size into a hash of fixed length (256 bits) and provides an additional advantage that getting a collision is computationally impossible. It is a new cryptographically secure oneway hash function that falls under the category of SHA 2. SHA 2 is an improved version of SHA 0 and SHA 1.
SHA256 function is used to generate the seeds of length equal to the key length. Whatever be the length of input information, this algorithm breaks the data into 64 bytes or 512 bits and generates a 256bit hash seed after cryptographic mixing. Three such seeds are generated for the R, G, and B components of each frame. It is resistant to all kinds of attacks identified till date and thus is used to secure highly sensitive data.
3.1.2 Permutation
The process of jumbling the position of pixels in a frame is called permutation or scrambling. This interchanging of pixels helps to reduce the correlation among them. Let A and B be the dimensions of the input image, and I be the size of block, which is calculated as follows:
Then, permutation can be done on the matrix of size I ^{2} * I ^{2}. Each frame is divided into I ^{2} blocks. By using the chaotic sequence generated by the key generator, the pixels of each row of the block are shuffled into other blocks. In the next step, another chaotic sequence is used to jumble the position of pixels columnwise. This scrambling of pixels reduces the association between them which is considered to be a feature of a good encryption technique. The following steps are followed for permutation:
I is calculated using equation (13) and an image of size I ^{2} * I ^{2} pixels is extracted from the frame.
Four chaotic sequences, say P, Q, R, and S of length I ^{2} are generated by the key generator and are sorted.
After sorting these sequences, four index vectors are generated, one from each of them. Let them be labeled as In P, In Q, In R, and In S.
Two blank matrices L and M are generated with dimensions I ^{2} * I ^{2}. The matrices L and M are initially filled with the values present in the columns of In P and In R, respectively, and the elements present in L and M are shifted according to the elements of In Q and In S, respectively.
The value of row(r) is initialized to 1. Let the value present in the rth row and cth column of L matrix (i.e., (L _{ r, c })th value) be “x.” The (r, c)th pixel of the frame under consideration is replaced by the value in xth row and cth column of M matrix (i.e., M _{ x, c }).
Step 5 is done iteratively for all values of “r” in the range [2, I ^{2}].
3.1.3 Rotation
Even after permutation, the position of many pixels in the matrix remains unchanged. This is because only those pixels that are in the range I ^{2} * I ^{2} are permuted. To induce more randomness, the entire matrix is rotated by 90° in the anticlockwise direction. This rotates not only the entire frame but also every pixel in it. It is preferable to rotate the matrix in multiples of 90°, as rotating by any other intermediate angles results in a tilted frame, which is unfit for computation.
3.1.4 Diffusion
Diffusion or substitution is the process of spreading variation throughout the matrix by replacing the existing values with new ones. The changes are made in the matrix rowwise and columnwise according to general rules of diffusion. Following these preestablished rules makes the system more susceptible to attacks. To overcome this drawback, random order substitution technique is used, and the equations used to implement the same are as follows:
By using the chaotic sequence used for diffusion, an index matrix is generated. Here, L is the final matrix obtained after permutation and P is the chaotic matrix. It is the index matrix obtained by sorting the elements of P and M = 256 for 8bit representation of pixels.
3.1.5 Frame selection
After diffusion, the frames are completely encrypted and are ready to be joined together. To make the encryption even better, the frames are not joined sequentially. The encrypted frames are jumbled using a frame selection key and then are merged to form an encrypted video. This encrypted video seems meaningless to any unauthorized user without the keys and hence can be transmitted securely.
3.2 Decryption
The steps followed for decrypting an encrypted video are shown in Figure 6. Decryption is possible only if all the keys used for encryption and the encrypted video are available. Even a slight change in any of the keys does not produce the original video back.
3.2.1 Frame selection
While generating the encrypted video, a frame selection key is used to jumble the frames to ensure more randomness. The same key is used to place encrypted frames in their correct position before starting the decryption process. Once all the frames are shuffled back to their original places, decryption is done iteratively on each of them.
3.2.2 Antisubstitution
Each encrypted frame is split into three 2D matrices that represent its R, G, and B components as shown in Figure 5. The next step is to revert the changes done by the random order substitution during the diffusion process. It is done by using the following equations:
3.2.3 Rotation
The original image is rotated by 90° in the anticlockwise direction during encryption. The association among adjacent pixels is reduced by using this rotation step. To retrieve the actual image, the encrypted image is rotated by 270° in the counterclockwise direction.
3.2.4 Depermutation
By using the same chaosbased encryption keys used during scrambling, descrambling is done to restore all the pixels to their original positions. This can be considered as the exact opposite process of scrambling.
4 Implementation
This section focuses on the experimental setup including software and hardware requirements for implementing the approach proposed in this article. The properties of a sample video taken as input for testing are also explained below along with all the implementation details.
4.1 Experimental setup
The software requirements to implement and test the proposed approach include Python 2.7, version 2.7.17 used on Atom 1.45.0. Libraries like Pillow, OpenCV, NumPy, Matplotlib, and scikitimage are added externally. System configurations are Windows 10, Intel(R) Core (TM) i56200U CPU clocked at 2.30 GHz 2.40 GHz, 8GB RAM, and 64bit operating system.
The videos for the experiment are taken from ref. [38]. There are four videos with their properties presented in Table 1.
Video name  Frame per second (FPS)  Length of video (s)  No. of frames  Dimension of frames (Pixels) 

Flamingo.mp4  25.0  13  328  352 × 192 
Train.mp4  25.0  10  262  352 × 192 
Rhino.mp4  15.0  7  114  320 × 240 
Viptrain.mp4  30.0  20  626  360 × 240 
4.2 Encryption
The encryption procedure followed in this article is chaos based. The implementation details explained for encryption and decryption are based on the video titled Flamingo.mp4 from source [38].
4.2.1 Frame generation
The input video is partitioned into N number of frames, where N is defined by equation (16). N is equivalent to 328 frames for the given input video. The frames are stored in the jpg format, because in this image format, the encryption procedure works faster. Function 1 shows the pseudocode to split the video into frames.
Function 1: Split mp4 video into 2D frames 
Input: Original video (n, m) mp4 format, image format (jpg or png) 
Output: N (n × m) 2D frames 
Pseudocode: 
WHILE(True) DO: 
frame ← Capture the current frame 
Write frame in memory 
INCR (currentFrame) 
END WHILE 
4.2.2 Color frame Input
As the input video is colored, each 2D color frame, which is in jpg format, is converted to a 2D RGB matrix. The RGB matrix is of dimension 3*(n*m), where n is the height, m is the width of the image, and each row corresponds to red (R), green (G), and blue (B) colors, respectively. This step is performed to obtain the pixel image for further processing. Function 2 shows the pseudocode to convert the frame into a 2D RGB matrix.
Function 2: Convert a 2D color image to 2D RGB matrix 
Input: Original frame (n, m) 
Output: 2D IMG_MATRIX (3×(n * m)) 
Pseudocode: 
FOR x ← (0, n) DO: 
FOR y ← (0, m) DO: 
r, g, b ← frame_{ y, x } 
IMG_MATRIX[:, x * m + y] ← [r, g, b] 
END FOR 
END FOR 
4.2.3 Key generation
ILM chaotic sequence is generated for threedimensional encryption for R, G, and B components of each frame. Here, the length of the given key is 360. Function 3 shows the pseudocode of secret hash function256 for seed generation.
Function 3: SHA256 for 3D seed generation 
Input: Length of key (L) 
Output: 3D seeds of length L 
Pseudocode: 
SECRET_KEY ← UNIFORM_RANDOM(L)//within range [0,1] 
KEY_MATRIX ← hash (SECRET_KEY, [SHA256, binary Mode, double]) 
FOR l ← (0, L/2) DO: 
A ← A xor KEY_ MATRIX(l) 
END FOR 
FOR gap ← (L/2, L) DO: 
SUM ← SUM + KEY_MATRIX (gap) 
END FOR 
3D_SEED ← A + SUM 
3D_SEED ← 3D_SEED/2^12 
4.2.4 ILMcosine sequence generation
Secret key or seeds generated in the previous steps are used to generate a 3*(4*b*b) ILMcosine transformationbased chaotic sequences, where b is the block size given in equation (13). Function 4 gives the pseudocode to generate the ILMcosine sequence, and Table 2 presents a sample ILMcosine sequence for an 8*8 frame.
Function 4: Generate ILMCosine sequence from the secret key 
Input: No. of pixels (4*b*b), secret key (S) 
Output: A 3*(4*b*b) ILMcosine chaotic sequence 
Pseudocode: 
FOR c ← (0, 4*b*b) DO: 
ILM_{0, c} ← ((a1 * S_{2} * (1S_{1})) + S_{3}) mod 1 
ILM_{1, c} ← ((a1 * S_{2}) + (S_{3} * 1/(1 + ILM_{0, c} ^{2}))) mod 1 
ILM_{2, c} ← (b1 * (ILM_{0, c} + ILM_{1, c} + b2) *SIN(S_{3})) mod 1 
S ← ILM 
END FOR 
RETURN COS(PI*ILM) 
0.679  0.939  0.877  0.120  0.234  0.077  0.017  0.618  0.336  0.584  0.756  0.825  0.883  0.017  0.753  0.004 
0.278  0.576  0.248  0.892  0.369  0.673  0.794  0.921  0.386  0.821  0.797  0.576  0.276  0.079  0.704  0.418 
0.894  0.132  0.012  0.127  0.895  0.006  0.135  0.807  0.948  0.580  0.547  0.312  0.665  0.256  0.538  0.109 
4.2.5 Extracting gray components
The 2D RGB matrix image is divided into its corresponding 2D gray components. The gray components of a frame are encrypted individually with a separate ILM sequence for each component. This is done to encrypt the frame from all three dimensions separately. Function 5 shows the pseudocode for extracting the 2D gray components. Figure 7a shows the gray component (red) of dimensions 352 × 192 from the sample video.
Function 5: Get the 2D gray component from the 2D RGB image 
Input: Row, Col, Entire row from RGB matrix that corresponds to the gray component (Data)//1×(n * m) 
Output: 2D GRAY_IMAGE (n × m) 
Pseudocode: 
GRAY_IMAGE ← create a new image of dimensions (col, row) 
GRAY_IMAGE ← PUT(Data) 
RETURN GRAY_IMAGE 
4.2.6 Permutation
Permutation is performed using the ILMcosine transformationbased chaotic sequence generated and is the first step in chaos encryption. Only a fraction of the image is decorrelated by shuffling its pixels. Function 6 shows the pseudocode for scrambling the image, and Figure 7b shows the scrambled gray component (red) of dimensions 352×192 from the sample video.
Function 6: Scramble or permutate the pixels to reduce the correlation 
Input: GRAY_COMPONENT (n × m), ILM_CSEQ, BLOCK_SIZE(b) 
Output: SCRAMBLED_IMG (n × m) 
Pseudocode: 
CALCULATE Size of the matrix to be scrambled B ← b*b 
P ← ILM_CSEQ (0: B) 
Q ← ILM_CSEQ (B:2B) 
R ← ILM_CSEQ (2B:3B) 
S ← ILM_CSEQ (3B:4B) 
In P ← GET_INDEX_SEQ(P) //sort enumerated P matrix and return P [0] 
In Q ← GET_INDEX_SEQ(Q) 
In R ← GET_INDEX_SEQ(R) 
In S ← GET_INDEX_SEQ(S) 
col, row ← SHAPE of GRAY_COMPONENT 
SCRAMBLED_IMG ← COPY GRAY_COMPONENT 
FOR y ← (1, B + 1) DO: 
FOR x ← (1, B+1) DO: 
c ← (x + In Q_{y−1} − 1) mod (B + 1) 
d ← (x + In S_{y−1} − 1) mod (B + 1) 
L_{x, y} ← In P_{c−1} 
M_{x, y} ← In R_{d−1} 
END FOR 
END FOR 
FOR x ← (1, B + 1) DO: 
FOR y ← (1, B + 1) DO: 
i ← L_{x, y} 
j ← M_{i, y} 
c1 ← (i − 1)/b 
d1 ← (i − 1) mod b 
c2 ← (j − 1)/b + 1 
d2 ← (j − 1) mod b + 1 
r ← c1*b + c2 
c ← d1*b + d2 
SCRAMBLED_IMG_{r, c} ← img_{x, y} 
END FOR 
END FOR 
RETURN SCRAMBLED_IMG 
4.2.7 Image rotation
Figure 7b shows a scrambled frame. To ensure complete shuffling of pixels from their original positions, the rotation of the frame is done in the anticlockwise direction by the angle of 90 degrees. The rot90 function is used for this purpose. Figure 7c displays the rotated gray component (R) of dimensions 352 × 192 from the sample video.
4.2.8 Diffusion
Random order substitution is performed using a substitution sequence, which is uniform and random. Function 7 shows the pseudocode for random order substitution, and Figure 7d shows an encrypted 2D gray component (R) of dimensions 352 × 192 after substitution. After substitution, all the three encrypted gray components are stacked together to obtain the encrypted 2D RGB image matrix, which is also the final encrypted frame. This encryption process is repeated N times for each frame.
Function 7: Random Order Substitution 
Input: GRAY_COMPONENT (m × n)//rotated image, SUB_CSEQ, SIZE 
Output: ENCRYPTED_IMG (m × n) 
Pseudocode: 
GENERATE matrix A and B ← SIZE 
A ← ROTATE (Clockwise, 90 degrees, SUB_CSEQ) 
In A ← GET_INDEX_SEQ(A)//sort enumerated A matrix and return A [0] 
B ← ROTATE (Clockwise, 90 degrees, InA) 
M ← 256 
FOR r ← (0, row) DO: 
FOR c ← (0, col) DO: 
IF r = = 0 and c = = 0 THEN: 
ENCRYPTED_IMG_{Br, c, c} ← (GRAY_COMPONENT_{Br, c, c} + GRAY_COMPONENT_{Brow1, col1, col1} + 2^32 * A_{Br, c, c}) mod M 
ELSE IF c = = 0 THEN: 
ENCRYPTED_IMG_{Br, c, c} ← (GRAY_COMPONENT_{Br, c, c} + ENCRYPTED_IMG_{Br1, col1, col1} + 2^32*A_{Br, c, c}) mod M 
ELSE: 
ENCRYPTED_IMG_{Br, c, c} ← (GRAY_COMPONENT_{Br, c, c} + ENCRYPTED_IMG_{Br, c1, j1} + 2^32*A_{Br, c, c}) mod M 
END IF 
END FOR 
END FOR 
RETURN ENCRYPTED_IMG 
4.2.9 Frame selection
A random order sequence within the range N, number of frames, is generated and is called frame selection (FS) sequence. The encrypted frames are joined to form an encrypted video in mp4 format according to this FS sequence. Functions 8 and 9 show the pseudocode for generating FS sequence and joining the frames to form a video, respectively.
Function 8: Generate Frame Selection sequence 
Input: No. of frames (N) 
Output: 1D FS sequence(1xN) 
Pseudocode: 
FOR f ← (0, N) DO: 
r ← RANDOM_INT (1, N) 
IF r not in FS THEN: 
FS [] ← Append r 
ELSE: 
WHILE r is less than N DO: 
INCR(r) 
IF r more than N THEN: r ← 1 END IF 
IF r not in FS THEN: 
FS [] ← Append r 
BREAK 
END IF 
END WHILE 
END IF 
RETURN FS 
Function 9: Join Frames to get the video 
Input: No. of frames(N), FPS 
Output: VIDEO_MP4_FPS 
Pseudocode 
FS ← FS_SEQUENCE(N) 
frame ← Read First frame 
h, w ← SHAPE (frame) 
OUTPUT_FORMAT ← SET the output video format 
size ← (w, h) 
SET VIDEO_WRITER using FPS, OUTPUT_FORMAT, size, OUTPUT_PATH 
FOR f ← (0, N) DO: 
IMAGE_PATH ← SET frame path 
Img ← Read (IMAGE_PATH) 
Write Img using VIDEO_WRITER 
END FOR 
4.3 Decryption
Input for the decryption process is the encrypted video file in mp4 format, and the output is decrypted video file in mp4 format, which is similar to the original input video. To test the quality of decryption, MSE and PSNR tests are performed, the results of which are analyzed in the next section.
4.3.1 Frame generation
Encrypted video is in mp4 format and to decrypt the video, it is partitioned into N frames, where N is derived from equation (16). The procedure to partition the video is similar to that given in the encryption process and is shown in Function 1. The frames are saved in the memory in.png format.
4.3.2 Rearrange frames
The next step is to rearrange the frames in their actual order using the same FS sequence. The process is simply renaming the frames in order of their occurrence according to the FS sequence. After this process, frames are in their actual order and are ready to be decrypted.
4.3.3 Extracting gray components
The .png format 2D image file is initially converted to its corresponding 2D RGB image matrix. This step is performed to get the 2D pixel image for further processing. The pseudocode for the same is shown in Function 2. The frames are encrypted in three dimensions (R, G, and B) individually using a separate ILM sequence for every gray component, and hence, to decrypt the frame, all three gray components are extracted from the 2D RGB image matrix according to Function 5.
4.3.4 Reversal of diffusion
Reversal of diffusion or antisubstitution is to replace the pixels by substituting them with the original values using the same substitution sequence used during encryption. Function 10 shows the pseudocode for antisubstitution using random order substitution.
Function 10: Substitute pixels back to their original pixel value 
Input: ENCRYPTED_IMG (m x n), SUB_CSEQ, SIZE 
Output: ASUB_IMG (m × n) 
Pseudocode: 
GENERATE matrix A and B ← SIZE 
A ← ROTATE (Clockwise, 90°, SUB_CSEQ) 
InA ← GET_INDEX_SEQ(A)//sort enumerated A matrix and return A [0] 
B ← ROTATE (Clockwise, 90°, In A) 
M ← 256 
FOR r ← (0, row) DO: 
FOR c ← (0, col) DO: 
ASUB_IMG_{Br, c, c} ← (M + ENCRYPTED_IMG_{Br, c, c} − ENCRYPTED_IMG_{Br, c1, c1} − 2^32*A _{Br, c, c}) mod M 
END FOR 
END FOR 
c ← 0 
FOR r ← (1, col) DO: 
ASUB_IMG_{Br, c, c} ← (M + ENCRYPTED_IMG_{Br, c, c} − ENCRYPTED_IMG_{Br−1, col−1, col−1} − 2^32*A_{Br, c, c}) mod M 
END FOR 
i ← 0 
ASUB_IMG_{Br, c, c} ← (M + ENCRYPTED_IMG_{Br, c, c} − ASUB_IMG_{Brow−1, col−1, col−1} − 2^32*A_{Br, c, c}) mod M 
RETURN ASUB_IMG 
4.3.5 Image rotation
During decryption, the frame is rotated 270° counterclockwise. The rot90 function of numpy library in python is used three times for this purpose.
4.3.6 Descrambling
The inverse of permutation called descrambling is performed as the final step of decryption to get the original frame. Function 11 shows the pseudocode for descrambling the image. After substitution, all the three decrypted gray components are stacked together to obtain the decrypted 2D RGB image matrix, which is also the final decrypted frame. This decryption process is repeated N times for each frame, and all the decrypted frames are joined together to generate mp4 decrypted video as shown in Function 9.
Function 11: Correlate the pixel back to their original position 
Input: SCRAMBLED_IMG (n × m), ILM_CSEQ, BLOCK_SIZE(b) 
Output: ORIG_GRAY_IMG (n × m) 
Pseudocode: 
CALCULATE Size of the matrix to be descrambled B ← b*b 
P ← ILM_CSEQ (0: B) 
Q ← ILM_CSEQ (B:2B) 
R ← ILM_CSEQ (2B:3B) 
S ← ILM_CSEQ (3B:4B) 
In P ← GET_INDEX_SEQ(P)//sort enumerated P matrix and return P [0] 
In Q ← GET_INDEX_SEQ(Q) 
In R ← GET_INDEX_SEQ(R) 
In S ← GET_INDEX_SEQ(S) 
col, row ← SHAPE of GRAY_COMPONENT 
ORIG_GRAY_IMG ← COPY SCRAMBLED_IMG 
FOR y ← (1, B + 1) DO: 
FOR x ← (1, B + 1) DO: 
c ← (x + In Q_{y−1} − 1) mod (B + 1) 
d ← (x + In S_{y−1} − 1) mod (B + 1) 
L_{x, y} ← In P_{c−1} 
M_{x, y} ← In R_{d−1} 
END FOR 
END FOR 
FOR x ← (1, B + 1) DO: 
FOR y ← (1, B + 1) DO: 
i ← L_{x, y} 
j ← M_{i, y} 
c1 ← (i − 1)/b 
d1 ← (i − 1) mod b 
c2 ← (j − 1)/b + 1 
d2 ← (j − 1) mod b + 1 
r ← c1*b + c2 
c ← d1*b + d2 
ORIG_GRAY_IMG_{,y } ← SCRAMBLED_IMG_{ r, c } 
RETURN ORIG_GRAY_IMG 
5 Results and analysis
To compare the encryption efficiency of the proposed method with existing methods, some parameters were used. They are described as follows.
5.1 Differential attacks
Differential attacks [39] are the most common kind of attacks performed on block ciphers. Two parameters, NPCR and UACI, where the former is described as the number of pixel change rate and the latter is defined as unified averaged change in intensity, were used to evaluate the performance of encryption algorithms against these attacks. UACI is calculated using equation (17).
where E(x, y) is the pixel value present in the xth row and the yth column of E. E _{1} and E _{2} denote the encrypted images. According to various experiments done, the ideal value of UACI is 33.
NPCR is the rate of change in the number of pixels in an encrypted image when one pixel is modified in the original image. It focuses on the absolute number of pixels, which change after an attack. It is calculated using the following formula:
where
The ideal value of NPCR is 99. The values obtained for UACI and NPCR by the proposed work are presented in Table 3.
Video (mp4)  Component  UACI  NPCR  CC_{h}  CC_{v}  CC_{d}  Entropy 

Flamingo  Red  33.76992  99.60848  −0.001483  +0.004846  +0.000177  7.99719 
Green  35.34373  99.62372  −0.012479  +0.025968  −0.005657  7.99731  
Blue  32.72501  99.61854  +0.006315  −0.003929  −0.001170  7.99732  
Rhino  Red  33.23251  99.61549  +0.009020  −0.014905  +0.000101  7.99757 
Green  33.69045  99.60130  +0.013223  +0.004301  −0.005752  7.99762  
Blue  32.77237  99.61276  +0.006237  −0.007078  −0.001706  7.99746  
Train  Red  33.79639  99.61573  −0.014568  +0.003141  +0.000397  7.99726 
Green  32.90723  99.62328  +0.016226  +0.020616  −0.000320  7.99727  
Blue  37.66040  99.60256  −0.001335  −0.006978  −0.000918  7.99723  
Viptrain  Red  32.23780  99.60798  −0.003143  +0.005592  −0.006909  7.99791 
Green  31.98262  99.61377  −0.001178  −0.003753  +0.002703  7.99774  
Blue  32.38443  99.61990  −0.007492  +0.015163  +0.010275  7.99788 
5.2 Correlation coefficient (CC) analysis
CC denotes the association between two adjacent pixels in an image. Its value lies within the range [−1, 1], where 0 is considered the ideal value. The value 0 means that there is no correlation, and the value 1 indicates a high correlation among the pixels. CC is calculated by choosing 1,000 pairs of pixels from the image and forming duplets from them. It is estimated for pixel pairs horizontally (CC_{h}), vertically (CC_{v}), and diagonally (CC_{d}) and can be calculated using the following formulae:
Here, c _{ i,j } denotes the CC, M denotes the pixel pairs selected randomly, and i and j denote two adjacent pixels. A(x) and B(x) denote the variance and expectation of x, respectively. Table 3 presents the results of CC for the proposed approach.
5.3 Entropy analysis
Entropy is the degree of randomness of an image. An encrypted image with entropy value 8 is said to have the maximum degree of randomness and hence is resistant to differential attacks. Entropy is calculated using equation (24).
where E denotes entropy and G = 2^{ k } and k = 8 for gray scale image. G denotes the number of states of the frame analyzed. Table 3 presents the entropy analysis for the proposed approach.
5.4 Histogram analysis
This analysis depicts the level of encryption and can be used to determine the strength of the used algorithm against attacks. A uniform pattern in the histogram implies a good encryption scheme, which is difficult to crack. Table 4 presents the histogram analysis of unencrypted and encrypted frames.
Video (mp4)  Original frame  Encrypted frame  Original frame Histogram  Encrypted frame Histogram 

Flamingo  
Rhino  
Train  
Viptrain  
5.5 MSE and PSNR analysis
Mean square error (MSE) is the average of the difference of squares of intensity between the encrypted and plain images. It can be calculated using equation (25) [41,42].
Peak signaltonoise ratio (PSNR) is the measure of change of quality between actual and encrypted images. In the case of image data, the original image acts as the signal, and error is the noise generated because of encryption. A high value of PSNR means that the decrypted image is of good quality. It can be calculated using equation (26) by using the MSE value [43,44].
where E is the image with noise, O is the original image with dimensions m * n, and MAX_{I} is the pixel with maximum value in the image. The value of MAX_{I} is 255 for 8bit representation of pixels. Table 5 presents the MSE and PSNR test values for the proposed approach.
Video (mp4)  Component  PSNR  MSE 

Flamingo  Full frame  36.6755606209867  15.148983651620369933 
Red  35.94202076570667  17.697918639520202067  
Green  37.237718687633  13.016120186237373633  
Blue  36.902444685967  14.732912129103535067  
Rhino  Full frame  31.5629403311267  49.8130211226851868 
Red  31.4234534274933  51.312109375  
Green  31.39083511636  50.851566840278  
Blue  31.7684474798  47.27538715279  
Train  Full frame  34.6309128541933  23.8425902909301348 
Red  34.6470446036933  24.447270557133839067  
Green  33.7075822148267  32.875726010101009533  
Blue  37.2621035020533  14.204774305555555067  
Viptrain  Full frame  32.0135713627867  40.992180298353909067 
Red  31.1408029721133  50.619496913580246133  
Green  32.328658491467  38.004512345679013  
Blue  32.806820655233  34.352531635802468933 
5.6 Time analysis
An encryption algorithm is considered to be good if it takes less amount of time to process data without compromising the level of security. The major factor that determines the time complexity of the proposed approach is the size of the frames. Images with bigger dimensions take more time for encryption and decryption when compared to smaller images. The analysis for different values of frame size is presented in Table 6.
Video (mp4)  Frame size (Pixels)  Time per frame (in seconds)  

Encryption  Decryption  
Flamingo  8 × 8  0.00450  0.00001 
128 × 128  1.19019  1.00000  
352 × 192  3.76710  6.00000  
Rhino  8 × 8  0.00580  0.00001 
128 × 128  1.24229  1.06667  
320 × 240  4.02550  5.30000  
Train  8 × 8  0.00420  0.00001 
128 × 128  1.16879  1.00000  
352 × 192  4.49179  5.00000  
Viptrain  8 × 8  0.01139  0.00001 
128 × 128  1.20070  1.46667  
360 × 240  5.49750  5.20000 
Table 7 shows the comparison between actual and decrypted frames. Table 8 shows a detailed comparison between the proposed approach and other video encryption models, which already exist. It can be observed that the UACI and NPCR values obtained by the proposed method are very close to the ideal values mentioned in Section 5.1. The ideal value of CC is 0. From Table 8, it is clear that the CC value of the proposed approach is closer to 0 when compared to other methods under inspection. Similarly, the maximum value of entropy is 8, and the entropy of the proposed method is better and much closer to 8 than other methods.
Video  Original frame  Decrypted frame 

Flamingo  
Rhino  
Train  
Viptrain  
Criteria  Valli and Ganesan [38]  Deshmukh and Kolhe [40]  Ranjith kumar et al. [20]  Proposed approach  

Video  Rhino.mp4  Foreman.mpeg [40]  Rhino.mp4  Rhino.mp4  
Frame size  —  —  —  128 × 128  
Red  Green  Blue  
NPCR  99.4518  —  99.51  99.61549  99.60130  99.61276 
UACI  33.63  —  33.54  33.23251  33.69045  32.77237 
CC h  0.0181  −0.0112  0.0324  0.009020  0.013223  0.006237 
CC v  0.0140  −0.0813  0.0261  −0.01490  0.004301  −0.00707 
CC d  0.0107  0.0009  0.0263  0.000101  −0.00575  −0.00170 
Entropy analysis  —  7.941  —  7.99757  7.99762  7.99746 
Histogram  Uniform  —  Uniform  Uniform  Uniform  Uniform 
MSE  —  —  —  51.312109  50.851566  47.275387 
PSNR  —  —  —  31.423453  31.3908351  31.768447 
Key space  Size * 2^{128}  128, 192, 256  2^{212}  SHA2  
Encryption time + key generation (s)  1.2147 (without key generation)  1.122 (without key generation)  2.85878  1.24229  
Decryption time (s)  —  2.540  1.85082  1.06667 
MSE and PSNR values play an important role to determine the quality of image encryption and decryption respectively. Hence, the values obtained after MSE and PSNR analysis are also populated in the table. Finally, the time taken for encryption and decryption is compared to get an idea of the faster algorithm among those under comparison.
6 Conclusion and future works
On analyzing the data presented in Section 5, it is evident that the proposed approach for video encryption and decryption is more secure and faster than all the existing methods. The keys produced by combining SHA2 with cosinebased ILM are more uniform, nonlinear, and better. As a result, the obtained values of various testing parameters are very close to the ideal values and indicate that the proposed approach is very favorable for secure video encryption.
In the real world, this method of encryption and decryption can be used to send and receive sensitive medical, military, or any other video data of high importance. Furthermore, this approach can also be integrated with social media to make the data sharing more reliable. In the future, efforts could be made to incorporate audio encryption in the process and achieve better results, within less time.

Conflict of interest: The submitted work does not have any conflict of interest.

Data availability statement: Data sharing is not applicable to this article as no datasets were generated or analysed during the current study.
References
[1] M. Agrawal and P. Mishra, “A comparative survey on symmetric key encryption techniques,” Int. J. Computer Sci. Eng., vol. 4, no. 5. p. 877, 2012.Search in Google Scholar
[2] A. Lindahl, M. Girish, and C. Duvivier, U.S. Patent Application No. 11/247,955, 2007.Search in Google Scholar
[3] S. Lian, Multimedia content encryption: techniques and applications, CRC press, 2008.10.1201/9781420065282Search in Google Scholar
[4] L. Qiao and K. Nahrstedt, “A new algorithm for MPEG video encryption,” Proc. of First International Conference on Imaging Science System and Technology, 1997, July, pp. 21–29.Search in Google Scholar
[5] C. Shi and B. Bhargava, “A fast MPEG video encryption algorithm,” Proceedings of the sixth ACM international conference on Multimedia, 1998, September, pp. 81–88.10.1145/290747.290758Search in Google Scholar
[6] C. Shi and B. Bhargava, “An efficient MPEG video encryption algorithm,” Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No. 98CB36281), IEEE, 1998, October, pp. 381–386.Search in Google Scholar
[7] B. Bhargava, C. Shi, and S. Y. Wang, “MPEG video encryption algorithms,” Multimed. Tools Appl., vol. 24, no. 1. pp. 57–79, 2004.10.1023/B:MTAP.0000033983.62130.00Search in Google Scholar
[8] S. S. Maniccam and N. G. Bourbakis, “Image and video encryption using SCAN patterns,” Pattern Recognit., vol. 37, no. 4. pp. 725–737, 2004.10.1016/j.patcog.2003.08.011Search in Google Scholar
[9] S. Li, G. Chen, and X. Zheng, “Chaosbased encryption for digital image and video,” Multimedia Encryption and Authentication Techniques and Applications, 2006, p. 129.10.1201/97814200134504Search in Google Scholar
[10] C. N. Raju, G. Umadevi, K. Srinathan, and C. V. Jawahar, “Fast and secure realtime video encryption,” 2008 Sixth Indian Conference on Computer Vision, Graphics & Image Processing, Bhubaneswar, India: IEEE, 2008, December, pp. 257–264.10.1109/ICVGIP.2008.100Search in Google Scholar
[11] S. Lian, “Efficient image or video encryption based on spatiotemporal chaos system,” Chaos, Solitons & Fractals, vol. 40, no. 5. pp. 2509–2519, 2009.10.1016/j.chaos.2007.10.054Search in Google Scholar
[12] P. Deshmukh and V. Kolhe, “Modified AES based algorithm for MPEG video encryption,” International Conference on Information Communication and Embedded Systems (ICICES2014), Chennai, India: IEEE, 2014, February, pp. 1–5.10.1109/ICICES.2014.7033928Search in Google Scholar
[13] M. Altaf, A. Ahmad, F. A. Khan, Z. Uddin, and X. Yang, “Computationally efficient selective video encryption with chaos based block cipher,” Multimed. Tools Appl., vol. 77, no. 21. pp. 27981–27995, 2018.10.1007/s1104201860225Search in Google Scholar
[14] F. Chiaraluce, L. Ciccarelli, E. Gambi, P. Pierleoni, and M. Reginelli, “A new chaotic algorithm for video encryption,” IEEE Trans. Consum. Electron., vol. 48, no. 4. pp. 838–844, 2002.10.1109/TCE.2003.1196410Search in Google Scholar
[15] Y. Li, L. Liang, Z. Su, and J. Jiang, “A new video encryption algorithm for H. 264,” In 2005 5th International Conference on Information Communications & Signal Processing, Bangkok: IEEE, 2005 December, pp. 1121–1124.Search in Google Scholar
[16] C. N. Raju, G. Umadevi, K. Srinathan, and C. V. Jawahar, “Fast and Secure RealTime Video Encryption,” 2008 Sixth Indian Conference on Computer Vision, Graphics & Image Processing, Bhubaneswar: IEEE, 2008, pp. 257–264.10.1109/ICVGIP.2008.100Search in Google Scholar
[17] D. M. Dumbere and N. J. Janwe, “Video encryption using AES algorithm,” Second International Conference on Current Trends In Engineering and Technology  ICCTET 2014, Coimbatore: IEEE, 2014, pp. 332–337.10.1109/ICCTET.2014.6966311Search in Google Scholar
[18] M. Preishuber, T. Hütter, S. Katzenbeisser, and A. Uhl, “Depreciating motivation and empirical security analysis of chaosbased image and video encryption,” IEEE Trans. Inf. Forensics Security, vol. 13, no. 9. pp. 2137–2150, 2018.10.1109/TIFS.2018.2812080Search in Google Scholar
[19] W. Wen, R. Tu and K. Wei, “Video frames encryption based on DNA sequences and chaos,” Eleventh International Conference on Digital Image Processing (ICDIP 2019), vol. 11179, International Society for Optics and Photonics, 2019, August, p. 111792T.10.1117/12.2540057Search in Google Scholar
[20] R. Ranjith kumar, D. Ganeshkumar, A. Suresh, and K. Manigandan, “A new one Round video encryption scheme based on 1D chaotic maps,” 2019 5th International Conference on Advanced Computing & Communication Systems (ICACCS), Coimbatore, India: IEEE, 2019, pp. 439–444.10.1109/ICACCS.2019.8728443Search in Google Scholar
[21] G. Ye and X. Huang, “An efficient symmetric image encryption algorithm based on an intertwining logistic map,” Neurocomputing, vol. 251, pp. 45–53, 2017.10.1016/j.neucom.2017.04.016Search in Google Scholar
[22] Z. Hua, F. Jin, B. Xu, and H. Huang, “2D LogisticSinecoupling map for image encryption,” Signal. Process., vol. 149, pp. 148–161, 2018.10.1016/j.sigpro.2018.03.010Search in Google Scholar
[23] Z. Hua, Y. Zhou, and H. Huang, “Cosinetransformbased chaotic system for image encryption,” Inf. Sci., vol. 480, pp. 403–419, 2019.10.1016/j.ins.2018.12.048Search in Google Scholar
[24] M. R. Guevara and L. Glass, “Phase locking, period doubling bifurcations and chaos in a mathematical model of a periodically driven oscillator: A theory for the entrainment of biological oscillators and the generation of cardiac dysrhythmias,” J. Math. Biol., vol. 14, no. 1. pp. 1–23, 1982.10.1007/BF02154750Search in Google Scholar PubMed
[25] X. Lu, D. ClementsCroome, and M. Viljanen, “Integration of chaos theory and mathematical models in building simulation: part I: Literature review,” Autom. Constr., vol. 19, no. 4. pp. 447–451, 2010.10.1016/j.autcon.2010.01.002Search in Google Scholar
[26] K. Mischaikow and M. Mrozek, “Chaos in the Lorenz equations: a computerassisted proof,” Bull. Am. Math. Soc., vol. 32, no. 1. pp. 66–72, 1995.10.1090/S027309791995005586Search in Google Scholar
[27] J. Fridrich, “Image encryption based on chaotic maps,” 1997 IEEE International Conference on Systems, Man, and Cybernetics. Computational Cybernetics and Simulation, vol. 2, Orlando, FL, USA: IEEE, 1997, October, pp. 1105–1110.10.1109/ICSMC.1997.638097Search in Google Scholar
[28] S. C. Phatak and S. S. Rao, “Logistic map: A possible randomnumber generator,” Phys. Rev. E, vol. 51, no. 4. p. 3670, 1995.10.1103/PhysRevE.51.3670Search in Google Scholar PubMed
[29] J. Fridrich, “Symmetric ciphers based on twodimensional chaotic maps,” Int. J. Bifurc. chaos, vol. 8, no. 6. pp. 1259–1284, 1998.10.1142/S021812749800098XSearch in Google Scholar
[30] P. N. Khade and M. Narnaware, “3D chaotic functions for image encryption,” Int. J. Computer Sci. Issues (IJCSI), vol. 9, no. 3. p. 323, 2012.Search in Google Scholar
[31] M. Kumar, S. Kumar, R. Budhiraja, M. K. Das, and S. Singh, “Intertwining logistic map and Cellular Automata based color image encryption model,” 2016 International Conference on Computational Techniques in Information and Communication Technologies (ICCTICT), New Delhi, India: IEEE, 2016, March, pp. 618–623.10.1109/ICCTICT.2016.7514653Search in Google Scholar
[32] R. M. Lin and T. Y. Ng, “Secure image encryption based on an ideal new nonlinear discrete dynamical system,” Math. Probl. Eng., p. 2018, 2018.10.1155/2018/6797386Search in Google Scholar
[33] X. Wang and D. Xu, “Image encryption using genetic operators and intertwining logistic map,” Nonlinear Dyn., vol. 78, no. 4. pp. 2975–2984, 2014.10.1007/s110710141639zSearch in Google Scholar
[34] B. K. Nancharla and M. Dua, “An image encryption using intertwining logistic map and enhanced logistic map,” 2020 5th International Conference on Communication and Electronics Systems (ICCES), Coimbatore, India: IEEE, 2020, June, pp. 1309–1314.10.1109/ICCES48766.2020.9138102Search in Google Scholar
[35] M. Dua, A. Suthar, A. Garg, and V. Garg, “An ILMcosine transformbased improved approach to image encryption,” Complex. & Intell. Syst., pp. 1–17, 2020.10.1007/s4074702000201zSearch in Google Scholar
[36] H. Gilbert and H. Handschuh, “Security analysis of SHA256 and sisters,” International Workshop on Selected Areas in Cryptography, Berlin, Heidelberg, Springer, 2003, August, pp. 175–193.10.1007/9783540246541_13Search in Google Scholar
[37] S. Gueron, S. Johnson, and J. Walker, “SHA512/256,” 2011 Eighth International Conference on Information Technology: New Generations, Las Vegas, NV, USA: IEEE, 2011, April, pp. 354–358.10.1109/ITNG.2011.69Search in Google Scholar
[38] D. Valli and K. Ganesan, “Chaos based video encryption using maps and Ikeda time delay system,” Europian Phys. J. plus, vol. 132, p. 542, 2017, 10.1140/epjp/i2017118197 Search in Google Scholar
[39] Y. Wu, J. P. Noonan, and S. Agaian, “NPCR and UACI randomness tests for image encryption,” Cyber J.: Multidiscip. journals Sci. Technol. J. Sel. Areas Telecommun. (JSAT), vol. 1, no. 2. pp. 31–38, 2011.Search in Google Scholar
[40] P. Deshmukh and V. Kolhe, “Modified AES based algorithm for MPEG video encryption,” International Conference on Information Communication and Embedded Systems (ICICES2014), Chennai: IEEE, 2014, pp. 1–5. 10.1109/ICICES.2014.7033928.Search in Google Scholar
[41] M. Dua, A. Wesanekar, V. Gupta, M. Bhola, and S. Dua, “Differential evolution optimization of intertwining logistic mapDNA based image encryption technique,” J. Ambient. Intell. Humanized Comput., vol. 11, no. 9, pp. 1–16, 2019.10.1007/s1265201901580zSearch in Google Scholar
[42] A. Bisht, M. Dua, and S. Dua, “A novel approach to encrypt multiple images using multiple chaotic maps and chaotic discrete fractional random transform,” J. Ambient. Intell. Humanized Comput., vol. 10, no. 9. pp. 3519–3531, 2019.10.1007/s1265201810720Search in Google Scholar
[43] M. Dua, A. Wesanekar, V. Gupta, M. Bhola, and S. Dua, “Color image Encryption using synchronous CMLDNA and weighted biobjective genetic algorithm,” Proceedings of the 3rd International Conference on Big Data and Internet of Things, 2019, August, pp. 121–125.10.1145/3361758.3361780Search in Google Scholar
[44] A. Bisht, M. Dua, S. Dua, and P. Jaroli, “A color image encryption technique based on bitlevel permutation and alternate logistic maps,” J. Intell. Syst., vol. 29, no. 1. pp. 1246–1260, 2019.10.1515/jisys20180365Search in Google Scholar
© 2022 Mohit Dua et al., published by De Gruyter
This work is licensed under the Creative Commons Attribution 4.0 International License.