| | Developing for Developers : Factoring large numbers with quadratic sieve |
 | | Half of all numbers are quadratic residues mod p, regardless of the value of p, and there's a simple formula for determining whether or not a particular number is: just take a, raise it to the power (p−1)/2, and then take the remainder after division by p. |
 | | Quadratic sieve admits a number of "bells and whistles" to dramatically improve its runtime in practice. |
 | | It's rare to find an implementation of quadratic sieve in a high-level language because it depends on an efficient implementation of arbitrary-precision integers and reduction of sparse 0/1 matrices, which are easier to pull off in C, C++, or assembly language. |
| blogs.msdn.com /devdev/archive/2006/06/19/637332.aspx (3836 words) |