Overview


Basically, Chameleon allows users to hide confidential or important files within a standard innocuous-looking digital picture. This is particularly useful in establishing covert communications over the Internet. Images embedded with secret documents, for example, may be transmitted as an email attachment or posted on a web forum or bulletin board.


More specifically, Chameleon offers the following features:


  • adaptive encoding algorithm
  • password protection
  • integrated file compression
  • integrated data encryption
  • file wiping (file shredding) option

Adaptive Encoding


A cover image is an image used as a "host" or "carrier" for hidden information.

The main feature of Chameleon is its adaptive encoding algorithm which optimizes the use of hiding space in a particular cover image.


In bitmaps, steganography is usually performed by replacing the least-significant bit (LSB) of the color values of each pixel with the data bits of the file or message to be hidden. Since LSBs represent only a small portion of the actual color values, such changes in an image are often invisible to the human eye.


LSB refers to the rightmost digit in a binary value which has a place value of 1. For example, in the binary value:


1110


the least significant bit is 0.

Consider, for example, a 640x480 true-color bitmap. True color images are composed of red, green, and blue color channels. In each pixel, the intensity or color value for each channel is represented by an 8-bit number. Using the LSBs of the three color values of each pixel would generate a hiding space of 115,200 bytes (or 921,600 bits), 1/8 of the total image size.


In cases where larger files need to be hidden, more image bits would have to be used. Unfortunately, using the more significant bits of pixels increases the possibility of producing visible marks in the image at an exponential rate. This is the reason why other steganography software tends to produce noticeable distortions on an image.


To maintain image fidelity, Chameleon assigns different hiding capacities for each pixel (instead of a fixed size) based on the texture formed by surrounding pixels. The idea behind this is that areas of an image with more complex textures are less sensitive to modifications as compared to areas with smooth and solid textures.


Chameleon therefore uses optimum hiding capacities in every cover image, thereby making the steganographic process less detectable and more secure.