Steganography in Color Animated Image Sequence for Secret Data Sharing Using Secure Hash Algorithm

Steganography is one of the leading strategy that is employed to hide restricted content into a cover media so that the person unaware of the fact can’t predict that the cover media can acquire some secret information. The effectiveness of any steganographic approach is appraised on imperceptibility of the stego-media, payload of the cover media, integrity of the secret information, security, and computational complexity. The work presented in this paper focuses on these important concerns of secured data transmission. The proposed steganographic approach uses multimedia files including animated image sequences as cover media for concealing secret messages. The entire secret information to be embedded is converted to a code using Secure Hash Algorithm-1 (SHA-1) (National Institute of Standards, and Technology (US). Technology Administration. Secure hash standard, 1993) and shared with the secret message to validate the authenticity of the transmitted secret information. The whole secret message is converted to its ASCII to embed them by replacing the least significant digit (LSD) (Liu et al. In Proceedings of the 2012 IEEE International Conference on Communications (ICC), IEEE, 2012). The receiver validates the transmitted information with SHA-1 again generating a code, which validates with the existing code sent over from the transmitting end. The proposed algorithm is worked upon a variety of text messages with a large set of color animated image sequences as cover media and also has been tested carefully by different parametric measures. This algorithm gives robust outputs in terms of visual imperceptibility, safety, and embedding capability.


Introduction
In this digital era, steganography is getting emphasised parallelly with cryptography. Steganography is one of the greatest encouraging approaches for sharing information through the digital platform securely. It is the technique to hide a secret message [2] into any type of cover media such as audio, video, image, animated image sequence [3] to secure sensitive information. After embedding a secret message in the cover media we get the stegomedia, provided the statistical data is preserved. While transmitting the stego-media it essentially assures some important characteristics of information security. These characteristics are (i) imperceptibility [4], which confirms the inability of prediction by the intruder (ii) confidentiality [5], which ensures the secrecy among the sender and intended receiver only (iii) integrity [6], which helps the receiver to get informed that the secret message has not altered (iv) authenticity [7] which ensures that the receiver has received the secret message from an authorised sender. These data hiding methods can be divided into two ways-non-reversible and reversible. The reversible technique [8] can recover the original media file into its original format after secret message extraction. But unfortunately, the hiding capacity of the reversible method is generally found to be low by the research fraternity. Non-reversible techniques are more accepted as they can be less apprehensive and can embed more data in the media. There are mainly three non-reversible core concepts that are popular in the literature: (i) Substitution method [9], (ii) Reference Matrix (RM) [10], (iii) Pixel value Differencing (PVD) method [11].
The work proposed here is a non-reversible steganographic approach and the core concept is the substitution method. This work aspires to hide a secret OTT (Over The Top) promo code in an animated image sequence and produce a stego animated image sequence to assign to a subscriber without sacrificing the visual degradation of the carrier media.
The salient contribution of the suggested method has furnished below: i. We have given more emphasis on embedding capacity and security in our proposed method. ii. We have taken animated image sequences also beside images as cover media. The reason of taking animated image sequences [12], e.g. GIF, is now-a-days are being used in many digital platforms like online trading, social media, etc. iii. We have used the SHA-1 algorithm [13] to ensure the originality of the secret information. The SHA-1 code is generated from the secret message and transmitted with the secret message. The receiver again will generate the SHA-1 code for the extracted received message and match it with the SHA-1 code shared from the sender. The originality of the information will be ensured if both the codes matched each other. iv. We have compared experimental results of our proposed method with five recent research papers on a variety of contexts like imperceptibility, payload capacity, security, and robustness from different attack. v. We have applied steganalysis method on our experimental results to confirm the performance of our method. The pixel differencing histogram (PDH) analysis [14] has been carried out in this paper.
Currently, the whole world is drowned in online services like online trading, online meeting, online education, all big and small business advertisement on social media, and many more. Most of the business houses now-a-days have started offering promo codes to enhance their business. These promo codes sharing being performed online. Instead of the intended customer, these promo codes can reach the intruder and he/she can get unauthorised access to those. Steganography is one the splendid technique which can stop this unauthorised access of promo codes by the intruder. The proposed steganographic method can perform a brilliant job by hiding these promo codes in the animated GIFs [15] of the advertisement of the company. Those promo codes can be extracted by the intended receiver only and used as an incentive scheme.
The proposed method employs the concept of LSD [2] replacement for data embedding. In LSD, the least significant digits are getting replaced with the last few digits of secret data. The proposed method is capable of hiding a good amount of secret data, as well as keeping imperceptibility intact. Different parametric measures, like peak signal to noise ratio (PSNR), structural similarity index (SSIM), capacity in bit per pixel (bpp), Quality Index (QI), image fidelity (IF), etc. [16] has been used to certify the superiority of the proposed method.
The organization of the rest of the paper is as follows: Sect. 2 does a detailed literature review. The proposed method has been described in Sect. 3 with algorithms for embedding and extraction. Simulation and experimental results with its analysis and discussion are given in Sect. 4, Conclusion with limitations and future scope is detailed in Sect. 5 and at last, references are given in Sect. 6.

