PictureCrypt

Demo
// Encryption
QByteArray message("secret");
QImage *image = new QImage("./images/sunset.jpg");
QImage *image_to_send = ModelPC::Encrypt(message, image, "password1");

// Decryption
QByteArray incoming_message = ModelPC::Decrypt(image_to_send, "password1"); // "secret"

What is PictureCrypt

PictureCrypt is a simple educational cross-platform steganography tool that hides data in images. This project is built on Qt Platform using the MVC pattern and features GUI and console interface. Project repository is available on GitHub.

Download

Get stable binary files at latest release page Or download latest potentially unstable files:

Windows:
Linux:

Console use

$ picturecrypt -h
Usage:
  picturecrypt encrypt <image> <input file> <key> <output> [options]
  picturecrypt decrypt <image> <key> <output> [options]
  picturecrypt (-h | --help)
  picturecrypt --version

Options:
  -h --help    Show this screen.
  --version    Show version.
  -m --mode    Mode of cryption.
  -b           Encryption bitsUsed parameter.
$ picturecrypt --version
1.4.1
$ picturecrypt encrypt original.jpg data.txt somekey result.png
$ picturecrypt decrypt result.png somekey output.txt

Available modes of encrypting

  • 0 - Auto-detect, used for decryption, so it auto-detects (invalid at encryption as you must select the encryption type)
  • 1 - v1.3, only available on versions 1.3+
  • 2 - v1.4, advanced (default) encryption mode, available on versions v1.4+

Documentation

Documentation generated by Doxygen

CI/CD

Continuous integration is fulfilled via Travis CI for Linux and AppVeyor for Windows.

i18n

This project is available in multiple languages thanks to the Qt Linguist Platform.

Available languages:

  • English (default)
  • Russian
  • German

Works of other people used in this project

  • QAESEncryption by bricke (provided under unlicense)
  • ‘Circle Icons’ by Nick Roach provided under GPL v3.0.
  • ‘MS Shell Dlg 2’ font used and ‘Montserrat’ font used under the SIL Open Font License.

License

This software is MIT licensed.

Alexander Kovrigin
Alexander Kovrigin
Undergraduate CS Student

C++, Kotlin, Python Enthusiast