Steganography

The class Steganography provides a tool for encrypting and decrypting text messages and images in another image.

Description: According to the web wikipedia: "Steganography is the art and science of writing hidden messages in such a way that no one apart from the intended recipient knows of the existence of the message; this is in contrast to cryptography, where the existence of the message is clear, but the meaning is obscured. ..."

This tool allows a user to specify text messages and images that should be encrypted into the image shown in the main frame. The secret message is entered into the text area and the secret image is loaded by clicking the button "..." next to the field labeled as "Secret Image" (see the dialog below).

The choice of encrypting secret text or secret image is made by clicking on the corresponding radio buttons. The slider bar denoted as "# of bits" specifies how many least significant bits will be used for encryption. The entry labeled as "Offset" refers to the encryption offset from the left upper corner of the visible image. Decryptions of secret text or secret image is succesful only if the "# of bits" and "Offset" parameters are consistent with the encryption. The encryption is executed using the button "Encrypt" and the decryption is excuted using the button "Decrypt". The button "Preview" allows a user to view the image in the main frame after encryption. The button "Apply" transfers the preview image into the main frame.


The images below demonstrate three different settings of the "# of bits" entry with a fixed offset.

Fig. 1: The cat image to be encrypted.

Fig. 2: The resulting image after encryption with the cat image and # of bits equal to 8 bits (the original image contains 8 bits per pixel). The cat image encryption is visible.

Fig. 3: The resulting image after encryption with the cat image and # of bits equal to 4 bits (the original image contains 8 bits per pixel). The cat image encryption is slightly visible.


Fig. 4: The resulting image after encryption with the cat image and # of bits equal to 1 bit (the original image contains 8 bits per pixel). The cat image becomes completely invisible.

Author: Rob Kooper.
Documentation: Peter Bajcsy.