A complete desktop application to hide any kind of data inside bitmap images.
This program is a simple example for blind image steganograpy using Least Significant Bit (LSB) substitution. It lets the user hide any kind of data into 24-bit bitmap images on a GUI.
This desktop app was developed as a part of my MSc Seminar in 2015, and it is shared on github to be helpful for other users.
It is possible to hide either text messages or any kind of files by switching the option with the radio buttons in the application.
Necessary information about hidden data such as text length (for text messages), size of file, file name, length of file name (for files) is embedded within the data. This is done by using the same LSB algorithm by replacing image pixels in reverse.
Two predefined string codes "tt1" and "tb1" are embedded into the image to recognize the type of hidden data in decoding step. This operation is to check if there is any information in the stego file, and if so to decide which kind of data exists in it. "tt1" is encoded at the end of the cover image if hidden data is a text message, or "tb1" is used if the hidden data is a file which contains its original file name to be used in decoding. Extraction method is chosen automatically using these string codes in order to avoid confusions.
This program was developed in Visual Studio 2015 with C# language under Windows 7. So, it needs .NET framework.
This project is uploaded as a form application, and compiled binary file for Windows is attached in the release v1.0.
Embedding Text
Embedding>Embed Text>Browse>Choose Image>Type Message>Embed>Save As
Embedding File
Embedding>Embed File>Browse>Choose Image>Open File>Embed>Save As
Extraction
Extraction>Browse>Choose Stego Image>Extract
It is an open-source project. Users can edit the solution file in Visual Studio as needed and recompile.
Application works properly for 24-bit bitmap images. I have not added a conditional statement to check for 24-bit. It can be done if needed. Source code was written in Turkish, and it has been translated for github recently. So, there can be some left-overs in the code. I was a newbie in C#back then, so there may be shorter solutions or other bugs in the program. Feel free to report an issue or pull request for possible improvements.
MIT License | © 2015 Kadir Tekeli
Contributions are always welcome!
- Fork it!
- Create your feature branch: (
git checkout -b my-new-feature
) - Commit your changes: (
git commit -am 'Add some feature'
) - Push to the branch: (
git push origin my-new-feature
) - Submit a pull request.
A matlab library with several basic audio steganography algorithms.