Literature Survey
Researchers have described several data hiding schemes for transmitting secret information through various cover medium in the literature. In this section, we have discussed mainly the steganographic methods that have been devised in recent past and specifically considered image files as the cover media. Dipankar Pal [4] proposed a method to hide secret data using a digital audio signal as carrier. Jia Luo [5] proposed a method to hide data in images using ASCII code. Nuzhat Naqvi [8] proposed a new algorithm that presents a Multi-layer Partially Homomorphic Encryption Text Steganography. Swain [10] achieved higher performance by extending this idea to 2 × 2 pixel blocks on nine-pixel differencing and modified LSB substitution. Jingzhi Lin [12] proposed a method to hide data in animated image sequences using palate sort. Some of the popular methods in steganography are LSB and PVD. So there's available a huge number of applications using LSB and PVD like, multidirectional PVD and LSB substitution was proposed by Darabkh et al. [14], the Khodaei and Faez's [17] a combination of LSB substitution method and PVD based with addition and subtraction technique was proposed using 3 × 3 pixel blocks. Data are embedded in the centre most pixel by LSB substitution, and then the two nearby pixels on left and right are embedded using PVD. This technique suffers with fall off boundary problem (FOBP) and attacked by PDH analysis.
Fathi Elsaid [18] proposed a novel algorithm to hide three color images in one color cover image efficiently. Aditya Kumar [19] implemented an efficient method using pixel value differencing and modulus function (PVDMF) to hide secret data in stego media. Anita Christaline [20] proposed a method to detect stego-images without any prior information about the embedding method with good results. Yesilyurt and Yalman [21] proposed a new steganography to secure the collected data on cloud. Xiang et al. [22] suggested he usage of steganography for sharing important data from a mobile to cloud and vice versa. Reversible data hiding was used by Singh and Raman to secure the unauthorized usage of data stored in cloud. Wu et al. [23] also proposed use of steganography for 1 3 authentication and secret sharing. Steganography can be used for secured containment of points in wireless sensor networks.
Jiang et al. [24] came up with a concept of quantum image steganography where simple LSB substitution is employed. A new idea proposed in [25] where every pixel value of the cover media is divided with a constant value to get two separate sections namely quotient part and remainder part in which the, secret bits are going to conceal in parallel manner by using PVD and LSB substitution. This method can hide a large number of secret bits comparing to the other existing algorithms discussed above. To enhance the payload capacity and imperceptibility, Wu and Tsai's [31] proposed PVD technique has been stretched to seven-directional PVD methods using 3 × 3 pixel blocks. Tri-way pixel value differencing (TPVD) algorithm was developed by Chang et al. [34] where the secret data were embedded in three different directions in each 2 × 2 pixel block which results significantly higher payload compared to original PVD. Few modified variants of TPVD have also been expressed, which focused on upgrading the stego-image quality and the hiding capacity.
i. Technique [26][27][28] is also the easiest and efficient way of data hiding. In the LSB method, the secret message bits replace one or more LSBs of the input pixels. This method helps to embed a good amount of data in an image but this method is vulnerable to RS steganalysis [29]. ii. The PVD based method [30][31][32] embeds secret data by equally adding or replacing the pixel values of the cover pixel intensity values which enhances the image quality but it also affects the hiding capacity. iii. The RM-based technique [33,34] hides data by a reference matrix. The data on creating the RM should be correctly shared with the encryption and decryption ends, that require additional data.
In this paper, the main focus is on LSD substitution, as it is capable of hiding a good amount of data in a cover media and for encryption of the secret message, the message is converted in ASCII format, it will also help this method to embed enough data in the cover. And for security, there will be an SHA-1 code [1] embedded in the secret message as well.

