Being Eve
File: cryptography/being-eve.txt (or being-eve.pdf)
You may work with a partner or on your own. Put name(s) at the top of the file you submit.
Goals
- Practice with the computational mechanisms of the Diffie-Hellman key exchange
- Practice with the computational mechanisms of RSA encryption and decryption
- Think about where the security lives within these algorithms
Rubric
Background
Starting with the original RSA paper, cryptographic literature has used the names Alice and Bob as two parties who wish to communicate, and Eve as an eavesdropper (or occasionally an evil-doer) who surreptitiously obtains copies of Alice and Bob's communications. There's also a more complete cast of characters, including Trudy the intruder, Mal (Mallory/Malcolm/etc.) the malefactor/malicious person, etc.
For this assignment, you will play the role of Eve, who obtains copies of the messages sent between Alice and Bob during Diffie Hellman and RSA interactions. The assignment will provide you with the contents of the messages, and you will extract the information the parties are trying to hide.
What you (Eve) intercepted for Diffie Hellman
Alice and Bob agree on g = 7 and p = 61.
Alice sent Bob the number 30.
Bob sent Alice the number 17.
Your job for Diffie Hellman
- Figure out the shared secret agreed upon by Alice and Bob. This will be an integer.
- Show your work. Exactly how did you figure out the shared secret?
- Show precisely where in your process you would have failed if the integers involved were much larger.
What you, Eve, intercepted for RSA
Here's Bob's public key:
Here's the encrypted data sent from Alice to Bob:
Your job for RSA
- Figure out the encrypted message sent from Alice to Bob.
- Show your work. Exactly how did you figure out the message? (You should include an explanation of how the message from Alice to Bob is encoded. That is, how does Alice's intended message (whatever manner of message it may be) correspond to the integers in the plaintext that you end up with after decrypting the encrypted message?)
- Show precisely where in your process you would have failed if the integers involved were much larger.
- Explain, briefly, why the message encoding Alice used would be insecure even if Bob's keys involved larger integers.
Handing it in
In a folder called "cryptography" in your GitHub repository, put your results in a file called being-eve.txt or being-eve.pdf.