In this AEP, you will apply the concepts of modular arithmetic to learn about the powerful concept of public key encryption –- a method of encrypting and decrypting messages without sharing private information beforehand. The successful implementation of public-key encryption in the 1980's is widely considered one of the greatest scientific innovations of the last few centuries, and we use it every day without realizing it. And it all boils down to arithmetic!
Deadline: This AEP should be submitted on or before Sunday, June 5 at 11:59pm ET. If you need an extension on this deadline, contact the professor and explain why you need the extension, and when you plan on turning in the work.
This AEP focuses on another method for encrypting and decrypting messages that has a fundamental difference from the other methods we've seen in class and in AEP 1: Encrypting messages with binary. Before going any farther, please review AEP 1 for an overview of basic terminology and concepts from cryptography such as encryption, decryption, and key.
When we've encountered cryptosystems in the course, Alice is trying to send a message to Bob, but she doesn't want an evil eavesdropper Eve to be able to read it, even if the message is intercepted. So Alice encrypts the message and sends it to Bob. Simple, right? But there's one problem: In all of those earlier systems, Alice and Bob have to share the key. It's a lot like if I wanted to grant you access to my office –- I'd need to somehow get you my physical key. But…
What solved both of these problems was a mathematical innovation discovered in the late 1970s and early 1980s called public key encryption.
In a public key system, each user creates two keys: one that is kept private, and another that is made 100% public. If Bob is a user, and Alice wants to send him a message, Alice looks up his public key information and uses it along with an algorithm to encrypt the message. Then, when Bob receives the message, he uses his private key to decrypt it. Public key system are made in such a way that the mathematical combination of the public and private keys will decrypt the message.
Another important facet of public-key encryption is that a person can send an encrypted message to another, without having to make up their own key. As you'll see, if Alice wants to send Bob a message, only Bob needs to have public and private keys; Alice does not need to register with the system.
This AEP will focus on a simple (but vulnerable, as you'll see) public-key system that uses the modulus ("mod") function. Here's how it works:
Bob is making a key. He randomly generates the numbers
The pair
If Alice wants to send Bob a message, she does the following:
Example: Alice wants to send the message AM ON MY WAY
. Converting this to integers 00-25 gives 00 12 14 13 12 24 22 00 24
and stripping out the spaces gives 001214131224220024
. Bob's value of 0012 1413 1224 2200 24
. To get that last block to be exactly four digits, she pads it with a couple of zeroes to get 0012 1413 1224 2200 2400
. (She could also have chosen blocks five digits long, or shorter.)
Now to encrypt this message, Alice goes through the message one block at a time. For each block
Example: The second block in the plaintext is 1413
. To encrypt it, Alice takes Bob's public key –- which is the pair
And that's the encrypted version of that block that gets sent to Bob. Repeat this computation for each of the other blocks.
When Bob receives the ciphertext, which is a string of blocks of integers, for each encrypted block
Example: Bob receives Alice's incoming encrypted message, which looks like a sequence of fairly large integers. The second one in the sequence is
Bob can then tell that these are the characters O
(14) and N
(13). Bob can continue doing this with each encrypted block until he has Alice's original message.
Notice that Bob's private key was never communicated; and Alice needed no key of her own to send the message.
AEPs are graded using the "EMRN" rubric found in the syllabus. Make sure you review the Standards for Assessments in MTH 225 document before you submit any work, so you're fully aware of the expectations for the different marks. In particular:
Please note, it is the case with all AEP's that your grade is primarily based on your explanations and writing, and only secondarily on the precision and correctness of your computations. Correct computations with insufficient explanation will need to be revised and may receive an "N" grade.
A grade of "E" is given if all of the above expectations are met, and the work is of superior quality in terms of the clarity of explanations and work, appearance of the writeup, and precision of the mathematics.
AEP submissions must be typewritten and saved as either a PDF or MS Word file. No part of your submission may involve handwriting; work that is submitted that contains handwriting will be graded N and returned without feedback. This includes electronic handwritten docments, for example using a stylus and a note-taking app. To type up your work, you can use MS Word or Google Docs (both of which have equation editors for mathematical notation) or any other computer-based math typesetting tool. Just make sure you save your work as a Word document or PDF (no .odt
, .rtf
, or other file extensions are allowed).
When you have your work typed up, double-check it for neatness, correctness, and clarity. Then simply submit your document on Blackboard, in the AEP area, in the AEP 3 assignment.
You may ask me (Talbert) for help on this assignment in the form of specific mathematical or technical questions, or clarifying questions about the instructions. If I cannot answer a question because it would give too much away, I'll tell you so. However please note: I will not "look over your work" before you submit it to give you feedback on the overall submission. I have made the expectations clear, so just follow those directions and submit your best work, and you'll be allowed to revise it if needed.
For AEPs, the syllabus policy on collaboration is:
No collaboration is allowed at all — with other people, or with print or electronic sources other than your textbook, the video playlist, or your notes.
You can ask technology related questions to anyone at any time. For example if you need help figuring out how to type up your work, there are no restrictions on that.