The word steganography is of Greek origin andmeans "covered, or hidden writing". Steganographyis the art and science of writing hidden messages insuch a way that no one apart from the sender andintended recipient even realizes there is a hiddenmessage. Generally, a steganographic message willappear to be something else: a picture, an article, ashopping list, or some other message. Asteganographic message (the plaintext) is often firstencrypted by some traditional means, producing acipher text.Digital image steganography system is a stand-aloneapplication that combines steganography andencryption to enhance the confidentiality of intendedmessage. The user’s intended message is firstencrypted to create unintelligible cipher text. Thenthe cipher text will be hidden within an image file insuch a way as to minimize the perceived loss inquality. The recipient of the image is able to retrievethe hidden message back from the image with thissystem.

In order to hide text in an image, the user must provide the text and a Target Image in which it is to be hidden. Optionally, users may enter or load a textkey. When a user key is not provided, a default key isused. To make choosing images easier, an image bar is provided for the user. The user may set the sourcedirectory, whose contents are displayed as thumbnailsin the image bar located on the bottom panel of application. These thumbnails are automaticallygenerated from the specified source directory. Theuser then selects a target image and loads it for use asthe Target Image. The user may also open the TargetImage by selecting Open Image under File menu. The user may enter the text to be embedded in severalways. He or she may type it directly into the textwindow, open a text file, or paste text from another application. The user may also open a text file byselecting Open Text under the File menu or use theEdit menu to paste from the clipboard. Loading a textkey can be done from the Open Text Key selectionon the Tools menu. When user has specified both thetarget image, and text body, Digital imagesteganography system is ready to hide the text bodywithin the image. The user may then select EmbedText from the Tools menu. The key image will then be hashed into an appropriate Key Value. This valuewill be used for the encryption of the user’s plaintextto produce cipher text. The cipher text and key valuewill then be input into the steganography and bit placement algorithms, and the Output Image will begenerated. After the application has generated theimage, the user may then inspect it by selecting theImage tab on the main panel. The user is then able tocompare the encrypted target image with the originaltarget image located on the right box of the mainwindow. The user may wish to save the generatedimage by selecting Save Image or Save Image As…under File menu.
In order to retrieve the hidden text from a sourceimage, the user needs to provide a Source Image andany Keys used when the Source Image wasgenerated. Loading the Source Image file is donesimilarly to the process of opening a Target Image. If the sender has used the default key, the recipient neednot load any keys to the application. If a non-defaultkey was used in text hiding process, the receiving party must have prearranged knowledge of the keyfor use in retrieving the text.

This key could be text file or a key string. If the key is a text file, the user may load the key by selecting Open Text Key fromthe Tools menu. Lastly, the user may simply type inthe key by activating the Text tab of the key paneland entering it into the text box there. After theSource Image and any required Keys are loaded intothe application, the hidden text can be retrieved byselecting Extract Text from the Tools menu. The keywill be hashed into an appropriate Key Value. Thiskey value will be used to recover the hidden cipher text from the Source Image. The key will then beused for the decryption of the cipher text to produce plaintext. The plaintext will finally be displayed inthe text box on the Text tab of the main panel. After the application has generated the text, the user maywish to save the generated text by selecting SaveText under the File menu. The application is not ableto identify the presence of the hidden message inimages until the actual decoding process is attempted,as the image files are virtually indistinguishable fromnormal images.
A digital image a[m,n] described in a 2Ddiscrete space is derived from an analog image a(x,y)in a 2D continuous space through a sampling processthat is frequently referred to as digitization. Theeffect of digitization is shown in Figure 1. The 2Dcontinuous image a(x,y) is divided into N rows andM columns. The intersection of a row and a columnis termed a pixel. The value assigned to the integer coordinates [m,n] with {m=0,1,2,...,M-1} and{n=0,1,2,...,N-1} is a[m,n]. In fact, in most casesa(x,y)--which we might consider to be the physicalsignal that impinges on the face of a 2D sensor--isactually a function of many variables including depth( z ), color (λ), and time (t).. The image shown inFigure 1 has been divided into N = 16 rows and M =16 columns. The value assigned to every pixel is theaverage brightness in the pixel rounded to the nearestinteger value. The process of representing theamplitude of the 2D signal at a given coordinate as aninteger value with L different gray levels is usuallyreferred to as amplitude quantization.

