1. The following problem explains RSA encryption, which is currently used to encrypt information sent over the internet, like credit card numbers. (Although elliptic key cryptography has been taking over recently.) The ingredients are as follows:
- Two distinct three-hundred-digit primes p and q. Let n = pq
- An encryption key e so that gcd(e, (p -- 1)(q -- 1)) = 1.
. A secret message m that Alice wants to send to Bob.
Since the evil Connor is watching their communication channel, Alice has to encrypt her message first. First Alice sends Bob n and the encryption key e. Then, she sends him the coded message:
c = me (modn).
Bob computes the decryption key d as follows:
d = e-1 (mod (p - 1)(q - 1))
which exists because gcd(e, (p -- 1)(q -- 1)) = 1. The goal is to show that cd (modn) computes the original message m.
(a) Show that de = k(p - 1)(q - 1) + 1 for some integer k.
(b) Use Fermat's Little Theorem to show that cd = m (mod p). You may assume that gcd(m,p) = 1. Since p is a large prime, gcd(m, p) 1 is unlikely in the extreme.
(c) Show that cd = m (mod q). You may again assume that gcd(m, q) = 1.
(d) Use the Chinese Remainder Theorem to show that c = m (mod n). Therefore, Bob can uncover the original message using the decryption key.
(e) Explain why Connor, who only sees n, e, and c, will have a tough time finding m. (He doesn't know p and q, which are three-hundred-digit primes.)