C++ Programming | LSB Image Steganography Project

Home C++ Programming | Course Home C++ Programming | Projects C++ Programming | LSB Image Steganography project

LSB Image Steganography Project

About this project

The goal of LSB image steganography project is implementing the art and science of hiding information using LSB mechanism in C++ programm

Share via :

About this project

TYPE Individual project
DIFFICULTY Intermediate
ESTIMATED TIME 40 hours
CONTACT training@emertxe.com

Introduction

Steganography is the art of hiding the fact that communication is taking place, by hiding information in other information. Many carrier file formats can be used, but digital images are the most popular because of their frequency on the internet. For hiding secret information in images, there exists a large variety of steganography techniques some are more complex than others and all of them have respective strong and weak points. Different applications may require absolute invisibility of the secret information, while others require a large secret message to be hidden.

 

Steganography is the practice of hiding private or sensitive information within something that appears to be nothing out of the usual. Steganography is often confused with cryptology because the two are similar in the way that they both are used to protect important information. The difference between two is that steganography involves hiding information so it appears that no information is hidden at all. If a person or persons views the object that the information is hidden inside he or she will have no idea that there is any hidden information, therefore the person will not attempt to decrypt the information.

 

What steganography essentially does is exploit human perception, human senses are not trained to look for files that have information inside them, although this software is available that can do what is called Steganography. The most common use of steganography is to hide a file inside another file.

Requirement Details

  1. The application accepts an image file say .bmp along with a text file that contains the message to be steged
  2. Analyze the size of the message file to check whether the message could fit in the provided .bmp image
  3. Provide an option to steg a magic string which could be useful to identify whether the image is steged or not
  4. The application should provide an option to decrypt the file
  5. This has to be a command-line application and all the options have to be passed as a command-line argument

Skeleton Code

The skeleton code is a very interesting concept used in Emertxe. By looking into the skeleton code, you will get a clear picture of converting the given requirement into a working LSB image steganography project. This will also take care of important aspects like modularity, clean coding practices, reusability, etc.

 

Sample Output

Here are the sample output expected by the end of LSB Image Steganography project execution.

 
LSB Image Steganography Project
Fig1: Command Line usage with arguments
 
Embedded Systems Course
Fig2: Encoding usage via command line
 
LSB Image Steganography Project
Fig3: Encoding steps and output at different stages
 
LSB Image Steganography Project
Fig4: Decoding steps and output

References

Sample Output
  • Fig1: Command Line usage with arguments
  • Fig2: Encoding usage via command line
  • Fig3: Encoding steps and output at different stages
  • Fig4: Decoding steps and output
Sample Output
  • Fig1: Command Line usage with arguments
  • Fig2: Encoding usage via command line
  • Fig3: Encoding steps and output at different stages
  • Fig4: Decoding steps and output

similar projects