The purpose of this project is to visually encrypt an image of a randomly generated password. Visual cryptography is a technique that allows visual images to be encrypted by hiding the information in two or more semi-transparent pictures. The visual encryption employed in this project divides the image into two separate pictures. Decryption is done by overlaying these two images together. This project will produce three images: the two encrypted pictures + the decrypted picture.
The program is divided into three separate parts:
- createPswd: Generate a random password
- convertToImage: Convert the generated password into an image
- visualCrypt: Encrypt/decrypt the image to produce two shares plus the decrypt image.
The entire project can be run from the main directory without requiring the user to go to each individual directory. Go to the section To Run
to see how to do so.
Please make sure the following are installed:
- python3
- PIL (python image)
- imagemagick (bash image)
- gdc compiler for dlang
- make
To run the complete project move into the main directory and type make
. The main makefile should do all the necessary compiling, running and file moving. This should produced the following files:
- decryptedPswd.png
- p5wdout1.png
- p5wdout2.png
To clean up the project, move into the main directory and type make clean
to clean up the entire project.
To clean up individual directories in the project, move into the main directory and type:
make cleanOne
to clean up directory createPswd/make cleanTwo
to clean up directory convertToImagemake cleanThree
to clean up directory visualCrypt
- Visual cryptography (https://en.wikipedia.org/wiki/Visual_cryptography)
- gdc compiler(https://www.howtoinstall.me/ubuntu/18-04/gdc/)