This assignment is designed to demonstrate how PGP encryption works by using open-source and auditable tools to encrypt email messages. It will work equally well on just about any plain-text message.
Install GnuPG in your virtual machine image (use apt--your package manager on Linux Mint, not the website download) and create a public/private key pair. The command sudo apt install gnupg
should install the requisite programs on your virtual machine. Github has some good documentation on how to do this here.
You will generate a public and private key pair using GnuPG. For our assignment, you will need to do the following:
- Install GnuPG as described above
- Clone your assignment repository (this one!) to your virtual machine
- Generate your public and private key pair
- Place your public key in the project repository folder as
public_key.asc
(Note! All file names must be exact in this assignment!) - Commit and push your repository. Wait at least one working day (not weekend day)
- Pull your repository. There will be at least two new files there named
message_to_student.asc
andverification.asc
- Decrypt the message included in
message_to_student.asc
using your private key - Read the message
- Encrypt the exact same message back to me by using your private key and my public key
prof_pkey.asc
as the filesecret_message_response.asc
- Place the
secret_message_response.asc
file in the git repository (don't use any sub-directories) - DO NOT INCLUDE ANYTHING ELSE IN THE REPOSITORY, including your secret key and the decrypted message. Including either of these will cause you to lose 50% of the points for this assignment!
- Commit and push the repository. Wait another working day or two
- Pull the repository and you should see a new file named
verdicts.json
and possibly others - Read
verdicts.json
and fix any errors - Repeat #12 - #15 until all errors are resolved. You will get a new
verdicts.json
for every cycle - Enjoy your favorite beverage, as you are done!
Your final commit and push with the files public_key.asc
, message_to_student.asc
, secret_message_response.asc
and the final verdicts.json
in the root directory (along with the files already included with the repository) is your submission. Don't place your files in any subfolders or subdirectories. Also, do not compress your files.