There are standard values for the various parametersencountered in digital image processing. Thesevalues can be caused by video standards, byalgorithmic requirements, or by the desire to keepdigital circuitry simple. Table 1 gives somecommonly encountered values.

Quite frequently we see cases of M=N=2 K where {K = 8,9,10}. The number of distinct gray levels isusually a power of 2, that is, L=2 B where B is thenumber of bits in the binary representation of the brightness levels. When B>1 we speak of a gray-levelimage; when B=1 we speak of a binary image.
To a computer, an image is a collection of numbersthat constitute different light intensities in differentareas of the image. This numeric representationforms a grid and the individual points are referred toas pixels. Most images on the Internet consists of arectangular map of the image’s pixels (represented as bits) where each pixel is located and its colour. These pixels are displayed horizontally row by row.The number of bits in a colour scheme, called the bitdepth, refers to the number of bits used for each pixel. The smallest bit depth in current colour schemes is 8, meaning that there are 8 bits used todescribe the colour of each pixel. Monochrome andgrey scale images use 8 bits for each pixel and areable to display 256 different colours or shades of grey. Digital colour images are typically stored in 24- bit files and use the RGB colour model, also knownas true colour. All colour variations for the pixels of a24 bit image are derived from three primary colours:red, green and blue, and each primary colour isrepresented by 8 bits. Thus in one given pixel, therecan be 256 different quantities of red, green and blue,adding up to more than 16-million combinations,resulting in more than 16-million colours. Notsurprisingly the larger amount of colours that can bedisplayed, the larger the file size.When working with larger images of greater bitdepth, the images tend to become too large totransmit over a standard Internet connection. In order to display an image in a reasonable amount of time,techniques must be incorporated to reduce theimage’s file size. These techniques make use of mathematical formulas to analyze and condenseimage data, resulting in smaller file sizes. This process is called compression.In images there are two types of compression: lossyand lossless. Both methods save storage space, butthe procedures that they implement differ. Lossycompression creates smaller files by discardingexcess image data from the original image. Itremoves details that are too small for the human eyeto differentiate, resulting in close approximations of the original image, although not an exact duplicate.An example of an image format that uses thiscompression technique is JPEG (Joint PhotographicExperts Group).Lossless compression, on the other hand, never removes any information from the original image, butinstead represents data in mathematical formulas. Theoriginal image’s integrity is maintained and thedecompressed image output is bit-by-bit identical tothe original image input. The most popular imageformats that use lossless compression is GIF(Graphical Interchange Format) and 8-bit BMP (aMicrosoft Windows bitmap file).Compression plays a very important role in choosingwhich steganographic algorithm to use. Lossycompression techniques result in smaller image filesizes, but it increases the possibility that theembedded message may be partly lost due to the factthat excess image data will be removed. Losslesscompression though, keeps the original digital imageintact without the chance of lost, although is does notcompress the image to such a small file size.Different steganographic algorithms have beendeveloped for both of these compression types andare explained in the following sections.

3.1Image and Transform Domain Image steganography techniques can be divided intotwo groups: those in the Image Domain and those inthe Transform Domain. Image – also known asspatial – domain techniques embed messages in theintensity of the pixels directly, while for transform – also known as frequency – domain, images are firsttransformed and then the message is embedded in theimage.Image domain techniques encompass bit-wisemethods that apply bit insertion and noisemanipulation and are sometimes characterized as“simple systems”. The image formats that are mostsuitable for image domain steganography are losslessand the techniques are typically dependent on theimage format.Steganography in the transform domain involves themanipulation of algorithms and image transforms.These methods hide messages in more significantareas of the cover image, making it more robust.Many transform domain methods are independent of the image format and the embedded message maysurvive conversion between lossy and losslesscompression.
In the next sections I have explained steganographicalgorithms in categories according to image fileformats and the domain in which they are performed.

Next Post »