Secured Data Hiding System using Video Steganography

advertisement
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
Download