Steganography is the art of hiding the fact that communication is taking place; by hiding information in other information. Many different 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 to 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 decode the information.
What steganography essentially does is exploit human perception; human senses are not trained to look for files that have information inside of 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.
• The application accepts an Image file (say .bmp) along with the a Text file which contains the message to be steged.
• Analyze the size of the message file and the data part of the .bmp file to check whether the messsage could fit in the provided .bmp image.
• Provide a option to Steg a magic string which could be usefull to identify whether the image is steged or not.
• There shall be an option to steg a default magic string or a user-defined magic string.
• The appliaction should provide a option to Decode the file.
• This has to be a Command-line appliaction and all the options has to be passed as a Command-line argument.
• Knowledge of encryption and decprytion
• File I/O
• Pointers and Structures
• Bitwise Operations