Proposed Steganographic Method
The proposed method described here enhances both the payload capacity and security of secret information without compromising the imperceptibility of stego-media. This method is developed for color images as well as color animated image sequences. It uses ASCII (American Standard Code for Information Interchange) code replacement using LSD (Lowest Significant Digit) substitution. It embeds the secret message in every pixel of the cover media by creating 3 × 3 blocks, and then replacing the ASCII bits with it, not affecting the frames too much. And then use the SHA-1 code of that embedded secret message to verify it with the extracted one, for security check. Thus, the proposed method achieves both-high capacity data hiding and security. The overview of the steganography method is given in Fig. 1, it has two main process embedding of secret message and decoding of secret message to get the secret data at the receiver end. The proposed embedding method consist of three major steps-(i) Conversion of the secret message into ASCII code. (ii) Calculation of the SHA-1 code for that secret message and conversion of ASCII code for the same. (iii) Embedding of both ASCII codes in the cover media. The extraction method consists of four steps-(i) Extraction of secret messages from stego media. (ii) Extraction of SHA-1 code from stego media. (iii) Calculation of the SHA-1 code for the extracted secret message. (iv) Comparing extracted SHA-1 code and calculated SHA-1 code.

Secret Message Conversion to ASCII
In the proposed method, all characters are first converted to their ASCII value and then embedded into the cover frame's pixels. The type of secret message used in this paper is text strings, mostly OTT promo codes. Further, the ASCII value of every character has to be of two digits.
Every character of the secret message is to be converted to its equivalent ASCII value individually. If the ASCII value is more than 100, then subtract 100 from it, if it is 100 then, make it 30. Because all the characters available on the universal keyboard lies in between 32 and 122. This way all three-digit values are getting converted into two-digit values. The algorithm has been represented in Algorithm 1.

Calculating the SHA-1 Code of Secret Message
Secure Hash Algorithm 1 (SHA-1) [25] was developed in 1993, for encryption and security. This works for any input secret message is less than 264 bits. The output of SHA-1 secret message digest id of 160 bits in length. The procedure has been outlined in Algorithm 2 and illustrated in detail below.

Message Padding
To get the digest of the input message, first, the message is converted into an 8-bit binary string, so that the message can get transformed into a hexadecimal value. The idea of padding the message is to make the total length of the new padded message string a multiple of 512. SHA-1 sequentially processes blocks of 512 bits when calculating the message digest. As a summary, a 1 followed by m number of 0 s followed by a 64-bit integer in binary appended to the end of the message to get a padded message of length 512 × n. The 64-bit integer in binary, represents the length of the secret message. The new padded message is then processed using SHA-1 as n number of 512-bit blocks. The following specifies how this process shall be performed.
Step 1: Suppose the secret message "APP15" needs to be encrypted using SHA-1. So first get the binary sequence of that string.
Step 2: The secret message has to be padded, by appending a 1, followed by m number of 0 s until the secret message is of 448 bits. So if the length of message bits is l, then m = 448 − (l + 1). The remaining 64 bits out of 512 bits are reserved for now.
Example: So after appending a l, length of the message bits is l = 40 + 1 , and m = 448 − 41 , 407 number of 0 s have append after the secret message making it 448 bits long.
Step 3: Now for the last 64 bits, obtain the binary equivalent of the length of the secret message l. According to the example, l is 40 (before appending 1). So convert l to its equivalent 64-bit long binary sequence. The final 512 bits long padded message format is shown in figure Step 4: Now, the padded message has divided into n number of 16 hex word Sects. (16 hex words = 512 bits). Each section labelled as M 1 , M 2 , … , M n .

