GG-AESY: Hide cool stuff in images
GG-AESY does the following things:
- Can hide AES-256 encryption keys or both keys and IV’s (Initialization Vectors)
- Can hide payloads both encrypted and unencrypted
Hiding is done in 2 different ways:
- Random mode: Hiding anywhere possible without breaking the JPEG
- Append mode: appending it to the end of the JPEG.
In addition to the stegano, GG-AESY will also encrypt your file/payload, any extension should work as it’s doing byte encryption.
GG-AESY is also capable of decrypting payloads using the JPEG’s to extract it’s key/IV/payload.
If no key/iv is provided, random key/iv’s will be used to encrypt your data. All stego modes will require you to pass GG-AESY a JPEG image (-i). If you have specified an outfile (-o) to save your important information about the crypto ( such as key, iv, payload), all stego modes will also add the injection places in this file.
-rk or –random-key-mode: This Stego mode will hide your AES-256 key at a random injection point.
-ra or –random-all-mode: This Stego mode will hide both your AES-256 key and IV at a random injection point, both injection points can be the same (it’s a random selection process), in this case, the key and IV will be injected back to back.
-ak or –append-key-mode: This Stego mode will append the AES-256 key at the end of the JPEG.
-aa or –append-all-mode: This Stego mode will append both AES-256 key and IV at the end of the JPEG.
-ap or –append-payload-mode: This Stego mode will append the encrypted payload bytestream to the end of the JPEG.
-rp or –random-payload-mode: This Stego mode will inject the encrypted payload bytestream at a random injection point. CAUTION: This only works if your payload does not exceed 65,535 bytes, which is about 65kb, if you try a larger payload, an error will be thrown in your face. Needless to say, this mode is practically useless 🙂
-apu or –append-payload-unencrypted: This Stego mode will append the payload bytestream as-is to the end of the JPEG.
Copyright (C) 2020 jfmaes