openstego (the free steganography solution)
OpenStego is a tool implemented in Java for generic steganography,
with support for password-based encryption of the data.
Note: openstego lists zulu-openjdk11 as a required dependency.
However, it may also work with other JDK >= 11 packages such as jdk11,
zulu-openjdk17, OpenJDK11, or OpenJDK17. It will *not* work with jdk,
openjdk8, nor zulu-openjdk8.
Features:
- OpenStego is written in pure Java and should run on all platforms
supported by java. It has been tested on MS Windows and Linux,
but should not have any problem on other platforms too. Please
report bugs if you find any.
- It supports password-based encryption of data for additional
layer of security. DES algorithm is used for data encryption,
along with MD5 hashing to derive the DES key from the password
provided.
- It uses a plugin based architecture, where various plugins can
be created for different kind of Steganographic algorithms.
Currently, it supports two plugins - LSB (Using Least Significant
Bit of Image Pixels) and RandomLSB (Randomized LSB), but new
plugins can be created for other algorithms like DCT, FFT, etc.
Plugins can also be easily added for other type of cover files
like Audio files.
- LSB plugins support only 24 bpp images. Support for additional
image formats (like BMP, TIF, etc.) could be added by installing
Java Advanced Imaging (JAI).
- LSB plugins also support generation of random images containing
noise to be used as cover file. The size of the generated random
image is the minimum possible size required to embed the given data.