Steganography can be implemented using two major techniques i.e. Spatial domain and transform domain as described below.
It is based on manipulation of pixel of the image.In this domain, cover image and secret data is modified using LSB and Level Encoding. Initially the cover image is decomposed into bit planes and then LSB of bit planes is replaced with secret data. LSB substitution method is most used steganography technique. This substitution technique involves embedding the data at the minimum weighting bit as it will not affect the value of original pixel. LSB substitution provides better quality of image, but the only disadvantage with it is the simplicity of its extraction process. Thus, an intelligent hacker can easily extract the data that has been sent. For an 8-bit image, the least significant bit i.e. The 8th bit of each byte of the Image will be changed by the 1-bit of secret message. For 24 bit image, the colors of each component like RGB (red, green and blue) will be changed The Spatial Domain based methods are popular due to high embedding capacity but these are highly vulnerable to attacks like image filters, rotation, cropping and scaling.
B. Transform Domain Steganography
Unlike the spatial domain technique the transform domain technique , instead of hiding the secret message directly in the pixels, embeds the messages into the frequency coefficients of the image. For this, mathematical transformations such as Discrete Cosine Transform (DCT), Discrete Wavelet Transform (DWT), and Integer Wavelet transform(IWT) are applied to the image to transform it into frequency components. After transformation,the secret message is hidden in the frequency coefficients.Security can be improved by hiding the data in selected frequency coefficients based on some threshold value. Then the image will be transformed back into spatial domain by inverse transformation.In the transform domain algorithm, a true color image is transformed into IWT (Integer Wavelet Transform) domain using a wavelet called ‘haar’ wavelet. The wavelet transforms the image into four frequency bands, namely AC, HC, VC, and DC. The band AC is the approximation coefficient band and the other three are detail coefficients. The secret data are embedded in the DC component and the image is transformed back into original form by reverse transformation.
B.1 Discrete Cosine Transform
The DCT can be used to convert an image from the spatial domain into the frequency domain.The DCT separates parts of an image based on frequency. As the Image signal energy is stored in low-frequency regions, therefore high-frequency information can be removed or manipulated without causing signi?cant distortion of image quality.The approaches that operate in the transform domain generally use properties of the DCT.
LSB manipulation cannot be applied to the colours of pixels when working with lossy compression formats such as JPEGs. This is because JPEG images use a DCT as part of the compression process, during which values such as LSBs are not necessarily retained. Whilst the conversion between the spatial and the transform domain (and vice versa) uses lossy compression, the discrete cosine coe?cients are stored using lossless encoding, therefore most JPEG steganography techniques encode data in the discrete cosine coe?cients.
B.2 Discrete Wavelet Transform (DWT)
The discrete wavelet transform (DWT) is a wavelet transform in which the wavelets are discretely sampled. As with other wavelet transforms, a key advantage it has over Fourier transforms is temporal resolution: it captures both frequency and location information (location in time). Discrete wavelet transform (DWT) are applied to discrete data sets and produce discrete outputs.
Discrete wavelet transform maps data from the time domain (the original or input data vector) to the wavelet domain. An image that undergoes Haar wavelet transform will be divided into four bands at each of the transform level. The first band is called as ‘approximation coefficient ‘where low pass filter is applied. The other three bands are called ‘details’ where high pass filter is applied. These bands contain directional characteristics. The size of each of the bands is also compressed to half. Specifically, the second band contains vertical characteristics, the third band shows characteristics in the horizontal direction and the last band represents diagonal characteristics of the input image. Each pixel in an image that will go through the wavelet transform computation will be used only once and no pixel overlapping during the computation.
B.3 Integer Wavelet Transform
Integer to integer wavelet transforms maps an integer data set into another integer data set. This transform is perfectly invertible and yield exactly the original data set. A one dimensional discrete wavelet transform is a repeated filter bank algorithm. The reconstruction involves a convolution with the syntheses filters and the results of these convolutions are added. In two dimensions, we first apply one step of the one dimensional transform to all rows. Then, we repeat the same for all columns. In the next step, we proceed with the coefficients that result from a convolution in both directions. Since the integer wavelet transform allows independent processing of the resulting components without significant perceptible interaction between them, hence it is expected to make the process of imperceptible embedding more effective. However, the used wavelet filters have floating point coefficients. Thus, when the input data consist of sequences of integers (as in the case for images), the resulting filtered outputs no longer consist of integers, which doesn’t allow perfect reconstruction of the original image. However, with the introduction of Wavelet transforms that map integers to integers we are able to characterize