PISGM is a client-server software tool that affords the creation of a PKI so that users can send messages to other groups of users securely. The security is two-fold: One layer of encryption, via AES keys delivered under RSA, and one layer of obfuscation, by way of encoding the AES ciphertext as pixel values in grayscale images. These grayscale images, contained in standard PNG files, can be posted losslessly to any public and potentially unsecured web location, and will give no indication as to being generated by PISGM, at least explicitly. As long as connections can be established by clients with a central image key management server, indefinite amounts of messages of arbitrary sizes can be \linebreak delivered as PISGM images, ensuring confidential and directed communication.
- Encryption:
python client.py -e "[message string]" [image filename]
- Decryption:
python client.py -d [image filename]
- Written by Nathan Percival, Conor Finegan, and Charles Cook; 2020
- Uses PyCryptoDome, Python Imaging Library, Apache CGI, and common Python modules