03-08-2012, 04:57 PM
Effective Data Hiding Techniques using Steganography
1Effective Data Hiding.ppt (Size: 717 KB / Downloads: 55)
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”.
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 8×8 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.
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.
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.
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.