Chaya
Advance Image Steganography
Using LSB-LPS + AES-256-GCM + FLIF
Right To Privacy!
United Nations Declaration of Human Rights (UDHR) 1948, Article 12 - “No one shall be subjected to arbitrary interference with his privacy, family, home or correspondence, nor to attacks upon his honor and reputation. Everyone has the right to the protection of the law against such interference or attacks.”
International Covenant on Civil and Political Rights (ICCPR) 1966, Article 1 - "No one shall be subjected to arbitrary or unlawful interference with his privacy, family, home or correspondence, nor to unlawful attacks on his honor or reputation. Everyone has the right to the protection of the law against such interference or attacks."
With Chaya, you can easily protect your privacy by using steganography. Chaya experiments showcase very promising results by evading detection against various attacks against steganography.
Released v1
- automatic experiment mode
- automatic jpg to png (if specified)
- json data to csv conversion (if specified)
- support for lsb only steganography
- add encrypted message size in json data
- convert cipher_data.json to cipher_data.csv
- add silent mode (default - verbose)
- workspace cleaner
Intallation
FLIF support only works with the following Operating Systems completely!:
- Ubuntu / Pop!_OS / Linux Mint / Blackbuntu
- All other Linux distributions that support PPA / Ubuntu based
FLIF compression has to be commented from the script for 'Kali Linux', 'Parrot OS' and other direct Debian based system that don't support PPA. This means your compression will not work, but the steganography will work perfectly. Recommended to use a Ubuntu/PopOS VM and use this script.
Python Setup
If already done, skip to next step.
sudo apt install python3-pip
Get Repository
git clone --depth=1 https://github.com/xerohackcom/Chaya.git && cd Chaya && pip3 install -r requirements.txt
System Setup
sudo apt-add-repository ppa:linuxuprising/libpng12
sudo apt update
sudo apt install libpng12-0
Usage
Help Menu
python3 chaya.py --help
Automatic Operations
- First add few images (png format) to /autoexp/image_raw/
- Run the following command
python3 chaya.py -enc
Output
- Enc + Steg images -> /autoexp/image_steg/
- Enc + Steg + Comp images -> /autoexp/image_steg_comp/
- Cipher data -> /appdata/cipher_data.json
- Analysis data -> /appdata/analysis_results_enc.json
Scheduled v2
- test and add support for JXL (JpegXL)
- -----> replace flif with jxl as default
- add analytic subnode - sub analytics after generating main csv
- -----> comparisons - values only csv
- -----> comparisons plotter
- manual experiment mode
- linear payload chains
- -----> auto chunk payload for optimal storage in multiple images
- linked payload chains
- -----> randomize storage for added security against reversing
- payload in-memory execution for evading on-disk forensics
- video steganography support using ffmpeg
The Plan
The plan is to build this into a modular framework where users can also add their custom scripts for encryption and steganography part. Support for multiple compression algorithms is being added. During the experiments, FLIF was supported, but now JpegXL (JXL) is the new best lossless raster based compression. Support for payload execution and other interesting stuff underway. Can be done combining commands, but not inbuilt. Video steganography using ffmpeg is being tested. ZG9udCBsZXQgdGhlIGdsb3dpZXMga25vdyBoYWhh