Circular Shift Operation
Here we are computing the message digest. S n (X) means circular shift operation (where n lies between 0 to 32): In Fig. 1, X << n , stands for left shift operation, obtained by replacing the leftmost n bits of X with the rightmost bit. Whereas X >> 32 -n represents right shift operation, achieved by replacing the rightmost n bits of X , with n bits on left. So it can be said, S n (X) is similar to a ring-shaped shift of X to n positions, and here circular left operation is used. Both the operations have shown in Fig. 2. 65808049 53800000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000028

SHA1 Code Generation
The message digest has estimated applying the message padded as explained earlier. The calculation is explained using two buffers, each containing five 32-bit words, and an array of eighty 32-bit words.  Table 1.
Now the padded hex values, M 1 , M 2 , … , M n are going to be processed. For every M i follow the after mentioned steps: Step 1: As each M i contains 16 words of hexadecimal values, assign every word to W 0 , W 1 , … , W 15 simultaneously. Where W 0 refers to the left most word.
Step 2: For t starting from 16 to 79 let, Calculate W t using Eq. 2.
Step 3: ProcessOfRound will change for every iteration as shown in Table 2.
(2)  A sequence of constant words K 0 , K 1 , … , K 79 is used in the SHA-1. The hex values of K t will be one of the four adaptive constants, given in Table 3.
Step 5: Now store the output of the chunk's hash code with the old hash value of all chunks, as mentioned below Eq. 5, and then execute the next chunk.
Step 6: As a final step, after processing of all the chunks, the secret message digest is represented as the 160-bit string comprised of the OR operation of 5 hashed values as shown in Eq. 6.
So this is how, finally the "APP15" becomes a hash value:

Embedding Procedure
Embedding is the step of concealing the secret text into the cover frames. The embedding process has been shown in Fig. 3. In this step, all frames of the cover media are partitioned into non-overlapping blocks consisting of 3 × 3 pixels as per convention where the centre pixel is P c and 8 neighbour pixels are P i ( i ranges from 1 to 8) pictured in Fig. 4. Every 3 × 3 block can store 4 characters of the secret message it means 8 characters of ASCII string. And no matter how big the secret message is SHA-1 code will be 40-character long. So it will take first 5, 3 × 3 blocks of every stego frame to embed the SHA-1 code. And starting from 6th block all the other blocks will be used to embed the secret message. The procedure has been outlined in Algorithm 3 and illustrated in detail in the following steps: Step 1: At first start from the 6th 3 × 3 block of 1st row of the frame, partitioning nonoverlapping blocks consisting 3 × 3 pixels as shown in Fig. 5. From that pixel block, at first identify P i , and P c . Then, the encoding procedure comes in.
Step 2: Now, from the ASCII string, take every character and replace it with the least significant digit (LSD) of every P i .
where i = 1, .., 8, and j is the ASCII Character. After computing p ′ i , check if Eq. 8 is valid or not Compute the value of P c using Eq. 9.
This step has portrayed in Fig. 6 with an example ASCII string "12345678" Step 3: After getting the new 3×3 pixel block, just replace the old block's values with the new values, at the same position they were extracted from (Figs. 7, 8).    Step 4: Check if the remaining length of the ASCII string is less than 8 or not, if it is then make that 8 by adding zeros at the end of it. If the length is 0 then, take the next 3 × 3 block and Change the P c 's LSD to 0. And leave P i , as it is. Else continue from step 1.
Step 5: After finishing the above steps, there can be two scenarios: (i) Picture Overloaded (This frame is not enough to embed this secret message). (ii) The whole secret message will be embedded in the frame.
Whatever the scenario is, take the exact part of the secret message that is embedded in the frame by the above steps, and get the SHA-1 code for that, using Algorithm 2. Then get the ASCII of that SHA-1 code and repeat steps 1 to 4 to embed ASCII-SHA-1 in the first 5 blocks of the 1st row of the frame, just like the secret message was embedded.
Step 6: If the frame is overloaded, then check if any other out of three frames are remaining or not to embed. If there is any frame, then start from step 1 again for this new frame and start to embed the remaining secret message.

