This tool can embed files inside 16-bit WAV files, writing the contents of a file into an audio file in a way that it can be extracted later, using this tool.
There's no graphical interface (for now), so you'll need to compile from source and use its command line interface.
It's not entirely stable yet, a beta release should include steganography for
16-bit and 24-bit WAV files, along with a completed image-encryption crate.
(More in the Known Issues
section at the bottom).
The following are required:
Dependencies are managed using Cargo. See manifest files here:
- Cargo.toml (wave-stegranography)
- Cargo.toml (chaos-image-encryption)
Download using Git:
$ git clone https://github.com/austin-millan/WAVE-Steganography.git; cd WAVE-Steganography/
Build (download dependencies):
$ cargo build
Run all tests:
$ cargo test --all
Steganography
Embed payload in WAV file.
main steg [FLAGS] <COVER_PATH> <SECRET_PATH> <STEGO_OUTFILE_PATH> [SUBCOMMAND]
Extract payload in WAV file.
main unsteg [FLAGS] <STEGO_PATH> <OUTFILE_PATH> [SUBCOMMAND]
Image Encryption
The pixels of secret image are encrypted using chaotic henon sequences as a keystream.
main encrypt <SECRET_PATH> <OUTFILE_PATH>
Pixels of the secret image are decrypted using chaotic henon sequences as a keystream.
main decrypt <SECRET_PATH> <OUTFILE_PATH>
Please see CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
-
Image Encryption by Henon Chaotic System
- "Confusion" isn't reached with current image encryption system. Only "diffusion" based on pixel values. (Which is why the module is called image_obfuscation).
- The size of decrypted image does not match exactly with original image, even with lossless formats like PNG.
- Issue with lossy format: if encrypting lossy formats (JPG), the output should be in a lossless format to avoid issues with decrypting an image that has lost data.
-
Wave-Steganography
- Only compatible with 16-bit WAV files.
Provided under MIT License by Austin Millan.