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?
Step
1:
The plain text and the message to be embedded in it are taken as
input.
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: -
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?
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 senders end and are extracted at the receivers 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 receivers 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:
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 receivers end.
8. At the receivers end, using the key and the reverse method, we get back the text
message from the image.