Discrete Logarithm Problem
Factoring the 512-bit key (RSA-155) took an international team of researchers a total elapsed time of 5.2 months, not including nine weeks needed for preliminary computations, and was accomplished using 292 individual computers. (See http://www.rsa.com/pressbox/html/990826.html)
Related Number Theoretic Results
(1) gcd(a,n) = 1 and ab = ac mod n => b = c mod n
proof: ab -
ac = a(b - c) is a multiple of n, but
gcd(a,n) = 1,
and
hence b - c must be a multiple of n
(2) (Fermat's theorem) an-1 = 1 mod n if n is prime and gcd(a,n) = 1
proof: {a mod n,
2a mod n, ..., (n-1)a mod n} = {1, 2,
..., n-1}
a(2a)(3a)...((n-1)a)
= (n-1)! mod n
(n-1)!an-1
= (n-1)! mod n
an-1
= 1 mod n (we can remove (n-1)! by (1))
(3) a = b mod p and a = b mod q and gcd(p,q) = 1 => a = b mod pq
proof: a - b
is a multiple of p and q simultaneously,
and
hence it is a multiple of pq
(4) Mk(p-1)(q-1)+1 = M mod pq if p, q are two distinct prime numbers
proof: Mk(p-1)(q-1)+1
= M mod p
if
M = 0 mod p, then it is obvious;
if
not M = 0 mod p, then
gcd(M,p)
= 1 and by (2) Mp-1 = 1 mod p
Mk(p-1)(q-1)+1
= M(M(p-1))k(q-1)
=
M(1)k(q-1) = M mod p
Mk(p-1)(q-1)+1 = M mod q, similarly.
By (3) we have the theorem.
RSA algorithm