Desktop application for hiding encrypted text inside images using the LSB (Least Significant Bit) steganography method with AES-256-GCM encryption.
- Java 17+
- Maven 3.6+
git clone https://github.com/MrMayestic/ImageVault.git
cd ImageVaultmvn javafx:run- Open the ENCODE tab
- Click Pick Image and select an image (PNG, BMP, JPG)
- Choose Select File to pick a
.txtfile, or Input text to type directly - Enter a password (optional)
- Click Encode
- Preview the result image and click Download to save it
- Open the DECODE tab
- Click Pick Image and select the encoded image
- Enter the same password used during encoding
- Click Decode
- The hidden message will appear in the text area
- Java 17
- JavaFX 21
- Maven
- AtlantaFX (NordDark theme)
- AES-256-GCM (
javax.crypto) - LSB steganography (
javax.imageio)
src/main/java/com/imagevault/
├── Main.java
├── Launcher.java
├── controller/
│ └── TaskController.java
├── model/
│ ├── StegoEncoder.java
│ ├── StegoDecoder.java
│ └── EncryptData.java
└── util/
└── ErrorHandler.java
Patryk Pilch, Szymon Kodura — AGH University of Science and Technology, 2026