ENG520 Computer Architecture and Organisation
Steganography is the art and discipline of embedding hidden messages into objects in such a way that no one suspects the existence of the message and subsequently extracts it except for the sender of the message and its recipient. Figure Q1.1 shows a simple representation of an image steganography where the Cover Image is the image in which the Secret Image is going to be hidden to generate the Stego Image. Image steganography is a very popular mean to conceal a secret message since Human Visual System can’t notice a minor difference in the values of the image pixels. In fact; research showed that an alteration up to the four Least Significant Bits (LSBs) of an image pixel values does not distort much the image.
The LSB based image steganography conceals the Secret message in the LSBs of the pixel values of the Cover image. Figure Q1.2 explains the steganography LSB algorithm with 8-bit grey level images1 . With LSB steganography of order N bits, a pixel of the Stego image consists of two fields: 1. The upper field includes the N most significant bits of the corresponding pixel in the Cover image 2. The lower field includes the “8-N” most significant bits of the corresponding pixel in the Secret image At the recipient, each 8-bit Stego image pixel is processed in order to extract an estimate of the corresponding pixel values in the Cover and the Secret images by setting the “8-N”/N Least Significant Bits in the reconstructed Cover/Secret image to zeros, see Figure Q1.2
Requirements • Complete the attached program: stego_lsb.asm2 in order to implement in MIPS32: Two functions to implement respectively the encoding and decoding of the LSB image steganography algorithms detailed above. The functions take as parameters the addresses of the source and result image(s) along with the order of the LSB algorithm (N3 in the above). A main function to test the encoding and decoding functions implementation with the Mars Bitmap Display tool.