Example of Embedding Process
At first, a promo code has taken as secret information. Then converted it into ASCII using the Algorithm 1. Here we have taken an example of embedding a promo code: Here ASCII of 'e' is 101, but as its greater than 100 so, after decreasing 100 it is 01. Like this ASCII of 'a' is 97, 't' is 16 …, '5' is 53. Then take a cover media as input, extract frames from the media, and then create non-overlapping blocks consisting 3 × 3 pixels starting from the 6 th block of 1 st row of the frame. Now start embedding the ASCII string into this block. ASCII String: 0197161545060114010921974953.
Here the characters of the ASCII string have to be embedded into the blocks. Like ′ 0 ′ has embedded in 240, ′ 1 ′ has in 230, …, ′ 7 ′ has in 251, but after that, it is getting greater than 255 so, ′ 7 ′ has added to 240, …, ′ 5 ′ in 239. In case of P c the LSD was 0, so 1 was deducted from it, after that it is 239.
Then after embedding let's replace this new block in the same place it was extracted from. After this continue the process until the ASCII string ends or the frame finishes. If the ASCII string ends before picture overloading, then create the last block the data was embedded. Then change the Pc's LSD to 0. This process has elaborated in Fig. 9.
At last, calculate the SHA-1 only for the secret message which was embedded only in that frame, and convert it to its ASCII format as well.

SHA-1 of the Promo Code:
ASCII of SHA-1: Embed that ASCII SHA-1 just like the secret message was embedded in the first 5 blocks of the frame, only start 1st row of the frame. After embedding save the new image frame. Now if any of that ASCII string is remaining then start over the same process for the next frame else embedding process is done.

Extraction Procedure
Extraction is the process of retrieving the secret message accurately from the stego media. The detailed extraction process has depicted in Fig. 10. Take stego frames as input here to extract the secret message from it. Now, from those frames extract the ASCII for the secret message string and SHA-1 code. Then convert the ASCII values to string to get the secret message and then compare that secret message's SHA-1 with the SHA-1 extracted from the frame. If they match it means the frame has not tampered. There are total 2 major steps for this extraction: (i) Extraction of ASCII code for secret message and SHA-1. (ii) Check the secret message is perfect or not and display it.

Extraction of ASCII Code
Step 1: From the first 5 blocks of the 1 st row of every frame, start creating non-overlapping blocks consisting 3 × 3 pixels. And then start adding up the LSD of every P i in that block.
Then check the LSD of P c , if it is 0 then stop creating more 3 × 3 blocks. Else go on and keep adding the string. This method has elaborated in Algorithm 4.
Step 2: When the LSD of P c becomes 0, then get that ASCII SHA-1 and convert it to a string. For that take every two digits simultaneously from that ASCII string and convert it to its corresponding character. If the digit is 30, then make it 100 then convert. If it is less than 32 then add 100 with it and then convert it as explained in Algorithm 5. After converting it, this will be the SHA-1 code for only that specific frame's secret message. ASCII:

64801569957545497994999575352985651305098.
Equivalent SHA-1 String: 57983099575251480299984854975799555102 564801569957545497994999575352985651305098 579830995752514802999848549757995551025 9bdc9430fcb06a9c73f 80e8c966ac1c954b83d2b. Fig. 9 Example of changing the LSD of P c to 0 Step 3: Just like Step 1, start from the 1 st block of the 1 st row of the frame and keep creating non-overlapping 3 × 3 pixel blocks, until any blocks P ′ i s LSD becomes 0, or the frame ends. After getting the final ASCII string to convert it to its equivalent string.

Correctness Investigation
This step is employed to validate the originality of extracted secret message. At first, get the SHA-1 code for the extracted secret message. And then compare the extracted SHA-1 and the new SHA-1. If both the SHA-1 matches then the secret message is perfect, else someone tampered with the cover media. So a warning message will be shown along with the message.
While extracting the secret message, if the last block P ′ c s LSD is 0, it means the ASCII string ends there. There is no need to scan any other frames. Then print the string that was extracted. Else apply the same process for the next frame, until the ASCII string ends. After getting the new string, just add it with the previous string. After executing the last frame, if the ASCII string not ends, then display the secret message as incomplete.
After executing all the input frames, and extracting the whole string, if all the 3 of the frames have not tampered, it means the secret message is perfect and then display it otherwise print that secret message with a warning.

