Steganography (in Greek, "secret" + "writing") is the practice of hiding secret
information inside non-secret, or less secret, information. Various
methods of steganography predate electronic/computer cryptography by
centuries: invisible inks, conventions for altering public texts,
code words, etc. What distinguishes steganography from plain old
encryption is that an attacker does not know with certainty that
there is any secret message inside another message. In some
circumstances this can be important for plausible deniability; in
others as a diversion for an attacker; in still others as a way of
subverting a channel that an attacker might choose to leave open.
It is worth giving a couple of hypothetical examples of
steganography here. In order to pass a secret
message, a typed letter might include a number of deliberate "typos," the
position of the words with "typos" would encode a subset of the numbers
between one and the number of words in the letter. An attacker would
not know whether an intercepted letter contains a subtext or
subchannel -- or whether it simply has typos (as do many letters
with no hidden message). Obviously, the recipient must be aware of
the protocol used to encode the subchannel. Similarly, a
sound recording (for example, one played on the radio) might have a number
of clicks and pops added to it that are indistinguishable from
scratches on a vinyl record (in fact, they could be produced by
making scratches in such a vinyl record before playing it). The
exact timing of the pops would encode a message (for example, the millisecond
gaps between successive pops encodes a series of numbers). Because
regular phonograph recordings also contain pops, an attacker would not
(immediately) know whether a particular song played on the radio actually
contains a subtextual message.