Assignment 8: Cryptography
There are three parts to this assignment. Provide the requested
answers and information on (or attached to) a GitLab wiki page called
(1) Monoalphabetic cipher
Below are individualized links pieces of text encoded using a single-substitution (monoalphabetic) cipher. Your task is to crack the code and discover the secret poem. You should start by doing a frequency analysis of the letters in your text.
When finished, take a picture of your decrypted text, and attach it to your wiki page.
(2) Vigenère cipher
- Choose a password that is 5–8 letters, and write it down.
- Write down a sentence that is about 4–6 times the length of your password.
- Use the polyalphabetic substitution table to encode the sentence using your password.
- Type the encrypted sentence and the password directly into your wiki page (does not need to be an attachment).
- You’ll get full credit for this portion only if I can make sense of your sentence by decrypting using your password. So you may want to give that a test run with a friend: give them your encrypted sentence and password, and see if they get it right.
(3) Public key cryptography (GPG)
Use some variant of GNU Privacy Guard (GPG) or Pretty Good Privacy (PGP). Here are some options, including the software download links and a video illustrating their use.
- Software: http://www.gpg4win.org/ (free) Note: download the full version, and when you install, select “GPA” (GNU Privacy Assistant) on the Choose Components screen:
- Video demonstration: https://vimeo.com/113980848
- Software: https://gpgtools.org/ (free)
- Video demonstration: https://vimeo.com/114185832
- Software: https://ipgmail.com/ ($2ish)
- Android phone/tablet:
- Software: OpenKeychain (free)
Once you have one of the GPG apps installed, generate a new key pair using your email address and password. If using a lab computer, you should back up your key to a USB drive (ideally) or store it somewhere in the cloud. (In real life, you should not let your private key leave your control, but we can be more relaxed for this exercise.)
- Import my public key, which you can get at that link.
- Export your public key to a
.txtfile, and attach that file to the wiki page.
- Compose a short message to me, then sign it with your key and
encrypt it with my key. Attach the encrypted version of the message
to the wiki page. Its extension is usually either