Adaptive Data Hiding in Edge Areas of Image with LSB Substitution Method in a Key-free Pseudorandom Way (2012)
Hiding a secret message in an image is called Steganography. In this project, I implemented Yang et. al. method in MATLAB codes. It was about 1500 lines.
I also develop a semi-random method to scatter data all around the picture during Implementation.
I worked on this project at the University of Guilan. The main idea of this work was about having the ability to hide a message _ usually a secret one_ in an image. The image that the data had to be hidden in it is called the cover image.
My work was based on Yang ET. Al. work. The method first finds the edge areas of the image. Then regarding sharpness that an edge has, the secret bits will be embedded in the LSB part of the pixel value.
The idea of hiding data in these areas is that the edge areas of the image have more difference with each other and the human vision system cannot find if the pixels in these areas had been changed a little.
There are many ways to find the edge areas of an image, like using Sobel mask, or using a derivative of an image, or finding these areas by subtracting the pixel value by the pixel value that sits next to it.
After embedding secret bits, they modify the value of pixels to be able to extract the secret bits after the embedding.
At the other hand, the strategy to find these images and find the message is called Steg-analyzing.
In these strikes to the stego images (the one with secret bits in it), the striker finds out that there is a message in an image if he has the cover image. But if the secret bits was not in order it would be so hard to extract the exact secret message in the Stego image.
If a completely random method used to scatter the secret bits around the image, then it would be impossible to extract the secret message.
There are methods that scatter the secret bits all around the image and they use Hash functions that it seems to be a random method but if the receiver of the Stego image had the key then it would be able to extract the data. These methods are so complex.
I tried to find a method that the key would be a specification of the Stego image and then scatter the data using Magic matrix. The magic matrix is a matrix that the summation of all the columns and rows is equal, and it is equal to the diameter summation of the matrix. For a specific size of the magic matrix if you use a specific method to make one, then you can always find that specific magic matrix. I used this principle and made a semi-random method to scatter the data.
The Yang method was a general approach to hiding data and then extract it but in particular and in implementation there are a lot of possible ways to use their principle to hide the data and also more image capacity. The capacity that a cover image has.
I tried and find a method to increase the capacity of cover images. The results show that changing the method can be increased up to 5.8%.
This project implemented in MATLAB and it was about 1500 lines.