Steganography is the art and science of communicating in a way which hides
the existence of the communication. In contrast to cryptography, where the
"enemy" is allowed to detect, intercept, and modify messages without being
able to violate certain security premises guaranteed by a cryptosystem, the
goal of steganography is to hide messages inside other "harmless" messages
in a way that does not allow any "enemy" to even detect that there is a
second secret message present. Steganography is in the (especially military)
literature also referred to as transmission security or short TRANSEC.
A good steganography system should fulfil the same requirements posed by the
"Kerckhoff principle" in cryptography. This means that the security of the
system has to be based on the assumption that the "enemy" has full knowledge
of the design and implementation details of the steganographic system. The
only missing information for the "enemy" is a short easily exchangeable
random number sequence, the secret key, and without the secret key, the
"enemy" should not have the slightest chance of even becoming suspicious
that on an observed communication channel hidden communication might take
place.