Вы находитесь на странице: 1из 21

An Efficient Data Hiding Technique using Image Steganography

Presented By: Jayesh Bhardwaj (BE/1124/07) Manish Kumar (BE/1132/07) Kapil Ratra (BE/1123/07) Project Guide: V.S.S Sriram

Introduction to Steganography:

Steganography is the technique of concealment of data within another data medium so that it is very difficult to even detect the presence of hidden data. For example, We have two images below and it is amazing to know that the second image was hidden in the first image. This is the also known as image steganography. Cover image Stego image

How? Drop all but the last 2 bits of each color component in each pixel
Co ver Ima

Enhance brightness 85x


ge -> ste goima ge

11110000
2L SB

Be

com e

11110000 2 MSB

Basic Techniques in Image Steganography:

Lsb Steganography: This is the most basic


and one of the easiest to implement methods in image steganography but is now rarely used in its primitive form due to the ease with which it can be cracked using basic steganalysis techniques. In this method we embed one bit of the data to hide in each pixel of the image (in the LSB) which results in insignificant distortion.

DCT based image steganography: This is


one of the basic techniques in which we use the Discrete Cosine Transform of the image to hide the data in the image medium. In this method the image is broken into blocks of 88 and DCT is calculated for each of them. While retaining the coefficients of the high frequency terms the lower frequency terms are instead used for the data to be hidden. Then we apply IDCT to the blocks to get the stego+cover image. The recovery of image is done by simply the reversal of the above steps.

Problems with the basic techniques:

These basic techniques are vulnerable to the basic steganalysis methods owing to their simplicity. LSB method is not suitable when we use image manipulation technique such as image compression etc. DCT method can be applied in such cases. Often mapping algorithms are used with the LSB method to map the bits of the stego to the bytes of the cover image in a non-linear manner. But inclusion of a data structure such as a map increases the space complexity.

With the rising demand for a secure medium of data transfer cryptographic techniques were combined with the steganography methods. i.e Symmetric Key Cryptography. Due to the limitations on bandwidth the steganography mechanism should be space as well as time efficient.

Goal of Design:

To develop an efficient steganography method our design should be resistive to the basic steganalysis methods. Our design should be space efficient i.e should consume minimum memory. The design should be time efficient i.e the mechanism should take minimum cpu time. The design should be such that even if an intruder knows about the presence of concealed data it is almost impossible for him to extract the stego data.

Block Diagram Steganography


Secret Text Cover Image Stego Object

Encoder

Key Secret Text

Decoder
Communication s Channel Original Cover

The Proposed Algorithm:


The algorithm uses a combination of the LSB technique and a method similar to private key cryptography. A key is associated with each stego data and should be available with both the sender and the receiver. The key is used as a seed in our random number generator function. The generated random number is used to circular rotate each of the bytes of the stego data. i.e the first byte of stego data is right rotated n mod 8 times where n is the random number. Now this number is passed as seed to generate a new random number for the second byte and so on.

After all the bytes have been rotated as per the generated random numbers we start embedding the stego data bit by bit in the LSB of each pixel. The random number generator function is designed such that it generates the same sequence of random numbers if same seed is provided which is crucial for the recovery process. During recovery of data at receiver side we first extract the LSB of the all the bytes of the received image. After extracting all the LSBs we use the same seed to generate the same sequence of random numbers and now use them to rotate the byte in left direction (or right if left was used by sender).

Pseudocode:
//Sender Side Key k; //Rotation code For each Byte in stego: k=myrand(k); right_rotate(Byte,k%8); //Embedding Stegobit=first bit of stego For each Byte in cover image: embed in lsb of Byte the stegobit move stegobit to next bit

Pseudo Code Contd.


//Receiver Side Key k; //same key as sender //Extract Stegobit= For each Byte in recvd_image: extract lsb from Byte append lsb to stegobit //Rotate For each Byte in Stegobit: k=myrand(k); left_rotate(Byte,k%8); //Extraction Complete

Analysis of Algorithm:

Lets analyse the difficulty in breaking this code: The intruder can extract the lsb from the cover image but the data when assembled seems unarguably random and is meaningless since each byte of the data is rotated. If he uses guess work to derive the correct number of rotation for each pixel he would need calculations where n is the number of pixels. 8n Thus it becomes very difficult for computing systems with ordinary computing resources to successfully extract the data from the intercepted image. The code is pretty simple in implementation and hence consumes very less computing resources.

Waveform Steganography
Steganography in waveforms means embedding the stego data in the waveforms so that the new waveform formed after embedding is almost same as previous one. This is a new way of hiding a data in waveforms. It can be highly useful in fields of medicine for hiding the patients data in his/her ECG report, military for sending secret information in the topography maps, education for hiding students information in his performance graph ,etc.

Input Sampled Waveform

Output Sampled Waveform

Video Steganography

Video files are generally a collection of images and sounds, so most of the presented techniques on images and audio can be applied to video files too. The great advantages of video are the large amount of data that can be hidden inside and the fact that it is a moving stream of images and sounds. Therefore, any small but otherwise noticeable distortions might go by unobserved by humans because of the continuous flow of information.

Implementation for Video files:

The algorithm was implemented on Video files with some minor modifications. We need to extract frames from the video files and apply image steganography techniques on them. At receiver end to we extract those frames which contain stego data.

Simulation of Algorithm on Video Files:

References:

Neil F. Johnson, Sushil Jajodia, George Mason University, "Exploring Steganography: Seeing the Unseen", IEEE Computers, February 1998, pp. 26-34 Neil F. Johnson, Sushil Jajodia, Center for Secure Information System, George Mason University, "Steganalisys of Images Created Using Current Steganography Software", http://isse.gmu.edu/~csis Alexander Herringel, Joseph Ruanaidh, Holger Petersen, Shelby Pereira, Thierry Pun, "Secure Copyright Protection Techniques for Digital Images", 2nd Information Hiding Workshop, 1998 Ross J. Anderson, Fabien A.P. Petitcolas, "On the limits of steganography" Designing of Robust Image Steganography Technique Based on LSB Insertionand Encryption Mamta Juneja , Parvinder Singh

Вам также может понравиться