A command-line Java application that embeds and extracts encrypted data in images using all four ARGB channels, with an optional hand-gesture–derived password and a debug/admin mode for deeper inspection.
- RGBA Encoding: Hides bytes across Red, Green, Blue, and Alpha channels for higher capacity and undetectability.
- Optional AES Encryption: Secure your payload before embedding.
- Hand-Gesture Password: Derive encryption keys from live hand-tracking coordinates (FXGL).
- Randomized Coordinates: Obfuscates pixel locations per encoding session for extra security.
- CLI Interface: Easy command-line options and shorthand flags for encode, decode, and debug/admin.
- Java 17 (or later)
- Maven (or Gradle)
- FXGL 21.1+ (for hand-tracking)
# Clone the repository
git clone https://github.com/yourusername/rgba-steganography.git
# Build with Maven
cd rgba-steganography
mvn clean package
This tool supports both full flags and shorthand commands with useage of CLI. Append the letter a
to any mode to activate debug/admin mode, which prints internal state and reveals embedded data for verification.
Modes & Shorthand:
Shorthand | Mode | Description |
---|---|---|
e |
encode | Embed a file into an image (without encryption, unless toggled) |
d |
decode | Extract hidden data from an image |
ea |
encode + debug/admin | Encode and show internal pixel mapping and raw payload |
da |
decode + debug/admin | Decode and display pixel locations |
Including a LICENSE file clarifies how others may use, modify, and distribute your code. By choosing an open-source license such as MIT, you grant permission for use under defined terms while protecting your intellectual property and limiting liability.
This project is licensed under the MIT License. See LICENSE for full details.
rgba-steganography/
├── src/main/java/
│ ├── AESCipher.java/ # AES utilities
│ ├── StegoDecoder.java/ # Decoding algorithms
│ ├── StegoEncoder.java/ # Encoding algorithms
│ ├── StegoTool.java/ # Main Logic
│ └── Utils.java/ # Coordinate Parsing, Deterministic Data Derivation and Bitwise Message Encoding
├── src/test/java/
├── pom.xml # Maven build
└── README.md
- GUI version for real-time visualization
- Support for video steganography
- More diff-metrics and performance benchmarks
- Daniel Cullinane – daniel.cullinane@outlook.com
- GitHub: @dancull