Example of Extraction
This section explains the whole extraction procedure with examples. First, take encrypted frames as input. Then start executing all frames one by one. For every frame, from the 6th block of the 1st row to the end, the secret message is embedded there, and that secret message's SHA-1 code is embedded in the first 5 blocks of the 1st row of that frame. So start creating non-overlapping blocks, consisting of 3 × 3 pixels. Then add up the LSD's of P i .
Then check if the LSD of that block's P c , is 0 or not. If it's 0, then stop traversing. And convert that ASCII code to string using the above algorithm. Then start the same process from the 1st block of the 1st row of the frame to extract the secret message's ASCII. Then convert that ASCII secret message to string too. Now, to check the secret message is perfect of not get the SHA-1 for the extracted secret message. Currently, there is the extracted secret message, extracted SHA-1, and SHA-1 for an extracted secret message. As the extracted SHA-1 is the SHA-1 for an embedded secret message, so it has to be identical with the new SHA-1. So now compare those two, if both are the same then the secret message is identical with the embedded one. If not same it means the frame has tampered in the way.
Extracted SHA-1: New SHA-1: Both are the same; it means the frame and secret message are perfect. Now if the last block's P c 's LSD was 0, then don't traverse the remaining frames.
Else executing the remaining frames. After getting the secret message for the next frame, add that at the end of the previous secret message. Now as the last step, check all the results for the executed frames. If all are true, then the complete secret message is perfect (Fig. 11). 9bdc9430fcb06a9c73f 80e8c966ac1c954b83d2b. 9bdc9430fcb06a9c73f 80e8c966ac1c954b83d2b.

3 4 Experimental Results, Analysis and Discussions
The proposed method is implemented in Python 3.8. and experiment has been done on more than 260 animated image sequences [35]. All the original RGB color animated image sequences are used for experiment are collected from giphy.com. Figures 12 and 13 are a set of input and output animated image sequences. More than ten lakhs (1,000,000) bits of data are hidden in these output frames. The output animated image sequences are undetectable for a normal human eye.
To evaluate the efficiency of the proposed method, there are metrics like peak signal-tonoise ratio (PSNR), hiding capacity (HC) measured by bits per pixel (bpp), quality index

Statistical Analysis
HC [11] represents the maximum data that can be hidden in a frame. In the case of our method, it can be calculated using Eq. 11. [11] is the difference of distortion between the original image and the stegoframe. It can be computed using Eq. 12 where i&j represents the coordinates of pixels, m and n is row and column.

MSE
(11) HC = (No of pixels−45) 9 * 64 bits of data. PSNR [16] is a method to compute the distortion in a frame. It can be calculated using Eq. 13.
QI [11] is a method to find the equality between the original and stego frame. It can be measured using Eq. 14, where X is the average pixel value of the original frame; Y is for the stego frame.
IF [11] is usually used to show robustness for frames. IF can be calculated using Eq. 15.
HS [11] is a comparison of both frames visually, via a histogram. It can be calculated using Eq. 16.
where fI(c) is the relative frequency of level c in 256 level image.
SSIM [16] is a method for predicting the perceived quality of a frame. It is used for measuring the similarity between two frames. It can be calculated using Eq. 18.
With, x and y is cover and stego media. x is the average of x . y is the average of y . 2 x is the variance of x . 2 y is the variance of y . xy is the co-variance of x and y. C 1 = k 1 L 2 , C 2 = k 2 L 2 two variables to stabilize the division with weak denominator; L = 2 bits per pixel − 1 ; k 1 = 0.01 and k 2 = 0.03 by default. After applying the above formulas on the test animated image sequences, the values are listed in Table 4, all the values are computed after processing all the frames of every image sequence, and computing the average value.
For the comparison, in Table 5, the cover files were filled 30%, 50%, 70%, 100% respectively, and then they are compared based on their PSNR and payload capacity values. For this a specific amount of the secret bits are embedded in those animated image sequences frames according to their total pixel count. The values are computed after (13) PSNR = 10 log 10 processing all the frames of a GIF, and then getting the average value. In Fig. 14, there is a visual representation of the following details.
Certainly there are two ways to compare two research papers, (i) Based on their proposed algorithm, (ii) based on their experimental results. And so, as in animated image sequences steganography there are not too much of researches available, so here the available researches are being compared upon their available experimental results. The proposed method is compared with Sahu et al. Method [19]. Their algorithm proposed a new technique of pixel value differencing with modulus function (PVDMF) to increase the value of the PSNR ratio. This method is also compared with L Li's [7] Method and Kumar et al.'s [11] Method, L Li, used modulo-2 operation and Hamming code to hide secret data in stego media. And Kumar et al. proposed a PVD embedding approach in a non-sequential manner with high efficiency. Chin-Chen Chang [10] proposed a data hiding method using the AMBTC technique. In their experimental results, all of them showed their PSNR, SSIM, and bpp counts. All the experimental results are shown in Tables 6 and 7. In respect to that their average bpp count is 3.3, 2.9, 2.19, 1.3, where this method's average bpp is 3.54. On the other hand when this method is compared with R. K. Basak [3]'s method, it showed good results there.

