YALE UNIVERSITY
DEPARTMENT OF COMPUTER SCIENCE
CPSC 467b: Cryptography and Computer Security | Handout #4 (rev. 1) | |
Professor M. J. Fischer | February 8, 2012 | |
Problem Set 3
Due on Wednesday, February 15, 2012.
An element a Zn -{0} is said to be a zero divisor modulo n if ab ≡ 0 (mod n) for some
b
Zn -{0}.
In all cases, justify your answers.
Problem 2: Greatest common divisor
The definition of greatest common divisor can be extended naturally to a sequence of numbers (a1,a2,…,ak), not all of which are zero; namely, it is the largest integer d ≥ 1 such that d∣aj for all j = 1,2,…,k. Describe an efficient algorithm for computing gcd(a1,…,ak), and explain why it computes the correct answer.
Problem 3: Euler’s totient function
Compute ϕ(2200). Show your work.
Compute 3591207 mod 2200.
Problem 5: Extended Euclidean algorithm
Use the extended Euclidean algorithm to solve the Diaphantine equation
Show the resulting table of triples as in slide 34 of lecture 8 notes.
[Note: You may write a program to produce the table if you wish, but these numbers are small
enough to make it quite feasible to carry out the computation by hand or with the aid of a pocket
calculator.]
Problem 6: Factoring the RSA modulus knowing the public and private keys
Bob’s public RSA key is n = 1501, e = 323. Eve manages to learn that his decryption key is d = 539. Implement the randomized factoring algorithm shown on slide 49 of lecture 9 notes. Use your program to factor n. Once you have the factorization of n, compute ϕ(n), and check your answer by verifying that ed ≡ 1 (mod ϕ(n)).