Quadratic sieve