|
|
|
|
— |
ai_timelines:ai_inputs:progress_in_general_purpose_factoring [2022/09/21 07:37] (current) |
| | ====== Progress in general purpose factoring ====== |
| | |
| | // Published 16 March, 2017; last updated 07 October, 2017 // |
| | |
| | <HTML> |
| | <p>The largest number factored to date grew by about 4.5 decimal digits per year over the past roughly half-century. Between 1988, when we first have good records, and 2009, when the largest number to date was factored, progress was roughly 6 decimal digits per year.</p> |
| | </HTML> |
| | |
| | |
| | <HTML> |
| | <p>Progress was relatively smooth during the two decades for which we have good records, with half of new records being less than two years after the previous record, and the biggest advances between two records representing about five years of prior average progress.</p> |
| | </HTML> |
| | |
| | |
| | <HTML> |
| | <p>Computing hardware used in record-setting factorings increased ten-thousand-fold over the records (roughly in line with falling computing prices), and we are unsure how much of overall factoring progress is due to this.</p> |
| | </HTML> |
| | |
| | |
| | |
| | ===== Support ===== |
| | |
| | |
| | ==== Background ==== |
| | |
| | |
| | <HTML> |
| | <p>To <a href="https://en.wikipedia.org/wiki/Integer_factorization">factor an integer</a> N is to find two integers <em>l</em> and <em>m</em> such that <em>l*m</em> = N. There is no known efficient algorithm for the general case of this problem. While there are <a href="https://en.wikipedia.org/wiki/Integer_factorization#Special-purpose">special purpose algorithms</a> for some kinds of numbers with particular forms, here we are interested in ‘<a href="https://en.wikipedia.org/wiki/Integer_factorization#General-purpose">general purpose</a>‘ factoring algorithms. These factor any composite number with running time only dependent on the size of that number.<span class="easy-footnote-margin-adjust" id="easy-footnote-1-758"></span><span class="easy-footnote"><a href="#easy-footnote-bottom-1-758" title='By &#8220;general purpose&#8221;, we mean a factoring algorithms whose running time is dependent upon only the size of the number being factored (i.e. not on the size of the prime factors or any particular form of the number). &#8211; <a href="http://www.crypto-world.com/FactorRecords.html">Scott Contini</a>'><sup>1</sup></a></span></p> |
| | </HTML> |
| | |
| | |
| | <HTML> |
| | <p>Factoring numbers large enough to break records frequently takes months or years, even with a large number of computers. For instance, RSA-768, the largest number to be factored to date, had 232 decimal digits and was factored over multiple years ending in 2009, using the equivalent of almost 2000 years of computing on a single 2.2 GHz AMD Opteron processor with 2GB RAM.<span class="easy-footnote-margin-adjust" id="easy-footnote-2-758"></span><span class="easy-footnote"><a href="#easy-footnote-bottom-2-758" title='The following effort was involved. We spent half a year on 80 processors on polynomial selection. This was about 3% of the main task, the sieving, which was done on many hundreds of machines and took almost two years. On a single core 2.2 GHz AMD Opteron processor with 2 GB RAM, sieving would have taken about fifteen hundred years. &#8230;Our computation required more than 10<sup>20</sup> operations. With the equivalent of almost 2000 years of computing on a single core 2.2GHz AMD Opteron, on the order of 2<sup>67</sup> instructions were carried out. &#8211; <a href="http://eprint.iacr.org/2010/006.pdf"><em>Factorization of a 768-bit RSA modulus</em>, Kleinjung et al, 2010</a>'><sup>2</sup></a></span></p> |
| | </HTML> |
| | |
| | |
| | <HTML> |
| | <p>It is important to know what size numbers can be factored with current technology, because factoring large numbers is central to cryptographic security schemes such as <a href="https://en.wikipedia.org/wiki/RSA_(cryptosystem)">RSA</a>.<span class="easy-footnote-margin-adjust" id="easy-footnote-3-758"></span><span class="easy-footnote"><a href="#easy-footnote-bottom-3-758" title='When the numbers are very large, no efficient, <a class="mw-redirect" title="Quantum computer" href="https://en.wikipedia.org/wiki/Quantum_computer">non-quantum</a> integer <a title="Factorization" href="https://en.wikipedia.org/wiki/Factorization">factorization</a> <a title="Algorithm" href="https://en.wikipedia.org/wiki/Algorithm">algorithm</a> is known&#8230;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 <a title="Cryptography" href="https://en.wikipedia.org/wiki/Cryptography">cryptography</a> such as <a class="mw-redirect" title="RSA (algorithm)" href="https://en.wikipedia.org/wiki/RSA_(algorithm)">RSA</a>. &#8211; <a href="https://en.wikipedia.org/wiki/Integer_factorization"><em>Integer Factorization</em>, Wikipedia, accessed Feb 10 2017</a>'><sup>3</sup></a></span> Much of the specific data we have on progress in factoring is from the <a href="https://en.wikipedia.org/wiki/RSA_Factoring_Challenge">RSA Factoring Challenge:</a> a contest funded by <a href="https://en.wikipedia.org/wiki/RSA_Security">RSA Laboratories</a>, offering large cash prizes for factoring various numbers on their <a href="https://en.wikipedia.org/wiki/RSA_numbers">list</a> of 54 (the ‘<a href="https://en.wikipedia.org/wiki/RSA_numbers">RSA Numbers</a>‘).<span class="easy-footnote-margin-adjust" id="easy-footnote-4-758"></span><span class="easy-footnote"><a href="#easy-footnote-bottom-4-758" title='&#8216;The RSA Factoring challenge was an effort, sponsored by RSA Laboratories, to learn about the actual difficulty of factoring large numbers of the type used in RSA keys.&#8217; &#8211;<a href="https://www.emc.com/emc-plus/rsa-labs/historical/the-rsa-factoring-challenge-faq.htm">RSA Factoring Challenge FAQ</a>'><sup>4</sup></a></span> Their numbers are <a href="https://en.wikipedia.org/wiki/Semiprimes">semiprimes</a> (i.e. each has only two prime factors), and each number has between 100 and 617 decimal digits.<span class="easy-footnote-margin-adjust" id="easy-footnote-5-758"></span><span class="easy-footnote"><a href="#easy-footnote-bottom-5-758" title='In <a title="Mathematics" href="https://en.wikipedia.org/wiki/Mathematics">mathematics</a>, the <b>RSA numbers</b> are a set of large <a class="mw-redirect" title="Semiprimes" href="https://en.wikipedia.org/wiki/Semiprimes">semiprimes</a> (numbers with exactly two <a title="Prime factor" href="https://en.wikipedia.org/wiki/Prime_factor">prime factors</a>) that are part of the <a title="RSA Factoring Challenge" href=" |