Steg
Command line steganography tool.
Notice
I am trying an experiement - i am trying to restructure the way steg works.
Currently i am re-implementing the 3 working strategies another way that should scale more nicely meaning that more strategies will be easier to add later on.
Feel free to add strategies in the current way and i will still merge them. :rocket:
Terms
payload- the secret message or content to be hiddencarrier- the entity in which you are trying to hide apayloadpackage- the result of hiding thepayloadin thecarrierencoding density- the normalised proportion of the package that the paylaod has affectedchannel- describes the type of carrier in which thepayloadwill be hiddenscheme- the way in which apayloadwill be hidden in the specific type ofchannelstratagy- refers to the combination of achanneland ascheme
Usage
cargo install steg (you must have [cargo](https://crates.io/install) installed)
// Hide something
steg hide -p ./payload.png -c ./carrier.png -o ./output.png
// Reveal something that was hidden
steg reveal -c ./output.png
The below is a plan of the supported payload and carrier types and default strategies for use with each.
Key
- :heavy_check_mark: is done
- :hammer: is being made
- empty means not supported yet - make a PR!
Supported formats
- text
- :hammer: utf8
- images
- :hammer: png
- jpeg
- bmp
- videos
- avi
- mp4
Text default stratagies
| Supported | Payload | Carrier | Default stratagy |
|---|---|---|---|
| :heavy_check_mark: | utf8 | utf8 | whitespace_text_steganography |
| :heavy_check_mark: | utf8 | image/png | lsb_text_png_steganography |
| utf8 | image/jpeg | ||
| utf8 | image/bmp | ||
| utf8 | video/avi | ||
| utf8 | video/mp4 |
Image default stratagies
| Supported | Payload | Carrier | Default stratagy |
|---|---|---|---|
| :heavy_check_mark: | png | image/png | lsb_png_steganography |
| png | image/jpeg | ||
| png | image/bmp | ||
| png | video/avi | ||
| png | video/mp4 | ||
| jpeg | image/png | ||
| jpeg | image/jpeg | ||
| jpeg | image/bmp | ||
| jpeg | video/avi | ||
| jpeg | video/mp4 | ||
| bmp | image/png | ||
| bmp | image/jpeg | ||
| bmp | image/bmp | ||
| bmp | video/avi | ||
| bmp | video/mp4 |
Video default stratagies
| Supported | Payload | Carrier | Default stratagy |
|---|---|---|---|
| avi | image/avi | ||
| avi | image/mp4 | ||
| mp4 | image/avi | ||
| mp4 | image/mp4 |