A Novel Technique for Secure Data Transmission using Distributed Steganography and Cryptographic Techniques

DOI : 10.17577/IJERTV4IS020757

Download Full-Text PDF Cite this Publication

Text Only Version

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.

  1. 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.

  2. 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.

      1. 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

      2. 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

    1. 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.

    2. Key generation using Diffie and Hellman algorithm.

    3. Extracting the encrypted data from the video using distributed steganography.

    4. Decrypting the extracted data using Advanced Encryption Standard.

    1. 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.

    2. 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.

  3. IMPLEMENTATION AND RESULTS

    1. 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

  4. 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

  1. Norman D. Jorstad , Landgrave T. Smith, Cryptographic Algorithm Metrics, January 1997.

  2. Atallah M. Al-Shatnawi, A New Method in Image Steganography with Improved Image Quality, Applied Mathematical Sciences, Vol. 6, 2012, no. 79, 3907 3915.

  3. 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).

  4. 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.

  5. Jasleen Kour, Deepankar Verma, Steganography Techniques

    A Review Paper, International Journal of Emerging Research in Management &Technology ISSN: 2278-9359 (Volume-3, Issue-5).

  6. 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.

  7. Ayushi, A Symmetric Key Cryptographic Algorithm, International Journal of Computer Applications (0975 – 8887) Volume 1 No. 15.

  8. 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.

  9. Liao, Xin; Wen, Qiao-yan; Shi, Sha, Distributed steganography, DOI:10.1109/IIHMSP.2011.20.

  10. 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.

Leave a Reply