Thursday, June 17, 2010

Week 3

Our work for this week is-

1. I have completed the RSA encryption code (barring some minor bugs).

2. Rahul is working on the interface for the project.

Sunday, June 13, 2010

Detailed description of work this week

Edge Detection
The method used is canny-edge detection and it is based on finding edges based on local maxima in
first derivative of the image grayscale values.
1) conversion of color to grayscale image using weighed averages of the RGB values of the pixel.
2) use of gausian-filter (or gausian-blur ) to reduce noise in the image (if necessary)
3) finding the approximate gradient direction and magnitude at each pixel using Sobel-operator.
4) automatic threshold selection for a given image using Otsu-thresholding (method of maximising std. deviation).
5) non-maximal supression (i.e. removal of points which are not true local maxima)
6) use of double thresholding to find out the strong and weak edges.
7) output of the final edge-enhanced image.

Image Hiding .
1) from the edge enhanced image (of the the carrier) , the edge locations are stored
2) the image to be hidden is converted to grayscale
3) the pixels of the above obtained grayscale image are stored in the edge locations of the carrier image
using LSB (least significant bit method).
4) the resulting image is called stegoimage.

Decoding the image .
1) the edge locations of the stegoimage are computed (using canny edge detector)
2) from these edge locations the hidden image pixels can be recovered and used to regenerate the hidden image.

Problems faced
1) stegoimage is susceptible to transmission error .

Further progress
1) further smoothing in edge-detection is possible but will be taken up later if time permits.
2) the pixels used for hiding purpose will be chosen randomly with the help of a pseudo random number generator
(that uses a seed ) which will serve as a password protection for decoding the image.

I am also working on RSA encryption to ensure authorized decryption of the hidden data.

Tuesday, June 1, 2010

Week1

This week we will be dealing with point 1 and some part of point 2..

Introduction

In the past month we have studied various forms of image steganography .We have already written the code for lsb (least significant bit) method.
However this straightforward approach has the following problems-

1.The process is independent of the nature of the carrier image. i.e ,we do not identify the region having the most colour gradient for reducing distortion of the carrier image.

2.Because of non-randomness in the pixel values, the hidden message can be easily detected by very weak forms of steganalysis.

To remove the above, we plan to do the following-

1.Identification of boundary points (i.e. the points of high colour gradient)

2.Compression of the message to be encrypted(since the number of pixels available for hiding data is reduced by the above constraint, the size of the message needs to be as small as possible. In case of image data this can be accomplished by simply converting the image to gray scale thus achieving nearly 70% compression)

3.Randomizing the values of carrier pixels to make steganalysis difficult(incorporating key).