The Mathematics of Public-Key Cryptography, Lecture 3
September 19, 2000
Reference
- read section 4.4 of the textbook for background
Summary of material covered in lecture 3
- Parameter generation algorithm for RSA
- generate p,q
- compute n and phi(n)
- choose b such that gcd(b,phi(n)) = 1
- compute a = b^{-1} mod n
- publish (n,b) as the public key and store (p,q,a)
as the secret key
- encryption / decryption operations for RSA
- security of RSA
- factorization of RSA-155 in August 1999
- recommend p,q to be 512-bit integers
- complexity of arithmetic operations
- integer addition and multiplication
- modular addition and multiplication
- modular exponentiation
- square-and-multiply algorithm
- number of multiplications
- complexity analysis
- proof of correctness
- complexity of RSA operations for k-bit moduli
- computing n, phi(n): complexity O(k^2)
- computing a: complexity O(k^2) using extended Euclidean algorithm
- encryption and decryption: complexity O(k^3) for "random" exponents
- effect of choice of encryption exponent on
efficiency of RSA encryption
- examples: b=3 and b=2^{16}+1
- danger of choosing small decryption exponent for RSA