A list,
Digital watermarking directly inserts identification information into digital carrier without affecting the use value of the original carrier. It is not easy for users to detect but can be recognized and identified by the manufacturer. It can protect information security and realize anti-counterfeiting traceability, which is also one of the research fields of information hiding technology. LSB (Least Significant Bits) is the simplest method to create digital watermarks, which can ensure that the watermark is not seen by users but can be recognized by manufacturers.
1 Introduction to LSB algorithm
LSB, short for Least Significant Bit, is a simple and effective data hiding technique. The basic method of LSB steganography is to replace the lowest bit of the carrier image with the secret information to be embedded. The high level plane of the original image and the lowest plane representing the secret information form a new image containing hidden information.
The grayscale image stores pixels in a single channel format, with each pixel value ranging from 0 to 255, and the pixel’s bitplane is each bit of the corresponding binary pixel. For example, a pixel with a value of 78, binary 01001110, has a decreasing bit weight from left to right, and the most significant bit (MSB) on the left has a bit weight of 2 72 ^72
7
), the rightmost bit is the least significant bit (LSB, bit weight is 20 02 ^02
0
). The same bits of each pixel are extracted to form a new plane, which is called the bitplane of the graph. The LSB steganography, as its name suggests, inserts/hides information in the LSB, the lowest level plane.
It should be noted that when LSB is embedded, the carrier image format should be grayscale
Taking the famous Lena graph as an example, the following is the original Lena graph of grayscale graph:
Here is the plan of its bits, descending from left to right and top to bottom:
It can be seen that the higher the bit plane is, the more information of the original image is contained, the greater the contribution to the gray value of the image is, and the stronger the correlation between adjacent bits is, and vice versa. The LSB lowest level plane basically contains no image information, like random noise/noise, so you can fill in watermark/secret information here.
The embedding diagram is as follows:
When different bit planes are selected for embedding, the fidelity of LSB algorithm is as follows:
2 Algorithm Principle
Generally speaking, the picture we see is made up of small pixels, all of which are put together to form a big square, and this big square is the image we see. A grayscale image (also known as a black and white image) consists of one layer of pixels, while a color image consists of three layers of grayscale images. Take grayscale image as an example. The reason why we can see black and white on the image is that each pixel has a different pixel value. 0 is pure black, 255 is pure white, and gray is made up of the value between these two numbers. The closer you get to 0, the darker you get, and the whiter you get to 255. So why 0 and 255? Because the computer is binary, it will use 8 bits to represent a pixel (you can also use more bits, so the more the color of the image classification, image will occupy more space at the same time, but the eyes of ordinary people do not recognize so much color, different from ordinary people unless you), so the maximum value is 255, the lowest is 0. LSB hides information based on the binary system. Because human eyes are not very sophisticated color or brightness sensors, a slight change of pixel gray level by 1 is not detected by human eyes, that is, modifying the smallest bit of 8-bit binary code. When we change the last bit of each pixel of the image to the way we want it, it shows the information we want, but the user can’t see it, and it doesn’t affect the content of the image. This is the LSB digital watermark.
3. Basic characteristics of LSB algorithm:
LSB is a high-volume data hiding algorithm
The robustness of LSB is relatively poor (when steGO image encounters signal processing, such as adding noise, lossy compression, etc., it will be lost when extracting embedded information)
4 common EMBEDDING methods of LSB algorithm:
The secret information is continuously embedded in the lowest plane until the end, and the rest is not processed (typical MandelSteg software)
The secret information is continuously embedded in the lowest plane until the end, and the rest of the processing is randomized (also known as desertification processing, typical software PGMStealth).
The secret information is embedded in the least – and sub- low – order plane continuously and simultaneously
The secret information is embedded in the lowest level plane. After the lowest level plane is fully embedded, the secret information is embedded in the second level plane
The secret information is randomly embedded in the lowest plane
The above five methods have different robustness when the embedding capacity is different
Ii. Source code
CLC % clear screen Clear % Clear variables close all % Close open image % Read carrier image and display cover_object=imread('1.jpg');
if ndims(cover_object)= =3% If it is an RBG image, it is converted to a gray image cover_object= RGB2gray (COVER_object); end [Mc,Nc]=size(cover_object); figure; imshow(cover_object); Displays the title (%'Carrier image'); % read watermark image and display message=imread('2.jpg');
if ndims(message)= =3% If RBG image is converted to gray image message= RGB2gray (message); end [Mm,Nm]=size(message); message=double(message);
message=round(message./256); % is converted to bit stream to encode message=uint8(message); figure; imshow(256*message); Displays the title (%'Information to Be Hidden'); Watermarked_image = yinxie(cover_object,message); figure; imshow(watermarked_image,[]) title('Image with steganographic Information embedded') % showCopy the code
3. Operation results
Fourth, note
Version: 2014 a