#include <lib/utils/include/siqs_poly.h>
Data Fields | |
mpz_t | a |
mpz_t | b |
mpz_t | c |
mpz_t | n |
uint32_t | loga |
uint32_t | logb |
uint32_t | logc |
approximer_t * | approximer |
uint32_array_t * | factor_base |
uint32_array_t * | sqrtm_pi |
int32_array_t * | sol1 |
int32_array_t * | sol2 |
mpz_array_t * | Bl |
uint32_t ** | Bainv2 |
uint32_t | npolys |
uint32_t | polyno |
uint32_t | nprimes_in_a |
uint32_t * | idx_of_a |
uint32_t | nfullpolyinit |
This structure defines the polynomials used by SIQS together with all its associated data.
A polynomial P is given by aX^2 + bX + c.
Definition at line 53 of file siqs_poly.h.
mpz_t struct_siqs_poly_t::a |
The a coefficient
Definition at line 57 of file siqs_poly.h.
mpz_t struct_siqs_poly_t::b |
The b coefficient
Definition at line 61 of file siqs_poly.h.
mpz_t struct_siqs_poly_t::c |
The c coefficient
Definition at line 65 of file siqs_poly.h.
mpz_t struct_siqs_poly_t::n |
The number to factor (or a small multiple if a multiplier is used)
Definition at line 69 of file siqs_poly.h.
uint32_t struct_siqs_poly_t::loga |
Logarithm of a in base 2
Definition at line 73 of file siqs_poly.h.
uint32_t struct_siqs_poly_t::logb |
Logarithm of b in base 2
Definition at line 77 of file siqs_poly.h.
uint32_t struct_siqs_poly_t::logc |
Logarithm of c in base 2
Definition at line 81 of file siqs_poly.h.
An approximer_t used to determine suitable values of the a coefficient
Definition at line 86 of file siqs_poly.h.
The factor base
Definition at line 90 of file siqs_poly.h.
The modular square roots of n
modulo each primes in the factor base
Definition at line 94 of file siqs_poly.h.
The first solution to the equation P(x) = 0 mod pi for each prime pi in the factor base
Definition at line 99 of file siqs_poly.h.
The second solution to the equation P(x) = 0 mod pi for each prime pi in the factor base
Definition at line 104 of file siqs_poly.h.
For all l in [0, npolys
-1] solutions to
Bl
^2 = n
mod q_l Bl
= 0 mod q_j for all j != lnpolys
Definition at line 114 of file siqs_poly.h.
uint32_t** struct_siqs_poly_t::Bainv2 |
Bainv2[i][j]
= 2 x Bl[i]
x inv(a
) mod pj for i in [0, npolys
-1] and pj in the factor base
Definition at line 119 of file siqs_poly.h.
uint32_t struct_siqs_poly_t::npolys |
Number of different polynomials having the same a
coefficient
Definition at line 123 of file siqs_poly.h.
uint32_t struct_siqs_poly_t::polyno |
Current polynomial number (from 1 to npolys
)
Definition at line 127 of file siqs_poly.h.
uint32_t struct_siqs_poly_t::nprimes_in_a |
Number of primes in the prime decomposition of a
Definition at line 131 of file siqs_poly.h.
uint32_t* struct_siqs_poly_t::idx_of_a |
Indexes (in the factor base) of the (prime) factors of a
Definition at line 135 of file siqs_poly.h.
uint32_t struct_siqs_poly_t::nfullpolyinit |
Number of "full" polynomial initializations performed
Definition at line 139 of file siqs_poly.h.