Folder: cryptography
File: cryptography/scenarios.txt or cryptography/scenarios.pdf
Please work with one or two partners for this assignment. See this survey to let me know whether you want me to assign you a partner.
Suppose Alice, Bob, Eve, Mal, and all their friends and enemies have access to the following.
A symmetric encryption algorithm (e.g. AES). Use the function S to represent this, so SK(M) is the message M encrypted using the key K. If you need to represent decryption, use a -1 superscript to indicate inverse. For example, SK-1(SK(M)) = M. (Note that before Alice and Bob can use this algorithm, they have to agree on a key K, which is not automatically provided to them.)
This notation conflicts with the use of S below to represent a secret key. This was the result of shifting to the E notation I started using for public-key cryptography this time without thinking through how that affected all the other pieces of this assignment. So next time, let's say AES(K, M) instead of S_K(M)
Public/secret key pairs (P, S) for everybody.
We will use the encryption/decryption function E and subscripted P's and S's to indicate various operations involving the public and secret keys. For example, if M is a small enough message to be in the domain of E, then Bob can send an encryption of M to Alice by sending her the ciphertext C:
Keep in mind that public key encryption is used in practice exclusively for short messages (e.g. hash function digests).
You may assume that everybody has a correct copy of everybody else's public key, and that they have all kept their private keys private. This assumption is a big one—exchanging public keys safely is a hard problem (solved, more or less, by the complicated system of certificates that we use now, which will be the subject of a future assignment).
For each of the following scenarios, describe as concisely as you can how you would use the tools listed above to achieve the goals described in the scenario. Then, briefly explain why your plan achieves those goals.
Make your plans as simple as possible given the goals of the scenario. You might be able to come up with a single plan that handles all the scenarios, but that's not what I'm after. I want you to understand the properties of Diffie Hellman, RSA, cryptographic hashes, digital signatures, etc. By responding to each scenario with the simplest plan using the available tools, you'll demonstrate that understanding.
We'll use Eve to refer to any eavesdropper, and Mal to refer to any person attempting a person-in-the-middle attack.