Steganography is hiding secret data in non-secret data. Yeah, it's exactly what it sounds like. To be brief, you can do things like hiding an image inside another image file or hiding text in an audio file etc.
In cryptography you obscure data so that no one else other than the person who is allowed access to that data can read it. But, the fact that a message or "secret" is sent or communicated is known to all.
In steganography, there is no such paper trail. The fact that there is a message itself is hidden. Combining this with cryptography is pretty cool.
The ones currently in the application use the Least Significant Bit method. But the project will support other methods slowly (in the long run. Pull requests are welcome).
- LSB
- Phase Encoding
- Spread Spectrum
Payload - It is the secret data you want to hide.
Carrier - It is the non-secret data in which you hide the payload.
The table shows what files can be merged and extracted as of now.
| Payload | Carrier | Merge Output | Extraction Output |
|---|---|---|---|
| Text file (.txt) | Image files (PNG, JPEG, WEBP) | Image file of PNG format | Text file (.txt) |
| Audio files (WAV, MP3) | Audio file of WAV | Text file (.txt) | |
| Image (PNG, JPEG, WEBP) | Image files (PNG, JPEG, WEBP) | Image file of PNG format | Image files (PNG, JPEG, WEBP) |
Encryption technique/standard used is mentioned and those available are marked in tasks.
- Text In Audio (AES Encryption)
- Text In Image