Secured Data Hiding System using Video Steganography Zun Moe Oo1, Su Wai Phyo2 Department of Information Technology Abstract—Computer technology and the Internet have made a breakthrough in the existence of data communication. This has opened a whole new way of implementing steganography to ensure secure data transfer. Steganography is the fine art of hiding the information. Hiding the message in the carrier file enables the deniability of the existence of any message at all. The proposed system designs a stego machine to develop a steganographic application to hide data containing text in a computer video file and to retrieve the hidden information. This can be designed by embedding text file in a video file in such a way that the video does not lose its functionality using Least Significant Bit (LSB) modification method. This method applies imperceptible modifications. This work proposes data security system using LSB based steganography and digital envelope. To create the digital envelope, RC4 and RSA algorithm are effectively combined in the proposed system. The system is implemented by C# programming language. Keywords- - Cryptography, Steganography, Least Significant Bit (LSB), RC4 stream cipher, Rivest-Sharmir-Adleman (RSA) Algorithm I. INTRODUCTION igital communication has become an essential part of infrastructure nowadays, a lot of applications are Internet-based and in some cases it is desired that communication be made secret. Consequently, the security of information has become a fundamental issue, many of the techniques are available to achieve this goal some of them are the Encryption and the steganography techniques. Using cryptography, the information is transformed into some other gibberish form and then the encrypted information is transmitted. Steganography is a process that involves hiding a message in an appropriate carrier for example an image or an audio file. The carrier can then be sent to a receiver without anyone else knowing that it contains a hidden message [1]. Steganography is mostly used on computers with digital data being the carriers and networks being the high speed delivery channels. Modern steganography is generally understood to deal with electronic media rather than physical objects and texts. This makes sense for a number of reasons. First of all, because the size of the information is generally (necessarily) quite small compared to the size of the data in which it must be hidden (the cover file), electronic media are much easier to manipulate in order to hide data and extract messages. Secondly, extraction itself can be automated when the data is electronic, since computers can efficiently manipulate the data and execute the algorithms necessary to retrieve the messages. Electronic data also often includes redundant, unnecessary, and unnoticed data spaces which can be manipulated in order to hide messages [1]. D II.FRAMEWORK OF STEGANOGRAPHY MODEL In general, the basic framework of the steganography model consists of two main processes, namely the embedding process and the extracting process. The main function of the embedding process is to hide the secret message, called embedded message, in a given cover, called cover-file. In hidden communication techniques, the cover file is no more than an innocent (unrelated to the embedded message) piece of information that is used to hide the secret information. A secret key, called stego-key is used in the embedding process such that it makes the embedded message computationally infeasible to extract without possessing this key. The output of the embedding process is called stego-file, which is the original file holding the hidden secret message. This output becomes, at the other end, the input of the extracting process, in which the embedded message is extracted from the stego file to complete the hidden communication process. Since the stego-key is used in the embedding process, it needs to be used in the extracting process [3]. III. VIDEO STEGANOGRAPHY AND SECURITY Data Hiding is the process of secretly embedding information inside a data source without changing its perceptual quality. Data Hiding is the art and science of writing hidden messages in such a way that no one apart from the sender and intended recipient even realizes there is a hidden message. Generally, in Data Hiding, the actual information is not maintained in its original format and thereby it is converted into an alternative equivalent multimedia file like image, video or audio which in turn is being hidden within another object. This apparent message is sent through the network to the recipient, where the actual message is separated from it. The requirements of any data hiding system can be categorized into security, capacity and robustness. All these factors are inversely proportional to each other creating the so called data hiding dilemma. The focus of this paper aims at maximizing the first two factors of data hiding i.e. security and capacity. The proposed scheme is a data-hiding method that uses high resolution digital video as a cover signal. The proposed recipient need only process the required steps in order to reveal the message; otherwise the existence of the hidden information is virtually undetectable. The proposed scheme provides the ability to hide a significant quality of information making it different from typical data hiding mechanisms because this paper is focused on text-in-video. The purpose of hiding such information depends on the application and the needs of the owner/user of the digital media. Data hiding requirements include the following: a. Imperceptibility- The video with data and original data source should be perceptually identical. b. Robustness- The embedded data should survive any processing operation the host signal goes through and preserve its fidelity. c. Capacity-Maximize data embedding payload. d. Security- Security is in the key. Data Hiding is the different concept than cryptography, but uses some of its basic principles [4]. In this system, RC4 encryption algorithm, RSA public key algorithm and LSB insertion techniques are used. values in the array are equal to their index. Once the S array is initialized, the next step consists in shuffling the array using the key to make it a permutation array [2]. To do so, one simply iterate 256 times the following actions after initializing i and j to 0: compute j = j + S[i] + key[i mod key length] swap S[i] and S[j] increment i IV. SYMMETRIC KEY CRYPTOGRAPHY With symmetric key cryptography, a single key is used for both encryption and decryption. As shown in Figure 1. Secret key cryptography schemes are generally categorized as being either stream ciphers or block ciphers. Stream ciphers operate on a single bit (byte or computer word) at a time and block cipher encrypts one block of data at a time using the same key on each block. Figure 1. Symmetirc key crypto system The sender uses the key to encrypt the plaintext and sends the cipher text to the receiver. The receiver applies the same key to decrypt the message and recover the plaintext. Because a single key is used for both functions, secret key cryptography is also called symmetric encryption. This system will use RC4 stream cipher algorithm and RSA public key algorithm. A. RC4 Algorithm RC4 like as a streaming cipher encrypts plaintext one byte at a time, but also can be designed to encrypt one bit a time or even units larger than a byte at a time. In this structure a key is input to a pseudorandom bit generator that produces a stream of 8-bit numbers that are supposed to be truly random, the pseudorandom stream can’t be predicted without knowledge of the input key. The output of the generator is called a key stream .It is combined one byte a time with the plain text stream using the bitwise exclusiveOR (XOR) operation [6]. RC4 is the most widely deployed commercial stream cipher, having applications in network protocols such as SSL, WEP, WPA and in Microsoft Windows, Apple OCE, Secure SQL etc. It was designed in 1987 by Ron Rivest for RSA Data Security. The cipher consists of two major components, the Key Scheduling Algorithm (KSA) and the Pseudo-Random Generation Algorithm (PRGA) [7]. 1) Key Scheduling Algorithm (KSA): As explained before, the key-scheduling algorithm is used to generate the permutation array. The first step of this algorithm consist in initializing the S table with the identity permutation: the Once i has reached 256 (the 256 iterations were completed), the S array has been properly initialized. Now that the S array is generated, it is used in the next step of the RC4 algorithm to generate the keystream. 2) Stream Generation: This step of the algorithm consists in generating a keystream of the size of the message to encrypt. This algorithm enables us to generate a keystream of any size. To do so, first initialize the two indexes to 0 and we then start the generation of the keystream one byte at a time until we reached the size of the message to encrypt. For each new byte to compute, the following actions will do [2]: Compute new value of i and j: i := (i + 1) % 256 j := (j + S[i]) % 256 Swap S[i] and S[j] to have a dynamic state (it makes it obviously harder to crack than if the state was computed only once and use for the generation of the whole keystream) Retrieve the next byte of the keystream from the S array at the index S[i]+S[j]% 256 3) Encryption and Decryption of RC4: Once the keystream has been generated, the encryption of the plaintext is really simple: it simply consists of a XOR between the plaintext and the keystream. As for the decryption, it is as simple as the encryption, the ciphertext with the keystream. V.PUBLIC KEY CRYPTOGRAPHY Public-key cryptography is also known as asymmetric-key cryptography, to distinguish it from the symmetric-key cryptography. Encryption and decryption are carried out using two different keys. The two keys in such a key pair are referred to as the public key and the private key. VI.LEAST SIGNIFICANT BIT INSERTION METHOD Least Significant Bit (LSB) insertion is a common, simple approach to embedding information in a cover video. Video is converted into a number of frames, and then convert each frame into an image. After that, the Least Significant Bit of some or all of the bytes inside an image is changed to a bit of each of the Red, Green and Blue color components can be used, since they are each represented by a byte. In other words one can store 3 bit in each pixel. An 800*600 pixel image can store a total amount of 1,440,000 bits or 180,000 bytes of embedded data. For example a grid for 3 pixels of a 24 bit image can be as follows: (00101101 00011100 11011100) (10100110 11000100 00001100) (11010010 10101101 01100011) When the letter A, which binary representation is 01000001 and is embedded into the least significant bits of this part of the image, the resulting grid is as follows: Figure 2 . Public Key Cryptography A. RSA Public Key Algorithm Ron Rivest, Adi Shamir and Len Adleman developed the algorithm and gave the implementation details in the year 1978. Since then, Rivest-Shamir-Adleman (RSA) scheme it is considered as the only widely accepted and implemented general-purpose approach to public-key encryption [5]. RSA algorithm is a block cipher technique in which plain text and ciphertext are integers between ‘0’ and ‘n-1’ from some ‘n’. In RSA algorithm encryption and decryption are of following form, for some plain text M and cipher text C: C = Me mod n M = Cd mod n Both sender and receiver must know the value of ‘n’. The sender knows the value of ‘e’ and only receiver knows the value of‘d’. Thus, this is a public-key encryption algorithm with a public key of KU= {e, n} and private key of KR={d, n}. For the algorithm to be satisfactory for public-key encryption, the following requirement must be met 1. It is possible to find values of e, d, n such that M^ed = M mod n for all M<n. 2. It is relatively easy to calculate M^e and C^d for all values of M<n. 3. It is infeasible to determine d given e and n. The key generation process is as follows Select p and q (p and q are prime numbers) Calculate n = p x q Calculate ϕ (n) = (p-1) x (q-1) Select integer e gcd(ϕ (n),e)=1; 1<e< ϕ (n); e and ϕ (n) are relative prime Calculate d where d = e-1 mod ϕ (n) Public key KU = {e,n} Private key KR = {d,n} (00101100 00011101 11011100) (10100110 11000100 00001100) (11010010 10101101 01100011) Although the letter was embedded into the first 8 bytes of the grid, only the 2 highlighted bits need to be changed according to the embedded message. On average only half of the bit in an image will need to be modified to hide a secret message using the maximum cover size. This paper is designed to embed the text into the video signal and to convert the text data into the binary format. Binary conversions is done by taking the ASCII value of the character and converting those ASCII values into binary format and takes the binary representation of samples of cover signal and insert the binary representation of text into that cover signal. The LSB bits of video signals are substituted by the binary bits of data and this encoded signal is called stego signal is ready for transmission. For the steganography the important video format is Audio Video Interleave (AVI). The message to hide is converted into ASCII and then converted into its binary representation with each word consist of 8 bits. These bits are substituted in the Least Significant Bits of binary representation of each image ample [8]. VII. AUDIO VIDEO INTERLEAF (AVI) FORMAT AVI means Audio Video Interleave, is a multimedia container format introduced by Microsoft in November 1992 as part of its Video for Windows technology. AVI files can contain both audio and video data in a file container that allows synchronous audio-with-video playback. Like the DVD video format, AVI files support multiple streaming audio and video, although these features are seldom used. The AVI file type is primarily associated with 'Audio Video Interleave File'. Recent files might be compressed with one or another codecs (like DivX and XviD). It can also be seen with VLC Player, MPlayer and KMPlayer. VIII. PROPOSED SYSTEM DESIGN The proposed system design involves two parts sender side and receiver side. In the sender side (Figure 3), the sender firstly encrypts the message using RC4 stream cipher. And then the RC4 key is encrypted using RSA public key cryptosystem with receiver public key. Finally the encrypted message and RC4 key are embedded into the AVI video using LSB based video stegnography and then sent to the receiver. Figure 3. Encryption process of system design In the receiver side (Figure 4), firstly it is extracted the encrypted message and RC4 key from the AVI video file. And then the RC4 key is recovered by using RSA public key cryptosystem and receiver’s private key. After that the receiver decrypts the message with RC4 key to recover the original message. Figure 4. Decryption Process of System Design IX. TEST AND RESULT The following results are generated by implementing the proposed system. In this paper, the results are displayed a series of interface by choosing manuscript. Figure 5. Welcome Form Firstly, the user can see the welcome form as main interface and can continue RSA Key Generation form by choosing keys on the menu and keys are auto generated by pressing Generate button and can save the public and private keys using Save buttons as shown in figure 6. Figure 6. RSA Key Generation Form As figure, the user can choose sender side by clicking Sender on the menu and the encryption processes are appeared as in Figure 7. Figure 7. Message and Key Encryption with RC4 and RSA Algorithm The embedding processing is shown in Figure 8. Figure 8. Hiding Message into Cover AVI File X. CONCLUSION Many data from where such as military, hospital, bank and business need security while communicating between people and activities. Symmetric encryption algorithms can solve the problems of the information security with the security keys. Symmetric key algorithms are faster and easier to be implemented than the asymmetric key algorithms. This system proves which algorithm is appropriate for each data type. XI.REFERENCES [1] T. Morkel, J.H.P. Eloff and M.S. Olivier, “An Overview of Image Steganography”, in Proceedings of the Fifth Annual Information Security South Africa Conference (ISSA2005), Sandton, South Africa, June/July 2005. [2] Quentin Galvane, Baptiste Uzel, “Cryptography-RC4 Alogrithm”, February 18,2012. [3] A. H. Ouda and M. R. El-Sakka, “A Step Towards Practical Steganography Systems”, Computer Science Department, University of Western Ontario, London, Ontario, Canada, ICIAR 2005, LNCS 3656, pp. 1158 – 1166, 2005. [4] Arup Kumar Bhaumik, Minkyu Choi, Rosslin J.Robles and Maricel O.Ba Litanas, “Data Hiding in Video”,Vol.2, No.2, June 2009. [5] Bhaskar Bora, “Implementation of RSA Algorithm”, March 2,2003,Bangalore, India. [6] Alaa M.Riad, A., Elminir K.Hamdy, M.,Taha R.Ibrahim, “EVALUATION OF THE RC4 ALGORITHM AS A SOLUTION FOR CONVERGE NETWORKS”,Vol.60,No.3,2009,155-160. [7] Souuav Sen Gupta, S., Gowtam Paul, S., “(Non-) Random Sequences from (Non-) Random Permutations-Analysis of RC4 Stream Cipher”, FSE, SAC, 2011. [8] MrithaRamalingam, “Stegomachine – Video Steganography using Modified LSB Algorithm”, 2011 [9] http://www.winxdvd.com/resource/avi.htm. Authors First Author – Zun Moe Oo,zunmoechaw@gmail.com Second Author- Su Wai Phyo, suwaiphyo@gmail.com