Behind the scenes :  STEGANOGRAPHER

This is steganographer "How it works?" section. For more info regarding Please mail us with your query in the subject line.

Steganographer is a tool to hide a message(text) in an image file. It uses the least bit manipulation technique. What it is and how it works , it's advantages and it's drawbacks are the topics of discussion in this page.

What is steganography ?

Steganography is the art of hiding a message(text) in another entity(Picture file for example).

Steganography is word that was derived from the greek word Steg meaning snake and and meaning snake. Steganography is an old art that was practiced by various civilizations. The basic idea behind steganography is very simple. When you send a snail-mail with "Highly confidential" written in bold on it , everybody who happens to see it during the transit will be obviously be interested and a person with malicious intents might try and open the mail and if the contents are coded , he might even try to decode the message. Steganography tries to snip this problem right at the conception i.e Why should we write "Highly Confidential" on the mail? Instead the message can be sent in a usual letter . Nobody will even suspect that the letter has an encoded message.

Before the advent of computers steganography was practised by hand. Most of the encoding was done in text. i.e text was encoded in another piece of text. For example let the text to be encoded be "encoded message". The following is the text that contains the text to be encoded.

Every night Christopher organized different enlightening discourses , mainly explaining super-natural strength and god's existence.

Now taking the first letter of each word in the above text we get back the encoded text "encoded message"

Every night Christopher organized different enlightening discourses , mainly explaining super-natural strength and god's existence.

But in the post-computerized era steganography has assumed a new powerful look . It has entered a whole new dimension where text can be hidden not only in text entities but also in image and audio entities. Steganographer encodes text messages in image files. It works best with uncompressed 24-bit windows bitmap images . It also works with other non-lossy image compression formats , but the final encoded image has noticeable distortion.

In steganographer the message is encoded in the image file by using the least bit of each byte in the file as storage space. In image files the modification of the least bit hardly affects the final color. Let us now see how least bit manipulation works.

Least bit manipulation

In 24-bit uncompressed bitmap images , each pixel in the image is represented by 3 bytes . The first byte represents the RED value , second byte represents the BLUE value , third byte represents GREEN value. each value can be between 0 and 255. when the least bit of a value is modified it changes the value by 1.

Let us see an example

Assume Pix1 is a Pixel in a 24 bit bitmap

Pixel 1 Dec Binary Least significant bit  
Pix1.Red Value
238
11101110 0
Pix1.Green Value
123
01111011 1
Pix1.Blue Value
56
00111000 0

Now let us change the least significant bits to 1's . So the new pixel will be pix2.

Pixel 2 Dec Binary Least significant bit  
Pix2.Red Value
239
11101111 1
Pix2.Green Value
123
01111011 1
Pix2.Blue Value
57
00111001 1

As we have seen in the above example , the modification of the least significant bits of a pixel hardly affect the color. The change in color in imperceptible to human vision. Now using least bit significant bit modification , let us try and encode some text.

Encoding text in an image

Before going on with this section , it is to be understood that a file is nothing but a sequence of bytes . We can think of it a single-dimensional array with each cell containing a single byte. Now that we have made the meaning of a file clear , let us go on.

Assume that the text to be encoded is "Apple tastes sweet".
Now let us take the first letter (or) byte from the text to be encoded

                          

The BLUE bits in the above picture represent the least significant bits. In the encoding process we replace these bits by the RED bits which is the DATA to be encoded. The encoded DATA is shown in the right hand side. This DATA is put back into the picture file replacing the older unencoded bytes. You can think of the bytes in groups of three as three bytes form a pixel. As we have seen in the previous section,modification of the least significant bits will not change the appearance of the pixel.

THIS ENCODED PICTURE FILE IS TRANSMITTED TO THE RECEIVER.

This encoded message must be decoded inorder to get back the encoded text.

Decoding text from the image.

Decoding process is simple. It is exact reverse of the encoding process. Here the encoded bytes in the picture file are accessed and the least significant bits are extracted and concatenated to get back the individual characters of the encoded message.

 

Thus we can get back the encoded message.

 

 

Copyright 2000 . Vaspra group