Steganography is a method of hiding secret data into other common data by making it invisible to the viewer. It should not be confused with cryptography as it involves making the data indecipherable and not imperceptible. Encrypted data is visible to the eyes, and the viewer knows that there is some secret message, but he/she cannot read it. In contrast, steganography hides the private data in some other data, and the viewer cannot see the private data.
Image steganography is done by hiding the bits of personal data into an image.
It can be done using:
- Least significant bit method.
- Discrete Cosine transform method.
LEAST SIGNIFICANT BIT METHOD
This method is a spatial domain method. This pixel information of the image is stored in one byte. The first bits containing the image information for every pixel are modified to store the hidden text. The initial condition is that the text to be stored has to be smaller or of equal size to the image used to hide the text.
The LSB-based method is a spatial domain method. But this is vulnerable to cropping and noise. In this method, the MSB (most significant bits) of the message image to be hidden are stored in the LSB (least significant bits) of the image used as the cover image.
Since the original image’s LSB is altered, the original image does not change significantly, and the difference is barely perceptible even when both the original image and steganographic image are compared side by side.
This image shows how the least significant bit of input data is altered to generate the output image.
The least significant bits of all the input data are extracted and placed as the most significant bits to get the hidden data. This image is the hidden image.
DISCRETE COSINE TRANSFORM METHOD
Discrete Cosine Transform Steganography, also known as DCT, transforms the image from spatial domain to frequency domain. It separates the image into parts of differing importance. It separates the image into high, medium, and low-frequency components.