Security Analysis
Pixel Differencing Histogram (PDH) is used for security analysis. It is a graphical representation of the difference between cover image and stego image pixels. The smoothness of the curve implies the less disintegrated the stego image. This can be achieved by taking the difference of neighboring pixels between cover and stego media. Each of the difference values should lie in the range of −255 to + 255 . These values are then plotted in a twodimensional plane, x axis refers to the difference between each pixel pair, and y axis refers to the occurrence of that value. That's how we will get a curve by plotting each pixel pair difference and occurrence of them, which will be PDH. In this paper, PDH have been analysed for all experiments and got a satisfactory result (Fig. 15).

Usage of the Proposed Method: For Secret Sharing of Promo Code in Several Usage
The efficiency and recentness of any algorithm can be proved in real-life applications. The proposed algorithm can be used in various fields, here we are focusing on sharing a promo  code using our method. Now-a-days mostly these promo codes are being shared open with an image. We are focusing to make this promo codes secure for intended receiver. To achieve this promo codes can be shared securely using our proposed method. The flow diagram of the process has explained in Fig. 16. At first, generate the promo code to be shared with the receiver. Then Choose convincing cover media to hide that promo code. Then use our method to embed the promo code in cover media. When the receiver receives the stego image, he will use the proposed technique to extract the promo code from the stego image, and if the embedded promo code not matched with the extracted promo, he will get a warning.

Conclusion
In this paper, we have put forwarded a very worthwhile procedure to hide a secret message in animated image sequences of any number of frames. This method ensures the correctness of the secret message, high payload capacity, and effective visual imperceptibility. It is based on the LSD (Least Significant Digit) substitution of ASCII codes and SHA-1 code for security check. This method embeds the ASCII codes in 3 × 3 pixel blocks of the image sequence frames. Every 3 × 3 pixel block is capable of storing 32 bits of the secret message. Embedding ASCII code for the secret message gives a big amount of storage capacity. While extraction to check if the extracted secret message is correct or not, there is SHA-1 code for the embedded secret message in the frame which is to be matched with the SHA-1 code generated at the receiver end from the extracted secret message. This notifies at the receiver end that the secret message has been tampered with or not. We have experimented on color images, and color animated image sequences e.g. GIFs and we have got a very satisfactory result from all aspects. We have compared our proposed method with recent journal papers and have got better results. We have got the payload of this method approximately 3.54 bpp, we also have got promising SSIM index and PSNR value. As now-a-days GIF has got immense popularity in social media and advertisement areas, our method will be very effective to use a GIF as a cover media and the promotional code can be concealed into it as a piece of secret information.
Few snapshots of code have been given below. Author Contribution All the authors of this manuscript contributed in this paper to design the algorithm, to experiment the use of the algorithm in a large scale of animated image sequences and to prepare the manuscript.

3
Funding The authors proclaim that they have not gained any funding from any institute.

Availability of Data and Material
All the input animated sequences are available at Standard Animated GIF Dataset. https:// giphy. com/ Code Availability All the codes were developed and implemented by the authors of this manuscript. This code is not available anywhere and we do not want to upload this code before the publication of this paper. But if the code is required for review purposes it can be made available exclusively for that purpose.