29-11-2012, 01:17 PM
Least Significant Bits (LSB) insertion
Least Significant.doc (Size: 40 KB / Downloads: 21)
Technique basics
Today, when converting an analog image to digital format, we usually choose between three different ways of representing colors:
• 24-bit color: every pixel can have one in 2^24 colors, and these are represented as different quantities of three basic colors: red ®, green (G), blue (B), given by 8 bits (256 values) each.
• 8-bit color: every pixel can have one in 256 (2^8) colors, chosen from a palette, or a table of colors.
• 8-bit gray-scale: every pixel can have one in 256 (2^8) shades of gray.
LSB insertion modifies the LSBs of each color in 24-bit images, or the LSBs of the 8-bit value for 8-bit images.
Robustness
LSB insertion is very vulnerable to a lot of transformations, even the most harmless and usual ones.
Lossy compression, e.g. JPEG, is very likely to destroy it completely. The problem is that the "holes" in the Human Visual System that LSB insertion tries to exploit - little sensitivity to added noise - are the same that lossy compression algorithms rely on to be able to reduce the data rate of images.
Geometrical transformations, moving the pixels around and especially displacing them from the original grid, are likely to destroy the embedded message, and the only one that could allow recovery is a simple translation.
Any other kind of picture transformation, like blurring or other effects, usually will destroy the hidden data.
All in all, LSB insertion is a very little robust technique for data hiding.
Ease of detection/extraction
There is no theoretical outstanding mark of LSB insertion, if not a little increase of background noise.
It's very easy, instead, to extract LSBs even with simple programs, and to check them later to find if they mean something or not.
Suitability for steganography or watermarking
First of all, since it is a so vulnerable technique even for simple processing, LSB insertion is almost useless for digital watermarking, where it must face malicious attempts at its destruction, plus normal transformations like compression/decompression or conversion to analog (printing or visualization)/conversion to digital (scanning).
Its comparatively high data rate can point it as a good technique for steganography, where robustness is not such an important constraint.
Problems and possible solutions
Having stated that LSB insertion is good for steganography, we can try to improve one of its major drawbacks: the ease of extraction. We don't want that a malicious attacker be able to read everything we are sending.
This is usually accomplished with two complementary techniques:
• Encryption of the message, so that who extracts it must also decrypt it before it makes sense
• Randomizing the placement of the bits using a cryptographical random function (scattering), so that it's almost impossible to rebuild the message without knowing the seed for the random function.
In this way, the message is protected by two different keys, acquiring much more confidentiality than before.
This approach protects also the integrity of the message, being much more difficult (we could say at least computationally infeasible) to counterfeit the message.
Anyway, since we don't want our message to be only an encrypted and scrambled message, we must go back to the purpose of making the communication hidden.