Skip to content

Latest commit

 

History

History
105 lines (68 loc) · 3.5 KB

README.md

File metadata and controls

105 lines (68 loc) · 3.5 KB

WAVE-Steganography

Build Status

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).

Steganography Technique Used

Setup

Prerequisites

The following are required:

Dependencies

Dependencies are managed using Cargo. See manifest files here:

Download / Build

Download using Git:

$ git clone https://github.com/austin-millan/WAVE-Steganography.git; cd WAVE-Steganography/

Build (download dependencies):

$ cargo build

Test

Run all tests:

$ cargo test --all

CLI Usage

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>

Contributing

Please see CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Known Issues

  • 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.

License

Provided under MIT License by Austin Millan.

References

Repository Views

HitCount