The word “steganography” can be defined as “covered writing” or the technique of hiding messages inside other messages. It is derived from a Greek word “στεγαυω”. This idea of data hiding is not a novelty, it has been used for centuries all across the world under different regimes - but to date it is still unknown to most people - is a tool for hiding information so that it does not even appear to exist.
StegIt uses the Least Significant Bit (LSB) algorithm to hide the secret data in the least significant bits of each RGB components of an image in a way that will be invisible to the naked eye
Authors: Feres Gaaloul, Ilyes Hamrouni
- Use 24 bit bitmap
PNG
,BMP
andJPG
images and also animatedGIF
images as cover image. - Hide text, documents and 24 bit bitmap images as secret data.
- Compress data before encoding to reduce effect on stego image using the
Java ZLib
compression library. - Encrypt the secret message or document using
128 bit AES CBC
encryption (Advanced Encrytion Standard) for an added layer of security. - Provide either a password for encryption, or an image that will be automatically hashed to create an encryption key.
- Choose the number of pixels to use to hide 1bit of data/1 pixel (1 or 2).
- Interaction with system applications and clipboard.
This application is built using Java
and JavaFX
for GUI development.
Java JDK
is required to build the project, Java JRE
is required to run the project.
- Tested working document formats :
- Working : any plain text documents (
.txt
,.log
,.java
,.py
,.cpp
,.html
,.xml
). and rich format documents (.rtf
,.doc
(with basic formatting)) and.pdf
documents. - Not Working :
.docx
.
- Working : any plain text documents (
- Cover
JPG
images are saved asPNG
to avoid loss of hidden data after JPEG compression. - Due to the limitation of the
GIF
colormap, hiding large data can heavily alter images.
- src : source files.
- testFiles : images and documents used to test the app.
- documentation :
JavaDoc
documentation of the project. - StegIt.jar : Binary application.
- Screenshot.png : main screenshot.
- Package Steganography.png :
UML
class diagram. - Algorithme.pdf : project, GUI and algorithms description (in french).