Arduous Factorization
Discover the foundations of Shor's Algorithm, which enables prime factorization in polynomial time using quantum computation. Learn why this algorithm outperforms classical approaches and its implications for encryption security.
We'll cover the following...
Shor’s Algorithm was proposed by the American mathematician Peter Shor in 1994, and it promises prime factorization of numbers in polynomial time. This might seem like an easy problem, at first. After all, we learned the procedure for representing a number as a product of its prime factors in secondary school. Following the same process, we know that we can break down a number, let’s say , into its prime factors as or another number, let’s say , as .
It turns out that this problem is not that easy to do with larger numbers. In fact, the time complexity of our fastest and most efficient classical algorithms for prime factorization is exponential. Specifically, the general number field sieve algorithm, which is the fastest known algorithm for factoring numbers larger than a googol (), takes to factor an integer .
As Peter Shor discovered in 1994, quantum computers can solve this problem much faster. In fact, Shor’s Algorithm provides an exponential speedup over its classical counterpart. Specifically, it gets rid of the exponential term and has an overall asymptotic time complexity of order or , roughly cubic time complexity.
This is a significant advantage, considering that polynomial-time factorization of numbers with multiple hundreds of bits can break popular encryption algorithms like the RSA Algorithm. These algorithms are based on the idea that factorizing large numbers is an arduous task for computers, so we can use this property to formulate the public-private encryption key procedure to provide security over the internet.
However, while it is true that our
So, let’s start building up the preliminary concepts that we will need to understand Shor’s Algorithm. In the next lesson, we’ll start with the quantum analog of Fourier Transform.