PISS (Picture Secret Steganography) is a command line tool to encode/decode secrets into/from image files using LSB steganography.
Run piss --help
for usage.
cargo install piss
piss encode samples/the-matrix.jpg samples/secret.txt samples/the-matrix-reloaded.png
Original image:
Image with secret:
piss decode samples/the-matrix-reloaded.png samples/secret-reloaded.txt
By default, PISS uses 2 bits per image byte to encode the secret, you can change this value if desired:
piss -b 4 encode samples/the-matrix.jpg samples/secret.txt samples/the-matrix-reloaded.png
Just remember to decode using the same number of bits, otherwise the output will be garbage:
piss -b 4 decode samples/the-matrix-reloaded.png samples/secret-reloaded.txt
It is not recommended to encode secrets and save the output as .jpg
as compression is performed and the secret is lost.
The user can specify the number of bits of the secret to use per image byte
It is possible to convert the image format during encoding, just set a different extension for the output.
If you find a vulnerability, bug or would like a new feature, open a new issue.
To introduce your changes into the codebase, submit a Pull Request.
Many thanks!
PISS is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT, and COPYRIGHT for details.