- Open Access
- Total Downloads : 352
- Authors : Smt K. Venkata Ramana, Smt. S. J. R. K. Padminivalli. V, Ms. V. Vijaya Lakshmi
- Paper ID : IJERTV4IS020757
- Volume & Issue : Volume 04, Issue 02 (February 2015)
- Published (First Online): 24-02-2015
- ISSN (Online) : 2278-0181
- Publisher Name : IJERT
- License: This work is licensed under a Creative Commons Attribution 4.0 International License
A Novel Technique for Secure Data Transmission using Distributed Steganography and Cryptographic Techniques
Smt. K. Venkata Ramana
Department of CSE, RVR&JC College of Engineering,
Guntur, India
Ms. V. Vijaya Lakshmi HCL Technologies Limited, India
Smt.S. J. R. K. Padminivalli. V
Department of CSE, RVR&JC College of Engineering,
Guntur, India
Abstract In this emerging world where individuals seem more valued and powerful, privacy might be under attack and security might be endangered. Security is essential while storing and transmission of information. Cryptography and steganography are two good techniques for data security. In this paper we are proposing a new technique for data security using distributed steganography and public key cryptography. In our proposed technique steganography is used to hide secure data in carrier video, Diffie – Hellman key exchange algorithm is used to produce the keys used for encryption and embedding process and AES is for encrypting the embedding data. The combination of steganography and public key cryptographic technique produces better results for securing the data.
Keywords Steganography, Distributed Steganography, Information Hiding, Public Key Cryptography, AES, Diffie and Hellman Key Exchange algorithm.
-
INTRODUCTION
Steganography is the art of concealing the secure messages in other messages [4, 5]. Steganography techniques uses different media like image files, audio files, video files and text files for secret communication [2, 3]. There are many parameters that affect steganography techniques. These parameters include hiding capacity, perceptual transparency (or security), robustness, complexity, survivability, and capability.
Distributed steganography is the process of distributing the secure message across multiple carrier signals or source messages[9]. For example a single text message would be broken into multiple blocks, each block hidden in a different image. The message blocked are permuted according to a key and stored in different carrier messages.
Cryptography is the method that allows information to be sent in a secure form in such a way that the only receiver will be able to retrieve this information [7, 8]. The main purpose of the cryptography is used not only to provide confidentiality, but also to provide solutions for other problem like: data integrity, authentication, non-repudiation. Cryptography is divided into two types depending on number of keys used. They are private key encryption techniques and public key encryption techniques. Private key encryption techniques use same key at sender and receiver side whereas public key
encryption techniques uses two different keys, one for encryption and other for decryption.
Diffie and Hellman is a public key cryptography technique[10]. The purpose of the algorithm is to enable two users to securely exchange a key that can then be used for subsequent encryption of messages. The algorithm itself is limited to the exchange of secret values. In this scheme, there are two publicly known numbers: a prime number q and an integer that is a primitive root of q. Suppose the users A and B wish to exchange a key. User A selects a random integer XA < q and computes YA = XA mod q. Similarly, user B independently selects a random integer XB < q and computes YB = XB mod q. Each side keeps the X value private and makes the Y value available publicly to the other side. User A computes the key as K = (YB) XA mod q and user B computes the key as K = (YA) XB mod q. The Diffie-Hellman algorithm depends for its effectiveness on the difficulty of computing discrete logarithms.
AES standards for Advanced Encryption Standard [6]. Rijndael is a block cipher developed by Joan Daemen and Vincent Rijmen. The algorithm is flexible in supporting any combination of data and key size of 128, 192, and 256 bits. However, AES merely allows a 128 bit data length that can be divided into four basic operation blocks. These blocks operate on array of bytes and organized as a 4×4 matrix that is called the state. For full encryption, the data is passed through Nr rounds (Nr = 10, 12, 14). These rounds are governed by the following transformations: (i) Byte sub transformation: Is a non linear byte Substitution, using a substitution table (s-box), which is constructed by multiplicative inverse and affine transformation. (ii) Shift rows transformation: Is a simple byte transposition, the bytes in the last three rows of the state are cyclically shifted; the offset of the left shift varies from one to three bytes. (iii) Mix columns transformation: Is equivalent to a matrix multiplication of columns of the states. Each column vector is multiplied by a fixed matrix. It should be noted that the bytes are treated as polynomials rather than numbers. (iv) Add round key transformation: Is a simple XOR between the working state and the round key. This transformation is its own inverse.
The encryption procedure of AES is: After an initial add round key, a round function is applied to the data block (consisting of byte sub, shift rows, mix columns and add round key transformation, respectively). It is performed iteratively (Nr times) depending on the key length. The decryption structure has exactly the same sequence of transformations as the one in the encryption structure. The transformations Inv-Byte sub, the Inv-Shift rows, the Inv-Mix columns, and the Add round key allow the form of the key schedules to be identical for encryption and decryption.
Steganograhy alone is vulnerable to attackers. If we combine steganography with cryptography it produces better results. In our proposed technique we are using both of these techniques for better security.
-
PROPOSED TECHNIQUE
The proposed technique is divided into following steps at the sender side.
-
Key generation using Diffie and Hellman algorithm.
-
Encrypting the secret data and secret data size using Advanced Encryption Standard.
-
Embedding encrypted secret data into video using distributed steganography.
-
Key generation using Diffie and Hellman algorithm:
Diffie and Hellman public key exchange algorithm is used to generate two secret keys- key1 and key2. Each key size is 128 bits. Key1 is used for embedding the secret data into video frames and key2 is used for encrypting the video after embedding process. The complete communication between sender A and receiver B is shown in figure1.Sender and receiver will have some common shared parameters q and . Each side generates its own private key and calculates public key. Both sender and receiver exchange the public keys. Using the public key of other side and private key of self each side calculates the secret key. This procedure is repeated for producing two secret keys key1 and key2. The terminology used in the algorithm is shown in the table1.
Symbol
Description
Primitive root
q
Prime number
XA1
Private Key1 of sender
YA1
Public Key1 of sender
X
B1
Private key1 of receiver
YB1
Public Key1 of sender
Key1
Secret key Key1
XA2
Private Key2 of sender
YA2
Public Key2 of sender
X
B2
Private Key2 of sender
YB2
Public Key2 of sender
Key2
Secret key Key2
TABLE I. SYMBOLS USED IN KEY GENERATION ALGORITHM
Generate random XB1
<q;
Calculate YB1= X
Generate random XA1 <q;
Calculate YA1= XA1
mod q
Calculate Key1= (YB1)XA1
mod q
Generate random XA2
<q;
Calculate YA2= XA2
mod q
Calculate Key2= (YB2)XA2 mod
q
Y
mod q
B1
A1
Calculate Key1= (YA1)XB1
mod q
Y
Generate random XB2 <q;
Y
B2
Calculate YB2= X
A2
mod q
Y
B
B2
Calculate Key2 = (YA2) X 2
mod q
Fig. 1. Secret keys generation process between sender A and receiver B using Diffie and Hellman key exchange algorithm
-
Encrypting the secret data and secret data size using AES algorithm
of
Convert the secret data into binary form. Calculate the size the secret data represent that in 8 bit binary form and append this to the secret data at the starting position. Now encrypt the complete data using AES algorithm. The plaintext for this algorithm is secret data, the key for this algorithm is the Key2 produced from Diffie and Hellman key exchange algorithm and the cipher text produced is the encrypted data
(size +secret data). This data is supplied to the next step for embedding process.
Secre t data size
Secret data
8 bits Convert
101011001.1010101
AES Algorithm
Diffie Hellman
K
-
-
For the next round, in each frame block selection is done by adding 1 to the digital equivalent of the previous block number and taking mod by 3. This process guarantees that same block number is not selected in each frame and also blocks selection ranges from 0 to 3. If Bl, is the previous block number select next Bp such that p=l+1 mod 3 and l+1 mod 3 l (0< l+1< 3, l represents already selected block number for that frame in the previous iteration.
-
Repeat this process until all the secret data is completed or all the blocks in each frame are filled. Maximum numbers of complete cycles are 4 because there are 4 blocks in each frame.
-
If secret data still remains repeat the process consider second video with the same specifications.
101010101010011
Embed secret data into source video frames
using distributed algorithm
Secret data
Fig. 2. Encrytion of both secret data and data size usimg AES algorithm
-
Embedding secret data into video using distributed steganography algorithm
The steps for embedding the secret data in the video are:
-
Consider a carrier video of 64 frames.
-
Divide each frame into four blocks of equal size. If frame size is N X M then each block size will be N/2 X M/2.
-
Name the four blocks row wise as B0, B1, B2, B3 in each frame.
-
Divide the key key1 into two bit partitions. Name them as ki,j where 1 i 64. and 1 j 2. Sub keys k1,1 and k 1,2 is used for embedding data in frame1, likewise k 64,1 and k 64,2 is used for embedding data in frame 64.
-
The procedure for inserting secret data in each frame is as follows :
-
Find the decimal equivalent of first two bits of the key
i.e , k1,1 and k1,2 .Use this number to select a block Bl (where l is equal to the decimal equivalent of k1,1 and k1,2 and 0<l<3) in the frame i. For example if k1,1 and k1,2 bits are 10 then block 2 is selected in the frame 1for inserting data. Using LSB technique insert a bit in each pixel value in the block.
-
After inserting the data in frame1 insert the data in frame2 by selecting the random block number using key bits k2,1 and k2,2 .
-
Repeat this process for all the frames.
-
After inserting data in all the frames, repeat the above process by selecting another block in each frame for the next round.
Secret Key1
Diffie Hellman key exchange
Fig. 3. Embedding of encryted secret data in carrier video frames using proposed algorithm
The video is transmitted to the receiver.
The detailed steps at the receiver side are listed below.
-
-
Key generation using Diffie and Hellman algorithm.
-
Extracting the encrypted data from the video using distributed steganography.
-
Decrypting the extracted data using Advanced Encryption Standard.
-
Key generation using Diffie and Hellman algorithm
This process is the same as the process we have described at the sender side. Receiver by using his own private and public keys produces secret keys key1 and key2.
-
Extracting the encrypted data from the video using distributed steganography
The steps for extracting the encrypted data from the video :
-
Divide the received video into 64 frames.
-
Divide each frame into four blocks of equal size. If frame size is N X M then each block size will be N/2 X M/2.
-
Name the four blocks row wise as B0, B1, B2, B3 in each frame.
-
Divide the key key1 into two bit partitions. Name them as ki,j where 1i64. and 1j 2. Sub keys k 1,1 and k1,2 is used for embedding data in frame1, likewise k64,1 and k64,2 is used for embedding data in frame 64.
-
The procedure for extracting secret data in each frame is as follows :
-
Find the decimal equivalent of first two bits of the key
i.e , k1,1 and k1,2 .Use this number to select a block Bl (where l is equal to the decimal equivalent of k1,1 and k1,2 and 0<l<3) in the frame i. For example if k1,1 and k1,2 bits are 10 then block 2 is selected in the frame 1for inserting data. Using LSB technique extract a bit from each pixel value in the block.
-
After extracting the data from frame1 extract the data from frame2 by selecting the random block number using key bits k 2,1 and k2,2 .
-
Repeat this process for all the frames.
01000000110011101101100011011110111001101110011011
11001001000000110110001100001011101010111001001100
process by selecting another block in each frame for
10101101100001000000110110001100101011000010110011
the next round.
00010110000100000011100110110010101100101011011010
-
After extracting data in all the frames, repeat the above
-
-
After extracting first block of data from first frame, decrypt the first 8-bits extracted using AES algorithm and find the size of the secret data. This information is used for estimating no of frames and blocks needed to extract further.
-
-
-
IMPLEMENTATION AND RESULTS
-
Implementation
We have implemented the proposed algorithm in mat lab using c language. The following is the input secret data we have considered for transmission.
It was the long still moment when the hedges and borders turned dusky and vague, but anything she looked at closely, a rose, a begonia, a glossy laurel leaf, seemed to give itself back to the day with a secret throb of colour.
This text is converted into binary bit pattern as shown in figure4.
01001001011101000010000001110111011000010111001
10010000001110100011010000110010100100000011011000
11011110110111001100111001000000111001101110100011
01001011011000110110000100000011011010110111101101
10101100101011011100111010000100000011101110110100
00110010101101110001000000111010001101000011001010
01000000110100001100101011001000110011101100101011
10011001000000110000101101110011001000010000001100
01001101111011100100110010001100101011100100111001
1001000000111010001110101011001001101110011001010
11001000010000001100100011101010111001101101011011
11001001000000110000101101110011001000010000001110
11001100001011001110111010101100101001011000010000
00110001001110101011101000010000001100001011011100
11110010111010001101000011010010110111001100111001
00000011100110110100001100101001000000110110001101
11101101111011010110110010101100100001000000110000
10111010000100000011000110110110001101111011100110
11001010110110001111001001011000010000001100001001
00000011100100110111101110011011001010010110000100
00001100001001000000110001001100101011001110110111
10110111001101001011000010010110000100000011000010
-
For the next round, in each frame block selection is done by adding 1 to the digital equivalent of the previous block number and taking mod by 3. This process guarantees that same block number is not selected in each frame and also block selection ranges from 0 to 3.If Bl ,is the previous block number select next Bp such that p=l+1 mod 3 and l+1mod 3 l (0< l+1<3, l represents already selected block number for that frame in the previous iteration.
-
Repeat this process until all the secret data is completely extracted.
-
F. Decrypting the extracted data using Advanced Encryption Standard
Delete the first 8 bits from the extracted data which represents size of the secret data. Remaining data is supplied to the AES algorithm. This algorithm takes encrypted data as plaintext and produces actual secret data as output. This algorithm uses Key2 as key for decryption process.
11001010110010000100000011101000110111100100000011
00111011010010111011001100101001000000110100101110
10001110011011001010110110001100110001000000110001
00110000101100011011010110010000001110100011011110
01000000111010001101000011001010010000001100100011
00001011110010010000001110111011010010111010001101
00000100000011000010010000001110011011001010110001
10111001001100101011101000010000001110100011010000
11100100110111101100010001000000110111101100110001
00000011000110110111101101100011011110111010101110
010
Fig. 4. Secret data after converted into binary bit stream
We have calculated the size of the above bit pattern and appended it in 8 bits at the starting of the above bit pattern.
We have considered two input videos. One is black and white image and other is color image and implemented our proposed system. The figure 5 shows the snapshot of the first video-video clip, frame1 before and after embedding secret data.
which requires the attack steps of 2128.We have done the implementation using secret text data, but this method also suits for inserting large data like images and audio.
A B C
Fig. 5. Snapshot of first video A) Video Clip B) Frame1 before embedding
C) Frame1 after embedding
The figure6 shows the snapshot of the second video-video clip, frame1 before embedding and after embedding secret data. We have observed that there is almost zero distortion between the videos before embedding and after embedding processes.
A B C
Fig. 6. Snapshot of second video A) Video Clip B) Frame1 before embedding C) Frame1 after embedding
B. Analysis of results
We have considered various metrics [1] like- key length in bits, maximum amount of data embedded in single black and white video of size n x m, maximum amount of data embedded in single color video of size n x m, attack steps, attack time in years for evaluating our proposed technique. These metric values for our proposed system are shown below in Table II.
Our Technique is robust against various attacks. The key size is larger with 128 bits for which the brute force attack will take about 1.02 x 1018 years for breaking. We have used public key encryption technique Diffie and Hellman to for producing secret keys for encryption and embedding process. This process includes double security with two level keys- private and public keys and secret keys. In the embedding process the complexity of the algorithm still increases because the key is distributed among 64 frames first and then within the frame between four blocks randomly. To add to the complexity we have embedded the encrypted data into the carrier video. The encryption algorithm we have used is AES
-
-
CONCLUSION
In this paper we have proposed a new technique for data security. In this technique we have used the concepts of steganography and cryptography which are the two strong pillars of security. By using steganography attackers cannot predict of secure data transmission and by using cryptography attackers cannot understand secret data. We have also used strong public key cryptographic techniques for key generation and embedding processes. The results obtained shows that it is very difficult to predict that some secret data is embedded in the carrier video. The key strength is also very high for the attackers .The future work of this technique can be done by testing this method by embedding image and audio data in carrier video.
REFERENCES
-
Norman D. Jorstad , Landgrave T. Smith, Cryptographic Algorithm Metrics, January 1997.
-
Atallah M. Al-Shatnawi, A New Method in Image Steganography with Improved Image Quality, Applied Mathematical Sciences, Vol. 6, 2012, no. 79, 3907 3915.
-
T Morkel, JHP Eloff and MS Olivier, "An Overview of Image Steganography," in Proceedings of the Fifth Annual Information Security South Africa Conference (ISSA2005), Sandton, South Africa, June/July 2005 (Published electronically).
-
Yunura Azura Yunus, Salwa Ab Rahman, Jamaludin Ibrahim,Steganography: A Review of Information Security Research and Development in Muslim World, American Journal of Engineering Research (AJER) e-ISSN : 2320-0847 p-ISSN : 2320-0936 Volume-02, Issue-11, pp-122-128.
-
Jasleen Kour, Deepankar Verma, Steganography Techniques
A Review Paper, International Journal of Emerging Research in Management &Technology ISSN: 2278-9359 (Volume-3, Issue-5).
-
M. Zeghid, M. Machhout, L. Khriji, A. Baganne, and R. Tourki, A Modified AES Based Algorithm for Image Encryption, World Academy of Science, Engineering and Technology International Journal of Computer, Information, Systems and Control Engineering Vol:1 No:3, 2007.
-
Ayushi, A Symmetric Key Cryptographic Algorithm, International Journal of Computer Applications (0975 – 8887) Volume 1 No. 15.
-
Mohammed Abutaha, Mousa Farajallah, Radwan Tahboub & Mohammad Odeh, Survey Paper: Cryptography Is The Science Of Information Security, International Journal of Computer Science and Security (IJCSS), Volume (5) : Issue (3)
: 2011.
-
Liao, Xin; Wen, Qiao-yan; Shi, Sha, Distributed steganography, DOI:10.1109/IIHMSP.2011.20.
-
Maryam Ahmed, Baharan Sanjabi, Difo Aldiaz, Amirhossein Rezaei, Habeeb Omotunde,Diffie-Hellman and Its Application in Security Protocols, International Journal of Engineering Science and Innovative Technology (IJESIT) Volume 1, Issue 2, November 2012.