The
message within
Steganography is a technique by which one can hide secret
messages inside digital images and audio. It's power is seen when
it works in tandem with cryptography. How do you crack a code
that cannot be seen in the first place?
Mahesh
Shantaram
10/26/99
Another layer to security
Cryptography is the practise of encrypting (or coding) data so
that only the recipient with the right "key" will be
able to decode and use it. Digital cryptography techniques have
advanced so much that for most purposes, they are almost
impossible to crack.
However, there's a Midas touch to computing technology. Everything gets outdated even before it gains firm ground. Not too long ago, 64-bit encryption was the Holy Grail of crypto technology, but that's far too weak by today's standards. We're now talking of 1024-bit encryption! The good news is that you don't have depend on cryptography alone. Steganography is a technique that adds another layer of security to data transfer.
How it all began
Like the Midas touch, and many other inspiring tales,
steganography too has its roots in ancient Greece. An ingenious
method of conveying secret messages was developed whereby the
head of a messenger was shaved, and the message tattooed onto it.
When the hair grew, the messenger could simply walk by guards
without anyone ever noticing. Steganography is Greek for
covered writing.
What it does
Steganography was defined best by Markus Kunh as "the art
and science of communicating in a way which hides the existence
of the communication." In cryptography, a message is
warbled, and left as an open challenge for the "enemy"
to crack. With steganography, the presence of the message itself
is craftily concealed within other data. By applying the two
together, life becomes doubly difficult for a cracker (one who
revels in breaking coded messages). The question of which is a
better security technique does not arise because they complement
each other. How do you crack a code when you can't find it in the
first place?
How it works
All computer data is represented as bits, eight of which make up
a byte. The last bit in a byte is called the Least Significant
Bit because of all the bits, changing that has least impact on
the data as a whole. Digital steganography exploits this fact to
the fullest in embedding secret information within images, audio,
video, and other digital information.
The secret behind it
Playing around with the last bit of an image pixel (a dot of
color) is O.K. because the change in color is too insignificant
for the eye to notice. When the same thing is repeated with
digital audio (like a WAV file), the ear is not sensitive enough
to detect the degradation of audio quality. These files, known as
carriers, are like the messenger whose head was shaven.
Some carriers are better
The process of fusing information into the carrier is done by
steganographic software, which writes one bit of the message into
every available byte of the carrier. However, you can't use any
file in steganography. 24-bit color images, 256-shade grayscale,
8-bit GIFs, and 8-bit audio are among the best carriers. (for
more details, see What it takes to be a carrier)
Steganography in action
Steganography and cryptography are independent anti-cracker
techniques. You don't have to encrypt data before applying
steganography, but it helps. It is not a powerful method of
security in itself, but the combination of the two technologies
can be more powerful than the parts.
Digital watermarking is an application of steganography. Copyright information and the identity of the original owner are embedded into images and audio as a measure against piracy.
What it takes to be a carrier |
To be a perfect steganographic
carrier, the file format must store unit data in a single
byte. One unit of sound in 8-bit audio takes 8 bits or 1
byte. The same holds true for an 8-bit GIF. In 24-bit
images, every byte represents the red, blue, or green
component of a pixel. Therefore, it too stores "one
unit" of data per byte. Suppose you use 16-bit audio instead. Each unit of sound takes two bytes. If this file were to be used as a carrier, the 1st and 8th bit would be manipulated. Changing the first bit causes the value to change by 1 unit. However, changing the 8th bit can result in a swing of 256 (=28) units. That will warble the carrier, and defeat the purpose of steganography, which is to let the carrier pass unnoticed. |
ŠAnkur Jain 1999