Problem 1 Suppose that Alice's RSA public key is (N, e) = (33,3) and her private key is d = 7. A: If Bob encrypts the message M = 19 using Alice's public key, what is the ciphertext C? Show that Alice can decrypt C to obtain M. B: Let S be the result when Alice digitally signs the message M = 25. What is S? If Bob receives M and S, explain the process Bob will use to verify the signature and show that in this particular case, the signature verification succeeds. Problem 2 • Consider the Diffie-Hellman key exchange protocol. Suppose that Alice sends her Diffie-Hellman value, ga mod p, to Bob. Further, suppose that Bob wants the resulting shared secret to be a specific value X. Can Bob choose his Diffie-Hellman value so that, following the protocol, Alice will compute the shared secret X? If so, provide precise details and if not, why not? Problem 3 • Consider the elliptic curve E : y2 =x3 +7x+b (mod 11). • a. Determine b so that the point P = (4,5) is on the curve E. • b. Using the b found in part a, list all points on E. • c. Using the b found in part a, find the sum (4,5) + (5,4) on E. • d. Using the b found in part a, find the point 3(4,5). Problem 4 Suppose Bob and Alice want to flip a coin over a network and decide who is the winner. Alice proposes the following protocol. (i) Alice randomly selects a value X in {0,1} (i.e., either 0 or 1). (ii) Alice generates a 256-bit random symmetric key K. (iii) Using the AES cipher, Alice computes Y = E(X, R, K), where R consists of 255 randomly selected bits. (iv) Alice sends Y to Bob. (v) Bob guesses a value Z in {0,1} and tells Alice. (vi) Alice gives the key K to Bob who computes (X, R) = D(Y, K). (vii) If X = Z then Bob wins, otherwise Alice wins.
This protocol is insecure.
• a. Explain how Alice can cheat. • b. Using a cryptographic hash function h, modify this protocol so that Alice can't cheat.