Sébastien ROLLAND - Faeris95
SteganoPy3 hides data such as text in an image using LSB and cryptographycally secure pseudo-random number generator to determine the coordinates of pixels to use.
SteganoPy3 replaces LSB of each colour component of each pixels with a bit of data to hide until all bits are hidden. 32 first bits are used to write the total length to recover so it can hide a maximum of X * Y * 3 - 32 bits with X and Y the pixels width and length of the image.
The key used as seed is derivated with 1M iterations of PBKDF2 with HMAC and SHA-256. ChaCha20 with 8 bytes nonce encrypts a counter which is used as PRNG.
python3 -m pip install --user -r requirements.txt
Works with PNG images only !
To hide :
steganoPy.py hide <image.png> <data.file> <password> [-o <image_with_data.png>]
To recover data:
steganoPy.py show <image_with_data.png> <password> [-o <data.file>]
Add possibility to encrypt data before hiding it