About this library

Steganography is the art of hiding in plain sight. If you have an encrpted message or image the fact that you are hiding something is obvious. On the other hand, if presented with an image the viewer would accept it at face value and would not even consider that it hides some secret text or even another image.

The library allows the user to embed an image or some text in another image leaving it visually the same as the original.

I use the following meanings when discussing this library.

Word Meaning
carrier the carrier image is what the user will see. The library can embed some text or another image into the carrier.
burden the burden is the image or text to be hidden. The library will embed the burden into the carrier.
stegan I use this to refer to the image produced after the burden has been embedded into the carrier. Visually it will look just like the carrier.


  • very simle API making it easy to use.
  • burden text or image can be encrypted before embedding into the carrier.
  • will embed the image in the least significant bits (LSBs) of the pixel data.
  • automatically selects the number of LSBs to use depending on anaylsis of the carrier and burden data..
  • user can request analysis of potential carrier / burden combination.

Saving the Stegan

It wouldn't be much use if the stegan could not be saved . The techniques used in this library means that stegans must be saved in image formats that use lossless algorithms e.g. png, gif, bmp, tiff

Steganos is written for and requires Processing.