OUR PROJECT

                  

System requirements to implement our Project

 

 

 

 

 

 

HARDWARE REQUIREMENTS:

 

Processor:                      INTEL PENTIUM II OR EQUIVALENT

Hard disk:                     4 GB

RAM:                            32 MB SDRAM

 

 

                       

 

 

 

SOFTWARE REQUIREMENTS:

 

Operating System:         Windows 98/2000/NT

Compiler:                       C/C++

Application Software:   VC++

 

 

Steganography Applied to Text Files:

      

      

The main objective of this algorithm is to insert some sensible classified information within another intelligible text file. The algorithm identifies two blank spaces in each line, into each of which we insert one character of the hidden message. The two characters that are inserted in each line of text belong to the hidden information and a digit of the key generated upon computation of the host text and the hidden text concatenated together. This key is thus necessarily a function of the concerned text and the message files.

At the Receiver end, the key send through secret channel is inputted to extract the hidden message from the received formatted message. An intelligible message extracted from this text ensures data authentication; else authentication is determined as violated.

 

 

 

 

 

 

                                                                

       

                                                                                       

How is the Technique implemented?

The Algorithm: -

 

 

Step 1:     The plain text and the message to be embedded in it are taken as input.

 

Step 2:    The plain text is adjusted so that only a single blank exists between two 

                  consecutive words.

 

Step 3:    The hidden message is worked in between these blanks using the process in

                 Step 4.

 

[It must be remembered that since the project involves checking the authentication of the message sent, provision must be made so that its interception and subsequent modification by an opponent alters the key. The underlying implication is that the key must be a function of the plain text and hidden message.]

 

Step 4:    The algorithm is so developed that, in each line, any two of the blanks is used

                  to hide the message. The following process is used: -

 

 

a)        A line of the ‘host’ text and the entire message are taken together and a mathematical computation is performed on the combined text to yield a 2-digit number (ij), indicating that the message is to be embedded in the i-th and j-th blanks of that line.

 

b)        The j-th blank is used to hide a character of the message while the i-th blank hides the key for that line.

 

c)        Steps (a) and (b) are repeated for all lines of the plain text.

 

d)        Once the message is incorporated into the text, the keys in each line are evaluated together and converted into a single key, given in text format.

 

[Note that the key thus generated is obviously a function of both the ‘host’ text and the hidden message.]

 

Step 5:    The key is sent through a secret channel while the formatted text is sent through

                  the open channel.

35

 

 

Step 6:    An Inverse algorithm extracts the hidden message from the formatted text

                  received on inputting the key received through secret channel.

 

Step 7:     The algorithm is so designed that the extracted message will be an unintelligible

                  one if the text has been intercepted, and subsequently modified during

                  transmission. This unintelligible message arouses suspicion regarding the

                  authentication of the text.

 

 

 

q       Note that modification of the formatted text by opponent cannot change the content hidden in it. So, the Steganography algorithm is Robust in nature.

 

However, the key, being a function of both the text and the hidden message yields a different message at the receiver end if the text has been tampered.

                          

Steganography Applied to Image Files:

 

 

There are two techniques by which Steganography can be applied to images: -

 

a)                   Image within an image

b)                   Text within an image

 

 

Image within an image:

 

To implement it, we should have the knowledge of the Bitmap Information header of the BMP file of both the Image to be watermarked and the one on which the watermarking is to be done. The Bitmap Info header gives us information about the following fields, such as Size, Width, Height, Planes, Bitcount, Compression, SizeImage etc., among which we will need only the Width and the Height fields for the implementation of our algorithm.

 

 

Text within an Image:

 

As far as our plan, in order to implement it, we need to manipulate the color table values of each pixel within the BMP. We know that the color table has the following fields: -

            

                                  B           G             R             Unused

 

Here, the Unused field is our point of interest. We plan to send Text information using this Unused bit of each pixel of the BMP file to be sent across.

 

How is the Technique Implemented?

 

 

An Alternative Algorithm: -

 

 

Step 1:   Choose an image upon which the required image is to be embedded.

 

Step 2:   From the BMP file of the image upon which Steganography is to be done, we

                determine the width and height of the image and generate a Random number in

                the frame of the image.

 

Step 3:   This Random number generated acts as the key, which should be transmitted

                through the secret channel.

 

Step 4:   The image to be embedded should have a height and width <= � (height and

                width) of the original image.

 

Step 5:   The image to be embedded should be done starting from the position of the

                 frame of the original image as indicated by the Random number.

 

Step 6:  The transformation of the co-ordinates of the image to be embedded image to

                the ‘host’ image is done depending upon the following conditions: -

 

i)                                 If (x<x1/2 and y<y1/2), then,

top-left of the hidden image =(x,y)

 

ii)                               If (x<x1/2 and y>y1/2) then,

Bottom-left of the hidden image=(x,y)

 

iii)                              If(x>x1/2 and y<y1/2) then,

Top-right of the hidden image=(x,y)

 

iv)                             If(x>x1/2 and y>y1/2) then,

Bottom-right of the hidden image=(x,y)

 

 

   

 

(x,y) ->   starting co-ordinate calculated in the host

              image which acts as origin of the hidden

              image.

 

x=  rand(0,x1)

y= rand(0,y1)

 

EXTENSION OF THE ALGORITHM IN CASE THE IMAGE TO BE EMBEDDED IS LARGE ONE:

 

 

It has been mentioned in Step4 of the algorithm that the image to be embedded should have a height and width <= �(height and width) of the original image.

But in case the hidden image does not fit into this rule, we need to segment it in horizontal manner and need to embed each of the segments in different ‘host’ images, which are to be sent separately to the receiver

.

     Algorithm To Insert a Text Within An Image

 

[This Algorithm has been implemented in the Project]

 

 

The main objective behind this algorithm is the use of the unused pixels in an image. Any image whether color or black and white may have some unused pixels at the end of each of row. Information about text (i.e. text characters converted into ASCII format) are inserted in these unused bits at the sender’s end and are extracted at the receiver’s end. It is not mandatory that every row will have some unused pixels. So the information as to which row has unused pixel positions where text can be stuffed should also be sent as a key to the receiver’s end via a secret channel.

 

Since the insertion of text within images do not alter the outward appearance of the image, hence it can be transmitted safely over an open channel without arousing any suspicion. Hence, Steganography is achieved.

 

 

The different steps of the Algorithm is stated below:

 

 

  1. A color image is chosen. Care is taken so that it has enough number of free pixels to accommodate the text information.

 

  1. The number of columns that the image has is found out seeing its dimension   header.

 

      3.   It is then manipulated with a particular value depending upon the color system

            used  to give the number of pixels per row.

 

      4.   Once the number of pixels per row is calculated, we can calculate the number of

            pixels unused. It can have a maximum value of four(for 24 bit color).

 

      5.   Once the position and the number of unused pixels is calculated, we can insert the

            text information converted into ASCII format.

 

      6.   A key is also generated which is the function of the row where the text has been

            inserted and the number of characters inserted.

 

      7.   The stegged image is sent through an open channel and the key through the secret

            channel to the receiver’s end.

 

      8.   At the receiver’s end, using the key and the reverse method, we get back the text

 

            message from the image.

BACK  TO HOME                           BACK TO CONTENT