steganography : Java Glossary

The art of hiding information inside messages or pictures. For example, you might
encode information in a picture by subtly varying the colours. You might hide
information in the low order digits of a set of tree heights. The technque would
normally be used to hide encrypted messages, especially when sending encrypted
messages might be illegal. You will have to roll your own code. Any open-source
technique would be trivially easy to detect. You not only have to hide your data, you
have to hide the fact you are hiding it.

It seem likely to me that the pornography the USA found at the bin Laden compound
would have been used for steganography. The messages would be encoded as subliminal
changes in the colours. The images could be passed around over the Internet or on
thumbdrives. If they were intercepted, they would not look suspicious since there is
a torrent of such material. The interceptors would not even think to try to decode
them. The use of pornography has another benefit. Unwitting pornography connoisseurs
help propagate and deliver the message. The authorities can’t trace the
definitive source or destination. Imagine such a doctored image posted on a website.
10,000 people might download it, where 9,999 of them just wanted the porn. The authorities have no way of
knowing which person downloading did it for the message.

How to take words, sounds, or images and hide them in digital data so they look like other words, sounds, or images. When used properly, this powerful technique makes it almost impossible to trace the author and the recipient of a message. Conversations can be submerged in the flow of information through the Internet so that no one can know if a conversation exists at all.