  in number theory, integer factorization or prime factorization is the decomposition of a composite number into smaller non-trivial divisors, which when multiplied together equal the original integer. when the numbers are very large, no efficient, non-quantum integer factorization algorithm is known; an effort by several researchers concluded in 2009, factoring a 232-digit number (rsa-768), utilizing hundreds of machines over a span of two years. however, it has not been proven that no efficient algorithm exists. the presumed difficulty of this problem is at the heart of widely used algorithms in cryptography such as rsa. many areas of mathematics and computer science have been brought to bear on the problem, including elliptic curves, algebraic number theory, and quantum computing. not all numbers of a given length are equally hard to factor. the hardest instances of these problems (for currently known techniques) are semiprimes, the product of two prime numbers. when they are both large, for instance more than two thousand bits long, randomly chosen, and about the same size (but not too close, e.g. to avoid efficient factorization by fermat's factorization method), even the fastest prime factorization algorithms on the fastest computers can take enough time to make the search impractical; that is, as the number of digits of the primes being factored increases, the number of operations required to perform the factorization on any computer increases drastically. many cryptographic protocols are based on the difficulty of factoring large composite integers or a related problemâfor example, the rsa problem. an algorithm that efficiently factors an arbitrary integer would render rsa-based public-key cryptography insecure. ==prime decomposition== right|thumb|190px|this image demonstrates the prime decomposition of 864. a shorthand way of writing the resulting prime factors is 25 Ã 33 by the fundamental theorem of arithmetic, every positive integer has a unique prime factorization. (a special case for 1 is not needed using an appropriate notion of the empty product.) however, the fundamental theorem of arithmetic gives no insight into how to obtain an integer's prime factorization; it only guarantees its existence. given a general algorithm for integer factorization, one can factor any integer
Computational_hardness_assumptions Integer_factorization_algorithms Unsolved_problems_in_computer_science