Files
Abstract
This thesis discusses the context and an overview of modern public key cryptography. RSA encryption, the most common modern cryptosystem, relies on the difficulty of the factoring problem for security. In essence, given two large privately known prime numbers, the encryptor makes public the product of these two primes, and in attempting to crack RSA, one must determine the unique factorization of this product. Examined here are the most commonly used factorization algorithms and an in-depth look at their time complexities, with a focus on the quadratic sieve method. Research was oriented at analyzing these algorithms' efficiencies to determine under which conditions each algorithm performs best. Further work has been done in java implementing these algorithms.