Johnson

advertisement
Integer Factorization
By:
Josh Tuggle & Kyle Johnson
What Is It?
• Integer Factorization - The decomposition of a
composite number into its primes.
• Not much of an actual problem until the
number becomes very large.
• No efficient algorithm exists yet.
• Goal: Factor in polynomial time.
What Is It?
• Hardest instance for I.F.: semiprimes.
– Product of two prime numbers.
• An algorithm that can efficiently factor any
integer would compromise RSA Cryptography.
Statistics
• Sept. 1993 – April 1994: RSA-129 becomes first large
distributed factorization.
• Jan – Aug. 1999: RSA-155 is factored using GNFS.
• April 2003: RSA-160 factored using 100 CPUs.
• Dec. 2003 – May 2005: RSA-200 factored using 80
Opteron processors in Germany.
• Dec. 2009: RSA-768 becomes largest semiprime
factored (232 digits) after two years and the
equivalent of 2000 years of processing.
Running Time
• There are many bounds on this problem based on
what is known about the integer to be factored.
• The algorithm with the best running time is the
General Number Field Sieve:
• However, there is an algorithm out there that has a
better factoring time, with a major difference.
Running Time
• Shor’s Algorithm currently has the best
runtime for this problem: O((log N)3).
– N is the input’s size.
• Only works with a quantum computer.
Algorithms
• There exists multiple algorithms for this
particular problem.
• Which one to use depends on what is known
about the input.
• These algorithms can be grouped into two
classes: Special-Purpose and GeneralPurpose.
Special-Purpose (Category 1)
• These algorithms’ runtimes depend on the
size of the smallest prime factor.
• General procedure is to use these algorithms
on an integer first to remove the more
manageable factors.
• Examples: Trial Division, Wheel Factorization,
Euler’s factorization method.
Trial Division
• Requires most work, but easiest to
understand.
• Given an integer n:
– Start at 2
– Move up number line towards n.
– Divide n by each number
– Check if the number went into n
with no remainders
– Repeat until all factors are prime.
General-Purpose (Category 2)
• The runtime for these algorithms depends
only on the size of the integer being factored.
• RSA numbers are factored using algorithms in
this class.
• Examples: Dixon’s Algorithm, Shank’s Square
Forms Factorization, General Number Field
Sieve.
General Number Field Sieve (GNFS)
• Arbitrarily select two polynomials f(x) and g(x)
that must fit several conditions.
– Small degrees d and e.
– Integer coefficients
– Irreducible over rationals
– Must yield same integer root when modded by
the initial number n.
General Number Field Sieve (GNFS)
• Subject the two polynomials to number field rings to
find values of two integers a and b that satisfy:
– r = bdf(a/b) and s = beg(a/b)
– r and s must be numbers that factor into primes only.
• Homomorphisms are then used to find two values x
and y such that x2 – y2 is divisible by n.
• These values are used to find a factor of n by taking
the gcd of n and x – y.
Shor’s Algorithm
• Algorithm developed by Peter Shor in 1994.
• Can factor in polynomial time, but requires a
quantum computer.
• Placed in complexity class BQP
– Bounded-Error Quantum Polynomial Time
Shor’s Process
• The algorithm consists of two key parts:
– A change of the problem from factoring to orderfinding.
– Solving the order-finding problem.
• The problem change portion can be done on a
traditional computer, but the order-finding
portion requires a quantum computer.
Traditional Half
• Pick a random integer a that is less than N, the
integer being factored.
• Find the gcd of the two integers.
• If this value isn’t 1, then there is a factor of N,
and the algorithm is finished.
• If the value is 1, we must go to the quantum
half of the algorithm.
Quantum Half
• Known as the period-finding subroutine.
• Used to find an r value that represents the period of
the function: f(x) = ax mod N.
• Quantum circuits used are custom made for each (a,
N) pair.
• r cannot be odd and ar/2 and -1 cannot be congruent
modulo N.
• If these conditions are both met, then gcd(ar/2 ± 1, N)
is a nontrivial factor of N and the algorithm finishes.
Quantum Half
• Heavily depends on a quantum computer’s
superposition property.
• Evaluates the function at all points
simultaneously.
• The algorithm’s runtime (O(log N)3) stems
from Shor solving three quantum problems in
O(log N) time each.
– Superposition, function as a quantum transform,
and quantum Fourier transform.
Questions?
Download
Related flashcards

Information theory

20 cards

Colossal statues

38 cards

Statistical software

79 cards

Statistical theory

25 cards

Statistics journals

54 cards

Create Flashcards